Method: CF::UAA::Util.hash_keys!
- Defined in:
- lib/uaa/util.rb
.hash_keys!(obj, style = nil) ⇒ Object
Modifies obj in place changing any hash keys to style. Recursively modifies subordinate hashes.
73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/uaa/util.rb', line 73 def self.hash_keys!(obj, style = nil) return obj if style == :none return obj.each {|o| hash_keys!(o, style)} if obj.is_a? Array return obj unless obj.is_a? Hash newkeys, nk = {}, nil obj.delete_if { |k, v| hash_keys!(v, style) newkeys[nk] = v unless (nk = hash_key(k, style)) == k nk != k } obj.merge!(newkeys) end |