class HashUtils
Public Class Methods
deep_stringify_keys(hash)
click to toggle source
Convert keys to strings, recursively
# File lib/hash.rb, line 23 def self.deep_stringify_keys(hash) transform_hash(hash, :deep => true) {|hash, key, value| hash[key.to_s] = value } end
transform_hash(original, options={}, &block)
click to toggle source
# File lib/hash.rb, line 2 def self.transform_hash(original, options={}, &block) original.inject({}){|result, (key,value)| value = if (options[:deep] && Hash === value) transform_hash(value, options, &block) else if Array === value value.map{|v| if Hash === v transform_hash(v, options, &block) else v end} else value end end block.call(result,key,value) result } end