Class: Hash
- Inherits:
-
Object
show all
- Defined in:
- lib/core_ext/hash/deep_merge.rb,
lib/core_ext/hash/symbolize_keys.rb,
lib/core_ext/hash/deep_stringify_keys.rb
Instance Method Summary
collapse
Instance Method Details
#deep_merge(other) ⇒ Object
2
3
4
5
|
# File 'lib/core_ext/hash/deep_merge.rb', line 2
def deep_merge(other)
merger = proc { |key, v1, v2| Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : (v2 || v1) }
merge(other, &merger)
end
|
#deep_stringify_keys ⇒ Object
2
3
4
5
6
7
8
9
|
# File 'lib/core_ext/hash/deep_stringify_keys.rb', line 2
def deep_stringify_keys
inject({}) { |result, (key, value)|
value = value.deep_stringify_keys if value.is_a?(Hash)
key = key.to_s if key.is_a?(Symbol)
result[key] = value
result
}
end
|
#symbolize_keys ⇒ Object
2
3
4
5
6
7
8
|
# File 'lib/core_ext/hash/symbolize_keys.rb', line 2
def symbolize_keys
inject({}) { |result, (key, value)|
key = key.to_sym if key.respond_to?(:to_sym)
result[key] = value
result
}
end
|