module Tins::HashSymbolizeKeysRecursive
def _symbolize_keys_recursive(object, circular: nil)
def _symbolize_keys_recursive(object, circular: nil) case when seen[object.__id__] circular != nil and object = circular when Hash === object seen[object.__id__] = true result = {} object.each do |k, v| result[k.to_s.to_sym] = _symbolize_keys_recursive(v, circular: circular) end object.replace result when Array === object seen[object.__id__] = true object.map! do |v| _symbolize_keys_recursive(v, circular: circular) end end object end