Module: Resol::Builder::ClassMethods
- Defined in:
- lib/resol/builder.rb
Instance Method Summary collapse
- #build ⇒ Object
- #build_klass(*args, **kwargs) ⇒ Object
- #builders ⇒ Object
- #builds(proc = nil, &block) ⇒ Object
Instance Method Details
#build ⇒ Object
48 49 50 |
# File 'lib/resol/builder.rb', line 48 def build(...) build_klass(...).new(...) end |
#build_klass(*args, **kwargs) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/resol/builder.rb', line 35 def build_klass(*args, **kwargs) klass = self loop do new_klass = klass.builders.call(klass, *args, **kwargs) break if new_klass == klass klass = new_klass end klass end |
#builders ⇒ Object
27 28 29 |
# File 'lib/resol/builder.rb', line 27 def builders @builders ||= Builders.new end |
#builds(proc = nil, &block) ⇒ Object
31 32 33 |
# File 'lib/resol/builder.rb', line 31 def builds(proc = nil, &block) builders << (proc || block) end |