Sha256: 2994ccf40b6729aaf622b8bf543281c06199bd99f798c7f7db2e284f03efa5c2

Contents?: true

Size: 1.24 KB

Versions: 7

Compression:

Stored size: 1.24 KB

Contents

require File.expand_path('../example_setup', __FILE__)

require 'flipper'
require 'flipper/adapters/redis'
require 'flipper/adapters/active_record'

# Active Record boiler plate, feel free to ignore.
ActiveRecord::Base.establish_connection({
  adapter: 'sqlite3',
  database: ':memory:',
})
require 'generators/flipper/templates/migration'
CreateFlipperTables.up

# Say you are using redis...
redis_adapter = Flipper::Adapters::Redis.new(Redis.new)
redis_flipper = Flipper.new(redis_adapter)

# And redis has some stuff enabled...
redis_flipper.enable(:search)
redis_flipper.enable_percentage_of_time(:verbose_logging, 5)
redis_flipper.enable_percentage_of_actors(:new_feature, 5)
redis_flipper.enable_actor(:issues, Flipper::Actor.new('1'))
redis_flipper.enable_actor(:issues, Flipper::Actor.new('2'))
redis_flipper.enable_group(:request_tracing, :staff)

# And you would like to switch to active record...
ar_adapter = Flipper::Adapters::ActiveRecord.new
ar_flipper = Flipper.new(ar_adapter)

# NOTE: This wipes active record clean and copies features/gates from redis into active record.
ar_flipper.import(redis_flipper)

# active record is now identical to redis.
ar_flipper.features.each do |feature|
  pp feature: feature.key, values: feature.gate_values
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
flipper-0.11.0.beta9 examples/importing.rb
flipper-0.11.0.beta8 examples/importing.rb
flipper-0.11.0.beta7 examples/importing.rb
flipper-0.11.0.beta6 examples/importing.rb
flipper-0.11.0.beta5 examples/importing.rb
flipper-0.11.0.beta4 examples/importing.rb
flipper-0.11.0.beta3 examples/importing.rb