23: def evaluate(scope)
24:
25: resource = @object.safeevaluate(scope)
26:
27: hash = {}
28:
29:
30: params = @params.collect { |param|
31: param.safeevaluate(scope)
32: }
33:
34:
35:
36: resource = [resource] unless resource.is_a?(Array)
37:
38: resource = resource.collect do |r|
39: res = Puppet::Parser::Resource.new(
40: :type => r.type,
41: :title => r.title,
42: :params => params,
43: :file => file,
44: :line => line,
45: :source => scope.source,
46: :scope => scope
47: )
48:
49:
50:
51: scope.compiler.add_override(res)
52:
53: res
54: end
55:
56: return resource.pop if resource.length == 1
57: return resource
58: end