Module: Babl::Operators::Static::DSL

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

Instance Method Summary collapse

Instance Method Details

#static(val) ⇒ Object

Create a static JSON value



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

def static(val)
    sanitized_val = Nodes::TerminalValue.instance.render_object(val)

    case sanitized_val
    when ::String, ::Numeric, ::NilClass, ::TrueClass, ::FalseClass
        construct_terminal { Nodes::Constant.new(sanitized_val, Schema::Primitive.new(sanitized_val)) }
    else call(sanitized_val)
    end
rescue Errors::RenderingError => exception
    raise Errors::InvalidTemplate, exception.message
end