module Gemsupport::DeepMerge

Public Instance Methods

deep_merge(hsh) click to toggle source
# File lib/gemsupport/refinements/deep_merge.rb, line 4
def deep_merge(hsh)
  merger = proc do |key, v1, v2|
    v1.kind_of?(Hash) && v2.kind_of?(Hash) ? v1.merge(v2, &merger) : v2
  end
  self.merge(hsh, &merger)
end
deep_merge!(hsh) click to toggle source
# File lib/gemsupport/refinements/deep_merge.rb, line 11
def deep_merge!(hsh)
  merger = proc do |key, v1, v2|
    v1.kind_of?(Hash) && v2.kind_of?(Hash) ? v1.merge(v2, &merger) : v2
  end
  self.merge!(hsh, &merger)
end