diff options
Diffstat (limited to 'lib/puppet/resource.rb')
-rw-r--r-- | lib/puppet/resource.rb | 12 |
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 ] |