Class: Bemer::Builders::Template
- Inherits:
-
Object
- Object
- Bemer::Builders::Template
- Defined in:
- lib/bemer/builders/template.rb
Instance Method Summary collapse
-
#initialize(templates, block: '*', elem: nil, condition: true, **options) ⇒ Template
constructor
A new instance of Template.
- #specify(condition = @condition, block: @block, elem: @element, **new_options) ⇒ Object
Constructor Details
#initialize(templates, block: '*', elem: nil, condition: true, **options) ⇒ Template
Returns a new instance of Template.
12 13 14 15 16 17 18 19 |
# File 'lib/bemer/builders/template.rb', line 12 def initialize(templates, block: '*', elem: nil, condition: true, **) @block = block @element = elem @condition = condition = @predicate = Bemer::Predicate.new(block: block, elem: elem, condition: condition, **) @templates = templates end |
Instance Method Details
#specify(condition = @condition, block: @block, elem: @element, **new_options) ⇒ Object
43 44 45 46 47 48 49 50 |
# File 'lib/bemer/builders/template.rb', line 43 def specify(condition = @condition, block: @block, elem: @element, **) block = @block.eql?('*') ? block : @block elem = @element.nil? || @element.eql?('*') ? elem : @element params = { **, **, condition: condition, block: block, elem: elem } builder = Builders::Template.new(templates, params) block_given? ? yield(builder) : builder end |