23: def evaluate(scope)
24:
25: resource = @object.safeevaluate(scope)
26:
27: hash = {}
28:
29:
30: params = @parameters.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:
40: res = Puppet::Parser::Resource.new(
41: r.type, r.title,
42: :parameters => params,
43: :file => file,
44: :line => line,
45: :source => scope.source,
46:
47: :scope => scope
48: )
49:
50:
51:
52: scope.compiler.add_override(res)
53:
54: res
55: end
56:
57: return(resource.length == 1 ? resource.pop : resource)
58: end