summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/transportable.rb13
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/puppet/transportable.rb b/lib/puppet/transportable.rb
index a448e28a5..615a95d2b 100644
--- a/lib/puppet/transportable.rb
+++ b/lib/puppet/transportable.rb
@@ -207,11 +207,18 @@ module Puppet
end
def to_ref
- return nil unless self.type and self.name
unless defined? @ref
- @ref = Puppet::ResourceReference.new(self.type, self.name)
+ if self.type and self.name
+ @ref = Puppet::ResourceReference.new(self.type, self.name)
+ elsif self.type and ! self.name # This is old-school node types
+ @ref = Puppet::ResourceReference.new("node", self.type)
+ elsif ! self.type and self.name
+ @ref = Puppet::ResourceReference.new("component", self.name)
+ else
+ @ref = nil
+ end
end
- @ref.to_s
+ @ref.to_s if @ref
end
def to_type