Rollout adapter
A Rollout adapter for importing Rollout data into Flipper.
requires:
- Rollout ~> 2.0
- Flipper >= 11.0
Installation
Add this line to your application's Gemfile:
gem 'flipper-rollout'
And then execute:
$ bundle
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.