summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-12-23 05:19:52 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-12-23 05:19:52 +0000
commit85b19c4815c4e605bcfa561298786ca3c1f68de0 (patch)
treeca334fa7064b7f4de660359da06e432f006c1708 /lib
parent311aba94792c2984d2944c9ac99a4ff5d79db697 (diff)
downloadpuppet-85b19c4815c4e605bcfa561298786ca3c1f68de0.tar.gz
puppet-85b19c4815c4e605bcfa561298786ca3c1f68de0.tar.xz
puppet-85b19c4815c4e605bcfa561298786ca3c1f68de0.zip
Fixing #349. Doing some hackery so defined types can now (again) be used as dependencies.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1966 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/metatype/metaparams.rb16
1 files changed, 10 insertions, 6 deletions
diff --git a/lib/puppet/metatype/metaparams.rb b/lib/puppet/metatype/metaparams.rb
index c9d3426ff..c9c3a694d 100644
--- a/lib/puppet/metatype/metaparams.rb
+++ b/lib/puppet/metatype/metaparams.rb
@@ -265,13 +265,17 @@ class Puppet::Type
# to an object...
tname, name = value
object = nil
- unless type = Puppet::Type.type(tname)
- self.fail "Could not find type %s" % tname.inspect
- end
- unless object = type[name]
- self.fail "Could not retrieve object '%s' of type '%s'" %
- [name,type]
+ if type = Puppet::Type.type(tname)
+ unless object = type[name]
+ self.fail "Could not retrieve object '%s' of type '%s'" %
+ [name,type]
+ end
+ else # try to treat it as a component
+ unless object = Puppet::Type::Component["#{tname}[#{name}]"]
+ self.fail "Could not find object %s[%s]" % [tname, name]
+ end
end
+
self.debug("subscribes to %s" % [object])
# Are we requiring them, or vice versa? See the builddepends