Module: Rbox::CollectNestedKey

Included in:
Response::AccountTree
Defined in:
lib/rbox/utils/collect_nested_key.rb

Instance Method Summary collapse

Instance Method Details

#collect_nested_key(obj, key) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/rbox/utils/collect_nested_key.rb', line 4

def collect_nested_key(obj, key)
  result = []

  case obj
  when Hash
    if obj.key? key
      result << obj[key]
    else
      obj.each do |k, child|
        result += collect_nested_key(child, key)
      end
    end
  when Array
    obj.each do |child|
      result += collect_nested_key(child, key)
    end
  end

  result.flatten
end