Sha256: 533b1877f2e158ba858e9d4257b92ecbcd1da40cdb0c234c183970e025618374

Contents?: true

Size: 524 Bytes

Versions: 2

Compression:

Stored size: 524 Bytes

Contents

class Hash
  # Hash#deep_symbolize_keys
  # based on
  # https://github.com/svenfuchs/i18n/blob/master/lib/i18n/core_ext/hash.rb
  def deep_symbolize_keys
    inject({}) { |result, (key, value)|
      value = value.deep_symbolize_keys if value.is_a?(self.class)
      result[(key.to_sym rescue key) || key] = value
      result
    }
  end unless self.method_defined?(:deep_symbolize_keys)

  def self.merge(*items)
    return nil if items.compact.empty?
    items.compact.inject({}){|sum, item| sum.merge!(item)}
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
a9n-0.2.3 lib/a9n/core_ext/hash.rb
a9n-0.2.2 lib/a9n/core_ext/hash.rb