Sha256: 7308f09d1af4c6cfdc002f5bfc6ff347e67da0dcc0aa4a6a14b6e2e79d798664

Contents?: true

Size: 652 Bytes

Versions: 9

Compression:

Stored size: 652 Bytes

Contents

module Utils
  module HashHelpers
    # From 
    # http://devblog.avdi.org/2009/07/14/recursively-symbolize-keys/
    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
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
cradlepoint-0.2.7.2 lib/utils/hash_helpers.rb
cradlepoint-0.2.7.1 lib/utils/hash_helpers.rb
cradlepoint-0.2.7 lib/utils/hash_helpers.rb
cradlepoint-0.2.6 lib/utils/hash_helpers.rb
cradlepoint-0.2.5 lib/utils/hash_helpers.rb
cradlepoint-0.2.4 lib/utils/hash_helpers.rb
cradlepoint-0.2.3 lib/utils/hash_helpers.rb
cradlepoint-0.2.2 lib/utils/hash_helpers.rb
cradlepoint-0.2.1 lib/utils/hash_helpers.rb