Class: Virtuous::HashHelper
- Inherits:
-
Object
- Object
- Virtuous::HashHelper
- Defined in:
- lib/virtuous/helpers/hash_helper.rb
Overview
Helper methods for hashes
Class Method Summary collapse
-
.deep_transform_keys(hash, &transform) ⇒ Hash
Recieves a block which is called on all of the keys of the hash, including the keys nested hashes inside.
Class Method Details
.deep_transform_keys(hash, &transform) ⇒ Hash
Recieves a block which is called on all of the keys of the hash, including the keys nested hashes inside.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/virtuous/helpers/hash_helper.rb', line 10 def self.deep_transform_keys(hash, &transform) new_hash = {} hash.each_key do |key| value = hash[key] new_key = transform.call(key) new_hash[new_key] = if value.is_a?(Array) value.map do |item| item.is_a?(Hash) ? deep_transform_keys(item, &transform) : item end elsif value.is_a?(Hash) deep_transform_keys(value, &transform) else value end end new_hash end |