Sha256: e7e8e42fc173bf57bb46a3d88c8110ec2ceb1db306628b0dea940c046e324ff8

Contents?: true

Size: 1021 Bytes

Versions: 23

Compression:

Stored size: 1021 Bytes

Contents

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

require 'securerandom'
require 'active_support/notifications'

class FlipperSubscriber
  def call(*args)
    event = ActiveSupport::Notifications::Event.new(*args)
    puts event.inspect
  end

  ActiveSupport::Notifications.subscribe(/flipper/, new)
end

require 'flipper'
require 'flipper/adapters/memory'
require 'flipper/adapters/instrumented'

# pick an adapter
adapter = Flipper::Adapters::Memory.new

# instrument it if you want, if not you still get the feature instrumentation
instrumented = Flipper::Adapters::Instrumented.new(adapter, :instrumenter => ActiveSupport::Notifications)

# get a handy dsl instance
flipper = Flipper.new(instrumented, :instrumenter => ActiveSupport::Notifications)

# grab a feature
search = flipper[:search]

perform = lambda do
  # check if that feature is enabled
  if search.enabled?
    puts 'Search away!'
  else
    puts 'No search for you!'
  end
end

perform.call
puts 'Enabling Search...'
search.enable
perform.call

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
flipper-0.15.0 examples/instrumentation.rb
flipper-0.14.0 examples/instrumentation.rb
flipper-0.13.0 examples/instrumentation.rb
flipper-0.13.0.beta1 examples/instrumentation.rb
flipper-0.12.2 examples/instrumentation.rb
flipper-0.12.1 examples/instrumentation.rb
flipper-0.12.0 examples/instrumentation.rb
flipper-0.11.0 examples/instrumentation.rb
flipper-0.11.0.rc1 examples/instrumentation.rb
flipper-0.11.0.beta9 examples/instrumentation.rb
flipper-0.11.0.beta8 examples/instrumentation.rb
flipper-0.11.0.beta7 examples/instrumentation.rb
flipper-0.11.0.beta6 examples/instrumentation.rb
flipper-0.11.0.beta5 examples/instrumentation.rb
flipper-0.11.0.beta4 examples/instrumentation.rb
flipper-0.11.0.beta3 examples/instrumentation.rb
flipper-0.11.0.beta1 examples/instrumentation.rb
flipper-0.10.2 examples/instrumentation.rb
flipper-0.10.1 examples/instrumentation.rb
flipper-0.10.0 examples/instrumentation.rb