Rollout Adapter
A Rollout adapter for importing Rollout data into Flipper.
View the dos on importing.
Requires:
- Rollout ~> 2.0
- Flipper >= 11.0
Installation
Add it to your application's Gemfile with:
$ bundle add flipper-rollout
Or install it yourself with:
$ gem install flipper-redis
Usage
require 'redis'
require 'rollout'
require 'flipper'
require 'flipper/adapters/redis'
require 'flipper/adapters/rollout'
# setup redis, rollout and rollout flipper
redis = Redis.new
rollout = Rollout.new(redis)
rollout_adapter = Flipper::Adapters::Rollout.new(rollout)
rollout_flipper = Flipper.new(rollout_adapter)
# setup flipper default instance
Flipper.configure do |config|
config.adapter { Flipper::Adapters::Redis.new(redis) }
end
# import rollout into redis flipper
Flipper.import(rollout_flipper)
That was easy.
Groups
If you're using Rollout groups you'll need to register them as Flipper groups:
Rollout
$rollout.define_group(:caretakers) do |user|
user.caretaker?
end
Flipper
Flipper.register(:caretakers) do |user|
user.caretaker?
end
flipper_id
Rollout expects users to respond to id (or method specified in Rollout#initialize opts) and stores this value in Redis when a feature is activated for a user. You'll want to make sure that your Flipper actor's flipper_id matches this logic.
Get audit history, rollbacks, advanced permissions, analytics, and all of your projects in one place.
You can choose from several tiers to sponsor Flipper on GitHub and get some great benefits!