Extensions to Hash providing a ‘deep_merge` helper.
3 4 5 6 7 8 9 10 11 12 13
# File 'lib/rsmp/helpers/deep_merge.rb', line 3 def deep_merge(other_hash) return self unless other_hash merge(other_hash) do |_key, old, fresh| if old.is_a?(Hash) && fresh.is_a?(Hash) old.deep_merge(fresh) else fresh end end end