Class: Resol::Builder::Builders

Inherits:
Array
  • Object
show all
Defined in:
lib/resol/builder.rb

Instance Method Summary collapse

Instance Method Details

#<<(proc) ⇒ Object



20
21
22
23
# File 'lib/resol/builder.rb', line 20

def <<(proc)
  wrapped = -> (ctx, *args, **kwargs) { ctx.instance_exec(*args, **kwargs, &proc) }
  super(wrapped)
end

#call(initial_klass, *args, **kwargs) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/resol/builder.rb', line 12

def call(initial_klass, *args, **kwargs)
  each do |block|
    klass = block.call(initial_klass, *args, **kwargs) and return klass
  end

  initial_klass
end