diff options
author | Luke Kanies <luke@madstop.com> | 2007-11-28 15:56:24 -0600 |
---|---|---|
committer | Luke Kanies <luke@madstop.com> | 2007-11-28 15:56:24 -0600 |
commit | bbf8a8bfc6a817ea19c4dabe3ce89f09d42df68d (patch) | |
tree | 82ed142f31a6643b869de4316283e29da0add906 | |
parent | 11ae473e3852adcc382a3efea2329586d2e4bcb3 (diff) | |
download | puppet-bbf8a8bfc6a817ea19c4dabe3ce89f09d42df68d.tar.gz puppet-bbf8a8bfc6a817ea19c4dabe3ce89f09d42df68d.tar.xz puppet-bbf8a8bfc6a817ea19c4dabe3ce89f09d42df68d.zip |
Making a few changes to the transportable class to enhance backward compatibility
-rw-r--r-- | lib/puppet/transportable.rb | 13 | ||||
-rwxr-xr-x | spec/unit/other/transbucket.rb | 12 |
2 files changed, 21 insertions, 4 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 diff --git a/spec/unit/other/transbucket.rb b/spec/unit/other/transbucket.rb index 10c551752..84cf93fa4 100755 --- a/spec/unit/other/transbucket.rb +++ b/spec/unit/other/transbucket.rb @@ -37,7 +37,17 @@ describe Puppet::TransBucket do proc { @bucket.push "a test" }.should raise_error end - it "should return nil as its reference when type or name is missing" do + it "should return use 'node' as the type and the provided name as the title if only a type is provided" do + @bucket.type = "mystuff" + @bucket.to_ref.should == "Node[mystuff]" + end + + it "should return use 'component' as the type and the provided type as the title if only a name is provided" do + @bucket.name = "mystuff" + @bucket.to_ref.should == "Class[mystuff]" + end + + it "should return nil as its reference when type and name are missing" do @bucket.to_ref.should be_nil end |