Class: Banano::Util

Inherits:
Object
  • Object
show all
Defined in:
lib/banano/util.rb

Class Method Summary collapse

Class Method Details

.symbolize_keys(hash) ⇒ Object



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

def symbolize_keys(hash)
  return {} if hash.empty?

  converted = hash.is_a?(String) ? JSON.parse(hash) : hash
  converted.inject({}) do |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