SAXMachine

Constants

VERSION

Public Class Methods

configure(clazz) click to toggle source
# 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
included(base) click to toggle source
# File lib/sax-machine/sax_document.rb, line 5
def self.included(base)
  base.extend ClassMethods
end

Public Instance Methods

parse(xml_text, on_error = nil, on_warning = nil) click to toggle source
# 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

[Validate]

Generated with the Darkfish Rdoc Generator 2.