diff options
author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2005-09-07 21:29:16 +0000 |
---|---|---|
committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2005-09-07 21:29:16 +0000 |
commit | 221343060856fa27ace550b1a76e6da59c2df536 (patch) | |
tree | 9863af95b54d3f2a5859283d0c83d45f1fed478c /lib | |
parent | 923226e7ac5d931dc6b01f5ae1cee3beb24b2fee (diff) | |
download | puppet-221343060856fa27ace550b1a76e6da59c2df536.tar.gz puppet-221343060856fa27ace550b1a76e6da59c2df536.tar.xz puppet-221343060856fa27ace550b1a76e6da59c2df536.zip |
making states capable of being the namevar
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@636 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib')
-rw-r--r-- | lib/puppet/type.rb | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/lib/puppet/type.rb b/lib/puppet/type.rb index 4a1afd91d..ca3b83ed7 100644 --- a/lib/puppet/type.rb +++ b/lib/puppet/type.rb @@ -774,7 +774,24 @@ class Type < Puppet::Element #--------------------------------------------------------------- # derive the instance name based on class.namevar def name - return self[self.class.namevar] + unless defined? @name and @name + namevar = self.class.namevar + if self.class.validparameter?(namevar) + @name = @parameters[namevar] + elsif self.class.validstate?(namevar) + @name = self.should(namevar) + else + raise Puppet::DevError, "Could not find namevar %s for %s" % + [namevar, self.class.name] + end + end + + unless @name + raise Puppet::DevError, "Could not find name %s for %s" % + [namevar, self.class.name] + end + + return @name end #--------------------------------------------------------------- |