module Fusu::Hash::ReverseMerge

Public Instance Methods

reverse_merge(hash, other_hash) click to toggle source

Merges the caller into other_hash. For example,

options = Fusu::Hash.reverse_merge(options, {size: 25, velocity: 10})

is equivalent to

options = { size: 25, velocity: 10 }.merge(options)

This is particularly useful for initializing an options hash with default values.

# File lib/fusu/hash/reverse_merge.rb, line 14
def reverse_merge(hash, other_hash)
  other_hash.merge(hash)
end
reverse_merge!(hash, other_hash) click to toggle source

Destructive reverse_merge.

# File lib/fusu/hash/reverse_merge.rb, line 19
def reverse_merge!(hash, other_hash)
  # right wins if there is no left
  hash.merge!( other_hash ){|key,left,right| left }
end
Also aliased as: reverse_update
reverse_update(hash, other_hash)
Alias for: reverse_merge!