Class: Bemer::Builders::Template

Inherits:
Object
  • Object
show all
Defined in:
lib/bemer/builders/template.rb

Instance Method Summary collapse

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, **options)
  @block     = block
  @element   = elem
  @condition = condition
  @options   = options
  @predicate = Bemer::Predicate.new(block: block, elem: elem, condition: condition, **options)
  @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, **new_options)
  block   = @block.eql?('*') ? block : @block
  elem    = @element.nil? || @element.eql?('*') ? elem : @element
  params  = { **new_options, **options, condition: condition, block: block, elem: elem }
  builder = Builders::Template.new(templates, params)

  block_given? ? yield(builder) : builder
end