Class: PseudoXml::Collector

Inherits:
Object
  • Object
show all
Defined in:
lib/pseudo_xml/collector.rb

Direct Known Subclasses

SimpleQuery, XPathQuery

Instance Method Summary collapse

Constructor Details

#initializeCollector

Returns a new instance of Collector.



5
6
7
# File 'lib/pseudo_xml/collector.rb', line 5

def initialize
  @parsed_elements = []
end

Instance Method Details

#add_text(text) ⇒ Object



20
21
22
23
24
# File 'lib/pseudo_xml/collector.rb', line 20

def add_text(text)
  if text.size > 0 && @parsed_elements.size > 0
    @parsed_elements.last.text_nodes << text
  end
end

#end_elementObject



13
14
15
16
17
18
# File 'lib/pseudo_xml/collector.rb', line 13

def end_element
  if @parsed_elements.size > 1
    node = @parsed_elements.pop
    @parsed_elements.last.elements << node
  end
end

#nodesObject



26
27
28
# File 'lib/pseudo_xml/collector.rb', line 26

def nodes
  @parsed_elements
end

#start_element(element_text) ⇒ Object



9
10
11
# File 'lib/pseudo_xml/collector.rb', line 9

def start_element(element_text)      
  @parsed_elements.push Element.new(element_text[/\w+/])
end