Sha256: 69e52a6f65efa818ac2d93ba752be49239f36d4f7181d2d26f62aa323315607c

Contents?: true

Size: 730 Bytes

Versions: 3

Compression:

Stored size: 730 Bytes

Contents

class ::Hash
  def stringify_keys!
    keys.each do |key|
      self[key.to_s] = delete(key)
    end
    self
  end

  def stringify_keys
    dup.stringify_keys!
  end

  def recursive_stringify_keys!
    stringify_keys!
    values.each do |value|
      value.recursive_stringify_keys! if value.respond_to?(:recursive_stringify_keys!)
    end
    self
  end

  def symbolize_keys!
    keys.each do |key|
      self[(key.to_sym rescue key) || key] = delete(key)
    end
    self
  end

  def recursive_symbolize_keys!
    symbolize_keys!
    values.each do |value|
      value.recursive_symbolize_keys! if value.respond_to?(:recursive_symbolize_keys!)
    end
    self
  end

  def symbolize_keys
    dup.symbolize_keys!
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
render-0.0.4 lib/extensions/hash.rb
render-0.0.3 lib/extensions/hash.rb
render-0.0.2 lib/extensions/hash.rb