Sha256: c54e851a92c8eee3c63ff9004a8d4838760864436ade50e51b6fe725733ceed9

Contents?: true

Size: 388 Bytes

Versions: 1

Compression:

Stored size: 388 Bytes

Contents

module HashRecursiveMerge
  def rmerge(other_hash)
    r = {}

    merge(other_hash) do |key, oldval, newval|
      r[key] = oldval.is_a?(Hash) ? oldval.rmerge(newval) : newval
    end
  end

  def rmerge!(other_hash)
    merge!(other_hash) do |key, oldval, newval|
      oldval.is_a?(Hash) ? oldval.rmerge!(newval) : newval
    end
  end
end

class Hash
  include HashRecursiveMerge
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tdi-0.1.0 lib/rmerge.rb