Sha256: 98679fd524a6f77b05010a5bf36678caa6c023a91f2b528c52f280b9e1e5b15a

Contents?: true

Size: 1005 Bytes

Versions: 27

Compression:

Stored size: 1005 Bytes

Contents

require 'bundler/setup'
require 'securerandom'
require 'active_support/isolated_execution_state'
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/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

27 entries across 27 versions & 1 rubygems

Version Path
flipper-1.3.2 examples/instrumentation.rb
flipper-1.3.1 examples/instrumentation.rb
flipper-1.3.0 examples/instrumentation.rb
flipper-1.3.0.pre examples/instrumentation.rb
flipper-1.2.2 examples/instrumentation.rb
flipper-1.2.1 examples/instrumentation.rb
flipper-1.2.0 examples/instrumentation.rb
flipper-1.1.2 examples/instrumentation.rb
flipper-1.1.1 examples/instrumentation.rb
flipper-1.1.0 examples/instrumentation.rb
flipper-1.0.0 examples/instrumentation.rb
flipper-1.0.0.pre examples/instrumentation.rb
flipper-0.28.3 examples/instrumentation.rb
flipper-0.28.2 examples/instrumentation.rb
flipper-0.28.1 examples/instrumentation.rb
flipper-0.28.0 examples/instrumentation.rb
flipper-0.27.1 examples/instrumentation.rb
flipper-0.27.0 examples/instrumentation.rb
flipper-0.26.2 examples/instrumentation.rb
flipper-0.26.1 examples/instrumentation.rb