class Payable::Middleware::SymbolizeKeys

Public Class Methods

symbolize_keys(hash) click to toggle source
# File lib/payable/middleware.rb, line 12
def self.symbolize_keys(hash)
  hash.inject({}) do |result, (key, value)|
    new_key = case key
    when String then key.to_sym
    else key
    end

    new_value = case value
    when Hash then symbolize_keys(value)
    when Array then value.map{|v| symbolize_keys(v) }
    else value
    end

    result[new_key] = new_value

    result
  end
end