// the find
fetlife/rollout
Feature flippers.
Redis-backed feature flag library for Ruby. You get per-user, per-group, and percentage-based rollouts in about 10 lines of setup. Battle-tested at FetLife since 2010, which is either reassuring or a red flag depending on your appetite for old dependencies.
CRC32 percentage bucketing is sticky — increasing from 20% to 30% adds new users without reshuffling existing ones, which matters for gradual rollouts. Group logic stays in Ruby (not serialized to Redis), so you get full language expressiveness without a query DSL. `randomize_percentage: true` gives independent bucketing per feature, useful for clean A/B splits. The whole implementation fits in two files; you can read the entire source in 15 minutes.
Global state via `$rollout` is baked into the README as the suggested pattern — that will bite you in test isolation and anywhere you care about dependency injection. Group definitions are lost on restart and must be re-registered in initializers; there is no persistence or validation that the group your Redis record references is actually defined. No built-in audit log or change history — you will not know who flipped a flag or when without wrapping it yourself. No targeting by attributes beyond user ID; if you want 'users who signed up after date X', you are writing a custom group every time.