Class: Flipper::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/flipper/configuration.rb

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



3
4
5
# File 'lib/flipper/configuration.rb', line 3

def initialize
  @default = -> { raise DefaultNotSet }
end

Instance Method Details

#default(&block) ⇒ Object

Controls the default instance for flipper. When used with a block it assigns a new default block to use to generate an instance. When used without a block, it performs a block invocation and returns the result.

configuration = Flipper::Configuration.new
configuration.default # => raises DefaultNotSet error.

# sets the default block to generate a new instance using Memory adapter
configuration.default do
  require "flipper/adapters/memory"
  Flipper.new(Flipper::Adapters::Memory.new)
end

configuration.default # => Flipper::DSL instance using Memory adapter

Returns result of default block invocation if called without block. If called with block, assigns the default block.



24
25
26
27
28
29
30
# File 'lib/flipper/configuration.rb', line 24

def default(&block)
  if block_given?
    @default = block
  else
    @default.call
  end
end