diff options
author | Luke Kanies <luke@madstop.com> | 2008-03-07 12:28:58 -0600 |
---|---|---|
committer | Luke Kanies <luke@madstop.com> | 2008-03-07 12:28:58 -0600 |
commit | 9f8bb7e42aeea4670d9292f935529f8db5d57bc5 (patch) | |
tree | b3b746e516d62d10368d19a197749dd25a54307e /lib/puppet/parser/resource.rb | |
parent | c2b33acd5c1e6fe4021d7609f806b7bd8af834f8 (diff) | |
parent | e8029cc61a1956263935a0df469cc77b8e80a102 (diff) | |
download | puppet-9f8bb7e42aeea4670d9292f935529f8db5d57bc5.tar.gz puppet-9f8bb7e42aeea4670d9292f935529f8db5d57bc5.tar.xz puppet-9f8bb7e42aeea4670d9292f935529f8db5d57bc5.zip |
Merge branch '0.24.x'
Diffstat (limited to 'lib/puppet/parser/resource.rb')
-rw-r--r-- | lib/puppet/parser/resource.rb | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/lib/puppet/parser/resource.rb b/lib/puppet/parser/resource.rb index b001e165b..4b48ff6cf 100644 --- a/lib/puppet/parser/resource.rb +++ b/lib/puppet/parser/resource.rb @@ -233,6 +233,20 @@ class Puppet::Parser::Resource @ref.to_s end + # Define a parameter in our resource. + def set_parameter(param, value = nil) + if value + param = Puppet::Parser::Resource::Param.new( + :name => param, :value => value, :source => self.source + ) + elsif ! param.is_a?(Puppet::Parser::Resource::Param) + raise ArgumentError, "Must pass a parameter or all necessary values" + end + + # And store it in our parameter hash. + @params[param.name] = param + end + def to_hash @params.inject({}) do |hash, ary| param = ary[1] @@ -331,7 +345,7 @@ class Puppet::Parser::Resource unless @params.include?(name) self.debug "Adding default for %s" % name - @params[name] = param + @params[name] = param.dup end end end @@ -370,11 +384,8 @@ class Puppet::Parser::Resource # The parameter is already set. Fail if they're not allowed to override it. unless param.source.child_of?(current.source) - if Puppet[:trace] - puts caller - end - msg = "Parameter '%s' is already set on %s" % - [param.name, self.to_s] + puts caller if Puppet[:trace] + msg = "Parameter '%s' is already set on %s" % [param.name, self.to_s] if current.source.to_s != "" msg += " by %s" % current.source end @@ -426,20 +437,6 @@ class Puppet::Parser::Resource end end - # Define a parameter in our resource. - def set_parameter(param, value = nil) - if value - param = Puppet::Parser::Resource::Param.new( - :name => param, :value => value, :source => self.source - ) - elsif ! param.is_a?(Puppet::Parser::Resource::Param) - raise ArgumentError, "Must pass a parameter or all necessary values" - end - - # And store it in our parameter hash. - @params[param.name] = param - end - # Make sure the resource's parameters are all valid for the type. def validate @params.each do |name, param| |