Class: ESS::Parser
- Inherits:
-
Object
- Object
- ESS::Parser
- Defined in:
- lib/ess/parser.rb
Class Method Summary collapse
Class Method Details
.parse(data) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/ess/parser.rb', line 6 def self.parse data doc = REXML::Document.new data ess = doc.root if ess.nil? raise ArgumentError, "the argument has to contain a valid xml document" end new_ess = ESS.new new_ess.disable_postprocessing parse_element(ess, new_ess) new_ess.enable_postprocessing new_ess end |
.parse_element(element, new_element = nil) ⇒ Object
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/ess/parser.rb', line 19 def self.parse_element element, new_element=nil element.attributes.each_pair do |attr, value| new_element.send(attr + "_attr", value) end element.elements.each do |element| new_element.send("add_" + element.name, element.text) do |new_element| parse_element element, new_element end end end |