Module: Igniter::Embed::Contractable

Defined in:
lib/igniter/embed/contractable.rb,
lib/igniter/embed/contractable/config.rb,
lib/igniter/embed/contractable/runner.rb,
lib/igniter/embed/contractable/adapters.rb,
lib/igniter/embed/contractable/acceptance.rb,
lib/igniter/embed/contractable/sugar_builder.rb

Defined Under Namespace

Modules: Acceptance, Adapters Classes: Config, Runner, SugarBuilder

Class Method Summary collapse

Class Method Details

.build(name, &block) ⇒ Object



14
15
16
17
18
# File 'lib/igniter/embed/contractable.rb', line 14

def build(name, &block)
  config = Config.new(name: name)
  evaluate_block(config, &block) if block
  Runner.new(config: config)
end

.evaluate_block(config, &block) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/igniter/embed/contractable.rb', line 20

def evaluate_block(config, &block)
  if block.arity.zero?
    SugarBuilder.new(config: config).instance_eval(&block)
  else
    block.call(config)
  end
end