Class: Hash

Inherits:
Object show all
Defined in:
lib/rundock/ext/hash.rb,
lib/rundock/ext/object/blank.rb

Instance Method Summary collapse

Instance Method Details

#deep_symbolize_keysObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/rundock/ext/hash.rb', line 6

def deep_symbolize_keys
  self.each_with_object({}) do |(k, v), h|
    if v.is_a?(Array)
      v = v.map do |vv|
        if vv.is_a?(Hash)
          vv.deep_symbolize_keys
        else
          vv
        end
      end
    elsif v.is_a?(Hash)
      v = v.deep_symbolize_keys
    end

    h[k.to_s.to_sym] = v
  end
end

#depthObject



2
3
4
# File 'lib/rundock/ext/hash.rb', line 2

def depth
  1 + (values.map { |v| v.is_a?(Hash) ? v.depth : 1 }.max)
end