Module: ChainOptions::Integration

Defined in:
lib/chain_options/integration.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



5
6
7
# File 'lib/chain_options/integration.rb', line 5

def self.included(base)
  base.extend(ClassMethods)
end

Instance Method Details

#build_options(&block) ⇒ Object

Allows setting multiple options in a block. This makes long option chains easier to read.

Examples:

The following expressions are equivalent

instance.option1(value).option2(value).option3 { value3 }
instance.build_options do
  set :option1, value
  set :option2, value2
  set(:option3) { value3 }


78
79
80
# File 'lib/chain_options/integration.rb', line 78

def build_options(&block)
  ChainOptions::Builder.new(self, &block).result
end

#initialize(**options) ⇒ Object



64
65
66
# File 'lib/chain_options/integration.rb', line 64

def initialize(**options)
  @chain_option_values = options
end