SYSTEM Cited by 2 sources
Flipper (Ruby gem)¶
Flipper is a Ruby feature-flag
library by John Nunemaker
(jnunemaker/flipper).
Widely used in Rails-based production applications, including
PlanetScale's Rails backend. Flipper.enabled?(name) is the
evaluation call; Flipper.enable(name) /
Flipper.disable(name) are the toggle calls — typically run
from a Rails console (or admin UI) to flip production behaviour
without a deploy.
Architecture¶
Pluggable-adapter design:
- Evaluation API:
Flipper.enabled?(key [, actor])returns boolean. Supports per-actor targeting, percentage rollouts, group membership. - Storage adapter: ActiveRecord / Redis / Memory / API — chosen at configuration time. Multi-dyno deployments usually use a shared DB or Redis adapter so toggles propagate to all processes within seconds.
- UI: optional Rails engine (flipper-ui) for dashboard-style flag management.
As a deploy-less operational lever¶
Because the evaluation is a DB/Redis lookup and the toggle is a single row update, Flipper operates as a ** deploy-less operational lever** — an operator flipping a flag via Rails console sees the new state reflected on the next request in every dyno (subject to whatever cache the adapter uses).
Seen in¶
- sources/2026-04-21-planetscale-how-to-kill-sidekiq-jobs-in-ruby-on-rails —
canonical wiki introduction. PlanetScale uses Flipper to
gate a Sidekiq client middleware that
short-circuits async-job enqueue when
disable_<classname>flags are set. Canonical example of using a general feature- flag system as the config-channel for a job-level killswitch — no bespoke config system or deploy pipeline required. - sources/2026-04-21-planetscale-how-we-made-planetscales-background-jobs-self-healing — canonical scheduler-gating extension. The same Flipper- gated middleware is used in the self-healing architecture to disable scheduler jobs during an incident: "has come in useful during an incident where we've wanted control over a specific job type." Scheduler jobs are first-class Sidekiq workers, so the same killswitch substrate gates both work jobs and their scheduler jobs.