module Gekko::SymbolizeKeys
Utility module to avoid monkey-patching Hash
Public Instance Methods
symbolize_keys(hsh)
click to toggle source
Symbolizes keys of a Hash
@param hsh [Hash] The Hash
for which we want to symbolize the keys @return [Hash] A copy of the parameter with all keys symbolized
# File lib/gekko/symbolize_keys.rb, line 14 def symbolize_keys(hsh) hsh.inject({}) do |mem, obj| val = obj[1] val = symbolize_keys(val) if val.is_a?(Hash) val.map! { |v| ((v.is_a?(Array) || v.is_a?(Hash)) && symbolize_keys(v)) || v } if val.is_a?(Array) mem[obj[0].to_sym] = val mem end end