module Babl::Operators::Merge::DSL

Public Instance Methods

merge(*templates) click to toggle source

Merge multiple JSON objects (non-deep)

# File lib/babl/operators/merge.rb, line 10
def merge(*templates)
    return call(Utils::Hash::EMPTY) if templates.empty?

    templates = templates.map { |t| unscoped.reset_continue.call(t) }

    construct_terminal { |context|
        Nodes::Merge.new(
            templates.map { |t|
                t.builder.precompile(Nodes::TerminalValue.instance, context)
            }
        )
    }
end