Module: R10K::Util::SymbolizeKeys
- Defined in:
- lib/r10k/util/symbolize_keys.rb
Class Method Summary collapse
-
.symbolize_keys!(hash, recurse = false) ⇒ void
Convert all String keys to Symbol keys.
Class Method Details
.symbolize_keys!(hash, recurse = false) ⇒ void
This method returns an undefined value.
Convert all String keys to Symbol keys
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/r10k/util/symbolize_keys.rb', line 13 def symbolize_keys!(hash, recurse = false) hash.keys.each do |key| if key.is_a?(String) if hash.key?(key.to_sym) raise TypeError, "An existing interned key for #{key} exists, cannot overwrite" end hash[key.to_sym] = hash.delete(key) key = key.to_sym end value = hash[key] if recurse && value.is_a?(Hash) symbolize_keys!(value, true) end end end |