class Flipper::Configuration

Public Class Methods

new() click to toggle source
# File lib/flipper/configuration.rb, line 3
def initialize
  @default = -> { raise DefaultNotSet }
end

Public Instance Methods

default(&block) click to toggle source

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.

# File lib/flipper/configuration.rb, line 24
def default(&block)
  if block_given?
    @default = block
  else
    @default.call
  end
end