Module: Extractor
- Defined in:
- lib/pomona/extractor.rb
Class Method Summary collapse
- .find_node_by_id(id, tree_array) ⇒ Object
- .get_all_by_keys(tree_array = [], keys = [], values = []) ⇒ Object
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 |