class Hash

def symbolize_keys! # :nodoc:

:nodoc:
def symbolize_keys! # :nodoc:
  hash = symbolize_keys
  hash.each do |key, val|
    hash[key] = case val
      when Hash
        val.symbolize_keys!
      when Array
        val.map do |item|
          item.is_a?(Hash) ? item.symbolize_keys! : item
        end
      else
        val
      end
  end
  return hash
end unless method_defined?(:symbolize_keys!)