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 |