summaryrefslogtreecommitdiffstats
path: root/lib/puppet/resource.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/resource.rb')
-rw-r--r--lib/puppet/resource.rb12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/puppet/resource.rb b/lib/puppet/resource.rb
index e29fecf45..508e21e8d 100644
--- a/lib/puppet/resource.rb
+++ b/lib/puppet/resource.rb
@@ -162,9 +162,8 @@ class Puppet::Resource
self.type = tmp_type
self.title = tmp_title
- (attributes[:parameters] || {}).each do |param, value|
- validate_parameter(param) if strict?
- self[param] = value
+ if params = attributes[:parameters]
+ extract_parameters(params)
end
tag(self.type)
@@ -384,6 +383,13 @@ class Puppet::Resource
private
+ def extract_parameters(params)
+ params.each do |param, value|
+ validate_parameter(param) if strict?
+ self[param] = value
+ end
+ end
+
def extract_type_and_title(argtype, argtitle)
if (argtitle || argtype) =~ /^([^\[\]]+)\[(.+)\]$/m then [ $1, $2 ]
elsif argtitle then [ argtype, argtitle ]