This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Sat May 17 12:36:03 -0700 2008 | |
| |
README.markdown | Sat May 17 12:36:03 -0700 2008 | |
| |
Rakefile | Fri May 02 00:03:32 -0700 2008 | |
| |
definitions/ | Fri Feb 13 12:04:18 -0800 2009 | |
| |
init.rb | Thu May 01 15:35:26 -0700 2008 | |
| |
lib/ | Mon Jan 05 14:04:32 -0800 2009 | |
| |
migrations/ | Fri Feb 13 12:04:18 -0800 2009 | |
| |
model_maps/ | Fri Feb 13 12:04:18 -0800 2009 | |
| |
test/ | Mon Jan 05 14:04:32 -0800 2009 |
README.markdown
Introduction
This plugin simplifies the parsing of qbXML messages into ActiveRecord model attributes.
Usage
class Customer < ActiveRecord::Base
acts_as_quickbooks_model
end
xml = <<-XML
<CustomerRet>
<ListID>150000-933272658</ListID>
<Name>Abercrombie, Kristy</Name>
<BillAddress>
<Addr1>Kristy Abercrombie</Addr1>
<Addr2>5647 Cypress Hill Rd</Addr2>
<City>Bayshore</City>
<State>CA</State>
<PostalCode>94326</PostalCode>
</BillAddress>
</CustomerRet>
XML
customer = Customer.new(:qbxml => xml)
customer.list_id # => "150000-933272658"
customer.name # => "Abercrombie, Kristy"
customer.bill_address_city # => "Bayshore"
...
Auto-builds has_many associations
class Invoice < ActiveRecord::Base
acts_as_quickbooks_model
has_many :invoice_lines
has_many :invoice_line_groups
end
class InvoiceLine < ActiveRecord::Base
acts_as_quickbooks_model
belongs_to :invoice
end
class InvoiceLineGroup < ActiveRecord::Base
acts_as_quickbooks_model
belongs_to :invoice
end
xml = <<-XML
<InvoiceRet>
<TxnID>123</TxnID>
<InvoiceLineRet>
<TxnLineID>456</TxnLineID>
<ItemRef>
<ListID>789</ListID>
</ItemRef>
</InvoiceLineRet>
<InvoiceLineRet>
<TxnLineID>012</TxnLineID>
<ItemRef>
<ListID>567</ListID>
</ItemRef>
</InvoiceLineRet>
<InvoiceLineGroupRet>
<TxnLineID>321</TxnLineID>
<ItemGroupRef>
<ListID>987</ListID>
</ItemGroupRef>
</InvoiceLineGroupRet>
</InvoiceRet>
XML
invoice = Invoice.create(:qbxml => xml)
invoice.txn_id # => "123"
invoice.invoice_lines.count # => 2
invoice.invoice_line_groups.count # => 1
invoice.invoice_lines.first.txn_line_id # => "456"
invoice.invoice_line_groups.first.txn_line_id # => "321"
...







