Sha256: a143f1e2c4abbfaa27705706d55b7c1d135aad43011bcb637389c0050fa81037
Contents?: true
Size: 1.08 KB
Versions: 17
Compression:
Stored size: 1.08 KB
Contents
require 'puppet/parser/ast/branch' class Puppet::Parser::AST class BlockExpression < Branch include Enumerable # Evaluate contained expressions, produce result of the last def evaluate(scope) result = nil @children.each do |child| # Skip things that respond to :instantiate (classes, nodes, # and definitions), because they have already been # instantiated. if !child.respond_to?(:instantiate) result = child.safeevaluate(scope) end end result end # Return a child by index. def [](index) @children[index] end def push(*ary) ary.each { |child| #Puppet.debug "adding %s(%s) of type %s to %s" % # [child, child.object_id, child.class.to_s.sub(/.+::/,''), # self.object_id] @children.push(child) } self end def sequence_with(other) Puppet::Parser::AST::BlockExpression.new(:children => self.children + other.children) end def to_s "[" + @children.collect { |c| c.to_s }.join(', ') + "]" end end end
Version data entries
17 entries across 17 versions & 1 rubygems