# File lib/sax-machine/sax_configure.rb, line 3 def self.configure(clazz) extended_clazz = Class.new(clazz) extended_clazz.send(:include, SAXMachine) # override create_attr to create attributes on the original class def extended_clazz.create_attr real_name superclass.send(:attr_reader, real_name) unless superclass.method_defined?(real_name) superclass.send(:attr_writer, real_name) unless superclass.method_defined?("#{real_name}=") end yield(extended_clazz) clazz.extend LightWeightSaxMachine clazz.sax_config = extended_clazz.sax_config (class << clazz;self;end).send(:define_method, :parse) do |xml_text| extended_clazz.parse(xml_text) end end
# File lib/sax-machine/sax_document.rb, line 9 def parse(xml_text, on_error = nil, on_warning = nil) sax_handler = SAXHandler.new(self, on_error, on_warning) parser = Nokogiri::XML::SAX::Parser.new(sax_handler) parser.parse(xml_text) self end
Generated with the Darkfish Rdoc Generator 2.