Sha256: aba411c3d167567f88c4e2162d98a7bbf62db5772ebbe53276b404a9b89c57a7

Contents?: true

Size: 400 Bytes

Versions: 1

Compression:

Stored size: 400 Bytes

Contents

module HashDeepMergeExt

  # Implementation pulled from ActiveSupport
  def deep_merge(other_hash)
    dup.deep_merge!(other_hash)
  end

  def deep_merge!(other_hash)
    other_hash.each_pair do |k,v|
      tv = self[k]
      self[k] = tv.is_a?(Hash) && v.is_a?(Hash) ? tv.deep_merge(v) : v
    end
    self
  end

end

Hash.send(:include, HashDeepMergeExt) unless Hash.new.respond_to?(:deep_merge)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
elzar-0.2.0 lib/elzar/core_ext/hash.rb