class MyJohnDeere::HashUtils
Public Class Methods
deep_stringify_keys(in_hash)
click to toggle source
Convert keys to strings, recursively
# File lib/myjohndeere/hash_utils.rb, line 27 def self.deep_stringify_keys(in_hash) transform_hash(in_hash, :deep => true) {|hash, key, value| hash[key.to_s] = value } end
stringify_keys(in_hash)
click to toggle source
Convert keys to strings
# File lib/myjohndeere/hash_utils.rb, line 20 def self.stringify_keys(in_hash) transform_hash(in_hash) {|hash, key, value| hash[key.to_s] = value } end
transform_hash(original, options={}, &block)
click to toggle source
# File lib/myjohndeere/hash_utils.rb, line 3 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| transform_hash(v, options, &block)} else value end end block.call(result,key,value) result } end