Module: Nomad::Stringify

Defined in:
lib/nomad/stringify.rb

Class Method Summary collapse

Class Method Details

.stringify_keys(hash) ⇒ Hash

Converts all keys in a map to string (instead of symbol) keys.

Parameters:

  • hash (Hash)

Returns:

  • (Hash)


9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/nomad/stringify.rb', line 9

def stringify_keys(hash)
  (hash || {}).inject({}) do |h, (key, value)|
    if value.is_a?(Array)
      value = value.map do |i|
        if i.is_a?(Hash) || i.is_a?(Array)
          stringify_keys(i)
        else
          i
        end
      end
    end

    if value.is_a?(Hash)
      value = stringify_keys(value)
    end

    h[key.to_s] = value
    h
  end
end