diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/puppet/resource.rb | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/puppet/resource.rb b/lib/puppet/resource.rb index 9894f2f9e..31237e3b1 100644 --- a/lib/puppet/resource.rb +++ b/lib/puppet/resource.rb @@ -60,11 +60,8 @@ class Puppet::Resource # Don't duplicate the title as the namevar next hash if param == namevar and value == title - if value.is_a? Puppet::Resource - hash[param] = value.to_s - else - hash[param] = value - end + + hash[param] = Puppet::Resource.value_to_pson_data(value) hash end @@ -73,6 +70,16 @@ class Puppet::Resource data end + def self.value_to_pson_data(value) + if value.is_a? Array + value.map{|v| value_to_pson_data(v) } + elsif value.is_a? Puppet::Resource + value.to_s + else + value + end + end + def to_pson(*args) to_pson_data_hash.to_pson(*args) end |
