Module: Cradlepoint::HashHelpers

Included in:
NetDevice, Router
Defined in:
lib/cradlepoint/hash_helpers.rb

Class Method Summary collapse

Class Method Details

.symbolize_keys(hash) ⇒ Object



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

def self.symbolize_keys(hash)
  if hash.is_a?(Array)
    hash.map { |h| symbolize_keys(h) }
  else
    hash.inject({}) { |result, (key, value)|
      new_key = case key
                when String then key.to_sym
                else key
                end
      new_value = case value
                  when Hash then symbolize_keys(value)
                  else value
                  end
      result[new_key] = new_value
      result
    }
  end
end