ActiveSupport::CoreExtensions::Hash::ReverseMerge


Files

Description

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(options = {})
    options.reverse_merge! :size => 25, :velocity => 10
  end

Using merge, the above example would look as follows:

  def setup(options = {})
    { :size => 25, :velocity => 10 }.merge(options)
  end

The default :size and :velocity are only set if the options hash passed in doesn‘t already have the respective key.

Methods

Public Instance methods

reverse_merge (other_hash)

Performs the opposite of merge, with the keys and values from the first hash taking precedence over the second.

reverse_merge! (other_hash)

Performs the opposite of merge, with the keys and values from the first hash taking precedence over the second. Modifies the receiver in place.

Alias

reverse_update

reverse_update (other_hash)

Alias for reverse_merge!