Sha256: c97df3cc174fabc830f411ed7013edec3a898f66e4464f3bba770299a95e1304

Contents?: true

Size: 790 Bytes

Versions: 20

Compression:

Stored size: 790 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'

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

# get a handy dsl instance
flipper = Flipper.new(adapter, :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

20 entries across 20 versions & 1 rubygems

Version Path
flipper-0.9.0.beta1 examples/instrumentation.rb
flipper-0.8.0 examples/instrumentation.rb
flipper-0.7.5 examples/instrumentation.rb
flipper-0.7.4 examples/instrumentation.rb
flipper-0.7.3 examples/instrumentation.rb
flipper-0.7.2 examples/instrumentation.rb
flipper-0.7.1 examples/instrumentation.rb
flipper-0.7.0 examples/instrumentation.rb
flipper-0.7.0.beta6 examples/instrumentation.rb
flipper-0.7.0.beta5 examples/instrumentation.rb
flipper-0.7.0.beta4 examples/instrumentation.rb
flipper-0.7.0.beta3 examples/instrumentation.rb
flipper-0.7.0.beta2 examples/instrumentation.rb
flipper-0.7.0.beta1 examples/instrumentation.rb
flipper-0.6.3 examples/instrumentation.rb
flipper-0.6.2 examples/instrumentation.rb
flipper-0.6.1 examples/instrumentation.rb
flipper-0.6.0 examples/instrumentation.rb
flipper-0.5.0 examples/instrumentation.rb
flipper-0.4.0 examples/instrumentation.rb