Sha256: cb1c56167ebcf588ca30f541ce0519178da6c79dfcfb8bf9d3a9ea0db91d45a8
Contents?: true
Size: 1.08 KB
Versions: 2
Compression:
Stored size: 1.08 KB
Contents
class Quickbooks::DtdParser < Quickbooks::QbxmlParser include Quickbooks::Parser::ClassBuilder private def process_leaf_node(xml_obj, parent_class) attr_name, qb_type = parse_leaf_node_data(xml_obj) if parent_class log.debug [parent_class, attr_name, qb_type].inspect add_casting_attribute(parent_class, attr_name, qb_type) end end def process_non_leaf_node(xml_obj, parent_class) klass = build_qbxml_class(xml_obj) attr_name = underscore(xml_obj) if parent_class add_strict_attribute(parent_class, attr_name, klass) end klass end #TODO: stub def process_comment_node(xml_obj, parent_class) parent_class end # helpers def build_qbxml_class(xml_obj) obj_name = xml_obj.name unless schema_namespace.const_defined?(obj_name) klass = Class.new(Quickbooks::Parser::QbxmlBase) schema_namespace.const_set(obj_name, klass) klass.xml_attributes = parse_xml_attributes(xml_obj) add_xml_template(klass, xml_obj.to_xml) else klass = schema_namespace.const_get(obj_name) end klass end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
quickbooks_api-0.1.7 | lib/quickbooks/dtd_parser.rb |
quickbooks_api-0.1.6 | lib/quickbooks/dtd_parser.rb |