Module: HashRecursiveMerge

Included in:
Hash
Defined in:
lib/rmerge.rb

Overview

You should have received a copy of the GNU General Public License along with TDI. If not, see <www.gnu.org/licenses/>.

Instance Method Summary collapse

Instance Method Details

#rmerge(other_hash) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/rmerge.rb', line 21

def rmerge(other_hash)
  r = {}

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

#rmerge!(other_hash) ⇒ Object



29
30
31
32
33
# File 'lib/rmerge.rb', line 29

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