Module: Hashie::HashExtensions

Included in:
Hash
Defined in:
lib/hashie/hash_extensions.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object


3
4
5
6
7
8
9
# File 'lib/hashie/hash_extensions.rb', line 3

def self.included(base)
  # Don't tread on existing extensions of Hash by
  # adding methods that are likely to exist.
  %w(stringify_keys stringify_keys!).each do |hashie_method|
    base.send :alias_method, hashie_method, "hashie_#{hashie_method}" unless base.instance_methods.include?(hashie_method)
  end
end

Instance Method Details

#hashie_stringify_keysObject

Convert all of the keys of a Hash to their string representations.


24
25
26
# File 'lib/hashie/hash_extensions.rb', line 24

def hashie_stringify_keys
  self.dup.stringify_keys!
end

#hashie_stringify_keys!Object

Destructively convert all of the keys of a Hash to their string representations.


13
14
15
16
17
18
19
20
# File 'lib/hashie/hash_extensions.rb', line 13

def hashie_stringify_keys!
  self.keys.each do |k|
    unless String === k
      self[k.to_s] = self.delete(k)
    end
  end
  self
end

#to_mashObject

Convert this hash into a Mash


29
30
31
# File 'lib/hashie/hash_extensions.rb', line 29

def to_mash
  ::Hashie::Mash.new(self)
end