Module: Relaton::Core::HashKeysSymbolizer

Defined in:
lib/relaton/core/hash_keys_sybolizer.rb

Instance Method Summary collapse

Instance Method Details

#symbolize_hash_keys(obj) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/relaton/core/hash_keys_sybolizer.rb', line 4

def symbolize_hash_keys(obj)
  case obj
  when Array
    obj.map { |e| symbolize_hash_keys(e) }
  when Hash
    obj.each_with_object({}) do |(k, v), h|
      key = k.is_a?(String) ? k.to_sym : k
      h[key] = symbolize_hash_keys(v)
    end
  else
    obj
  end
end