Module: SAXMachine::ClassMethods
- Defined in:
- lib/sax-machine/sax_document.rb
Instance Method Summary collapse
- #element(name, options = {}) ⇒ Object
- #elements(name, options = {}) ⇒ Object
- #parse(xml_text) ⇒ Object
- #sax_config ⇒ Object
Instance Method Details
#element(name, options = {}) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/sax-machine/sax_document.rb', line 22 def element(name, = {}) [:as] ||= name sax_config.add_top_level_element(name, ) # we only want to insert the setter if they haven't defined it from elsewhere. # this is how we allow custom parsing behavior. So you could define the setter # and have it parse the string into a date or whatever. if instance_methods.include?("#{[:as]}=") attr_reader [:as] else attr_accessor [:as] end end |
#elements(name, options = {}) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/sax-machine/sax_document.rb', line 36 def elements(name, = {}) [:as] ||= name sax_config.add_collection_element(name, ) class_eval <<-SRC def #{[:as]} @#{[:as]} ||= [] end SRC attr_writer [:as] end |
#parse(xml_text) ⇒ Object
18 19 20 |
# File 'lib/sax-machine/sax_document.rb', line 18 def parse(xml_text) new.parse(xml_text) end |