Sha256: f455172abf0049aa7fa5372eef0cfce12cbc101e96497fcb3466c1428bb5be29
Contents?: true
Size: 1.59 KB
Versions: 7
Compression:
Stored size: 1.59 KB
Contents
# Qbxml Qbxml is a QBXML parser and validation tool. ## Installation Add this line to your application's Gemfile: gem 'qbxml' And then execute: $ bundle Or install it yourself as: $ gem install qbxml ## Usage ### Initialization The parser can be initialized to either Quickbooks (:qb) or Quickbooks Point of Sale (:qbpos) ```ruby q = Qbxml.new(:qb) ``` ### API Introspection Return all types defined in the schema ```ruby q.types ``` Return all types matching a certain pattern ```ruby q.types('Customer') q.types(/Customer/) ``` Print the xml template for a specific type ```ruby puts q.describe('CustomerModRq') ``` ### QBXML To Ruby Convert valid QBXML to a ruby hash ```ruby q.from_qbxml(xml) ``` ### Ruby To QBXML Convert a ruby hash to QBXML, skipping validation ```ruby q.to_qbxml(hsh) ``` Convert a ruby hash to QBXML and validate all types ```ruby q.to_qbxml(hsh, validate: true) ``` ## Caveats Correct case conversion depends on the following ActiveSupport inflection settings. Correct behaviour cannot be guaranteed if any of the following inflections are modified. ```ruby ACRONYMS = ['AP', 'AR', 'COGS', 'COM', 'UOM', 'QBXML', 'UI', 'AVS', 'ID', 'PIN', 'SSN', 'COM', 'CLSID', 'FOB', 'EIN', 'UOM', 'PO', 'PIN', 'QB'] ActiveSupport::Inflector.inflections do |inflect| ACRONYMS.each { |a| inflect.acronym a } end ``` ## Contributing 1. Fork it 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create new Pull Request
Version data entries
7 entries across 7 versions & 2 rubygems
Version | Path |
---|---|
qbxml-0.2.0 | README.md |
qbxml-0.1.6 | README.md |
qbxml-dtd6-1.0.3 | README.md |
qbxml-dtd6-1.0.2 | README.md |
qbxml-0.1.5 | README.md |
qbxml-0.1.4 | README.md |
qbxml-0.1.3 | README.md |