Module: DeepMerge

Defined in:
lib/mismatch_inspectable/deep_merge.rb

Instance Method Summary collapse

Instance Method Details

#deep_merge!(other_hash) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
# File 'lib/mismatch_inspectable/deep_merge.rb', line 2

def deep_merge!(other_hash)
  other_hash&.each do |key, value|
    if self[key].is_a?(Hash) && value.is_a?(Hash)
      self[key].extend(DeepMerge) unless self[key].respond_to?(:deep_merge!)
      self[key].deep_merge!(value)
    else
      self[key] = value
    end
  end
  self
end