Module: Extractor

Defined in:
lib/pomona/extractor.rb

Class Method Summary collapse

Class Method Details

.find_node_by_id(id, tree_array) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/pomona/extractor.rb', line 13

def self.find_node_by_id(id, tree_array)
  #TODO: Get this working without using an instance variable for target
  tree_array.each do |tree_node|
    if tree_node.id == id
      @target = tree_node
    else
      Extractor.find_node_by_id(id, tree_node.children) if tree_node.has_children?
    end
  end

  @target.nil? ? (raise NodeNotFound) : (return @target)
end

.get_all_by_keys(tree_array = [], keys = [], values = []) ⇒ Object



4
5
6
7
8
9
10
11
# File 'lib/pomona/extractor.rb', line 4

def self.get_all_by_keys(tree_array = [], keys = [], values = [])
  tree_array.each do |tree_node|
    values << tree_node.node.values_at(*keys)
    Extractor.get_all_by_keys(tree_node.children, keys, values) if tree_node.has_children?
  end

  values
end