3/4 of the last companies I worked with used gem Flipper for feature flags.

flipper ui

I also added it as a default into my SaaS boilerplate.

Quick setup guide:


bundle add flipper-active_record
bundle add flipper-ui
bin/rails g flipper:setup
rails db:migrate
# config/routes.rb
authenticate :user, ->(user) { user.admin? || Rails.env.development? } do
  mount Flipper::UI.app(Flipper) => "/feature_flags"
end
# config/initializers/flipper.rb

# Add User and Organization "actors"
Flipper.register(:users) { |actor| actor.value.start_with?("User:") }
Flipper.register(:organizations) { |actor| actor.value.start_with?("Organization:") }

# Clean up flipper UI
Flipper::UI.configure do |config|
  config.fun = false
  config.cloud_recommendation = false
  config.show_feature_description_in_list = true
end

Usage

Flipper[:search].enable
Flipper[:search].enabled?
Flipper[:search].disable

Flipper.enable(:search, User.first)
Flipper.enabled?(:search, current_user)
Flipper[:search].enabled?(current_user)

Flipper.enabled?(:search, Current.organization)