Sha256: 002050658d3e908b117f02726ef78c3df2562da00273790c26d77ed548698570

Contents?: true

Size: 1.01 KB

Versions: 28

Compression:

Stored size: 1.01 KB

Contents

module Flipper
  class Configuration
    def initialize
      @default = -> { raise DefaultNotSet }
    end

    # 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.
    def default(&block)
      if block_given?
        @default = block
      else
        @default.call
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
flipper-0.20.4 lib/flipper/configuration.rb
flipper-0.20.3 lib/flipper/configuration.rb
flipper-0.20.2 lib/flipper/configuration.rb
flipper-0.20.1 lib/flipper/configuration.rb
flipper-0.20.0 lib/flipper/configuration.rb
flipper-0.20.0.beta3 lib/flipper/configuration.rb
flipper-0.20.0.beta2 lib/flipper/configuration.rb
flipper-0.20.0.beta1 lib/flipper/configuration.rb
flipper-0.19.1 lib/flipper/configuration.rb
flipper-0.19.0 lib/flipper/configuration.rb
flipper-0.18.0 lib/flipper/configuration.rb
flipper-0.17.2 lib/flipper/configuration.rb
flipper-0.17.1 lib/flipper/configuration.rb
flipper-0.16.2 lib/flipper/configuration.rb
flipper-0.16.1 lib/flipper/configuration.rb
flipper-0.16.0 lib/flipper/configuration.rb
flipper-0.15.0 lib/flipper/configuration.rb
flipper-0.14.0 lib/flipper/configuration.rb
flipper-0.13.0 lib/flipper/configuration.rb
flipper-0.13.0.beta1 lib/flipper/configuration.rb