Class: Babl::Nodes::Merge
- Inherits:
-
Object
- Object
- Babl::Nodes::Merge
- Defined in:
- lib/babl/nodes/merge.rb
Instance Method Summary collapse
Instance Method Details
#dependencies ⇒ Object
8 9 10 |
# File 'lib/babl/nodes/merge.rb', line 8 def dependencies nodes.map(&:dependencies).reduce({}) { |a, b| Babl::Utils::Hash.deep_merge(a, b) } end |
#pinned_dependencies ⇒ Object
12 13 14 |
# File 'lib/babl/nodes/merge.rb', line 12 def pinned_dependencies nodes.map(&:pinned_dependencies).reduce({}) { |a, b| Babl::Utils::Hash.deep_merge(a, b) } end |
#render(ctx) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/babl/nodes/merge.rb', line 20 def render(ctx) nodes.map { |node| node.render(ctx) }.compact.reduce({}) { |acc, val| raise Errors::RenderingError, "Only objects can be merged\n" + ctx.formatted_stack unless ::Hash === val acc.merge!(val) } end |