Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/rbcli/util/hash_deep_symbolize.rb

Overview

Functions to convert hash keys to all symbols or all strings

Instance Method Summary collapse

Instance Method Details

#deep_stringify!(hsh = nil) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
# File 'lib/rbcli/util/hash_deep_symbolize.rb', line 38

def deep_stringify! hsh = nil
  hsh ||= self
  hsh.keys.each do |k|
    if k.is_a? Symbol
      hsh[k.to_s] = hsh[k]
      hsh.delete k
    end
    deep_stringify! hsh[k.to_s] if hsh[k.to_s].is_a? Hash
  end
  hsh
end

#deep_symbolize!(hsh = nil) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/rbcli/util/hash_deep_symbolize.rb', line 26

def deep_symbolize! hsh = nil
  hsh ||= self
  hsh.keys.each do |k|
    if k.is_a? String
      hsh[k.to_sym] = hsh[k]
      hsh.delete k
    end
    deep_symbolize! hsh[k.to_sym] if hsh[k.to_sym].is_a? Hash
  end
  hsh
end