Sha256: ec14f8be16496b0f3394ba1d5d5847651775019e94e6b9ed538f7c83351b133e

Contents?: true

Size: 525 Bytes

Versions: 83

Compression:

Stored size: 525 Bytes

Contents

class Hash
  def recursive_symbolize_keys!
    symbolize_keys!
    # symbolize each hash in .values
    values.each { |h| h.recursive_symbolize_keys! if h.is_a?(Hash) }
    # symbolize each hash inside an array in .values
    values.select { |v| v.is_a?(Array) }.flatten.each { |h| h.recursive_symbolize_keys! if h.is_a?(Hash) }
    self
  end

  def deep_reject_key!(key)
    keys.each { |k| delete(k) if k == key || self[k] == self[key] }

    values.each { |v| v.deep_reject_key!(key) if v.is_a? Hash }
    self
  end
end

Version data entries

83 entries across 83 versions & 1 rubygems

Version Path
tenon-1.1.8 config/initializers/class_extensions/hash.rb
tenon-1.1.7 config/initializers/class_extensions/hash.rb
tenon-1.1.6 config/initializers/class_extensions/hash.rb
tenon-1.1.5 config/initializers/class_extensions/hash.rb
tenon-1.1.4 config/initializers/class_extensions/hash.rb
tenon-1.1.3 config/initializers/class_extensions/hash.rb
tenon-1.1.2 config/initializers/class_extensions/hash.rb
tenon-1.1.1 config/initializers/class_extensions/hash.rb
tenon-1.0.76 config/initializers/class_extensions/hash.rb
tenon-1.0.75 config/initializers/class_extensions/hash.rb
tenon-1.0.74 config/initializers/class_extensions/hash.rb
tenon-1.0.73 config/initializers/class_extensions/hash.rb
tenon-1.0.72 config/initializers/class_extensions/hash.rb
tenon-1.0.71 config/initializers/class_extensions/hash.rb
tenon-1.0.70 config/initializers/class_extensions/hash.rb
tenon-1.0.69 config/initializers/class_extensions/hash.rb
tenon-1.0.68 config/initializers/class_extensions/hash.rb
tenon-1.0.67 config/initializers/class_extensions/hash.rb
tenon-1.0.66 config/initializers/class_extensions/hash.rb
tenon-1.0.65 config/initializers/class_extensions/hash.rb