15 lines
368 B
Ruby
15 lines
368 B
Ruby
|
class Hash
|
||
|
def stringify_keys_deep!
|
||
|
new_hash = {}
|
||
|
keys.each do |k|
|
||
|
ks = k.respond_to?(:to_s) ? k.to_s : k
|
||
|
if values_at(k).first.kind_of? Hash or values_at(k).first.kind_of? Array
|
||
|
new_hash[ks] = values_at(k).first.send(:stringify_keys_deep!)
|
||
|
else
|
||
|
new_hash[ks] = values_at(k).first
|
||
|
end
|
||
|
end
|
||
|
|
||
|
new_hash
|
||
|
end
|
||
|
end
|