Method: Ariel::Node::Structure#extract_from

Defined in:
lib/ariel/node/structure.rb

#extract_from(node) ⇒ Object

Given a Node to apply it’s rules to, this function will create a new node and add it as a child of the given node. It returns an array of the items extracted by the rule



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/ariel/node/structure.rb', line 29

def extract_from(node)
  extractions=[]
  i=0
  return extractions if @ruleset.nil? #no extractions if no rule has been learnt
  @ruleset.apply_to(node.tokenstream) do |newstream|
    if self.node_type==:list_item
      new_node_name=i
      i+=1
    else
      new_node_name=@node_name
    end
    extracted_node = Node::Extracted.new(new_node_name, newstream, self)
    node.add_child extracted_node
    extractions << extracted_node
  end
  return extractions
end