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



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/rbcli/util/hash_deep_symbolize.rb', line 17

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



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/rbcli/util/hash_deep_symbolize.rb', line 5

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