Module: SymbolizeAll::Hash

Defined in:
lib/symbolize_all/hash.rb

Instance Method Summary collapse

Instance Method Details

#symbolize_allObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/symbolize_all/hash.rb', line 5

def symbolize_all
  symbolized = {}

  each do |key, val|
    new_key = key.is_a?(String) ? key.to_sym : key

    case val.class.to_s
    when 'String'
      symbolized[new_key] = val.to_sym
    when 'Array', 'Hash'
      symbolized[new_key] = val.symbolize_all
    else
      symbolized[new_key] = val
    end
  end

  symbolized
end