summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAshley Penney <ashley.penney@puppetlabs.com>2014-03-11 09:31:23 -0700
committerAshley Penney <ashley.penney@puppetlabs.com>2014-03-11 09:31:23 -0700
commite467d8f0847bb85fc8b0789d2eb44dcca862c5d7 (patch)
tree01831aa1dfe61389429566c0758d0a9267c20f33 /lib
parent6a89e1cee4be5c413b354f8facd677ba2fe637d7 (diff)
parentc12e9afc97f4356bc20554d32861889680c5fdc1 (diff)
downloadpuppet-stdlib-e467d8f0847bb85fc8b0789d2eb44dcca862c5d7.tar.gz
puppet-stdlib-e467d8f0847bb85fc8b0789d2eb44dcca862c5d7.tar.bz2
Merge pull request #220 from mediatemple/fix/master/deep_merge_fix
PUP-1724 Don't modify the paramaters to deep_merge
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/parser/functions/deep_merge.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/puppet/parser/functions/deep_merge.rb b/lib/puppet/parser/functions/deep_merge.rb
index 94677b8..6df32e9 100644
--- a/lib/puppet/parser/functions/deep_merge.rb
+++ b/lib/puppet/parser/functions/deep_merge.rb
@@ -20,7 +20,7 @@ module Puppet::Parser::Functions
end
deep_merge = Proc.new do |hash1,hash2|
- hash1.merge!(hash2) do |key,old_value,new_value|
+ hash1.merge(hash2) do |key,old_value,new_value|
if old_value.is_a?(Hash) && new_value.is_a?(Hash)
deep_merge.call(old_value, new_value)
else
@@ -37,7 +37,7 @@ module Puppet::Parser::Functions
raise Puppet::ParseError, "deep_merge: unexpected argument type #{arg.class}, only expects hash arguments"
end
- deep_merge.call(result, arg)
+ result = deep_merge.call(result, arg)
end
return( result )
end