Class Mail::IndifferentHash
In: lib/mail/indifferent_hash.rb
Parent: Hash

Methods

External Aliases

[]= -> regular_writer

Public Class methods

Public Instance methods

Assigns a new value to the hash:

  hash = HashWithIndifferentAccess.new
  hash[:key] = "value"

Removes a specified key from the hash.

Returns an exact copy of the hash.

Fetches the value for the specified key, same as doing hash[key]

Checks the hash for a key matching the argument passed in:

  hash = HashWithIndifferentAccess.new
  hash["key"] = "value"
  hash.key? :key  # => true
  hash.key? "key" # => true

Merges the instantized and the specified hashes together, giving precedence to the values from the second hash Does not overwrite the existing hash.

Performs the opposite of merge, with the keys and values from the first hash taking precedence over the second. This overloaded definition prevents returning a regular hash, if reverse_merge is called on a HashWithDifferentAccess.

Updates the instantized hash with values from the second:

  hash_1 = HashWithIndifferentAccess.new
  hash_1[:key] = "value"

  hash_2 = HashWithIndifferentAccess.new
  hash_2[:key] = "New Value!"

  hash_1.update(hash_2) # => {"key"=>"New Value!"}

Returns an array of the values at the specified indices:

  hash = HashWithIndifferentAccess.new
  hash[:a] = "x"
  hash[:b] = "y"
  hash.values_at("a", "b") # => ["x", "y"]

[Validate]