Sha256: ee4d25e666339e1f3285b6411fa50023b7203eadc010e44f36dbdaceda91550d

Contents?: true

Size: 330 Bytes

Versions: 1

Compression:

Stored size: 330 Bytes

Contents

class Hash

  # Destructively convert all keys which respond_to?(:to_sym) to symbols. Works recursively if given nested hashes.
  def symbolize_keys!
    each do |k,v|
      sym = k.respond_to?(:to_sym) ? k.to_sym : k
      self[sym] = Hash === v ? v.symbolize_keys! : v
      delete(k) unless k == sym
    end
    self
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
caricature-0.7.7 lib/caricature/core_ext/hash.rb