diff options
Diffstat (limited to 'lib/puppet/parser/ast/resource_reference.rb')
-rw-r--r-- | lib/puppet/parser/ast/resource_reference.rb | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/lib/puppet/parser/ast/resource_reference.rb b/lib/puppet/parser/ast/resource_reference.rb index 4bb41165a..e5e2dce99 100644 --- a/lib/puppet/parser/ast/resource_reference.rb +++ b/lib/puppet/parser/ast/resource_reference.rb @@ -24,16 +24,20 @@ class Puppet::Parser::AST # and name. def evaluate(scope) title = @title.safeevaluate(scope) + title = [title] unless title.is_a?(Array) + if @type.to_s.downcase == "class" - objtype = "class" - title = qualified_class(scope, title) + resource_type = "class" + title = title.collect { |t| qualified_class(scope, t) } else - objtype = qualified_type(scope) + resource_type = qualified_type(scope) end - return Puppet::Parser::Resource::Reference.new( - :type => objtype, :title => title - ) + title = title.collect { |t| Puppet::Parser::Resource::Reference.new( + :type => resource_type, :title => t + ) } + return title.pop if title.length == 1 + return title end # Look up a fully qualified class name. |