Sha256: 3e7861d0c93b16a9de3b2419fca10f7d60fabf6a23462c388944db096b320986

Contents?: true

Size: 504 Bytes

Versions: 15

Compression:

Stored size: 504 Bytes

Contents

class Hash
  
  def symbolize_keys
    transform_keys{ |key| key.to_sym rescue key }
  end
  
  def transform_keys
    result = {}
    each_key do |key|
      result[yield(key)] = self[key]
    end
    result
  end
  
  def deep_symbolize_keys
    deep_transform_keys{ |key| key.to_sym rescue key }
  end
  
  def deep_transform_keys(&block)
    result = {}
    each do |key, value|
      result[yield(key)] = value.is_a?(Hash) ? value.deep_transform_keys(&block) : value
    end
    result
  end
  
end

Version data entries

15 entries across 15 versions & 3 rubygems

Version Path
browsed-0.3.6 lib/browsed/extensions/hash.rb
browsed-0.3.5 lib/browsed/extensions/hash.rb
browsed-0.3.4 lib/browsed/extensions/hash.rb
browsed-0.3.3 lib/browsed/extensions/hash.rb
browsed-0.3.1 lib/browsed/extensions/hash.rb
browsed-0.3.0 lib/browsed/extensions/hash.rb
browsed-0.2.9 lib/browsed/extensions/hash.rb
browsed-0.2.8 lib/browsed/extensions/hash.rb
browsed-0.2.7 lib/browsed/extensions/hash.rb
browsed-0.2.6 lib/browsed/extensions/hash.rb
kucoin-0.1.1 lib/kucoin/extensions/hash.rb
kucoin-0.1.0 lib/kucoin/extensions/hash.rb
bitstamper-0.1.2 lib/bitstamper/extensions/hash.rb
bitstamper-0.1.1 lib/bitstamper/extensions/hash.rb
bitstamper-0.1.0 lib/bitstamper/extensions/hash.rb