Module: Antwort::Helpers

Included in:
Build, Builder, EmailCollection, EmailData, EmailTemplate
Defined in:
lib/antwort/helpers/helper.rb

Instance Method Summary collapse

Instance Method Details

#symbolize_keys!(hash) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/antwort/helpers/helper.rb', line 3

def symbolize_keys!(hash)
  hash.each_with_object({}) do |(key, value), result|
    new_key = case key
              when String then key.to_sym
              else key
              end
    new_value = case value
                when Hash then symbolize_keys!(value)
                when Array then value.map { |v| v.is_a?(Hash) ? symbolize_keys!(v) : v }
                else value
                end
    result[new_key] = new_value
    result
  end
end