Class: Hash

Inherits:
Object show all
Defined in:
lib/muflax/hash.rb,
lib/muflax/blank.rb,
lib/muflax/deep_dup.rb

Overview

missing methods

Instance Method Summary collapse

Instance Method Details

#deep_dupObject



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/muflax/deep_dup.rb', line 19

def deep_dup
  hash = dup
  each_pair do |key, value|
    if key.frozen? && ::String === key
      hash[key] = value.deep_dup
    else
      hash.delete(key)
      hash[key.deep_dup] = value.deep_dup
    end
  end
  hash
end

#transform_keysObject



18
19
20
21
22
23
24
25
# File 'lib/muflax/hash.rb', line 18

def transform_keys
  return enum_for(:transform_keys) { size } unless block_given?
  result = {}
  each_key do |key|
    result[yield(key)] = self[key]
  end
  result
end

#transform_keys!Object



27
28
29
30
31
32
33
# File 'lib/muflax/hash.rb', line 27

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