Class: Quickbooks::QbxmlParser

Inherits:
Object
  • Object
show all
Includes:
Config, Logger, Parser::XMLParsing, Support::Inflection
Defined in:
lib/quickbooks/qbxml_parser.rb

Direct Known Subclasses

DtdParser

Constant Summary

Constants included from Parser::XMLParsing

Parser::XMLParsing::COMMENT_END, Parser::XMLParsing::COMMENT_MATCHER, Parser::XMLParsing::COMMENT_START, Parser::XMLParsing::XML_COMMENT, Parser::XMLParsing::XML_DOCUMENT, Parser::XMLParsing::XML_ELEMENT, Parser::XMLParsing::XML_NODE, Parser::XMLParsing::XML_NODE_SET, Parser::XMLParsing::XML_TEXT

Constants included from Config

Config::API_ROOT, Config::RUBY_SCHEMA_PATH, Config::SCHEMA_MAP, Config::XML_SCHEMA_PATH

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Support::Inflection

#underscore

Methods included from Parser::XMLParsing

#cleanup_qbxml, #leaf_node?, #parse_leaf_node_data, #parse_xml_attributes

Methods included from Logger

#log

Methods included from Config

included

Constructor Details

#initialize(schema_type) ⇒ QbxmlParser

Returns a new instance of QbxmlParser.



11
12
13
# File 'lib/quickbooks/qbxml_parser.rb', line 11

def initialize(schema_type)
  @schema_type = schema_type
end

Instance Attribute Details

#schema_typeObject

Returns the value of attribute schema_type.



9
10
11
# File 'lib/quickbooks/qbxml_parser.rb', line 9

def schema_type
  @schema_type
end

Instance Method Details

#parse(qbxml) ⇒ Object



19
20
21
22
# File 'lib/quickbooks/qbxml_parser.rb', line 19

def parse(qbxml)
  xml_doc = Nokogiri::XML(qbxml)
  process_xml_obj(xml_doc, nil)
end

#parse_file(qbxml_file) ⇒ Object



15
16
17
# File 'lib/quickbooks/qbxml_parser.rb', line 15

def parse_file(qbxml_file)
  parse( cleanup_qbxml( File.read_from_unknown(qbxml_file) ) )
end