ledger_sync 1.3.2 → 1.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +13 -2
- data/.rubocop.yml +14 -1
- data/.rubocop_todo.yml +0 -3
- data/.travis.yml +7 -2
- data/Dockerfile +2 -2
- data/Gemfile.lock +61 -55
- data/LICENSE.txt +5 -21
- data/README.md +9 -393
- data/bin/quickbooks_online_oauth_server.rb +102 -0
- data/docs/CNAME +1 -0
- data/docs/assets/css/brands.min.css +5 -0
- data/docs/assets/css/fontawesome.min.css +5 -0
- data/docs/assets/css/main.css +1924 -0
- data/docs/assets/css/monokai.css +441 -0
- data/docs/assets/js/main.js +214 -0
- data/docs/assets/js/plugins.js +22 -0
- data/docs/assets/js/prism.js +9 -0
- data/docs/assets/webfonts/fa-brands-400.eot +0 -0
- data/docs/assets/webfonts/fa-brands-400.svg +3452 -0
- data/docs/assets/webfonts/fa-brands-400.ttf +0 -0
- data/docs/assets/webfonts/fa-brands-400.woff +0 -0
- data/docs/assets/webfonts/fa-brands-400.woff2 +0 -0
- data/docs/blog/index.html +282 -0
- data/docs/guides/architecture/clients/index.html +458 -0
- data/docs/guides/architecture/index.html +435 -0
- data/docs/guides/architecture/operations/index.html +465 -0
- data/docs/guides/architecture/resources/index.html +461 -0
- data/docs/guides/architecture/results/index.html +426 -0
- data/docs/guides/architecture/searchers/index.html +446 -0
- data/docs/guides/architecture/serialization/index.html +476 -0
- data/docs/guides/community/index.html +412 -0
- data/docs/guides/contribute/console/index.html +424 -0
- data/docs/guides/contribute/deployment/index.html +434 -0
- data/docs/guides/contribute/documentation/index.html +450 -0
- data/docs/guides/contribute/index.html +434 -0
- data/docs/guides/contribute/qa/index.html +436 -0
- data/docs/guides/contribute/testing/index.html +424 -0
- data/docs/guides/customization/custom_resources/index.html +461 -0
- data/docs/guides/customization/custom_serializers/index.html +460 -0
- data/docs/guides/customization/index.html +431 -0
- data/docs/guides/customization/resource_converters/index.html +491 -0
- data/docs/guides/getting-started/get-help/index.html +427 -0
- data/docs/guides/getting-started/index.html +421 -0
- data/docs/guides/getting-started/installation/index.html +433 -0
- data/docs/guides/getting-started/quick-start/index.html +531 -0
- data/docs/guides/index.html +428 -0
- data/docs/guides/ledgers/index.html +429 -0
- data/docs/guides/ledgers/netsuite/index.html +424 -0
- data/docs/guides/ledgers/netsuite_soap/index.html +424 -0
- data/docs/guides/ledgers/quickbooks_online/index.html +424 -0
- data/docs/guides/ledgers/stripe/index.html +424 -0
- data/docs/guides/modern-treasury/index.html +411 -0
- data/docs/guides/tips_and_more/index.html +471 -0
- data/docs/images/1.jpg +0 -0
- data/docs/images/10.jpg +0 -0
- data/docs/images/2.jpg +0 -0
- data/docs/images/3.jpg +0 -0
- data/docs/images/4.jpg +0 -0
- data/docs/images/5.jpg +0 -0
- data/docs/images/6.jpg +0 -0
- data/docs/images/7.jpg +0 -0
- data/docs/images/8.jpg +0 -0
- data/docs/images/9.jpg +0 -0
- data/docs/images/logo.svg +8 -0
- data/docs/index.html +379 -0
- data/docs/overview/index.html +409 -0
- data/docs/posts/introducing-docs/index.html +270 -0
- data/docs/posts/netsuite-authentication/index.html +624 -0
- data/docs/reference/architecture/clients/index.html +332 -0
- data/docs/reference/architecture/index.html +311 -0
- data/docs/reference/architecture/operations/index.html +302 -0
- data/docs/reference/architecture/resources/index.html +335 -0
- data/docs/reference/architecture/results/index.html +302 -0
- data/docs/reference/architecture/searchers/index.html +302 -0
- data/docs/reference/architecture/serialization/index.html +302 -0
- data/docs/reference/index.html +281 -0
- data/docs/reference/netsuite/authentication/index.html +392 -0
- data/docs/reference/netsuite/authentication/token_based_authentication/index.html +486 -0
- data/docs/reference/netsuite/index.html +388 -0
- data/docs/reference/netsuite/resources/account/index.html +484 -0
- data/docs/reference/netsuite/resources/check/index.html +492 -0
- data/docs/reference/netsuite/resources/check_line_item/index.html +460 -0
- data/docs/reference/netsuite/resources/currency/index.html +476 -0
- data/docs/reference/netsuite/resources/customer/index.html +488 -0
- data/docs/reference/netsuite/resources/customer_deposit/index.html +480 -0
- data/docs/reference/netsuite/resources/department/index.html +484 -0
- data/docs/reference/netsuite/resources/deposit/index.html +468 -0
- data/docs/reference/netsuite/resources/deposit_line_item/index.html +460 -0
- data/docs/reference/netsuite/resources/index.html +436 -0
- data/docs/reference/netsuite/resources/invoice/index.html +468 -0
- data/docs/reference/netsuite/resources/invoice_line_item/index.html +456 -0
- data/docs/reference/netsuite/resources/item/index.html +444 -0
- data/docs/reference/netsuite/resources/journal_entry/index.html +488 -0
- data/docs/reference/netsuite/resources/journal_entry_line_item/index.html +464 -0
- data/docs/reference/netsuite/resources/ledger_class/index.html +484 -0
- data/docs/reference/netsuite/resources/location/index.html +468 -0
- data/docs/reference/netsuite/resources/resource/index.html +440 -0
- data/docs/reference/netsuite/resources/subsidiary/index.html +448 -0
- data/docs/reference/netsuite/resources/vendor/index.html +492 -0
- data/docs/reference/netsuite_soap/index.html +303 -0
- data/docs/reference/netsuite_soap/resources/customer/index.html +364 -0
- data/docs/reference/netsuite_soap/resources/index.html +316 -0
- data/docs/reference/netsuite_soap/resources/resource/index.html +336 -0
- data/docs/reference/netsuite_soap/resources/subsidiary/index.html +356 -0
- data/docs/reference/quickbooks_online/authentication/index.html +442 -0
- data/docs/reference/quickbooks_online/errors/index.html +395 -0
- data/docs/reference/quickbooks_online/index.html +393 -0
- data/docs/reference/quickbooks_online/resources/account/index.html +530 -0
- data/docs/reference/quickbooks_online/resources/bill/index.html +534 -0
- data/docs/reference/quickbooks_online/resources/bill_line_item/index.html +496 -0
- data/docs/reference/quickbooks_online/resources/bill_payment/index.html +550 -0
- data/docs/reference/quickbooks_online/resources/bill_payment_line_item/index.html +488 -0
- data/docs/reference/quickbooks_online/resources/currency/index.html +492 -0
- data/docs/reference/quickbooks_online/resources/customer/index.html +514 -0
- data/docs/reference/quickbooks_online/resources/department/index.html +518 -0
- data/docs/reference/quickbooks_online/resources/deposit/index.html +526 -0
- data/docs/reference/quickbooks_online/resources/deposit_line_item/index.html +500 -0
- data/docs/reference/quickbooks_online/resources/expense/index.html +538 -0
- data/docs/reference/quickbooks_online/resources/expense_line_item/index.html +496 -0
- data/docs/reference/quickbooks_online/resources/index.html +484 -0
- data/docs/reference/quickbooks_online/resources/invoice/index.html +526 -0
- data/docs/reference/quickbooks_online/resources/invoice_sales_line_item/index.html +496 -0
- data/docs/reference/quickbooks_online/resources/item/index.html +484 -0
- data/docs/reference/quickbooks_online/resources/journal_entry/index.html +518 -0
- data/docs/reference/quickbooks_online/resources/journal_entry_line_item/index.html +504 -0
- data/docs/reference/quickbooks_online/resources/ledger_class/index.html +518 -0
- data/docs/reference/quickbooks_online/resources/payment/index.html +538 -0
- data/docs/reference/quickbooks_online/resources/payment_line_item/index.html +488 -0
- data/docs/reference/quickbooks_online/resources/preferences/index.html +526 -0
- data/docs/reference/quickbooks_online/resources/primary_email_addr/index.html +484 -0
- data/docs/reference/quickbooks_online/resources/primary_phone/index.html +484 -0
- data/docs/reference/quickbooks_online/resources/resource/index.html +480 -0
- data/docs/reference/quickbooks_online/resources/subsidiary/index.html +488 -0
- data/docs/reference/quickbooks_online/resources/transfer/index.html +522 -0
- data/docs/reference/quickbooks_online/resources/vendor/index.html +526 -0
- data/docs/reference/quickbooks_online/webhooks/index.html +427 -0
- data/docs/reference/stripe/index.html +293 -0
- data/docs/reference/stripe/resources/customer/index.html +366 -0
- data/docs/reference/stripe/resources/index.html +309 -0
- data/docs/reference/stripe/resources/resource/index.html +330 -0
- data/docs/style-guide/index.html +375 -0
- data/documentation/build.sh +8 -0
- data/documentation/generate.rb +32 -0
- data/documentation/generators/generator.rb +80 -0
- data/documentation/generators/guides/generator.rb +36 -0
- data/documentation/generators/reference/generator.rb +76 -0
- data/documentation/generators/reference/ledger/generator.rb +74 -0
- data/documentation/generators/template.rb +22 -0
- data/documentation/helper_methods.rb +17 -0
- data/documentation/site/CNAME +1 -0
- data/documentation/site/Gemfile +11 -0
- data/documentation/site/Gemfile.lock +69 -0
- data/documentation/site/LICENSE.md +40 -0
- data/documentation/site/README.md +8 -0
- data/documentation/site/_config.yml +119 -0
- data/documentation/site/_data/guides_sections.yml +10 -0
- data/documentation/site/_data/reference_sections.yml +5 -0
- data/documentation/site/_includes/action_link.html +11 -0
- data/documentation/site/_includes/alerts/base.html +3 -0
- data/documentation/site/_includes/alerts/danger.html +1 -0
- data/documentation/site/_includes/alerts/info.html +1 -0
- data/documentation/site/_includes/alerts/success.html +1 -0
- data/documentation/site/_includes/alerts/warning.html +1 -0
- data/documentation/site/_includes/cta_buttons.html +4 -0
- data/documentation/site/_includes/example.md +8 -0
- data/documentation/site/_includes/footer.html +20 -0
- data/documentation/site/_includes/getting_help.md +8 -0
- data/documentation/site/_includes/guides_menu.html +29 -0
- data/documentation/site/_includes/guides_submenu.html +7 -0
- data/documentation/site/_includes/header.html +35 -0
- data/documentation/site/_includes/installation_instructions.md +17 -0
- data/documentation/site/_includes/ledgers/Stripe_summary.md +1 -0
- data/documentation/site/_includes/ledgers/netsuite_soap_summary.md +1 -0
- data/documentation/site/_includes/ledgers/netsuite_summary.md +1 -0
- data/documentation/site/_includes/ledgers/netsuite_summary_shared.md +1 -0
- data/documentation/site/_includes/ledgers/quickbooks_online_summary.md +1 -0
- data/documentation/site/_includes/reference/netsuite/authentication/_token_based_authentication.md +99 -0
- data/documentation/site/_includes/reference/netsuite/authentication/index.md +15 -0
- data/documentation/site/_includes/reference/netsuite/authentication/token_based_authentication.md +6 -0
- data/documentation/site/_includes/reference/netsuite/index.md +25 -0
- data/documentation/site/_includes/reference/netsuite_soap/index.md +11 -0
- data/documentation/site/_includes/reference/quickbooks_online/authentication/index.md +55 -0
- data/documentation/site/_includes/reference/quickbooks_online/errors/index.md +9 -0
- data/documentation/site/_includes/reference/quickbooks_online/index.md +6 -0
- data/documentation/site/_includes/reference/quickbooks_online/webhooks/index.md +42 -0
- data/documentation/site/_includes/reference/stripe/index.md +6 -0
- data/documentation/site/_includes/section_content.html +34 -0
- data/documentation/site/_includes/section_cta.html +28 -0
- data/documentation/site/_includes/section_grid.html +60 -0
- data/documentation/site/_includes/section_guides.html +35 -0
- data/documentation/site/_includes/section_hero.html +28 -0
- data/documentation/site/_includes/submenu.html +8 -0
- data/documentation/site/_layouts/advanced.html +9 -0
- data/documentation/site/_layouts/base.html +34 -0
- data/documentation/site/_layouts/blog.html +51 -0
- data/documentation/site/_layouts/body.html +11 -0
- data/documentation/site/_layouts/guides.html +46 -0
- data/documentation/site/_layouts/page.html +26 -0
- data/documentation/site/_layouts/post.html +52 -0
- data/documentation/site/_layouts/reference.html +46 -0
- data/documentation/site/_layouts/reference_netsuite.html +46 -0
- data/documentation/site/_layouts/reference_netsuite_soap.html +46 -0
- data/documentation/site/_layouts/reference_quickbooks_online.html +46 -0
- data/documentation/site/_layouts/reference_stripe.html +46 -0
- data/documentation/site/_plugins/filters.rb +122 -0
- data/documentation/site/_plugins/hooks.rb +9 -0
- data/documentation/site/_posts/2020-06-01-introducing-docs.md +17 -0
- data/documentation/site/_posts/2020-06-10-netsuite-authentication.md +382 -0
- data/documentation/site/_sass/imports/_animations.scss +19 -0
- data/documentation/site/_sass/imports/_footer.scss +94 -0
- data/documentation/site/_sass/imports/_functions.scss +69 -0
- data/documentation/site/_sass/imports/_general.scss +687 -0
- data/documentation/site/_sass/imports/_guides.scss +300 -0
- data/documentation/site/_sass/imports/_header.scss +358 -0
- data/documentation/site/_sass/imports/_icons.scss +90 -0
- data/documentation/site/_sass/imports/_post-navigation.scss +67 -0
- data/documentation/site/_sass/imports/_posts-pages.scss +165 -0
- data/documentation/site/_sass/imports/_prism.scss +174 -0
- data/documentation/site/_sass/imports/_reset.scss +210 -0
- data/documentation/site/_sass/imports/_sections.scss +370 -0
- data/documentation/site/_sass/imports/_structure.scss +44 -0
- data/documentation/site/_templates/_layouts/reference_ledger.html.erb +46 -0
- data/documentation/site/_templates/guides/ledger.md.erb +9 -0
- data/documentation/site/_templates/reference/resources/index.md.erb +9 -0
- data/documentation/site/_templates/reference/resources/resource.md.erb +27 -0
- data/documentation/site/assets/css/brands.min.css +5 -0
- data/documentation/site/assets/css/fontawesome.min.css +5 -0
- data/documentation/site/assets/css/main.scss +45 -0
- data/documentation/site/assets/css/monokai.css +441 -0
- data/documentation/site/assets/js/main.js +214 -0
- data/documentation/site/assets/js/plugins.js +22 -0
- data/documentation/site/assets/js/prism.js +9 -0
- data/documentation/site/assets/webfonts/fa-brands-400.eot +0 -0
- data/documentation/site/assets/webfonts/fa-brands-400.svg +3452 -0
- data/documentation/site/assets/webfonts/fa-brands-400.ttf +0 -0
- data/documentation/site/assets/webfonts/fa-brands-400.woff +0 -0
- data/documentation/site/assets/webfonts/fa-brands-400.woff2 +0 -0
- data/documentation/site/blog/index.md +6 -0
- data/documentation/site/guides/architecture/clients.md +35 -0
- data/documentation/site/guides/architecture/index.md +14 -0
- data/documentation/site/guides/architecture/operations.md +45 -0
- data/documentation/site/guides/architecture/resources.md +40 -0
- data/documentation/site/guides/architecture/results.md +6 -0
- data/documentation/site/guides/architecture/searchers.md +28 -0
- data/documentation/site/guides/architecture/serialization.md +59 -0
- data/documentation/site/guides/community/index.md +8 -0
- data/documentation/site/guides/contribute/console.md +6 -0
- data/documentation/site/guides/contribute/deployment.md +17 -0
- data/documentation/site/guides/contribute/documentation.md +37 -0
- data/documentation/site/guides/contribute/index.md +18 -0
- data/documentation/site/guides/contribute/qa.md +16 -0
- data/documentation/site/guides/contribute/testing.md +6 -0
- data/documentation/site/guides/customization/custom_resources.md +50 -0
- data/documentation/site/guides/customization/custom_serializers.md +47 -0
- data/documentation/site/guides/customization/index.md +15 -0
- data/documentation/site/guides/customization/resource_converters.md +79 -0
- data/documentation/site/guides/getting-started/get-help.md +7 -0
- data/documentation/site/guides/getting-started/index.md +8 -0
- data/documentation/site/guides/getting-started/installation.md +7 -0
- data/documentation/site/guides/getting-started/quick-start.md +123 -0
- data/documentation/site/guides/index.md +16 -0
- data/documentation/site/guides/ledgers/index.md +12 -0
- data/documentation/site/guides/ledgers/netsuite.md +9 -0
- data/documentation/site/guides/ledgers/netsuite_soap.md +9 -0
- data/documentation/site/guides/ledgers/quickbooks_online.md +9 -0
- data/documentation/site/guides/ledgers/stripe.md +9 -0
- data/documentation/site/guides/modern-treasury/index.md +14 -0
- data/documentation/site/guides/tips_and_more/index.md +76 -0
- data/documentation/site/images/1.jpg +0 -0
- data/documentation/site/images/10.jpg +0 -0
- data/documentation/site/images/2.jpg +0 -0
- data/documentation/site/images/3.jpg +0 -0
- data/documentation/site/images/4.jpg +0 -0
- data/documentation/site/images/5.jpg +0 -0
- data/documentation/site/images/6.jpg +0 -0
- data/documentation/site/images/7.jpg +0 -0
- data/documentation/site/images/8.jpg +0 -0
- data/documentation/site/images/9.jpg +0 -0
- data/documentation/site/images/logo.svg +8 -0
- data/documentation/site/index.md +99 -0
- data/documentation/site/overview.md +21 -0
- data/documentation/site/reference/architecture/clients.md +33 -0
- data/documentation/site/reference/architecture/index.md +14 -0
- data/documentation/site/reference/architecture/operations.md +6 -0
- data/documentation/site/reference/architecture/resources.md +38 -0
- data/documentation/site/reference/architecture/results.md +6 -0
- data/documentation/site/reference/architecture/searchers.md +6 -0
- data/documentation/site/reference/architecture/serialization.md +6 -0
- data/documentation/site/reference/index.md +6 -0
- data/documentation/site/reference/netsuite/authentication/_token_based_authentication.md +99 -0
- data/documentation/site/reference/netsuite/authentication/index.md +15 -0
- data/documentation/site/reference/netsuite/authentication/token_based_authentication.md +6 -0
- data/documentation/site/reference/netsuite/index.md +25 -0
- data/documentation/site/reference/netsuite/resources/account.md +38 -0
- data/documentation/site/reference/netsuite/resources/check.md +49 -0
- data/documentation/site/reference/netsuite/resources/check_line_item.md +23 -0
- data/documentation/site/reference/netsuite/resources/currency.md +45 -0
- data/documentation/site/reference/netsuite/resources/customer.md +48 -0
- data/documentation/site/reference/netsuite/resources/customer_deposit.md +46 -0
- data/documentation/site/reference/netsuite/resources/department.md +47 -0
- data/documentation/site/reference/netsuite/resources/deposit.md +25 -0
- data/documentation/site/reference/netsuite/resources/deposit_line_item.md +23 -0
- data/documentation/site/reference/netsuite/resources/index.md +25 -0
- data/documentation/site/reference/netsuite/resources/invoice.md +25 -0
- data/documentation/site/reference/netsuite/resources/invoice_line_item.md +22 -0
- data/documentation/site/reference/netsuite/resources/item.md +19 -0
- data/documentation/site/reference/netsuite/resources/journal_entry.md +48 -0
- data/documentation/site/reference/netsuite/resources/journal_entry_line_item.md +24 -0
- data/documentation/site/reference/netsuite/resources/ledger_class.md +47 -0
- data/documentation/site/reference/netsuite/resources/location.md +43 -0
- data/documentation/site/reference/netsuite/resources/resource.md +18 -0
- data/documentation/site/reference/netsuite/resources/subsidiary.md +20 -0
- data/documentation/site/reference/netsuite/resources/vendor.md +49 -0
- data/documentation/site/reference/netsuite_soap/index.md +11 -0
- data/documentation/site/reference/netsuite_soap/resources/customer.md +34 -0
- data/documentation/site/reference/netsuite_soap/resources/index.md +9 -0
- data/documentation/site/reference/netsuite_soap/resources/resource.md +18 -0
- data/documentation/site/reference/netsuite_soap/resources/subsidiary.md +32 -0
- data/documentation/site/reference/quickbooks_online/authentication/index.md +55 -0
- data/documentation/site/reference/quickbooks_online/errors/index.md +9 -0
- data/documentation/site/reference/quickbooks_online/index.md +6 -0
- data/documentation/site/reference/quickbooks_online/resources/account.md +44 -0
- data/documentation/site/reference/quickbooks_online/resources/bill.md +45 -0
- data/documentation/site/reference/quickbooks_online/resources/bill_line_item.md +22 -0
- data/documentation/site/reference/quickbooks_online/resources/bill_payment.md +49 -0
- data/documentation/site/reference/quickbooks_online/resources/bill_payment_line_item.md +20 -0
- data/documentation/site/reference/quickbooks_online/resources/currency.md +21 -0
- data/documentation/site/reference/quickbooks_online/resources/customer.md +40 -0
- data/documentation/site/reference/quickbooks_online/resources/department.md +41 -0
- data/documentation/site/reference/quickbooks_online/resources/deposit.md +43 -0
- data/documentation/site/reference/quickbooks_online/resources/deposit_line_item.md +23 -0
- data/documentation/site/reference/quickbooks_online/resources/expense.md +46 -0
- data/documentation/site/reference/quickbooks_online/resources/expense_line_item.md +22 -0
- data/documentation/site/reference/quickbooks_online/resources/index.md +33 -0
- data/documentation/site/reference/quickbooks_online/resources/invoice.md +43 -0
- data/documentation/site/reference/quickbooks_online/resources/invoice_sales_line_item.md +22 -0
- data/documentation/site/reference/quickbooks_online/resources/item.md +19 -0
- data/documentation/site/reference/quickbooks_online/resources/journal_entry.md +41 -0
- data/documentation/site/reference/quickbooks_online/resources/journal_entry_line_item.md +24 -0
- data/documentation/site/reference/quickbooks_online/resources/ledger_class.md +41 -0
- data/documentation/site/reference/quickbooks_online/resources/payment.md +46 -0
- data/documentation/site/reference/quickbooks_online/resources/payment_line_item.md +20 -0
- data/documentation/site/reference/quickbooks_online/resources/preferences.md +34 -0
- data/documentation/site/reference/quickbooks_online/resources/primary_email_addr.md +19 -0
- data/documentation/site/reference/quickbooks_online/resources/primary_phone.md +19 -0
- data/documentation/site/reference/quickbooks_online/resources/resource.md +18 -0
- data/documentation/site/reference/quickbooks_online/resources/subsidiary.md +20 -0
- data/documentation/site/reference/quickbooks_online/resources/transfer.md +42 -0
- data/documentation/site/reference/quickbooks_online/resources/vendor.md +43 -0
- data/documentation/site/reference/quickbooks_online/webhooks/index.md +42 -0
- data/documentation/site/reference/stripe/index.md +6 -0
- data/documentation/site/reference/stripe/resources/customer.md +45 -0
- data/documentation/site/reference/stripe/resources/index.md +8 -0
- data/documentation/site/reference/stripe/resources/resource.md +18 -0
- data/documentation/site/style-guide.md +137 -0
- data/ledger_sync.gemspec +3 -2
- data/lib/ledger_sync.rb +46 -58
- data/lib/ledger_sync/core_ext/resonad.rb +2 -3
- data/lib/ledger_sync/deserializer.rb +108 -0
- data/lib/ledger_sync/error.rb +48 -0
- data/lib/ledger_sync/error/ledger_errors.rb +72 -0
- data/lib/ledger_sync/error/operation_errors.rb +0 -10
- data/lib/ledger_sync/error/resource_errors.rb +48 -19
- data/lib/ledger_sync/ledger_configuration.rb +61 -0
- data/lib/ledger_sync/ledger_configuration_store.rb +56 -0
- data/lib/ledger_sync/ledgers/client.rb +112 -0
- data/lib/ledger_sync/ledgers/contract.rb +16 -0
- data/lib/ledger_sync/ledgers/dashboard_url_helper.rb +23 -0
- data/lib/ledger_sync/ledgers/mixins/infer_client_mixin.rb +28 -0
- data/lib/ledger_sync/ledgers/mixins/infer_resource_class_mixin.rb +25 -0
- data/lib/ledger_sync/ledgers/mixins/infer_serializer_mixin.rb +52 -0
- data/lib/ledger_sync/ledgers/mixins/infer_validation_contract_mixin.rb +27 -0
- data/lib/ledger_sync/ledgers/mixins/offset_and_limit_pagination_searcher_mixin.rb +37 -0
- data/lib/ledger_sync/ledgers/mixins/serialization_mixin.rb +41 -0
- data/lib/ledger_sync/ledgers/netsuite/account/deserializer.rb +23 -0
- data/lib/ledger_sync/ledgers/netsuite/account/operations/create.rb +28 -0
- data/lib/ledger_sync/ledgers/netsuite/account/operations/find.rb +28 -0
- data/lib/ledger_sync/ledgers/netsuite/account/searcher.rb +12 -0
- data/lib/ledger_sync/ledgers/netsuite/account/searcher_deserializer.rb +29 -0
- data/lib/ledger_sync/ledgers/netsuite/account/serializer.rb +21 -0
- data/lib/ledger_sync/ledgers/netsuite/check/deserializer.rb +29 -0
- data/lib/ledger_sync/ledgers/netsuite/check/operations/create.rb +27 -0
- data/lib/ledger_sync/ledgers/netsuite/check/operations/delete.rb +27 -0
- data/lib/ledger_sync/ledgers/netsuite/check/operations/find.rb +27 -0
- data/lib/ledger_sync/ledgers/netsuite/check/operations/update.rb +27 -0
- data/lib/ledger_sync/ledgers/netsuite/check/searcher.rb +15 -0
- data/lib/ledger_sync/ledgers/netsuite/check/searcher_deserializer.rb +16 -0
- data/lib/ledger_sync/ledgers/netsuite/check/serializer.rb +51 -0
- data/lib/ledger_sync/ledgers/netsuite/check_line_item/deserializer.rb +17 -0
- data/lib/ledger_sync/ledgers/netsuite/check_line_item/serializer.rb +25 -0
- data/lib/ledger_sync/ledgers/netsuite/client.rb +184 -0
- data/lib/ledger_sync/ledgers/netsuite/config.rb +5 -0
- data/lib/ledger_sync/ledgers/netsuite/currency/deserializer.rb +23 -0
- data/lib/ledger_sync/ledgers/netsuite/currency/operations/create.rb +25 -0
- data/lib/ledger_sync/ledgers/netsuite/currency/operations/delete.rb +23 -0
- data/lib/ledger_sync/ledgers/netsuite/currency/operations/find.rb +23 -0
- data/lib/ledger_sync/ledgers/netsuite/currency/operations/update.rb +23 -0
- data/lib/ledger_sync/ledgers/netsuite/currency/serializer.rb +21 -0
- data/lib/ledger_sync/ledgers/netsuite/customer/deserializer.rb +22 -0
- data/lib/ledger_sync/ledgers/netsuite/customer/operations/create.rb +26 -0
- data/lib/ledger_sync/ledgers/netsuite/customer/operations/delete.rb +26 -0
- data/lib/ledger_sync/ledgers/netsuite/customer/operations/find.rb +26 -0
- data/lib/ledger_sync/ledgers/netsuite/customer/operations/update.rb +26 -0
- data/lib/ledger_sync/ledgers/netsuite/customer/searcher.rb +12 -0
- data/lib/ledger_sync/ledgers/netsuite/customer/searcher_deserializer.rb +18 -0
- data/lib/ledger_sync/ledgers/netsuite/customer/serializer.rb +29 -0
- data/lib/ledger_sync/ledgers/netsuite/customer_deposit/deserializer.rb +20 -0
- data/lib/ledger_sync/ledgers/netsuite/customer_deposit/operations/create.rb +24 -0
- data/lib/ledger_sync/ledgers/netsuite/customer_deposit/operations/delete.rb +24 -0
- data/lib/ledger_sync/ledgers/netsuite/customer_deposit/operations/find.rb +24 -0
- data/lib/ledger_sync/ledgers/netsuite/customer_deposit/operations/update.rb +24 -0
- data/lib/ledger_sync/ledgers/netsuite/customer_deposit/searcher.rb +12 -0
- data/lib/ledger_sync/ledgers/netsuite/customer_deposit/searcher_deserializer.rb +16 -0
- data/lib/ledger_sync/ledgers/netsuite/customer_deposit/serializer.rb +25 -0
- data/lib/ledger_sync/ledgers/netsuite/dashboard_url_helper.rb +28 -0
- data/lib/ledger_sync/ledgers/netsuite/department/deserializer.rb +15 -0
- data/lib/ledger_sync/ledgers/netsuite/department/operations/create.rb +25 -0
- data/lib/ledger_sync/ledgers/netsuite/department/operations/delete.rb +25 -0
- data/lib/ledger_sync/ledgers/netsuite/department/operations/find.rb +25 -0
- data/lib/ledger_sync/ledgers/netsuite/department/operations/update.rb +25 -0
- data/lib/ledger_sync/ledgers/netsuite/department/searcher.rb +12 -0
- data/lib/ledger_sync/ledgers/netsuite/department/searcher_deserializer.rb +19 -0
- data/lib/ledger_sync/ledgers/netsuite/department/serializer.rb +13 -0
- data/lib/ledger_sync/ledgers/netsuite/deserializer.rb +18 -0
- data/lib/ledger_sync/ledgers/netsuite/error.rb +18 -0
- data/lib/ledger_sync/ledgers/netsuite/journal_entry/deserializer.rb +31 -0
- data/lib/ledger_sync/ledgers/netsuite/journal_entry/operations/create.rb +26 -0
- data/lib/ledger_sync/ledgers/netsuite/journal_entry/operations/delete.rb +26 -0
- data/lib/ledger_sync/ledgers/netsuite/journal_entry/operations/find.rb +26 -0
- data/lib/ledger_sync/ledgers/netsuite/journal_entry/operations/update.rb +30 -0
- data/lib/ledger_sync/ledgers/netsuite/journal_entry/serializer.rb +36 -0
- data/lib/ledger_sync/ledgers/netsuite/journal_entry_line_item/deserializer.rb +23 -0
- data/lib/ledger_sync/ledgers/netsuite/journal_entry_line_item/serializer.rb +21 -0
- data/lib/ledger_sync/ledgers/netsuite/ledger_class/deserializer.rb +15 -0
- data/lib/ledger_sync/ledgers/netsuite/ledger_class/operations/create.rb +25 -0
- data/lib/ledger_sync/ledgers/netsuite/ledger_class/operations/delete.rb +25 -0
- data/lib/ledger_sync/ledgers/netsuite/ledger_class/operations/find.rb +25 -0
- data/lib/ledger_sync/ledgers/netsuite/ledger_class/operations/update.rb +25 -0
- data/lib/ledger_sync/ledgers/netsuite/ledger_class/searcher.rb +12 -0
- data/lib/ledger_sync/ledgers/netsuite/ledger_class/searcher_deserializer.rb +19 -0
- data/lib/ledger_sync/ledgers/netsuite/ledger_class/serializer.rb +13 -0
- data/lib/ledger_sync/ledgers/netsuite/location/deserializer.rb +15 -0
- data/lib/ledger_sync/ledgers/netsuite/location/operations/create.rb +21 -0
- data/lib/ledger_sync/ledgers/netsuite/location/operations/delete.rb +21 -0
- data/lib/ledger_sync/ledgers/netsuite/location/operations/find.rb +21 -0
- data/lib/ledger_sync/ledgers/netsuite/location/operations/update.rb +21 -0
- data/lib/ledger_sync/ledgers/netsuite/location/searcher.rb +12 -0
- data/lib/ledger_sync/ledgers/netsuite/location/serializer.rb +13 -0
- data/lib/ledger_sync/ledgers/netsuite/operation.rb +40 -0
- data/lib/ledger_sync/ledgers/netsuite/operation/create.rb +58 -0
- data/lib/ledger_sync/ledgers/netsuite/operation/delete.rb +49 -0
- data/lib/ledger_sync/ledgers/netsuite/operation/find.rb +60 -0
- data/lib/ledger_sync/ledgers/netsuite/operation/update.rb +61 -0
- data/lib/ledger_sync/ledgers/netsuite/record/http_method.rb +33 -0
- data/lib/ledger_sync/ledgers/netsuite/record/metadata.rb +105 -0
- data/lib/ledger_sync/ledgers/netsuite/record/parameter.rb +20 -0
- data/lib/ledger_sync/ledgers/netsuite/record/property.rb +22 -0
- data/lib/ledger_sync/ledgers/netsuite/reference/serializer.rb +13 -0
- data/lib/ledger_sync/ledgers/netsuite/resource.rb +10 -0
- data/lib/ledger_sync/ledgers/netsuite/resources/account.rb +44 -0
- data/lib/ledger_sync/ledgers/netsuite/resources/check.rb +23 -0
- data/lib/ledger_sync/ledgers/netsuite/resources/check_line_item.rb +15 -0
- data/lib/ledger_sync/ledgers/netsuite/resources/currency.rb +13 -0
- data/lib/ledger_sync/ledgers/netsuite/resources/customer.rb +19 -0
- data/lib/ledger_sync/ledgers/netsuite/resources/customer_deposit.rb +15 -0
- data/lib/ledger_sync/ledgers/netsuite/resources/department.rb +16 -0
- data/lib/ledger_sync/ledgers/netsuite/resources/deposit.rb +28 -0
- data/lib/ledger_sync/ledgers/netsuite/resources/deposit_line_item.rb +25 -0
- data/lib/ledger_sync/ledgers/netsuite/resources/invoice.rb +28 -0
- data/lib/ledger_sync/ledgers/netsuite/resources/invoice_line_item.rb +21 -0
- data/lib/ledger_sync/ledgers/netsuite/resources/item.rb +11 -0
- data/lib/ledger_sync/ledgers/netsuite/resources/journal_entry.rb +26 -0
- data/lib/ledger_sync/ledgers/netsuite/resources/journal_entry_line_item.rb +24 -0
- data/lib/ledger_sync/ledgers/netsuite/resources/ledger_class.rb +16 -0
- data/lib/ledger_sync/ledgers/netsuite/resources/location.rb +11 -0
- data/lib/ledger_sync/ledgers/netsuite/resources/subsidiary.rb +12 -0
- data/lib/ledger_sync/ledgers/netsuite/resources/vendor.rb +23 -0
- data/lib/ledger_sync/ledgers/netsuite/searcher.rb +64 -0
- data/lib/ledger_sync/ledgers/netsuite/serializer.rb +13 -0
- data/lib/ledger_sync/ledgers/netsuite/subsidiary/deserializer.rb +17 -0
- data/lib/ledger_sync/ledgers/netsuite/subsidiary/searcher.rb +12 -0
- data/lib/ledger_sync/ledgers/netsuite/subsidiary/searcher_deserializer.rb +15 -0
- data/lib/ledger_sync/ledgers/netsuite/subsidiary/serializer.rb +15 -0
- data/lib/ledger_sync/ledgers/netsuite/token.rb +158 -0
- data/lib/ledger_sync/ledgers/netsuite/type/deserializer_active_type.rb +32 -0
- data/lib/ledger_sync/ledgers/netsuite/type/deserializer_customer_type.rb +33 -0
- data/lib/ledger_sync/ledgers/netsuite/type/deserializer_entity_type.rb +30 -0
- data/lib/ledger_sync/ledgers/netsuite/type/deserializer_subsidiary_type.rb +33 -0
- data/lib/ledger_sync/ledgers/netsuite/vendor/deserializer.rb +30 -0
- data/lib/ledger_sync/ledgers/netsuite/vendor/operations/create.rb +27 -0
- data/lib/ledger_sync/ledgers/netsuite/vendor/operations/delete.rb +27 -0
- data/lib/ledger_sync/ledgers/netsuite/vendor/operations/find.rb +27 -0
- data/lib/ledger_sync/ledgers/netsuite/vendor/operations/update.rb +27 -0
- data/lib/ledger_sync/ledgers/netsuite/vendor/searcher.rb +12 -0
- data/lib/ledger_sync/ledgers/netsuite/vendor/searcher_deserializer.rb +21 -0
- data/lib/ledger_sync/ledgers/netsuite/vendor/serializer.rb +30 -0
- data/lib/ledger_sync/ledgers/netsuite_soap/client.rb +92 -0
- data/lib/ledger_sync/ledgers/netsuite_soap/config.rb +5 -0
- data/lib/ledger_sync/ledgers/netsuite_soap/customer/operations/create.rb +64 -0
- data/lib/ledger_sync/ledgers/netsuite_soap/customer/operations/find.rb +49 -0
- data/lib/ledger_sync/ledgers/netsuite_soap/operation.rb +40 -0
- data/lib/ledger_sync/ledgers/netsuite_soap/operation/create.rb +29 -0
- data/lib/ledger_sync/ledgers/netsuite_soap/operation/find.rb +15 -0
- data/lib/ledger_sync/ledgers/netsuite_soap/resource.rb +10 -0
- data/lib/ledger_sync/ledgers/netsuite_soap/resources/customer.rb +29 -0
- data/lib/ledger_sync/ledgers/netsuite_soap/resources/subsidiary.rb +12 -0
- data/lib/ledger_sync/ledgers/netsuite_soap/subsidiary/operations/create.rb +42 -0
- data/lib/ledger_sync/ledgers/netsuite_soap/subsidiary/operations/find.rb +38 -0
- data/lib/ledger_sync/ledgers/operation.rb +181 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/account/deserializer.rb +43 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/account/operations/create.rb +26 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/account/operations/find.rb +26 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/account/operations/update.rb +30 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/account/searcher.rb +15 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/account/serializer.rb +37 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/bill/deserializer.rb +45 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/bill/operations/create.rb +27 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/bill/operations/find.rb +27 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/bill/operations/update.rb +27 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/bill/searcher.rb +14 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/bill/serializer.rb +44 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/bill_line_item/deserializer.rb +25 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/bill_line_item/serializer.rb +29 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment/deserializer.rb +59 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment/operations/create.rb +33 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment/operations/find.rb +33 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment/operations/update.rb +33 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment/serializer.rb +77 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment_line_item/deserializer.rb +18 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment_line_item/serializer.rb +18 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/client.rb +258 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/config.rb +8 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/currency/deserializer.rb +17 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/currency/serializer.rb +16 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/customer/deserializer.rb +19 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/customer/operations/create.rb +26 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/customer/operations/find.rb +26 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/customer/operations/update.rb +26 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/customer/searcher.rb +13 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/customer/serializer.rb +19 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/dashboard_url_helper.rb +34 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/department/deserializer.rb +28 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/department/operations/create.rb +23 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/department/operations/find.rb +23 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/department/operations/update.rb +25 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/department/searcher.rb +17 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/department/serializer.rb +49 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/deposit/deserializer.rb +39 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/deposit/operations/create.rb +25 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/deposit/operations/find.rb +25 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/deposit/operations/update.rb +27 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/deposit/searcher.rb +13 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/deposit/serializer.rb +39 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/deposit_line_item/deserializer.rb +38 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/deposit_line_item/serializer.rb +41 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/deserializer.rb +98 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/expense/deserializer.rb +58 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/expense/operations/create.rb +28 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/expense/operations/find.rb +28 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/expense/operations/update.rb +28 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/expense/searcher.rb +14 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/expense/serializer.rb +59 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/expense_line_item/deserializer.rb +25 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/expense_line_item/serializer.rb +27 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/invoice/deserializer.rb +35 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/invoice/operations/create.rb +27 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/invoice/operations/find.rb +25 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/invoice/operations/update.rb +25 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/invoice/serializer.rb +35 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/invoice_sales_line_item/deserializer.rb +25 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/invoice_sales_line_item/serializer.rb +29 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/item/deserializer.rb +13 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/item/serializer.rb +12 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/deserializer.rb +33 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/operations/create.rb +23 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/operations/find.rb +23 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/operations/update.rb +23 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/searcher.rb +14 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/serializer.rb +33 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line_item/deserializer.rb +32 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line_item/serializer.rb +36 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/deserializer.rb +29 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/operations/create.rb +23 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/operations/find.rb +23 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/operations/update.rb +25 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/searcher.rb +15 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/serializer.rb +24 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/oauth_client.rb +93 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/operation.rb +61 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/operation/create.rb +26 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/operation/find.rb +25 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/operation/full_update.rb +44 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/operation/sparse_update.rb +29 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/payment/deserializer.rb +48 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/payment/operations/create.rb +30 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/payment/operations/find.rb +28 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/payment/operations/update.rb +28 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/payment/serializer.rb +48 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/payment_line_item/deserializer.rb +18 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/payment_line_item/serializer.rb +18 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/preferences/deserializer.rb +43 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/preferences/operations/find.rb +30 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/preferences/serializer.rb +43 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/request.rb +98 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resource.rb +10 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/account.rb +355 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/bill.rb +31 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/bill_line_item.rb +21 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/bill_payment.rb +42 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/bill_payment_line_item.rb +19 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/currency.rb +13 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/customer.rb +19 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/department.rb +16 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/deposit.rb +28 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/deposit_line_item.rb +25 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/expense.rb +40 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/expense_line_item.rb +21 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/invoice.rb +28 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/invoice_sales_line_item.rb +21 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/item.rb +11 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/journal_entry.rb +24 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/journal_entry_line_item.rb +29 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/ledger_class.rb +16 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/payment.rb +31 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/payment_line_item.rb +19 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/preferences.rb +24 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/primary_email_addr.rb +11 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/primary_phone.rb +11 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/subsidiary.rb +12 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/transfer.rb +24 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/resources/vendor.rb +23 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/searcher.rb +60 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/serialization/type/amount_float_to_integer_type.rb +21 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/serialization/type/deserialize_transaction_reference_type.rb +30 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/serialization/type/integer_to_amount_float_type.rb +21 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/serialization/type/serialize_transaction_reference_type.rb +30 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/serializer.rb +71 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/serialziation/type/mapping_type.rb +25 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/transfer/deserializer.rb +34 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/transfer/operations/create.rb +24 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/transfer/operations/find.rb +24 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/transfer/operations/update.rb +26 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/transfer/serializer.rb +34 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/util/error_matcher.rb +54 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/util/error_parser.rb +27 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/util/ledger_error_parser.rb +103 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/util/operation_error_parser.rb +99 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/vendor/deserializer.rb +25 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/vendor/operations/create.rb +27 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/vendor/operations/find.rb +27 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/vendor/operations/update.rb +27 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/vendor/searcher.rb +15 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/vendor/serializer.rb +25 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/webhook.rb +58 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/webhook_event.rb +79 -0
- data/lib/ledger_sync/ledgers/quickbooks_online/webhook_notification.rb +42 -0
- data/lib/ledger_sync/ledgers/request.rb +57 -0
- data/lib/ledger_sync/ledgers/response.rb +55 -0
- data/lib/ledger_sync/ledgers/searcher.rb +73 -0
- data/lib/ledger_sync/ledgers/stripe/client.rb +37 -0
- data/lib/ledger_sync/ledgers/stripe/config.rb +5 -0
- data/lib/ledger_sync/ledgers/stripe/customer/operations/create.rb +44 -0
- data/lib/ledger_sync/ledgers/stripe/customer/operations/delete.rb +35 -0
- data/lib/ledger_sync/ledgers/stripe/customer/operations/find.rb +44 -0
- data/lib/ledger_sync/ledgers/stripe/customer/operations/update.rb +43 -0
- data/lib/ledger_sync/ledgers/stripe/dashboard_url_helper.rb +21 -0
- data/lib/ledger_sync/ledgers/stripe/operation.rb +35 -0
- data/lib/ledger_sync/ledgers/stripe/operation/create.rb +17 -0
- data/lib/ledger_sync/ledgers/stripe/operation/delete.rb +17 -0
- data/lib/ledger_sync/ledgers/stripe/operation/find.rb +15 -0
- data/lib/ledger_sync/ledgers/stripe/operation/update.rb +17 -0
- data/lib/ledger_sync/ledgers/stripe/resource.rb +10 -0
- data/lib/ledger_sync/ledgers/stripe/resources/customer.rb +13 -0
- data/lib/ledger_sync/operation.rb +23 -0
- data/lib/ledger_sync/resource.rb +22 -10
- data/lib/ledger_sync/resource_adaptor.rb +52 -0
- data/lib/ledger_sync/resource_attribute.rb +31 -9
- data/lib/ledger_sync/resource_attribute/dirty_mixin.rb +4 -0
- data/lib/ledger_sync/resource_attribute/mixin.rb +14 -24
- data/lib/ledger_sync/resource_attribute/reference/many.rb +21 -23
- data/lib/ledger_sync/resource_attribute/reference/one.rb +16 -5
- data/lib/ledger_sync/resource_attribute_set.rb +3 -7
- data/lib/ledger_sync/result.rb +3 -3
- data/lib/ledger_sync/serialization/attribute.rb +41 -0
- data/lib/ledger_sync/serialization/attribute_set_mixin.rb +27 -0
- data/lib/ledger_sync/serialization/deserializer_attribute.rb +78 -0
- data/lib/ledger_sync/serialization/deserializer_attribute_set.rb +22 -0
- data/lib/ledger_sync/serialization/mixin.rb +70 -0
- data/lib/ledger_sync/serialization/serializer_attribute.rb +64 -0
- data/lib/ledger_sync/serialization/serializer_attribute_set.rb +22 -0
- data/lib/ledger_sync/serialization/type/deserializer_references_many_type.rb +26 -0
- data/lib/ledger_sync/serialization/type/deserializer_references_one_type.rb +12 -0
- data/lib/ledger_sync/serialization/type/deserializer_type.rb +29 -0
- data/lib/ledger_sync/serialization/type/format_date_type.rb +23 -0
- data/lib/ledger_sync/serialization/type/mapping_type.rb +23 -0
- data/lib/ledger_sync/serialization/type/parse_date_type.rb +23 -0
- data/lib/ledger_sync/serialization/type/serializer_references_many_type.rb +21 -0
- data/lib/ledger_sync/serialization/type/serializer_references_one_type.rb +12 -0
- data/lib/ledger_sync/serialization/type/serializer_type.rb +23 -0
- data/lib/ledger_sync/serializer.rb +95 -0
- data/lib/ledger_sync/type/boolean.rb +2 -0
- data/lib/ledger_sync/type/date.rb +3 -1
- data/lib/ledger_sync/type/float.rb +2 -0
- data/lib/ledger_sync/type/hash.rb +38 -0
- data/lib/ledger_sync/type/id.rb +8 -2
- data/lib/ledger_sync/type/integer.rb +2 -0
- data/lib/ledger_sync/type/reference_many.rb +15 -5
- data/lib/ledger_sync/type/reference_one.rb +9 -18
- data/lib/ledger_sync/type/string.rb +2 -0
- data/lib/ledger_sync/type/string_from_set.rb +43 -0
- data/lib/ledger_sync/type/value_mixin.rb +37 -7
- data/lib/ledger_sync/util/mixins/delegate_iterable_methods_mixin.rb +43 -0
- data/lib/ledger_sync/util/mixins/dupable_mixin.rb +13 -0
- data/lib/ledger_sync/util/mixins/resource_registerable_mixin.rb +29 -0
- data/lib/ledger_sync/util/read_only_object.rb +54 -0
- data/lib/ledger_sync/util/resource_converter.rb +113 -0
- data/lib/ledger_sync/util/resource_converter/attribute.rb +131 -0
- data/lib/ledger_sync/util/resource_converter/attribute_set.rb +42 -0
- data/lib/ledger_sync/util/resource_converter/type/references_many_type.rb +27 -0
- data/lib/ledger_sync/util/resource_converter/type/references_one_type.rb +14 -0
- data/lib/ledger_sync/util/resource_converter/type/resource_converter_type.rb +26 -0
- data/lib/ledger_sync/util/resources_builder.rb +19 -11
- data/lib/ledger_sync/util/string_helpers.rb +3 -3
- data/lib/ledger_sync/util/url_helpers.rb +38 -0
- data/lib/ledger_sync/util/validator.rb +3 -1
- data/lib/ledger_sync/version.rb +1 -1
- data/licenses/BSL.txt +97 -0
- data/licenses/documentation_site.txt +7 -0
- metadata +712 -263
- data/_config.yml +0 -1
- data/lib/ledger_sync/adaptor_configuration.rb +0 -61
- data/lib/ledger_sync/adaptor_configuration_store.rb +0 -56
- data/lib/ledger_sync/adaptors/adaptor.rb +0 -74
- data/lib/ledger_sync/adaptors/contract.rb +0 -16
- data/lib/ledger_sync/adaptors/ledger_serializer.rb +0 -151
- data/lib/ledger_sync/adaptors/ledger_serializer_attribute.rb +0 -178
- data/lib/ledger_sync/adaptors/ledger_serializer_attribute_set.rb +0 -58
- data/lib/ledger_sync/adaptors/ledger_serializer_type/mapping_type.rb +0 -41
- data/lib/ledger_sync/adaptors/ledger_serializer_type/references_many_type.rb +0 -24
- data/lib/ledger_sync/adaptors/ledger_serializer_type/references_one_type.rb +0 -22
- data/lib/ledger_sync/adaptors/ledger_serializer_type/value_type.rb +0 -17
- data/lib/ledger_sync/adaptors/mixins/infer_adaptor_class_mixin.rb +0 -24
- data/lib/ledger_sync/adaptors/mixins/infer_ledger_serializer_mixin.rb +0 -31
- data/lib/ledger_sync/adaptors/mixins/infer_resource_class_mixin.rb +0 -22
- data/lib/ledger_sync/adaptors/mixins/offset_and_limit_pagination_searcher_mixin.rb +0 -37
- data/lib/ledger_sync/adaptors/netsuite/account/ledger_deserializer.rb +0 -24
- data/lib/ledger_sync/adaptors/netsuite/account/ledger_serializer.rb +0 -22
- data/lib/ledger_sync/adaptors/netsuite/account/operations/create.rb +0 -28
- data/lib/ledger_sync/adaptors/netsuite/account/operations/find.rb +0 -28
- data/lib/ledger_sync/adaptors/netsuite/account/searcher.rb +0 -28
- data/lib/ledger_sync/adaptors/netsuite/adaptor.rb +0 -145
- data/lib/ledger_sync/adaptors/netsuite/config.rb +0 -6
- data/lib/ledger_sync/adaptors/netsuite/currency/deledger_serializer.rb +0 -28
- data/lib/ledger_sync/adaptors/netsuite/currency/ledger_serializer.rb +0 -25
- data/lib/ledger_sync/adaptors/netsuite/currency/operations/create.rb +0 -25
- data/lib/ledger_sync/adaptors/netsuite/currency/operations/delete.rb +0 -23
- data/lib/ledger_sync/adaptors/netsuite/currency/operations/find.rb +0 -23
- data/lib/ledger_sync/adaptors/netsuite/currency/operations/update.rb +0 -23
- data/lib/ledger_sync/adaptors/netsuite/customer/ledger_deserializer.rb +0 -27
- data/lib/ledger_sync/adaptors/netsuite/customer/ledger_serializer.rb +0 -38
- data/lib/ledger_sync/adaptors/netsuite/customer/operations/create.rb +0 -24
- data/lib/ledger_sync/adaptors/netsuite/customer/operations/delete.rb +0 -24
- data/lib/ledger_sync/adaptors/netsuite/customer/operations/find.rb +0 -24
- data/lib/ledger_sync/adaptors/netsuite/customer/operations/update.rb +0 -24
- data/lib/ledger_sync/adaptors/netsuite/ledger_serializer.rb +0 -30
- data/lib/ledger_sync/adaptors/netsuite/ledger_serializer_type/reference_type.rb +0 -24
- data/lib/ledger_sync/adaptors/netsuite/ledger_serializer_type/subsidiary_type.rb +0 -22
- data/lib/ledger_sync/adaptors/netsuite/operation.rb +0 -25
- data/lib/ledger_sync/adaptors/netsuite/operation/create.rb +0 -65
- data/lib/ledger_sync/adaptors/netsuite/operation/delete.rb +0 -49
- data/lib/ledger_sync/adaptors/netsuite/operation/find.rb +0 -56
- data/lib/ledger_sync/adaptors/netsuite/operation/update.rb +0 -68
- data/lib/ledger_sync/adaptors/netsuite/record/http_method.rb +0 -38
- data/lib/ledger_sync/adaptors/netsuite/record/metadata.rb +0 -75
- data/lib/ledger_sync/adaptors/netsuite/record/property.rb +0 -45
- data/lib/ledger_sync/adaptors/netsuite/searcher.rb +0 -17
- data/lib/ledger_sync/adaptors/netsuite/token.rb +0 -162
- data/lib/ledger_sync/adaptors/netsuite/vendor/ledger_deserializer.rb +0 -32
- data/lib/ledger_sync/adaptors/netsuite/vendor/ledger_serializer.rb +0 -35
- data/lib/ledger_sync/adaptors/netsuite/vendor/operations/create.rb +0 -27
- data/lib/ledger_sync/adaptors/netsuite/vendor/operations/delete.rb +0 -27
- data/lib/ledger_sync/adaptors/netsuite/vendor/operations/find.rb +0 -27
- data/lib/ledger_sync/adaptors/netsuite/vendor/operations/update.rb +0 -27
- data/lib/ledger_sync/adaptors/netsuite_soap/adaptor.rb +0 -92
- data/lib/ledger_sync/adaptors/netsuite_soap/config.rb +0 -5
- data/lib/ledger_sync/adaptors/netsuite_soap/customer/ledger_serializer.rb +0 -13
- data/lib/ledger_sync/adaptors/netsuite_soap/customer/operations/create.rb +0 -64
- data/lib/ledger_sync/adaptors/netsuite_soap/customer/operations/find.rb +0 -49
- data/lib/ledger_sync/adaptors/netsuite_soap/ledger_serializer.rb +0 -25
- data/lib/ledger_sync/adaptors/netsuite_soap/operation.rb +0 -40
- data/lib/ledger_sync/adaptors/netsuite_soap/operation/create.rb +0 -29
- data/lib/ledger_sync/adaptors/netsuite_soap/operation/find.rb +0 -15
- data/lib/ledger_sync/adaptors/netsuite_soap/subsidiary/operations/create.rb +0 -42
- data/lib/ledger_sync/adaptors/netsuite_soap/subsidiary/operations/find.rb +0 -38
- data/lib/ledger_sync/adaptors/operation.rb +0 -215
- data/lib/ledger_sync/adaptors/quickbooks_online/account/ledger_serializer.rb +0 -37
- data/lib/ledger_sync/adaptors/quickbooks_online/account/operations/create.rb +0 -26
- data/lib/ledger_sync/adaptors/quickbooks_online/account/operations/find.rb +0 -26
- data/lib/ledger_sync/adaptors/quickbooks_online/account/operations/update.rb +0 -30
- data/lib/ledger_sync/adaptors/quickbooks_online/account/searcher.rb +0 -15
- data/lib/ledger_sync/adaptors/quickbooks_online/adaptor.rb +0 -258
- data/lib/ledger_sync/adaptors/quickbooks_online/bill/ledger_serializer.rb +0 -43
- data/lib/ledger_sync/adaptors/quickbooks_online/bill/operations/create.rb +0 -26
- data/lib/ledger_sync/adaptors/quickbooks_online/bill/operations/find.rb +0 -26
- data/lib/ledger_sync/adaptors/quickbooks_online/bill/operations/update.rb +0 -26
- data/lib/ledger_sync/adaptors/quickbooks_online/bill/searcher.rb +0 -14
- data/lib/ledger_sync/adaptors/quickbooks_online/bill_line_item/ledger_serializer.rb +0 -27
- data/lib/ledger_sync/adaptors/quickbooks_online/config.rb +0 -8
- data/lib/ledger_sync/adaptors/quickbooks_online/currency/ledger_serializer.rb +0 -17
- data/lib/ledger_sync/adaptors/quickbooks_online/customer/ledger_serializer.rb +0 -23
- data/lib/ledger_sync/adaptors/quickbooks_online/customer/operations/create.rb +0 -22
- data/lib/ledger_sync/adaptors/quickbooks_online/customer/operations/find.rb +0 -22
- data/lib/ledger_sync/adaptors/quickbooks_online/customer/operations/update.rb +0 -24
- data/lib/ledger_sync/adaptors/quickbooks_online/customer/searcher.rb +0 -13
- data/lib/ledger_sync/adaptors/quickbooks_online/dashboard_url_helper.rb +0 -57
- data/lib/ledger_sync/adaptors/quickbooks_online/department/ledger_serializer.rb +0 -38
- data/lib/ledger_sync/adaptors/quickbooks_online/department/operations/create.rb +0 -23
- data/lib/ledger_sync/adaptors/quickbooks_online/department/operations/find.rb +0 -23
- data/lib/ledger_sync/adaptors/quickbooks_online/department/operations/update.rb +0 -25
- data/lib/ledger_sync/adaptors/quickbooks_online/department/searcher.rb +0 -17
- data/lib/ledger_sync/adaptors/quickbooks_online/deposit/ledger_serializer.rb +0 -40
- data/lib/ledger_sync/adaptors/quickbooks_online/deposit/operations/create.rb +0 -25
- data/lib/ledger_sync/adaptors/quickbooks_online/deposit/operations/find.rb +0 -25
- data/lib/ledger_sync/adaptors/quickbooks_online/deposit/operations/update.rb +0 -27
- data/lib/ledger_sync/adaptors/quickbooks_online/deposit/searcher.rb +0 -13
- data/lib/ledger_sync/adaptors/quickbooks_online/deposit_line_item/ledger_serializer.rb +0 -31
- data/lib/ledger_sync/adaptors/quickbooks_online/expense/ledger_serializer.rb +0 -49
- data/lib/ledger_sync/adaptors/quickbooks_online/expense/operations/create.rb +0 -27
- data/lib/ledger_sync/adaptors/quickbooks_online/expense/operations/find.rb +0 -27
- data/lib/ledger_sync/adaptors/quickbooks_online/expense/operations/update.rb +0 -27
- data/lib/ledger_sync/adaptors/quickbooks_online/expense/searcher.rb +0 -14
- data/lib/ledger_sync/adaptors/quickbooks_online/expense_line_item/ledger_serializer.rb +0 -27
- data/lib/ledger_sync/adaptors/quickbooks_online/invoice/ledger_serializer.rb +0 -36
- data/lib/ledger_sync/adaptors/quickbooks_online/invoice/operations/create.rb +0 -27
- data/lib/ledger_sync/adaptors/quickbooks_online/invoice/operations/find.rb +0 -25
- data/lib/ledger_sync/adaptors/quickbooks_online/invoice/operations/update.rb +0 -25
- data/lib/ledger_sync/adaptors/quickbooks_online/invoice_sales_line_item/ledger_serializer.rb +0 -30
- data/lib/ledger_sync/adaptors/quickbooks_online/item/ledger_serializer.rb +0 -13
- data/lib/ledger_sync/adaptors/quickbooks_online/journal_entry/ledger_serializer.rb +0 -34
- data/lib/ledger_sync/adaptors/quickbooks_online/journal_entry/operations/create.rb +0 -23
- data/lib/ledger_sync/adaptors/quickbooks_online/journal_entry/operations/find.rb +0 -23
- data/lib/ledger_sync/adaptors/quickbooks_online/journal_entry/operations/update.rb +0 -23
- data/lib/ledger_sync/adaptors/quickbooks_online/journal_entry/searcher.rb +0 -14
- data/lib/ledger_sync/adaptors/quickbooks_online/journal_entry_line_item/ledger_serializer.rb +0 -31
- data/lib/ledger_sync/adaptors/quickbooks_online/ledger_class/ledger_serializer.rb +0 -25
- data/lib/ledger_sync/adaptors/quickbooks_online/ledger_class/operations/create.rb +0 -23
- data/lib/ledger_sync/adaptors/quickbooks_online/ledger_class/operations/find.rb +0 -23
- data/lib/ledger_sync/adaptors/quickbooks_online/ledger_class/operations/update.rb +0 -25
- data/lib/ledger_sync/adaptors/quickbooks_online/ledger_class/searcher.rb +0 -15
- data/lib/ledger_sync/adaptors/quickbooks_online/ledger_serializer.rb +0 -131
- data/lib/ledger_sync/adaptors/quickbooks_online/ledger_serializer_type/account_sub_type.rb +0 -305
- data/lib/ledger_sync/adaptors/quickbooks_online/ledger_serializer_type/account_type.rb +0 -51
- data/lib/ledger_sync/adaptors/quickbooks_online/ledger_serializer_type/amount_type.rb +0 -23
- data/lib/ledger_sync/adaptors/quickbooks_online/ledger_serializer_type/classification_type.rb +0 -23
- data/lib/ledger_sync/adaptors/quickbooks_online/ledger_serializer_type/date_type.rb +0 -23
- data/lib/ledger_sync/adaptors/quickbooks_online/ledger_serializer_type/entity_reference_type.rb +0 -49
- data/lib/ledger_sync/adaptors/quickbooks_online/ledger_serializer_type/journal_entry_line_item_type.rb +0 -20
- data/lib/ledger_sync/adaptors/quickbooks_online/ledger_serializer_type/payment_type.rb +0 -21
- data/lib/ledger_sync/adaptors/quickbooks_online/ledger_serializer_type/transaction_reference_type.rb +0 -49
- data/lib/ledger_sync/adaptors/quickbooks_online/oauth_client.rb +0 -93
- data/lib/ledger_sync/adaptors/quickbooks_online/operation.rb +0 -60
- data/lib/ledger_sync/adaptors/quickbooks_online/operation/create.rb +0 -26
- data/lib/ledger_sync/adaptors/quickbooks_online/operation/find.rb +0 -31
- data/lib/ledger_sync/adaptors/quickbooks_online/operation/full_update.rb +0 -45
- data/lib/ledger_sync/adaptors/quickbooks_online/operation/sparse_update.rb +0 -29
- data/lib/ledger_sync/adaptors/quickbooks_online/payment/ledger_serializer.rb +0 -50
- data/lib/ledger_sync/adaptors/quickbooks_online/payment/operations/create.rb +0 -30
- data/lib/ledger_sync/adaptors/quickbooks_online/payment/operations/find.rb +0 -28
- data/lib/ledger_sync/adaptors/quickbooks_online/payment/operations/update.rb +0 -28
- data/lib/ledger_sync/adaptors/quickbooks_online/payment_line_item/ledger_serializer.rb +0 -19
- data/lib/ledger_sync/adaptors/quickbooks_online/request.rb +0 -98
- data/lib/ledger_sync/adaptors/quickbooks_online/searcher.rb +0 -61
- data/lib/ledger_sync/adaptors/quickbooks_online/transfer/ledger_serializer.rb +0 -36
- data/lib/ledger_sync/adaptors/quickbooks_online/transfer/operations/create.rb +0 -24
- data/lib/ledger_sync/adaptors/quickbooks_online/transfer/operations/find.rb +0 -24
- data/lib/ledger_sync/adaptors/quickbooks_online/transfer/operations/update.rb +0 -26
- data/lib/ledger_sync/adaptors/quickbooks_online/util/adaptor_error_parser.rb +0 -103
- data/lib/ledger_sync/adaptors/quickbooks_online/util/error_matcher.rb +0 -54
- data/lib/ledger_sync/adaptors/quickbooks_online/util/error_parser.rb +0 -27
- data/lib/ledger_sync/adaptors/quickbooks_online/util/operation_error_parser.rb +0 -99
- data/lib/ledger_sync/adaptors/quickbooks_online/vendor/ledger_serializer.rb +0 -25
- data/lib/ledger_sync/adaptors/quickbooks_online/vendor/operations/create.rb +0 -27
- data/lib/ledger_sync/adaptors/quickbooks_online/vendor/operations/find.rb +0 -27
- data/lib/ledger_sync/adaptors/quickbooks_online/vendor/operations/update.rb +0 -27
- data/lib/ledger_sync/adaptors/quickbooks_online/vendor/searcher.rb +0 -15
- data/lib/ledger_sync/adaptors/quickbooks_online/webhook.rb +0 -58
- data/lib/ledger_sync/adaptors/quickbooks_online/webhook_event.rb +0 -79
- data/lib/ledger_sync/adaptors/quickbooks_online/webhook_notification.rb +0 -42
- data/lib/ledger_sync/adaptors/request.rb +0 -53
- data/lib/ledger_sync/adaptors/response.rb +0 -55
- data/lib/ledger_sync/adaptors/searcher.rb +0 -68
- data/lib/ledger_sync/adaptors/stripe/adaptor.rb +0 -45
- data/lib/ledger_sync/adaptors/stripe/config.rb +0 -6
- data/lib/ledger_sync/adaptors/stripe/customer/operations/create.rb +0 -44
- data/lib/ledger_sync/adaptors/stripe/customer/operations/delete.rb +0 -35
- data/lib/ledger_sync/adaptors/stripe/customer/operations/find.rb +0 -44
- data/lib/ledger_sync/adaptors/stripe/customer/operations/update.rb +0 -43
- data/lib/ledger_sync/adaptors/stripe/operation.rb +0 -35
- data/lib/ledger_sync/adaptors/stripe/operation/create.rb +0 -17
- data/lib/ledger_sync/adaptors/stripe/operation/delete.rb +0 -17
- data/lib/ledger_sync/adaptors/stripe/operation/find.rb +0 -15
- data/lib/ledger_sync/adaptors/stripe/operation/update.rb +0 -17
- data/lib/ledger_sync/adaptors/test/account/operations/create.rb +0 -57
- data/lib/ledger_sync/adaptors/test/account/operations/find.rb +0 -42
- data/lib/ledger_sync/adaptors/test/account/operations/invalid.rb +0 -26
- data/lib/ledger_sync/adaptors/test/account/operations/update.rb +0 -56
- data/lib/ledger_sync/adaptors/test/account/operations/valid.rb +0 -32
- data/lib/ledger_sync/adaptors/test/account/searcher.rb +0 -40
- data/lib/ledger_sync/adaptors/test/adaptor.rb +0 -47
- data/lib/ledger_sync/adaptors/test/config.rb +0 -6
- data/lib/ledger_sync/adaptors/test/customer/operations/create.rb +0 -52
- data/lib/ledger_sync/adaptors/test/customer/operations/find.rb +0 -38
- data/lib/ledger_sync/adaptors/test/customer/operations/invalid.rb +0 -22
- data/lib/ledger_sync/adaptors/test/customer/operations/update.rb +0 -22
- data/lib/ledger_sync/adaptors/test/customer/operations/valid.rb +0 -24
- data/lib/ledger_sync/adaptors/test/customer/searcher.rb +0 -40
- data/lib/ledger_sync/adaptors/test/error/adaptor_error/operations/throttle_error.rb +0 -28
- data/lib/ledger_sync/adaptors/test/expense/operations/create.rb +0 -29
- data/lib/ledger_sync/adaptors/test/expense/operations/find.rb +0 -29
- data/lib/ledger_sync/adaptors/test/expense/operations/update.rb +0 -27
- data/lib/ledger_sync/adaptors/test/ledger_serializer.rb +0 -64
- data/lib/ledger_sync/adaptors/test/operation/create.rb +0 -27
- data/lib/ledger_sync/adaptors/test/operation/find.rb +0 -29
- data/lib/ledger_sync/adaptors/test/operation/update.rb +0 -34
- data/lib/ledger_sync/adaptors/test/payment/operations/create.rb +0 -51
- data/lib/ledger_sync/adaptors/test/payment/operations/find.rb +0 -44
- data/lib/ledger_sync/adaptors/test/payment/operations/update.rb +0 -28
- data/lib/ledger_sync/adaptors/test/transfer/operations/create.rb +0 -24
- data/lib/ledger_sync/adaptors/test/transfer/operations/find.rb +0 -24
- data/lib/ledger_sync/adaptors/test/transfer/operations/update.rb +0 -24
- data/lib/ledger_sync/adaptors/test/vendor/operations/create.rb +0 -56
- data/lib/ledger_sync/adaptors/test/vendor/operations/find.rb +0 -43
- data/lib/ledger_sync/adaptors/test/vendor/operations/invalid.rb +0 -27
- data/lib/ledger_sync/adaptors/test/vendor/operations/update.rb +0 -27
- data/lib/ledger_sync/adaptors/test/vendor/operations/valid.rb +0 -33
- data/lib/ledger_sync/adaptors/test/vendor/searcher.rb +0 -41
- data/lib/ledger_sync/error/adaptor_errors.rb +0 -72
- data/lib/ledger_sync/resources/account.rb +0 -17
- data/lib/ledger_sync/resources/bill.rb +0 -25
- data/lib/ledger_sync/resources/bill_line_item.rb +0 -15
- data/lib/ledger_sync/resources/currency.rb +0 -9
- data/lib/ledger_sync/resources/customer.rb +0 -25
- data/lib/ledger_sync/resources/department.rb +0 -14
- data/lib/ledger_sync/resources/deposit.rb +0 -24
- data/lib/ledger_sync/resources/deposit_line_item.rb +0 -19
- data/lib/ledger_sync/resources/expense.rb +0 -31
- data/lib/ledger_sync/resources/expense_line_item.rb +0 -15
- data/lib/ledger_sync/resources/invoice.rb +0 -24
- data/lib/ledger_sync/resources/invoice_sales_line_item.rb +0 -17
- data/lib/ledger_sync/resources/item.rb +0 -5
- data/lib/ledger_sync/resources/journal_entry.rb +0 -20
- data/lib/ledger_sync/resources/journal_entry_line_item.rb +0 -16
- data/lib/ledger_sync/resources/ledger_class.rb +0 -14
- data/lib/ledger_sync/resources/payment.rb +0 -27
- data/lib/ledger_sync/resources/payment_line_item.rb +0 -15
- data/lib/ledger_sync/resources/subsidiary.rb +0 -8
- data/lib/ledger_sync/resources/transfer.rb +0 -20
- data/lib/ledger_sync/resources/vendor.rb +0 -19
- data/lib/ledger_sync/util/debug.rb +0 -16
- data/qa/env_spec.rb +0 -5
- data/qa/netsuite/account_spec.rb +0 -20
- data/qa/netsuite/currency_spec.rb +0 -16
- data/qa/netsuite/customer.rb +0 -76
- data/qa/netsuite/customer_spec.rb +0 -21
- data/qa/netsuite/vendor.rb +0 -76
- data/qa/netsuite/vendor_spec.rb +0 -23
- data/qa/netsuite_soap/customer_spec.rb +0 -21
- data/qa/netsuite_soap/subsidiary_spec.rb +0 -0
- data/qa/netsuite_test.rb +0 -42
- data/qa/qa_helper.rb +0 -58
- data/qa/quickbooks_online/account_spec.rb +0 -14
- data/qa/quickbooks_online/customer_spec.rb +0 -13
- data/qa/quickbooks_online/expense_spec.rb +0 -31
- data/qa/quickbooks_online/vendor_spec.rb +0 -13
- data/qa/stripe/customers_spec.rb +0 -15
- data/qa/support/adaptor_helpers.rb +0 -99
- data/qa/support/adaptor_support_setup.rb +0 -23
- data/qa/support/netsuite_helpers.rb +0 -33
- data/qa/support/netsuite_shared_examples.rb +0 -30
- data/qa/support/netsuite_soap_helpers.rb +0 -33
- data/qa/support/netsuite_soap_shared_examples.rb +0 -10
- data/qa/support/quickbooks_online_helpers.rb +0 -42
- data/qa/support/quickbooks_online_shared_examples.rb +0 -82
- data/qa/support/shared_examples.rb +0 -127
- data/qa/support/stripe_helpers.rb +0 -22
- data/qa/support/stripe_shared_examples.rb +0 -10
- data/qa/test.rb +0 -67
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
title: Customization
|
3
|
+
layout: guides
|
4
|
+
---
|
5
|
+
|
6
|
+
One of the goals of LedgerSync is to make it easy to customize for your needs. For example, you may need:
|
7
|
+
|
8
|
+
- Resource converters
|
9
|
+
- Custom resources
|
10
|
+
- Custom attributes
|
11
|
+
- Custom operations
|
12
|
+
- Custom ledgers
|
13
|
+
- etc.
|
14
|
+
|
15
|
+
We provide some guides for achieving this functionality.
|
@@ -0,0 +1,79 @@
|
|
1
|
+
---
|
2
|
+
title: Resource Converters
|
3
|
+
layout: guides
|
4
|
+
weight: 1
|
5
|
+
---
|
6
|
+
|
7
|
+
## Overview
|
8
|
+
|
9
|
+
LedgerSync provides ledger-specific resources and operations for you to easily interface with a ledger. Complexity arises for a few reasons, such as the following:
|
10
|
+
|
11
|
+
- Ledgers have different resources. Some ledgers may not even implement the same resources as another ledger.
|
12
|
+
- Resources for a given ledger have different attributes from their counterparts in other ledgers.
|
13
|
+
- Operations may not be supported in all ledgers (e.g. deletion is not available for some resources in QuickBooks Online)
|
14
|
+
- etc.
|
15
|
+
|
16
|
+
Because of this complexity, LedgerSync tries to remain "unopinionated" about ledgers. The goal is to have resources, attributes, and operations that match as closely to the API as possible. The issue here is that it requires a developer to have ledger-specific knowledge for every interaction with LedgerSync or to define new resource, operation, and validation layers entirely.
|
17
|
+
|
18
|
+
To solve this problem, some engineers at [Modern Treasury](site.modern_treasury_url) have created what we call a `ResourceConverter`. This object takes in a `source` and `destination`. It also defines the mapping from source to destination. This makes it easy to take any object and map it to a ledger-specific resource. Having a converter per resource per ledger enables you to create an interface with LedgerSync. After this layer is created, future developers are not required to have ledger-specific knowledge to make updates.
|
19
|
+
|
20
|
+
Let's see how this works.
|
21
|
+
|
22
|
+
## Scenario
|
23
|
+
|
24
|
+
Let's assume that we have a `Customer` model object that we use internally that looks like the following:
|
25
|
+
|
26
|
+
```ruby
|
27
|
+
class Customer
|
28
|
+
attr_accessor :name
|
29
|
+
attr_accessor :email
|
30
|
+
attr_accessor :id
|
31
|
+
end
|
32
|
+
```
|
33
|
+
|
34
|
+
We want to sync the data on this object (specifically `name`, `email`, and `id`) to QuickBooks Online and NetSuite. We will also assume that we have already handled authentication and have a valid client for each(`quickbooks_online_client` and `netsuite_client`, respectively). Both ledgers implement their own `Customer` object, but the attributes for these objects vary. For example, here are the relevant snippets of these resources:
|
35
|
+
|
36
|
+
```ruby
|
37
|
+
module LedgerSync
|
38
|
+
module Ledgers
|
39
|
+
module QuickBooksOnline
|
40
|
+
class Customer < QuickBooksOnline::Resource
|
41
|
+
attribute :DisplayName, type: LedgerSync::Type::String
|
42
|
+
|
43
|
+
references_one :PrimaryEmailAddr, to: PrimaryEmailAddr
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
module LedgerSync
|
50
|
+
module Ledgers
|
51
|
+
module QuickBooksOnline
|
52
|
+
class PrimaryEmailAddr < QuickBooksOnline::Resource
|
53
|
+
attribute :Address, type: LedgerSync::Type::String
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
```
|
59
|
+
|
60
|
+
```ruby
|
61
|
+
module LedgerSync
|
62
|
+
module Ledgers
|
63
|
+
module NetSuite
|
64
|
+
class Customer < NetSuite::Resource
|
65
|
+
attribute :email, type: LedgerSync::Type::String
|
66
|
+
attribute :companyName, type: LedgerSync::Type::String
|
67
|
+
attribute :firstName, type: LedgerSync::Type::String
|
68
|
+
attribute :lastName, type: LedgerSync::Type::String
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
```
|
74
|
+
|
75
|
+
<div class="note"><strong>Note:</strong>
|
76
|
+
<p>
|
77
|
+
We will ignore for the purposes of this guide that NetSuite requires a `subsidiary` for their `Customer` resource.
|
78
|
+
</p>
|
79
|
+
</div>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
---
|
2
|
+
title: Getting Started
|
3
|
+
excerpt: In this section you'll find basic information about Libris and how to use it.
|
4
|
+
layout: guides
|
5
|
+
---
|
6
|
+
|
7
|
+
Once you have [installed LedgerSync](/guides/getting-started/installation), visit the
|
8
|
+
[Quick Start Guide](/guides/getting-started/quick-start) to perform your first operation.
|
@@ -0,0 +1,123 @@
|
|
1
|
+
---
|
2
|
+
title: Quick Start
|
3
|
+
weight: 2
|
4
|
+
layout: guides
|
5
|
+
---
|
6
|
+
|
7
|
+
## Overview
|
8
|
+
|
9
|
+
To use LedgerSync, you must carry out an `Operation`. The operation will be ledger-specific and will require the
|
10
|
+
following:
|
11
|
+
|
12
|
+
1. Client
|
13
|
+
2. Resource(s)
|
14
|
+
|
15
|
+
## 1. Create a client
|
16
|
+
|
17
|
+
Clients are responsible for the authentication and requests for a specific ledger. In this example, we will assume you
|
18
|
+
are using the QuickBooks Online ledger.
|
19
|
+
|
20
|
+
<div class="note"><strong>Note:</strong> Each ledger has different requirements for authentication. Please visit the
|
21
|
+
ledger-specific pages to learn more.</div>
|
22
|
+
|
23
|
+
```ruby
|
24
|
+
client = LedgerSync::Ledgers::QuickBooksOnline::Client.new(
|
25
|
+
access_token: access_token, # assuming this is defined
|
26
|
+
client_id: ENV['QUICKBOOKS_ONLINE_CLIENT_ID'],
|
27
|
+
client_secret: ENV['QUICKBOOKS_ONLINE_CLIENT_SECRET'],
|
28
|
+
realm_id: ENV['QUICKBOOKS_ONLINE_REALM_ID'],
|
29
|
+
refresh_token: refresh_token # assuming this is defined
|
30
|
+
)
|
31
|
+
```
|
32
|
+
|
33
|
+
## 2. Create resource(s)
|
34
|
+
|
35
|
+
Create a resource on which to operate. Some resources have references to other resources. You can use
|
36
|
+
`Util::ResourcesBuilder` to create resources and relationships from a structured hash.
|
37
|
+
|
38
|
+
<div class="note"><strong>Note:</strong> Resources are ledger-specific, meaning they may have different attributes and
|
39
|
+
references compared to other ledgers. Please visit [the Reference](/reference) to learn about resource
|
40
|
+
attributes.</div>
|
41
|
+
|
42
|
+
```ruby
|
43
|
+
resource = LedgerSync::Ledgers::QuickBooksOnline::Customer.new(
|
44
|
+
DisplayName: 'Sample Customer',
|
45
|
+
external_id: customer_external_id # A unique ID from your platform
|
46
|
+
)
|
47
|
+
```
|
48
|
+
|
49
|
+
## 3. Create an operation
|
50
|
+
|
51
|
+
Given our `client` and `resource` from above, we can now create an `Operation`. Operations are typically CRUD-like
|
52
|
+
methods, typically (though not always) only making a single request.
|
53
|
+
|
54
|
+
Operations automatically determine a `Serializer` and `Deserializer`. These serializers are used to translate to and
|
55
|
+
the from the ruby `Resource` in the format required by the ledger.
|
56
|
+
|
57
|
+
```ruby
|
58
|
+
operation = LedgerSync::Ledgers::QuickBooksOnline::Customer::Operations::Create.new(
|
59
|
+
client: client,
|
60
|
+
resource: resource
|
61
|
+
)
|
62
|
+
```
|
63
|
+
|
64
|
+
## 4. Perform the operation
|
65
|
+
|
66
|
+
The next step is to perform the operation. You can do this by simply calling `perform`.
|
67
|
+
|
68
|
+
```ruby
|
69
|
+
result = operation.perform # Returns a LedgerSync::OperationResult
|
70
|
+
```
|
71
|
+
|
72
|
+
This method will return a
|
73
|
+
`LedgerSync::OperationResult` which is a special object allowing you to determine the success of the operation, access
|
74
|
+
responses values (serialized and deserialized), and investigate failures.
|
75
|
+
|
76
|
+
```ruby
|
77
|
+
if result.success?
|
78
|
+
resource = result.operation.resource
|
79
|
+
# Do something with resource
|
80
|
+
else # result.failure?
|
81
|
+
raise result.error
|
82
|
+
end
|
83
|
+
```
|
84
|
+
|
85
|
+
## 5. Save updates to authentication
|
86
|
+
|
87
|
+
Because QuickBooks Online uses Oauth 2, you must always be sure to save the access_token, refresh_token, and expirations
|
88
|
+
as they can change with any API call. Operations will always save values back to the client.
|
89
|
+
|
90
|
+
### Automatically update values in .env
|
91
|
+
|
92
|
+
If you have a `.env` file present in the root directory of your project, the client will automatically comment out old values and update new
|
93
|
+
values.
|
94
|
+
|
95
|
+
If you want to disable this functionality, you can do so by setting `update_dotenv` to `false` when instantiating the
|
96
|
+
object:
|
97
|
+
|
98
|
+
```ruby
|
99
|
+
client = LedgerSync::Ledgers::QuickBooksOnline::Client.new(
|
100
|
+
access_token: access_token, # assuming this is defined
|
101
|
+
client_id: ENV['QUICKBOOKS_ONLINE_CLIENT_ID'],
|
102
|
+
client_secret: ENV['QUICKBOOKS_ONLINE_CLIENT_SECRET'],
|
103
|
+
realm_id: ENV['QUICKBOOKS_ONLINE_REALM_ID'],
|
104
|
+
refresh_token: refresh_token, # assuming this is defined
|
105
|
+
update_dotenv: false
|
106
|
+
)
|
107
|
+
```
|
108
|
+
|
109
|
+
### Manually save values
|
110
|
+
|
111
|
+
```ruby
|
112
|
+
result.operation.client.ledger_attributes_to_save.each do |key, value|
|
113
|
+
# save values
|
114
|
+
end
|
115
|
+
```
|
116
|
+
|
117
|
+
## Summary
|
118
|
+
|
119
|
+
That's it! Assuming proper authentication values and valid values on the resource, this will result in a new customer
|
120
|
+
being created in QuickBooks Online.
|
121
|
+
|
122
|
+
There are many other resources and operations that can be performed in QuickBooks Online. For a complete guide of these
|
123
|
+
and other ledgers, visit [the Reference](/reference).
|
@@ -0,0 +1,16 @@
|
|
1
|
+
---
|
2
|
+
title: Welcome to LedgerSync
|
3
|
+
layout: guides
|
4
|
+
---
|
5
|
+
|
6
|
+
## Join the Conversation
|
7
|
+
|
8
|
+
[Click here]({{ site.slack_url }}) to join our public Slack group.
|
9
|
+
|
10
|
+
## Installation
|
11
|
+
|
12
|
+
{% include installation_instructions.md page=page site=site %}
|
13
|
+
|
14
|
+
## Getting started
|
15
|
+
|
16
|
+
Visit the [Quick Start Guide](/guides/getting-started/quick-start) to perform your first operation.
|
@@ -0,0 +1,12 @@
|
|
1
|
+
---
|
2
|
+
title: Ledgers
|
3
|
+
excerpt: LedgerSync allows you to easily connect to multiple ledgers.
|
4
|
+
layout: guides
|
5
|
+
---
|
6
|
+
|
7
|
+
The list on the left are the currently supported ledgers. Visit each to learn more of the following:
|
8
|
+
|
9
|
+
- how to authenticate
|
10
|
+
- supported resources and attributes
|
11
|
+
- supported operations
|
12
|
+
- ledger-specific helpers and utilities
|
@@ -0,0 +1,14 @@
|
|
1
|
+
---
|
2
|
+
title: Modern Treasury
|
3
|
+
excerpt: >-
|
4
|
+
LedgerSync is an open-sourced library owned and maintained by Modern Treasury.
|
5
|
+
layout: guides
|
6
|
+
---
|
7
|
+
|
8
|
+
[Modern Treasury]({{ site.modern_treasury_url }}) is the owner and maintainer of LedgerSync. LedgerSync is an
|
9
|
+
open-source library, so companies are encouraged to use it according to the open-source license.
|
10
|
+
|
11
|
+
Modern Treasury is a user of LedgerSync, allowing the ModernTreasury platform to easily connect to multiple ledgers.
|
12
|
+
Modern Treasury invests core product and engineering resources to maintaining and expanding LedgerSync.
|
13
|
+
|
14
|
+
If you would like to learn more about Modern Treasury, please visit [www.moderntreasury.com]({{ site.modern_treasury_url }})
|
@@ -0,0 +1,76 @@
|
|
1
|
+
---
|
2
|
+
title: Tips and More
|
3
|
+
excerpt: LedgerSync allows you to easily connect to multiple ledgers.
|
4
|
+
layout: guides
|
5
|
+
---
|
6
|
+
|
7
|
+
## Keyword Arguments
|
8
|
+
|
9
|
+
LedgerSync heavily uses ruby keyword arguments so as to make it clear what values are being passed and which attributes are required. When this README says something like "the `fun_function` function takes the argument `foo`" that translates to `fun_function(foo: :some_value)`.
|
10
|
+
|
11
|
+
## Fingerprints
|
12
|
+
|
13
|
+
Most objects in LedgerSync can be fingerprinted by calling the instance method `fingerprint`. For example:
|
14
|
+
|
15
|
+
```ruby
|
16
|
+
puts LedgerSync::Customer.new.fingerprint # "b3eab7ec00431a4ae0468fee72e5ba8f"
|
17
|
+
|
18
|
+
puts LedgerSync::Customer.new.fingerprint == LedgerSync::Customer.new.fingerprint # true
|
19
|
+
puts LedgerSync::Customer.new.fingerprint == LedgerSync::Customer.new(name: :foo).fingerprint # false
|
20
|
+
puts LedgerSync::Customer.new.fingerprint == LedgerSync::Payment.new.fingerprint # false
|
21
|
+
```
|
22
|
+
|
23
|
+
Fingerprints are used to compare objects. This method is used in de-duping objects, as it only considers the data inside and not the instance itself (as shown above).
|
24
|
+
|
25
|
+
## Serialization
|
26
|
+
|
27
|
+
Most objects in LedgerSync can be serialized by calling the instance method `serialize`. For example:
|
28
|
+
|
29
|
+
```ruby
|
30
|
+
puts LedgerSync::Payment.new(
|
31
|
+
customer: LedgerSync::Customer.new
|
32
|
+
)
|
33
|
+
|
34
|
+
{
|
35
|
+
root: "LedgerSync::Payment/8eed81c0177801a001f2544f0c85e21d",
|
36
|
+
objects: {
|
37
|
+
"LedgerSync::Payment/8eed81c0177801a001f2544f0c85e21d": {
|
38
|
+
id: "LedgerSync::Payment/8eed81c0177801a001f2544f0c85e21d",
|
39
|
+
object: "LedgerSync::Payment",
|
40
|
+
fingeprint: "8eed81c0177801a001f2544f0c85e21d",
|
41
|
+
data: {
|
42
|
+
currency: nil,
|
43
|
+
amount: nil,
|
44
|
+
customer: {
|
45
|
+
object: "reference",
|
46
|
+
id: "LedgerSync::Customer/b3eab7ec00431a4ae0468fee72e5ba8f"
|
47
|
+
},
|
48
|
+
external_id: "",
|
49
|
+
ledger_id: nil,
|
50
|
+
|
51
|
+
}
|
52
|
+
},
|
53
|
+
"LedgerSync::Customer/b3eab7ec00431a4ae0468fee72e5ba8f": {
|
54
|
+
id: "LedgerSync::Customer/b3eab7ec00431a4ae0468fee72e5ba8f",
|
55
|
+
object: "LedgerSync::Customer",
|
56
|
+
fingeprint: "b3eab7ec00431a4ae0468fee72e5ba8f",
|
57
|
+
data: {
|
58
|
+
name: nil,
|
59
|
+
email: nil,
|
60
|
+
phone_number: nil,
|
61
|
+
external_id: "",
|
62
|
+
ledger_id: nil
|
63
|
+
}
|
64
|
+
}
|
65
|
+
}
|
66
|
+
}
|
67
|
+
```
|
68
|
+
|
69
|
+
The serialization of any object follows the same structure. There is a `:root` key that holds the ID of the root object. There is also an `:objects` hash that contains all of the objects for this serialization. As you can see, unique nested objects listed in the `:objects` hash and referenced using a "reference object", in this case:
|
70
|
+
|
71
|
+
```ruby
|
72
|
+
{
|
73
|
+
object: "reference",
|
74
|
+
id: "LedgerSync::Customer/b3eab7ec00431a4ae0468fee72e5ba8f"
|
75
|
+
}
|
76
|
+
```
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<svg width="507" height="115" viewBox="0 0 507 115" fill="none" xmlns="http://www.w3.org/2000/svg">
|
3
|
+
<path d="M17.3223 83.4873H50.3398V91H8.08691V21.3281H17.3223V83.4873ZM80.917 91.957C73.8988 91.957 68.1885 89.6602 63.7861 85.0664C59.3838 80.4408 57.1826 74.2679 57.1826 66.5479V64.9209C57.1826 59.7848 58.1556 55.207 60.1016 51.1875C62.0794 47.1361 64.8229 43.9779 68.332 41.7129C71.873 39.416 75.7012 38.2676 79.8164 38.2676C86.5475 38.2676 91.7793 40.4847 95.5117 44.9189C99.2441 49.3532 101.11 55.7015 101.11 63.9639V67.6484H66.0352C66.1628 72.7526 67.6462 76.8838 70.4854 80.042C73.3564 83.1683 76.9932 84.7314 81.3955 84.7314C84.5218 84.7314 87.1696 84.0934 89.3389 82.8174C91.5081 81.5413 93.4062 79.8506 95.0332 77.7451L100.44 81.9561C96.1019 88.6234 89.5941 91.957 80.917 91.957ZM79.8164 45.541C76.2435 45.541 73.2448 46.849 70.8203 49.4648C68.3958 52.0488 66.8965 55.6855 66.3223 60.375H92.2578V59.7051C92.0026 55.207 90.7904 51.7298 88.6211 49.2734C86.4518 46.7852 83.5169 45.541 79.8164 45.541ZM109.245 64.6816C109.245 56.7383 111.127 50.3581 114.892 45.541C118.656 40.6921 123.585 38.2676 129.678 38.2676C135.739 38.2676 140.54 40.3411 144.081 44.4883V17.5H152.934V91H144.799L144.368 85.4492C140.827 89.7878 135.898 91.957 129.582 91.957C123.585 91.957 118.688 89.5007 114.892 84.5879C111.127 79.6751 109.245 73.263 109.245 65.3516V64.6816ZM118.098 65.6865C118.098 71.5563 119.31 76.1501 121.734 79.4678C124.159 82.7855 127.508 84.4443 131.783 84.4443C137.398 84.4443 141.497 81.9242 144.081 76.8838V53.1016C141.433 48.2207 137.366 45.7803 131.879 45.7803C127.54 45.7803 124.159 47.4551 121.734 50.8047C119.31 54.1543 118.098 59.1149 118.098 65.6865ZM164.609 64.6816C164.609 56.6107 166.476 50.1986 170.208 45.4453C173.94 40.6602 178.885 38.2676 185.042 38.2676C191.358 38.2676 196.287 40.5007 199.828 44.9668L200.259 39.2246H208.346V89.7559C208.346 96.4551 206.352 101.735 202.364 105.595C198.409 109.455 193.081 111.385 186.382 111.385C182.649 111.385 178.997 110.587 175.424 108.992C171.851 107.397 169.123 105.212 167.241 102.437L171.835 97.125C175.631 101.814 180.273 104.159 185.76 104.159C190.066 104.159 193.416 102.947 195.809 100.522C198.233 98.098 199.445 94.6846 199.445 90.2822V85.832C195.904 89.9154 191.071 91.957 184.946 91.957C178.885 91.957 173.972 89.5166 170.208 84.6357C166.476 79.7549 164.609 73.1035 164.609 64.6816ZM173.51 65.6865C173.51 71.5244 174.706 76.1182 177.099 79.4678C179.491 82.7855 182.841 84.4443 187.147 84.4443C192.73 84.4443 196.829 81.9082 199.445 76.8359V53.1973C196.734 48.2526 192.666 45.7803 187.243 45.7803C182.937 45.7803 179.571 47.4551 177.146 50.8047C174.722 54.1543 173.51 59.1149 173.51 65.6865ZM243.229 91.957C236.211 91.957 230.501 89.6602 226.099 85.0664C221.696 80.4408 219.495 74.2679 219.495 66.5479V64.9209C219.495 59.7848 220.468 55.207 222.414 51.1875C224.392 47.1361 227.135 43.9779 230.645 41.7129C234.186 39.416 238.014 38.2676 242.129 38.2676C248.86 38.2676 254.092 40.4847 257.824 44.9189C261.557 49.3532 263.423 55.7015 263.423 63.9639V67.6484H228.348C228.475 72.7526 229.959 76.8838 232.798 80.042C235.669 83.1683 239.306 84.7314 243.708 84.7314C246.834 84.7314 249.482 84.0934 251.651 82.8174C253.821 81.5413 255.719 79.8506 257.346 77.7451L262.753 81.9561C258.414 88.6234 251.907 91.957 243.229 91.957ZM242.129 45.541C238.556 45.541 235.557 46.849 233.133 49.4648C230.708 52.0488 229.209 55.6855 228.635 60.375H254.57V59.7051C254.315 55.207 253.103 51.7298 250.934 49.2734C248.764 46.7852 245.829 45.541 242.129 45.541ZM298.737 47.168C297.397 46.9447 295.946 46.833 294.383 46.833C288.577 46.833 284.637 49.3053 282.563 54.25V91H273.711V39.2246H282.324L282.468 45.2061C285.371 40.5804 289.486 38.2676 294.813 38.2676C296.536 38.2676 297.844 38.4909 298.737 38.9375V47.168ZM328.836 59.9443C320.956 57.6794 315.214 54.904 311.609 51.6182C308.036 48.3005 306.25 44.2171 306.25 39.3682C306.25 33.8812 308.435 29.3512 312.806 25.7783C317.208 22.1735 322.918 20.3711 329.937 20.3711C334.722 20.3711 338.98 21.2962 342.713 23.1465C346.477 24.9967 349.38 27.5488 351.422 30.8027C353.495 34.0566 354.532 37.6136 354.532 41.4736H345.297C345.297 37.2627 343.957 33.9609 341.277 31.5684C338.598 29.1439 334.817 27.9316 329.937 27.9316C325.407 27.9316 321.866 28.9365 319.313 30.9463C316.793 32.9242 315.533 35.6836 315.533 39.2246C315.533 42.0638 316.729 44.4723 319.122 46.4502C321.547 48.3962 325.646 50.1826 331.42 51.8096C337.226 53.4365 341.756 55.2389 345.01 57.2168C348.296 59.1628 350.72 61.4437 352.283 64.0596C353.878 66.6755 354.676 69.7539 354.676 73.2949C354.676 78.9414 352.475 83.4714 348.072 86.8848C343.67 90.2663 337.784 91.957 330.415 91.957C325.63 91.957 321.164 91.0479 317.017 89.2295C312.869 87.3792 309.663 84.859 307.398 81.6689C305.165 78.4788 304.049 74.8581 304.049 70.8066H313.284C313.284 75.0176 314.831 78.3512 317.926 80.8076C321.052 83.2321 325.215 84.4443 330.415 84.4443C335.264 84.4443 338.98 83.4554 341.564 81.4775C344.148 79.4997 345.44 76.804 345.44 73.3906C345.44 69.9772 344.244 67.3454 341.852 65.4951C339.459 63.613 335.12 61.7627 328.836 59.9443ZM382.047 78.0322L394.105 39.2246H403.58L382.765 98.9912C379.543 107.604 374.423 111.911 367.404 111.911L365.729 111.768L362.428 111.146V103.968L364.82 104.159C367.819 104.159 370.148 103.553 371.807 102.341C373.497 101.129 374.885 98.9115 375.97 95.6895L377.932 90.4258L359.461 39.2246H369.127L382.047 78.0322ZM419.897 39.2246L420.185 45.7324C424.14 40.7559 429.308 38.2676 435.688 38.2676C446.631 38.2676 452.149 44.4404 452.245 56.7861V91H443.393V56.7383C443.361 53.0059 442.499 50.2464 440.809 48.46C439.15 46.6735 436.55 45.7803 433.009 45.7803C430.138 45.7803 427.618 46.5459 425.448 48.0771C423.279 49.6084 421.588 51.6182 420.376 54.1064V91H411.523V39.2246H419.897ZM486.363 84.7314C489.521 84.7314 492.281 83.7744 494.642 81.8604C497.002 79.9463 498.31 77.5537 498.565 74.6826H506.939C506.78 77.6494 505.759 80.4727 503.877 83.1523C501.995 85.832 499.475 87.9694 496.316 89.5645C493.19 91.1595 489.872 91.957 486.363 91.957C479.313 91.957 473.699 89.6123 469.52 84.9229C465.372 80.2015 463.299 73.7575 463.299 65.5908V64.1074C463.299 59.0671 464.224 54.585 466.074 50.6611C467.924 46.7373 470.572 43.6908 474.018 41.5215C477.495 39.3522 481.594 38.2676 486.315 38.2676C492.121 38.2676 496.938 40.0062 500.767 43.4834C504.627 46.9606 506.684 51.4746 506.939 57.0254H498.565C498.31 53.6758 497.034 50.9323 494.737 48.7949C492.472 46.6257 489.665 45.541 486.315 45.541C481.817 45.541 478.324 47.168 475.836 50.4219C473.38 53.6439 472.151 58.3174 472.151 64.4424V66.1172C472.151 72.0827 473.38 76.6764 475.836 79.8984C478.292 83.1204 481.801 84.7314 486.363 84.7314Z" fill="#1BA778"/>
|
4
|
+
<rect x="8" y="100" width="150" height="5" fill="#1BA778"/>
|
5
|
+
<rect x="212" y="100" width="145" height="5" fill="#1BA778"/>
|
6
|
+
<rect x="391" y="100" width="116" height="5" fill="#1BA778"/>
|
7
|
+
</svg>
|
8
|
+
|
@@ -0,0 +1,99 @@
|
|
1
|
+
---
|
2
|
+
title: Home
|
3
|
+
sections:
|
4
|
+
- section_id: hero
|
5
|
+
type: section_hero
|
6
|
+
title: LedgerSync
|
7
|
+
image: images/5.jpg
|
8
|
+
content: An open-source library for easily syncing with accounting software, general ledgers, ERPs, and other ledgers.
|
9
|
+
actions:
|
10
|
+
- label: Get Started
|
11
|
+
url: guides
|
12
|
+
type: primary
|
13
|
+
- section_id: features
|
14
|
+
type: section_grid
|
15
|
+
col_number: three
|
16
|
+
grid_items:
|
17
|
+
- title: Guides
|
18
|
+
content: >-
|
19
|
+
Check out our Quick Start guide to start syncing. You can also view other detailed guides for various use cases, ledgers, customizability, and more.
|
20
|
+
actions:
|
21
|
+
- label: Get Started
|
22
|
+
url: /guides
|
23
|
+
type: link
|
24
|
+
- title: Reference
|
25
|
+
content: >-
|
26
|
+
The Reference gives you detailed information about each ledger, operation, and resource. The Reference will help you know what attributes are required for which operations.
|
27
|
+
actions:
|
28
|
+
- label: View Reference
|
29
|
+
url: /reference
|
30
|
+
type: link
|
31
|
+
- title: Contribute
|
32
|
+
content: >-
|
33
|
+
Want to help build LedgerSync? Check out our guidelines and resources for extending LedgerSync to new
|
34
|
+
legders, resources, and more.
|
35
|
+
actions:
|
36
|
+
- label: Learn More
|
37
|
+
url: /guides/contribute
|
38
|
+
type: link
|
39
|
+
# - section_id: text-img
|
40
|
+
# type: section_content
|
41
|
+
# image: images/10.jpg
|
42
|
+
# image_position: left
|
43
|
+
# title: A Section With An Image
|
44
|
+
# content: >-
|
45
|
+
# Nam pulvinar ante eu ultricies volutpat. Sed nulla nibh, dapibus sit amet
|
46
|
+
# cursus quis, fringilla nec sapien. Vestibulum imperdiet nunc bibendum
|
47
|
+
# consectetur lobortis.
|
48
|
+
# actions:
|
49
|
+
# - label: View Demo
|
50
|
+
# url: /guides/getting-started/index.html
|
51
|
+
# type: primary
|
52
|
+
# - label: Get Started
|
53
|
+
# url: /guides/getting-started/index.html
|
54
|
+
# type: secondary
|
55
|
+
# - section_id: features-two-col
|
56
|
+
# type: section_grid
|
57
|
+
# title: Sample Layouts
|
58
|
+
# subtitle: An optional subtitle of the section
|
59
|
+
# col_number: two
|
60
|
+
# grid_items:
|
61
|
+
# - title: Overview
|
62
|
+
# content: >-
|
63
|
+
# Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nisl
|
64
|
+
# ligula, cursus id molestie vel, maximus aliquet risus. Vivamus in nibh
|
65
|
+
# fringilla, fringilla tortor at, pulvinar orci.
|
66
|
+
# actions:
|
67
|
+
# - label: Learn More
|
68
|
+
# url: /overview.html
|
69
|
+
# type: link
|
70
|
+
# - title: Showcase
|
71
|
+
# content: >-
|
72
|
+
# Donec lobortis velit sed suscipit lobortis. Ut non quam metus. Nullam
|
73
|
+
# a maximus mi. Quisque justo nunc, sollicitudin euismod euismod at,
|
74
|
+
# tincidunt ut tellus. Vivamus rhoncus mattis varius.
|
75
|
+
# actions:
|
76
|
+
# - label: Learn More
|
77
|
+
# url: /showcase.html
|
78
|
+
# type: link
|
79
|
+
# - section_id: cta
|
80
|
+
# type: section_cta
|
81
|
+
# title: The Title of The Call to Action Block
|
82
|
+
# subtitle: This is an optional description for the call to action block.
|
83
|
+
# actions:
|
84
|
+
# - label: Get Started
|
85
|
+
# url: /guides/getting-started/installation.html
|
86
|
+
# type: primary
|
87
|
+
# - section_id: text-no-img
|
88
|
+
# type: section_content
|
89
|
+
# title: A Section Without Image
|
90
|
+
# content: >-
|
91
|
+
# Nam pulvinar ante eu ultricies volutpat. Sed nulla nibh, dapibus sit amet
|
92
|
+
# cursus quis, fringilla nec sapien. Vestibulum imperdiet nunc bibendum
|
93
|
+
# consectetur lobortis.
|
94
|
+
# actions:
|
95
|
+
# - label: Get Started
|
96
|
+
# url: /guides/getting-started/installation.html
|
97
|
+
# type: primary
|
98
|
+
layout: advanced
|
99
|
+
---
|