Module: Babl::Operators::Partial::DSL

Included in:
Template
Defined in:
lib/babl/operators/partial.rb

Instance Method Summary collapse

Instance Method Details

#partial(partial_name) ⇒ Object

Load a partial template given its name A ‘lookup_context’ must be defined



10
11
12
13
14
15
16
17
18
19
# File 'lib/babl/operators/partial.rb', line 10

def partial(partial_name)
    current_template = unscoped
    construct_terminal { |ctx|
        lookup_context = ctx[:lookup_context]
        raise Errors::InvalidTemplate, 'Cannot use partial without lookup context' unless lookup_context
        template, new_lookup_context = lookup_context.find(current_template, partial_name)
        raise Errors::InvalidTemplate, "Cannot find partial '#{partial_name}'" unless template
        template.precompile(Nodes::TerminalValue.instance, lookup_context: new_lookup_context)
    }
end