Module: VV::HashMethods

Included in:
Hash
Defined in:
lib/vv/hash_methods.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



4
5
6
# File 'lib/vv/hash_methods.rb', line 4

def self.included(base)
  base.extend(ClassMethods)
end

Instance Method Details

#stringify_keysObject



16
17
18
# File 'lib/vv/hash_methods.rb', line 16

def stringify_keys
  transform_keys{ |key| key.to_s }
end

#stringify_keys!Object



20
21
22
# File 'lib/vv/hash_methods.rb', line 20

def stringify_keys!
  transform_keys!{ |key| key.to_s }
end

#transform_keysObject



24
25
26
27
28
29
30
31
# File 'lib/vv/hash_methods.rb', line 24

def transform_keys
  return enum_for(:transform_keys) unless block_given?
  result = self.class.new
  self.each_key do |key|
    result[yield(key)] = self[key]
  end
  result
end

#transform_keys!Object



33
34
35
36
37
38
39
# File 'lib/vv/hash_methods.rb', line 33

def transform_keys!
  return self.enum_for(:transform_keys!) unless block_given?
  self.keys.each do |key|
    self[yield(key)] = self.delete(key)
  end
  self
end