Class: Hash

Inherits:
Object show all
Defined in:
lib/dm-core/core_ext/hash.rb

Direct Known Subclasses

DataMapper::IdentityMap

Instance Method Summary collapse

Instance Method Details

#only(*allowed) ⇒ Hash

Create a hash with only key/value pairs in receiver and allowed

{ :one => 1, :two => 2, :three => 3 }.only(:one)    #=> { :one => 1 }

Parameters:

Returns:

  • (Hash)

    A new hash with only the selected keys.



13
14
15
16
17
# File 'lib/dm-core/core_ext/hash.rb', line 13

def only(*allowed)
  hash = {}
  allowed.each {|k| hash[k] = self[k] if self.has_key?(k) }
  hash
end

#to_mashMash

Convert to Mash. This class has semantics of ActiveSupport’s HashWithIndifferentAccess and we only have it so that people can write params instead of params.

Returns:

  • (Mash)

    This hash as a Mash for string or symbol key access.



24
25
26
27
28
# File 'lib/dm-core/core_ext/hash.rb', line 24

def to_mash
  hash = Mash.new(self)
  hash.default = default
  hash
end