Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/core_ext/deep_symbolize_keys.rb

Overview

This is Travis-CI’s implementation instead of the current activesupport version github.com/travis-ci/travis-build/blob/master/lib/core_ext/hash/deep_symbolize_keys.rb

Instance Method Summary collapse

Instance Method Details

#deep_symbolize_keysObject



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/core_ext/deep_symbolize_keys.rb', line 4

def deep_symbolize_keys
  inject({}) { |result, (key, value)|
    result[(key.to_sym rescue key) || key] = case value
    when Array
      value.map { |value| value.is_a?(Hash) ? value.deep_symbolize_keys : value }
    when Hash
      value.deep_symbolize_keys
    else
      value
    end
    result
  }
end

#deep_symbolize_keys!Object



18
19
20
# File 'lib/core_ext/deep_symbolize_keys.rb', line 18

def deep_symbolize_keys!
  replace(deep_symbolize_keys)
end