Method: Hash#reverse_merge
- Defined in:
- lib/active_support/core_ext/hash/reverse_merge.rb
#reverse_merge(other_hash) ⇒ Object
Allows for reverse merging two hashes where the keys in the calling hash take precedence over those in the other_hash. This is particularly useful for initializing an option hash with default values:
def setup( = {})
.reverse_merge! :size => 25, :velocity => 10
end
Using merge, the above example would look as follows:
def setup( = {})
{ :size => 25, :velocity => 10 }.merge()
end
The default :size and :velocity are only set if the options hash passed in doesn’t already have the respective key.
17 18 19 |
# File 'lib/active_support/core_ext/hash/reverse_merge.rb', line 17 def reverse_merge(other_hash) other_hash.merge(self) end |