xero-ruby 0.2.4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. checksums.yaml +4 -4
  2. data/CODE_OF_CONDUCT.md +76 -0
  3. data/CONTRIBUTING.md +82 -0
  4. data/Gemfile.lock +68 -0
  5. data/LICENSE +21 -0
  6. data/README.md +155 -436
  7. data/build_notes.md +17 -0
  8. data/docs/{Account.md → accounting/Account.md} +3 -3
  9. data/docs/accounting/AccountType.md +16 -0
  10. data/docs/{AccountingApi.md → accounting/AccountingApi.md} +4990 -1787
  11. data/docs/{Accounts.md → accounting/Accounts.md} +3 -3
  12. data/docs/{AccountsPayable.md → accounting/AccountsPayable.md} +3 -3
  13. data/docs/{AccountsReceivable.md → accounting/AccountsReceivable.md} +3 -3
  14. data/docs/{Address.md → accounting/Address.md} +3 -3
  15. data/docs/accounting/Allocation.md +31 -0
  16. data/docs/{Allocations.md → accounting/Allocations.md} +3 -3
  17. data/docs/{Attachment.md → accounting/Attachment.md} +3 -3
  18. data/docs/{Attachments.md → accounting/Attachments.md} +3 -3
  19. data/docs/{Balances.md → accounting/Balances.md} +3 -3
  20. data/docs/{BankTransaction.md → accounting/BankTransaction.md} +3 -3
  21. data/docs/{BankTransactions.md → accounting/BankTransactions.md} +3 -3
  22. data/docs/{BankTransfer.md → accounting/BankTransfer.md} +4 -4
  23. data/docs/{BankTransfers.md → accounting/BankTransfers.md} +3 -3
  24. data/docs/{BatchPayment.md → accounting/BatchPayment.md} +4 -4
  25. data/docs/{BatchPaymentDetails.md → accounting/BatchPaymentDetails.md} +3 -3
  26. data/docs/{BatchPayments.md → accounting/BatchPayments.md} +3 -3
  27. data/docs/{Bill.md → accounting/Bill.md} +3 -3
  28. data/docs/{BrandingTheme.md → accounting/BrandingTheme.md} +3 -3
  29. data/docs/{BrandingThemes.md → accounting/BrandingThemes.md} +3 -3
  30. data/docs/{CISOrgSetting.md → accounting/CISOrgSetting.md} +3 -3
  31. data/docs/{CISSetting.md → accounting/CISSetting.md} +3 -3
  32. data/docs/{CISSettings.md → accounting/CISSettings.md} +3 -3
  33. data/docs/{Contact.md → accounting/Contact.md} +5 -5
  34. data/docs/{ContactGroup.md → accounting/ContactGroup.md} +3 -3
  35. data/docs/{ContactGroups.md → accounting/ContactGroups.md} +3 -3
  36. data/docs/{ContactPerson.md → accounting/ContactPerson.md} +3 -3
  37. data/docs/{Contacts.md → accounting/Contacts.md} +3 -3
  38. data/docs/accounting/CountryCode.md +16 -0
  39. data/docs/{CreditNote.md → accounting/CreditNote.md} +5 -5
  40. data/docs/{CreditNotes.md → accounting/CreditNotes.md} +3 -3
  41. data/docs/{Currencies.md → accounting/Currencies.md} +3 -3
  42. data/docs/{Currency.md → accounting/Currency.md} +3 -3
  43. data/docs/accounting/CurrencyCode.md +16 -0
  44. data/docs/{Element.md → accounting/Element.md} +3 -3
  45. data/docs/{Employee.md → accounting/Employee.md} +3 -3
  46. data/docs/{Employees.md → accounting/Employees.md} +3 -3
  47. data/docs/{Error.md → accounting/Error.md} +3 -3
  48. data/docs/{ExpenseClaim.md → accounting/ExpenseClaim.md} +3 -3
  49. data/docs/{ExpenseClaims.md → accounting/ExpenseClaims.md} +3 -3
  50. data/docs/{ExternalLink.md → accounting/ExternalLink.md} +3 -3
  51. data/docs/{HistoryRecord.md → accounting/HistoryRecord.md} +3 -3
  52. data/docs/{HistoryRecords.md → accounting/HistoryRecords.md} +3 -3
  53. data/docs/{Invoice.md → accounting/Invoice.md} +5 -5
  54. data/docs/{InvoiceReminder.md → accounting/InvoiceReminder.md} +3 -3
  55. data/docs/{InvoiceReminders.md → accounting/InvoiceReminders.md} +3 -3
  56. data/docs/{Invoices.md → accounting/Invoices.md} +3 -3
  57. data/docs/{Item.md → accounting/Item.md} +3 -3
  58. data/docs/{Items.md → accounting/Items.md} +3 -3
  59. data/docs/{Journal.md → accounting/Journal.md} +4 -4
  60. data/docs/{JournalLine.md → accounting/JournalLine.md} +3 -3
  61. data/docs/{Journals.md → accounting/Journals.md} +3 -3
  62. data/docs/accounting/LineAmountTypes.md +16 -0
  63. data/docs/{LineItem.md → accounting/LineItem.md} +3 -3
  64. data/docs/{LineItemTracking.md → accounting/LineItemTracking.md} +3 -3
  65. data/docs/{LinkedTransaction.md → accounting/LinkedTransaction.md} +3 -3
  66. data/docs/{LinkedTransactions.md → accounting/LinkedTransactions.md} +3 -3
  67. data/docs/{ManualJournal.md → accounting/ManualJournal.md} +3 -3
  68. data/docs/{ManualJournalLine.md → accounting/ManualJournalLine.md} +5 -3
  69. data/docs/{ManualJournals.md → accounting/ManualJournals.md} +3 -3
  70. data/docs/{OnlineInvoice.md → accounting/OnlineInvoice.md} +3 -3
  71. data/docs/{OnlineInvoices.md → accounting/OnlineInvoices.md} +3 -3
  72. data/docs/{Organisation.md → accounting/Organisation.md} +6 -4
  73. data/docs/{Organisations.md → accounting/Organisations.md} +3 -3
  74. data/docs/{Overpayment.md → accounting/Overpayment.md} +3 -3
  75. data/docs/{Overpayments.md → accounting/Overpayments.md} +3 -3
  76. data/docs/{Payment.md → accounting/Payment.md} +9 -7
  77. data/docs/{PaymentDelete.md → accounting/PaymentDelete.md} +3 -3
  78. data/docs/{PaymentService.md → accounting/PaymentService.md} +3 -3
  79. data/docs/{PaymentServices.md → accounting/PaymentServices.md} +3 -3
  80. data/docs/{PaymentTerm.md → accounting/PaymentTerm.md} +3 -3
  81. data/docs/{PaymentTermType.md → accounting/PaymentTermType.md} +3 -3
  82. data/docs/{Payments.md → accounting/Payments.md} +3 -3
  83. data/docs/{Phone.md → accounting/Phone.md} +3 -3
  84. data/docs/{Prepayment.md → accounting/Prepayment.md} +3 -3
  85. data/docs/{Prepayments.md → accounting/Prepayments.md} +3 -3
  86. data/docs/{Purchase.md → accounting/Purchase.md} +3 -3
  87. data/docs/{PurchaseOrder.md → accounting/PurchaseOrder.md} +3 -3
  88. data/docs/{PurchaseOrders.md → accounting/PurchaseOrders.md} +3 -3
  89. data/docs/{Quote.md → accounting/Quote.md} +10 -6
  90. data/docs/{QuoteLineAmountTypes.md → accounting/QuoteLineAmountTypes.md} +3 -3
  91. data/docs/{QuoteStatusCodes.md → accounting/QuoteStatusCodes.md} +3 -3
  92. data/docs/{Quotes.md → accounting/Quotes.md} +3 -3
  93. data/docs/{Receipt.md → accounting/Receipt.md} +3 -3
  94. data/docs/{Receipts.md → accounting/Receipts.md} +3 -3
  95. data/docs/{RepeatingInvoice.md → accounting/RepeatingInvoice.md} +3 -3
  96. data/docs/{RepeatingInvoices.md → accounting/RepeatingInvoices.md} +3 -3
  97. data/docs/{Report.md → accounting/Report.md} +4 -4
  98. data/docs/{ReportAttribute.md → accounting/ReportAttribute.md} +3 -3
  99. data/docs/{ReportCell.md → accounting/ReportCell.md} +3 -3
  100. data/docs/{ReportFields.md → accounting/ReportFields.md} +3 -3
  101. data/docs/{ReportRow.md → accounting/ReportRow.md} +3 -3
  102. data/docs/{ReportRows.md → accounting/ReportRows.md} +3 -3
  103. data/docs/{ReportWithRow.md → accounting/ReportWithRow.md} +3 -3
  104. data/docs/{ReportWithRows.md → accounting/ReportWithRows.md} +3 -3
  105. data/docs/{Reports.md → accounting/Reports.md} +3 -3
  106. data/docs/{RequestEmpty.md → accounting/RequestEmpty.md} +3 -3
  107. data/docs/{RowType.md → accounting/RowType.md} +3 -3
  108. data/docs/{SalesTrackingCategory.md → accounting/SalesTrackingCategory.md} +3 -3
  109. data/docs/{Schedule.md → accounting/Schedule.md} +3 -3
  110. data/docs/{TaxComponent.md → accounting/TaxComponent.md} +3 -3
  111. data/docs/{TaxRate.md → accounting/TaxRate.md} +3 -3
  112. data/docs/{TaxRates.md → accounting/TaxRates.md} +3 -3
  113. data/docs/{TaxType.md → accounting/TaxType.md} +3 -3
  114. data/docs/{TenNinteyNineContact.md → accounting/TenNinetyNineContact.md} +3 -3
  115. data/docs/{TimeZone.md → accounting/TimeZone.md} +3 -3
  116. data/docs/{TrackingCategories.md → accounting/TrackingCategories.md} +3 -3
  117. data/docs/{TrackingCategory.md → accounting/TrackingCategory.md} +3 -3
  118. data/docs/{TrackingOption.md → accounting/TrackingOption.md} +3 -3
  119. data/docs/{TrackingOptions.md → accounting/TrackingOptions.md} +3 -3
  120. data/docs/{User.md → accounting/User.md} +3 -3
  121. data/docs/{Users.md → accounting/Users.md} +3 -3
  122. data/docs/{ValidationError.md → accounting/ValidationError.md} +3 -3
  123. data/docs/assets/Asset.md +45 -0
  124. data/docs/assets/AssetApi.md +438 -0
  125. data/docs/{CurrencyCode.md → assets/AssetStatus.md} +3 -3
  126. data/docs/assets/AssetStatusQueryParam.md +16 -0
  127. data/docs/assets/AssetType.md +29 -0
  128. data/docs/assets/Assets.md +19 -0
  129. data/docs/assets/BookDepreciationDetail.md +29 -0
  130. data/docs/assets/BookDepreciationSetting.md +31 -0
  131. data/docs/assets/Error.md +25 -0
  132. data/docs/assets/FieldValidationErrorsElement.md +27 -0
  133. data/docs/assets/Pagination.md +23 -0
  134. data/docs/assets/ResourceValidationErrorsElement.md +25 -0
  135. data/docs/assets/Setting.md +31 -0
  136. data/docs/projects/Amount.md +19 -0
  137. data/docs/{AccountType.md → projects/ChargeType.md} +3 -3
  138. data/docs/{CountryCode.md → projects/CurrencyCode.md} +3 -3
  139. data/docs/projects/Error.md +19 -0
  140. data/docs/projects/Pagination.md +23 -0
  141. data/docs/projects/Project.md +59 -0
  142. data/docs/projects/ProjectApi.md +979 -0
  143. data/docs/projects/ProjectCreateOrUpdate.md +23 -0
  144. data/docs/projects/ProjectPatch.md +17 -0
  145. data/docs/{LineAmountTypes.md → projects/ProjectStatus.md} +3 -3
  146. data/docs/projects/ProjectUser.md +21 -0
  147. data/docs/projects/ProjectUsers.md +19 -0
  148. data/docs/projects/Projects.md +19 -0
  149. data/docs/projects/Task.md +45 -0
  150. data/docs/projects/TaskCreateOrUpdate.md +23 -0
  151. data/docs/projects/Tasks.md +19 -0
  152. data/docs/projects/TimeEntries.md +19 -0
  153. data/docs/projects/TimeEntry.md +33 -0
  154. data/docs/projects/TimeEntryCreateOrUpdate.md +25 -0
  155. data/lib/xero-ruby.rb +148 -122
  156. data/lib/xero-ruby/api/accounting_api.rb +166 -29
  157. data/lib/xero-ruby/api/asset_api.rb +452 -0
  158. data/lib/xero-ruby/api/project_api.rb +1035 -0
  159. data/lib/xero-ruby/api_client.rb +237 -74
  160. data/lib/xero-ruby/api_error.rb +2 -2
  161. data/lib/xero-ruby/configuration.rb +35 -25
  162. data/lib/xero-ruby/models/{account.rb → accounting/account.rb} +65 -24
  163. data/lib/xero-ruby/models/{account_type.rb → accounting/account_type.rb} +3 -3
  164. data/lib/xero-ruby/models/{accounts.rb → accounting/accounts.rb} +12 -7
  165. data/lib/xero-ruby/models/{accounts_payable.rb → accounting/accounts_payable.rb} +15 -9
  166. data/lib/xero-ruby/models/{accounts_receivable.rb → accounting/accounts_receivable.rb} +15 -9
  167. data/lib/xero-ruby/models/{address.rb → accounting/address.rb} +23 -16
  168. data/lib/xero-ruby/models/accounting/allocation.rb +295 -0
  169. data/lib/xero-ruby/models/{allocations.rb → accounting/allocations.rb} +12 -7
  170. data/lib/xero-ruby/models/{attachment.rb → accounting/attachment.rb} +16 -12
  171. data/lib/xero-ruby/models/{attachments.rb → accounting/attachments.rb} +12 -7
  172. data/lib/xero-ruby/models/{balances.rb → accounting/balances.rb} +13 -7
  173. data/lib/xero-ruby/models/{bank_transaction.rb → accounting/bank_transaction.rb} +47 -28
  174. data/lib/xero-ruby/models/{bank_transactions.rb → accounting/bank_transactions.rb} +12 -7
  175. data/lib/xero-ruby/models/{bank_transfer.rb → accounting/bank_transfer.rb} +24 -18
  176. data/lib/xero-ruby/models/{bank_transfers.rb → accounting/bank_transfers.rb} +12 -7
  177. data/lib/xero-ruby/models/{batch_payment.rb → accounting/batch_payment.rb} +33 -23
  178. data/lib/xero-ruby/models/{batch_payment_details.rb → accounting/batch_payment_details.rb} +15 -11
  179. data/lib/xero-ruby/models/{batch_payments.rb → accounting/batch_payments.rb} +12 -7
  180. data/lib/xero-ruby/models/{bill.rb → accounting/bill.rb} +12 -7
  181. data/lib/xero-ruby/models/{branding_theme.rb → accounting/branding_theme.rb} +17 -12
  182. data/lib/xero-ruby/models/{branding_themes.rb → accounting/branding_themes.rb} +12 -7
  183. data/lib/xero-ruby/models/{cis_org_setting.rb → accounting/cis_org_setting.rb} +13 -9
  184. data/lib/xero-ruby/models/{cis_setting.rb → accounting/cis_setting.rb} +12 -8
  185. data/lib/xero-ruby/models/{cis_settings.rb → accounting/cis_settings.rb} +12 -7
  186. data/lib/xero-ruby/models/{contact.rb → accounting/contact.rb} +55 -41
  187. data/lib/xero-ruby/models/{contact_group.rb → accounting/contact_group.rb} +16 -10
  188. data/lib/xero-ruby/models/{contact_groups.rb → accounting/contact_groups.rb} +12 -7
  189. data/lib/xero-ruby/models/{contact_person.rb → accounting/contact_person.rb} +14 -10
  190. data/lib/xero-ruby/models/{contacts.rb → accounting/contacts.rb} +12 -7
  191. data/lib/xero-ruby/models/{country_code.rb → accounting/country_code.rb} +3 -3
  192. data/lib/xero-ruby/models/{credit_note.rb → accounting/credit_note.rb} +51 -34
  193. data/lib/xero-ruby/models/{credit_notes.rb → accounting/credit_notes.rb} +12 -7
  194. data/lib/xero-ruby/models/{currencies.rb → accounting/currencies.rb} +12 -7
  195. data/lib/xero-ruby/models/{currency.rb → accounting/currency.rb} +13 -8
  196. data/lib/xero-ruby/models/{currency_code.rb → accounting/currency_code.rb} +5 -5
  197. data/lib/xero-ruby/models/{element.rb → accounting/element.rb} +18 -8
  198. data/lib/xero-ruby/models/{employee.rb → accounting/employee.rb} +21 -12
  199. data/lib/xero-ruby/models/{employees.rb → accounting/employees.rb} +12 -7
  200. data/lib/xero-ruby/models/{error.rb → accounting/error.rb} +14 -10
  201. data/lib/xero-ruby/models/{expense_claim.rb → accounting/expense_claim.rb} +30 -19
  202. data/lib/xero-ruby/models/{expense_claims.rb → accounting/expense_claims.rb} +12 -7
  203. data/lib/xero-ruby/models/{external_link.rb → accounting/external_link.rb} +18 -8
  204. data/lib/xero-ruby/models/{history_record.rb → accounting/history_record.rb} +14 -10
  205. data/lib/xero-ruby/models/{history_records.rb → accounting/history_records.rb} +12 -7
  206. data/lib/xero-ruby/models/{invoice.rb → accounting/invoice.rb} +73 -50
  207. data/lib/xero-ruby/models/{invoice_reminder.rb → accounting/invoice_reminder.rb} +11 -7
  208. data/lib/xero-ruby/models/{invoice_reminders.rb → accounting/invoice_reminders.rb} +12 -7
  209. data/lib/xero-ruby/models/{invoices.rb → accounting/invoices.rb} +12 -7
  210. data/lib/xero-ruby/models/{item.rb → accounting/item.rb} +28 -22
  211. data/lib/xero-ruby/models/{items.rb → accounting/items.rb} +12 -7
  212. data/lib/xero-ruby/models/{journal.rb → accounting/journal.rb} +44 -15
  213. data/lib/xero-ruby/models/{journal_line.rb → accounting/journal_line.rb} +25 -20
  214. data/lib/xero-ruby/models/{journals.rb → accounting/journals.rb} +12 -7
  215. data/lib/xero-ruby/models/{line_amount_types.rb → accounting/line_amount_types.rb} +3 -3
  216. data/lib/xero-ruby/models/{line_item.rb → accounting/line_item.rb} +29 -25
  217. data/lib/xero-ruby/models/{line_item_tracking.rb → accounting/line_item_tracking.rb} +14 -10
  218. data/lib/xero-ruby/models/{linked_transaction.rb → accounting/linked_transaction.rb} +29 -17
  219. data/lib/xero-ruby/models/{linked_transactions.rb → accounting/linked_transactions.rb} +12 -7
  220. data/lib/xero-ruby/models/{manual_journal.rb → accounting/manual_journal.rb} +29 -19
  221. data/lib/xero-ruby/models/{manual_journal_line.rb → accounting/manual_journal_line.rb} +30 -16
  222. data/lib/xero-ruby/models/{manual_journals.rb → accounting/manual_journals.rb} +12 -7
  223. data/lib/xero-ruby/models/{online_invoice.rb → accounting/online_invoice.rb} +11 -7
  224. data/lib/xero-ruby/models/{online_invoices.rb → accounting/online_invoices.rb} +12 -7
  225. data/lib/xero-ruby/models/{organisation.rb → accounting/organisation.rb} +126 -36
  226. data/lib/xero-ruby/models/{organisations.rb → accounting/organisations.rb} +12 -7
  227. data/lib/xero-ruby/models/{overpayment.rb → accounting/overpayment.rb} +40 -27
  228. data/lib/xero-ruby/models/{overpayments.rb → accounting/overpayments.rb} +12 -7
  229. data/lib/xero-ruby/models/{payment.rb → accounting/payment.rb} +61 -28
  230. data/lib/xero-ruby/models/{payment_delete.rb → accounting/payment_delete.rb} +11 -7
  231. data/lib/xero-ruby/models/{payment_service.rb → accounting/payment_service.rb} +16 -12
  232. data/lib/xero-ruby/models/{payment_services.rb → accounting/payment_services.rb} +12 -7
  233. data/lib/xero-ruby/models/{payment_term.rb → accounting/payment_term.rb} +13 -7
  234. data/lib/xero-ruby/models/{payment_term_type.rb → accounting/payment_term_type.rb} +3 -3
  235. data/lib/xero-ruby/models/{payments.rb → accounting/payments.rb} +12 -7
  236. data/lib/xero-ruby/models/{phone.rb → accounting/phone.rb} +20 -10
  237. data/lib/xero-ruby/models/{prepayment.rb → accounting/prepayment.rb} +41 -27
  238. data/lib/xero-ruby/models/{prepayments.rb → accounting/prepayments.rb} +12 -7
  239. data/lib/xero-ruby/models/{purchase.rb → accounting/purchase.rb} +15 -11
  240. data/lib/xero-ruby/models/{purchase_order.rb → accounting/purchase_order.rb} +49 -37
  241. data/lib/xero-ruby/models/{purchase_orders.rb → accounting/purchase_orders.rb} +12 -7
  242. data/lib/xero-ruby/models/{quote.rb → accounting/quote.rb} +63 -33
  243. data/lib/xero-ruby/models/{quote_line_amount_types.rb → accounting/quote_line_amount_types.rb} +3 -3
  244. data/lib/xero-ruby/models/{quote_status_codes.rb → accounting/quote_status_codes.rb} +4 -3
  245. data/lib/xero-ruby/models/{quotes.rb → accounting/quotes.rb} +12 -7
  246. data/lib/xero-ruby/models/{receipt.rb → accounting/receipt.rb} +36 -23
  247. data/lib/xero-ruby/models/{receipts.rb → accounting/receipts.rb} +12 -7
  248. data/lib/xero-ruby/models/{repeating_invoice.rb → accounting/repeating_invoice.rb} +34 -21
  249. data/lib/xero-ruby/models/{repeating_invoices.rb → accounting/repeating_invoices.rb} +12 -7
  250. data/lib/xero-ruby/models/{report.rb → accounting/report.rb} +19 -13
  251. data/lib/xero-ruby/models/{report_attribute.rb → accounting/report_attribute.rb} +13 -7
  252. data/lib/xero-ruby/models/{report_cell.rb → accounting/report_cell.rb} +13 -7
  253. data/lib/xero-ruby/models/{report_fields.rb → accounting/report_fields.rb} +14 -7
  254. data/lib/xero-ruby/models/{report_row.rb → accounting/report_row.rb} +14 -7
  255. data/lib/xero-ruby/models/{report_rows.rb → accounting/report_rows.rb} +15 -7
  256. data/lib/xero-ruby/models/{report_with_row.rb → accounting/report_with_row.rb} +19 -13
  257. data/lib/xero-ruby/models/{report_with_rows.rb → accounting/report_with_rows.rb} +12 -7
  258. data/lib/xero-ruby/models/{reports.rb → accounting/reports.rb} +12 -7
  259. data/lib/xero-ruby/models/{request_empty.rb → accounting/request_empty.rb} +11 -7
  260. data/lib/xero-ruby/models/{row_type.rb → accounting/row_type.rb} +3 -3
  261. data/lib/xero-ruby/models/{sales_tracking_category.rb → accounting/sales_tracking_category.rb} +12 -8
  262. data/lib/xero-ruby/models/{schedule.rb → accounting/schedule.rb} +27 -15
  263. data/lib/xero-ruby/models/{tax_component.rb → accounting/tax_component.rb} +15 -11
  264. data/lib/xero-ruby/models/{tax_rate.rb → accounting/tax_rate.rb} +104 -22
  265. data/lib/xero-ruby/models/{tax_rates.rb → accounting/tax_rates.rb} +12 -7
  266. data/lib/xero-ruby/models/{tax_type.rb → accounting/tax_type.rb} +7 -3
  267. data/lib/xero-ruby/models/{ten_nintey_nine_contact.rb → accounting/ten_ninety_nine_contact.rb} +46 -42
  268. data/lib/xero-ruby/models/{time_zone.rb → accounting/time_zone.rb} +3 -3
  269. data/lib/xero-ruby/models/{tracking_categories.rb → accounting/tracking_categories.rb} +12 -7
  270. data/lib/xero-ruby/models/{tracking_category.rb → accounting/tracking_category.rb} +19 -12
  271. data/lib/xero-ruby/models/{tracking_option.rb → accounting/tracking_option.rb} +17 -10
  272. data/lib/xero-ruby/models/{tracking_options.rb → accounting/tracking_options.rb} +12 -7
  273. data/lib/xero-ruby/models/{user.rb → accounting/user.rb} +24 -13
  274. data/lib/xero-ruby/models/{users.rb → accounting/users.rb} +12 -7
  275. data/lib/xero-ruby/models/{validation_error.rb → accounting/validation_error.rb} +11 -7
  276. data/lib/xero-ruby/models/assets/asset.rb +353 -0
  277. data/lib/xero-ruby/models/assets/asset_status.rb +38 -0
  278. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +38 -0
  279. data/lib/xero-ruby/models/assets/asset_type.rb +278 -0
  280. data/lib/xero-ruby/models/assets/assets.rb +220 -0
  281. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +268 -0
  282. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +347 -0
  283. data/lib/xero-ruby/models/assets/error.rb +252 -0
  284. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +258 -0
  285. data/lib/xero-ruby/models/assets/pagination.rb +238 -0
  286. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +248 -0
  287. data/lib/xero-ruby/models/assets/setting.rb +278 -0
  288. data/lib/xero-ruby/models/projects/amount.rb +218 -0
  289. data/lib/xero-ruby/models/projects/charge_type.rb +38 -0
  290. data/lib/xero-ruby/models/projects/currency_code.rb +199 -0
  291. data/lib/xero-ruby/models/projects/error.rb +218 -0
  292. data/lib/xero-ruby/models/{allocation.rb → projects/pagination.rb} +48 -48
  293. data/lib/xero-ruby/models/projects/project.rb +423 -0
  294. data/lib/xero-ruby/models/projects/project_create_or_update.rb +243 -0
  295. data/lib/xero-ruby/models/projects/project_patch.rb +213 -0
  296. data/lib/xero-ruby/models/projects/project_status.rb +37 -0
  297. data/lib/xero-ruby/models/projects/project_user.rb +228 -0
  298. data/lib/xero-ruby/models/projects/project_users.rb +220 -0
  299. data/lib/xero-ruby/models/projects/projects.rb +220 -0
  300. data/lib/xero-ruby/models/projects/task.rb +385 -0
  301. data/lib/xero-ruby/models/projects/task_create_or_update.rb +253 -0
  302. data/lib/xero-ruby/models/projects/tasks.rb +220 -0
  303. data/lib/xero-ruby/models/projects/time_entries.rb +220 -0
  304. data/lib/xero-ruby/models/projects/time_entry.rb +324 -0
  305. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +268 -0
  306. data/lib/xero-ruby/version.rb +3 -3
  307. data/spec/{api → accounting/api}/accounting_api_spec.rb +31 -6
  308. data/spec/{models → accounting/models}/account_spec.rb +5 -5
  309. data/spec/{models → accounting/models}/account_type_spec.rb +5 -5
  310. data/spec/{models → accounting/models}/accounts_payable_spec.rb +5 -5
  311. data/spec/{models → accounting/models}/accounts_receivable_spec.rb +5 -5
  312. data/spec/{models → accounting/models}/accounts_spec.rb +5 -5
  313. data/spec/{models → accounting/models}/address_spec.rb +5 -5
  314. data/spec/{models → accounting/models}/allocation_spec.rb +5 -5
  315. data/spec/{models → accounting/models}/allocations_spec.rb +5 -5
  316. data/spec/{models → accounting/models}/attachment_spec.rb +5 -5
  317. data/spec/{models → accounting/models}/attachments_spec.rb +5 -5
  318. data/spec/{models → accounting/models}/balances_spec.rb +5 -5
  319. data/spec/{models → accounting/models}/bank_transaction_spec.rb +5 -5
  320. data/spec/{models → accounting/models}/bank_transactions_spec.rb +5 -5
  321. data/spec/{models → accounting/models}/bank_transfer_spec.rb +5 -5
  322. data/spec/{models → accounting/models}/bank_transfers_spec.rb +5 -5
  323. data/spec/{models → accounting/models}/batch_payment_details_spec.rb +5 -5
  324. data/spec/{models → accounting/models}/batch_payment_spec.rb +5 -5
  325. data/spec/{models → accounting/models}/batch_payments_spec.rb +5 -5
  326. data/spec/{models → accounting/models}/bill_spec.rb +5 -5
  327. data/spec/{models → accounting/models}/branding_theme_spec.rb +5 -5
  328. data/spec/{models → accounting/models}/branding_themes_spec.rb +5 -5
  329. data/spec/{models → accounting/models}/cis_org_setting_spec.rb +5 -5
  330. data/spec/{models → accounting/models}/cis_setting_spec.rb +5 -5
  331. data/spec/{models → accounting/models}/cis_settings_spec.rb +5 -5
  332. data/spec/{models → accounting/models}/contact_group_spec.rb +5 -5
  333. data/spec/{models → accounting/models}/contact_groups_spec.rb +5 -5
  334. data/spec/{models → accounting/models}/contact_person_spec.rb +5 -5
  335. data/spec/{models → accounting/models}/contact_spec.rb +5 -5
  336. data/spec/{models → accounting/models}/contacts_spec.rb +5 -5
  337. data/spec/{models → accounting/models}/country_code_spec.rb +5 -5
  338. data/spec/{models → accounting/models}/credit_note_spec.rb +5 -5
  339. data/spec/{models → accounting/models}/credit_notes_spec.rb +5 -5
  340. data/spec/{models → accounting/models}/currencies_spec.rb +5 -5
  341. data/spec/{models → accounting/models}/currency_code_spec.rb +5 -5
  342. data/spec/{models → accounting/models}/currency_spec.rb +5 -5
  343. data/spec/{models → accounting/models}/element_spec.rb +5 -5
  344. data/spec/{models → accounting/models}/employee_spec.rb +5 -5
  345. data/spec/{models → accounting/models}/employees_spec.rb +5 -5
  346. data/spec/{models → accounting/models}/error_spec.rb +5 -5
  347. data/spec/{models → accounting/models}/expense_claim_spec.rb +5 -5
  348. data/spec/{models → accounting/models}/expense_claims_spec.rb +5 -5
  349. data/spec/{models → accounting/models}/external_link_spec.rb +5 -5
  350. data/spec/{models → accounting/models}/history_record_spec.rb +5 -5
  351. data/spec/{models → accounting/models}/history_records_spec.rb +5 -5
  352. data/spec/{models → accounting/models}/invoice_reminder_spec.rb +5 -5
  353. data/spec/{models → accounting/models}/invoice_reminders_spec.rb +5 -5
  354. data/spec/{models → accounting/models}/invoice_spec.rb +5 -5
  355. data/spec/{models → accounting/models}/invoices_spec.rb +5 -5
  356. data/spec/{models → accounting/models}/item_spec.rb +5 -5
  357. data/spec/{models → accounting/models}/items_spec.rb +5 -5
  358. data/spec/{models → accounting/models}/journal_line_spec.rb +5 -5
  359. data/spec/{models → accounting/models}/journal_spec.rb +5 -5
  360. data/spec/{models → accounting/models}/journals_spec.rb +5 -5
  361. data/spec/{models → accounting/models}/line_amount_types_spec.rb +5 -5
  362. data/spec/{models → accounting/models}/line_item_spec.rb +5 -5
  363. data/spec/{models → accounting/models}/line_item_tracking_spec.rb +5 -5
  364. data/spec/{models → accounting/models}/linked_transaction_spec.rb +5 -5
  365. data/spec/{models → accounting/models}/linked_transactions_spec.rb +5 -5
  366. data/spec/{models → accounting/models}/manual_journal_line_spec.rb +5 -5
  367. data/spec/{models → accounting/models}/manual_journal_spec.rb +5 -5
  368. data/spec/{models → accounting/models}/manual_journals_spec.rb +5 -5
  369. data/spec/{models → accounting/models}/online_invoice_spec.rb +5 -5
  370. data/spec/{models → accounting/models}/online_invoices_spec.rb +5 -5
  371. data/spec/{models → accounting/models}/organisation_spec.rb +5 -5
  372. data/spec/{models → accounting/models}/organisations_spec.rb +5 -5
  373. data/spec/{models → accounting/models}/overpayment_spec.rb +5 -5
  374. data/spec/{models → accounting/models}/overpayments_spec.rb +5 -5
  375. data/spec/{models → accounting/models}/payment_delete_spec.rb +5 -5
  376. data/spec/{models → accounting/models}/payment_service_spec.rb +5 -5
  377. data/spec/{models → accounting/models}/payment_services_spec.rb +5 -5
  378. data/spec/{models → accounting/models}/payment_spec.rb +11 -5
  379. data/spec/{models → accounting/models}/payment_term_spec.rb +5 -5
  380. data/spec/{models → accounting/models}/payment_term_type_spec.rb +5 -5
  381. data/spec/{models → accounting/models}/payments_spec.rb +5 -5
  382. data/spec/{models → accounting/models}/phone_spec.rb +5 -5
  383. data/spec/{models → accounting/models}/prepayment_spec.rb +5 -5
  384. data/spec/{models → accounting/models}/prepayments_spec.rb +5 -5
  385. data/spec/{models → accounting/models}/purchase_order_spec.rb +5 -5
  386. data/spec/{models → accounting/models}/purchase_orders_spec.rb +5 -5
  387. data/spec/{models → accounting/models}/purchase_spec.rb +5 -5
  388. data/spec/{models → accounting/models}/quote_line_amount_types_spec.rb +5 -5
  389. data/spec/{models → accounting/models}/quote_spec.rb +5 -5
  390. data/spec/{models → accounting/models}/quote_status_codes_spec.rb +5 -5
  391. data/spec/{models → accounting/models}/quotes_spec.rb +5 -5
  392. data/spec/{models → accounting/models}/receipt_spec.rb +5 -5
  393. data/spec/{models → accounting/models}/receipts_spec.rb +5 -5
  394. data/spec/{models → accounting/models}/repeating_invoice_spec.rb +5 -5
  395. data/spec/{models → accounting/models}/repeating_invoices_spec.rb +5 -5
  396. data/spec/{models → accounting/models}/report_attribute_spec.rb +5 -5
  397. data/spec/{models → accounting/models}/report_cell_spec.rb +5 -5
  398. data/spec/{models → accounting/models}/report_fields_spec.rb +5 -5
  399. data/spec/{models → accounting/models}/report_row_spec.rb +5 -5
  400. data/spec/{models → accounting/models}/report_rows_spec.rb +5 -5
  401. data/spec/{models → accounting/models}/report_spec.rb +5 -5
  402. data/spec/{models → accounting/models}/report_with_row_spec.rb +5 -5
  403. data/spec/{models → accounting/models}/report_with_rows_spec.rb +5 -5
  404. data/spec/{models → accounting/models}/reports_spec.rb +5 -5
  405. data/spec/{models → accounting/models}/request_empty_spec.rb +5 -5
  406. data/spec/{models → accounting/models}/row_type_spec.rb +5 -5
  407. data/spec/{models → accounting/models}/sales_tracking_category_spec.rb +5 -5
  408. data/spec/{models → accounting/models}/schedule_spec.rb +5 -5
  409. data/spec/{models → accounting/models}/tax_component_spec.rb +5 -5
  410. data/spec/{models → accounting/models}/tax_rate_spec.rb +6 -6
  411. data/spec/{models → accounting/models}/tax_rates_spec.rb +5 -5
  412. data/spec/{models → accounting/models}/tax_type_spec.rb +5 -5
  413. data/spec/{models → accounting/models}/ten_nintey_nine_contact_spec.rb +8 -8
  414. data/spec/{models → accounting/models}/time_zone_spec.rb +5 -5
  415. data/spec/{models → accounting/models}/tracking_categories_spec.rb +5 -5
  416. data/spec/{models → accounting/models}/tracking_category_spec.rb +5 -5
  417. data/spec/{models → accounting/models}/tracking_option_spec.rb +5 -5
  418. data/spec/{models → accounting/models}/tracking_options_spec.rb +5 -5
  419. data/spec/{models → accounting/models}/user_spec.rb +5 -5
  420. data/spec/{models → accounting/models}/users_spec.rb +5 -5
  421. data/spec/{models → accounting/models}/validation_error_spec.rb +5 -5
  422. data/spec/api_client_spec.rb +12 -52
  423. data/spec/assets/api/asset_api_spec.rb +116 -0
  424. data/spec/assets/models/asset_spec.rb +125 -0
  425. data/spec/assets/models/asset_status_query_param_spec.rb +35 -0
  426. data/spec/assets/models/asset_status_spec.rb +35 -0
  427. data/spec/assets/models/asset_type_spec.rb +77 -0
  428. data/spec/assets/models/assets_spec.rb +47 -0
  429. data/spec/assets/models/book_depreciation_detail_spec.rb +77 -0
  430. data/spec/assets/models/book_depreciation_setting_spec.rb +95 -0
  431. data/spec/assets/models/error_spec.rb +65 -0
  432. data/spec/assets/models/field_validation_errors_element_spec.rb +71 -0
  433. data/spec/assets/models/pagination_spec.rb +59 -0
  434. data/spec/assets/models/resource_validation_errors_element_spec.rb +65 -0
  435. data/spec/assets/models/setting_spec.rb +83 -0
  436. data/spec/configuration_spec.rb +7 -23
  437. data/spec/projects/api/project_api_spec.rb +229 -0
  438. data/spec/projects/models/amount_spec.rb +47 -0
  439. data/spec/projects/models/charge_type_spec.rb +35 -0
  440. data/spec/projects/models/currency_code_spec.rb +35 -0
  441. data/spec/projects/models/error_spec.rb +47 -0
  442. data/spec/projects/models/pagination_spec.rb +59 -0
  443. data/spec/projects/models/project_create_or_update_spec.rb +59 -0
  444. data/spec/projects/models/project_patch_spec.rb +41 -0
  445. data/spec/projects/models/project_spec.rb +167 -0
  446. data/spec/projects/models/project_status_spec.rb +35 -0
  447. data/spec/projects/models/project_user_spec.rb +53 -0
  448. data/spec/projects/models/project_users_spec.rb +47 -0
  449. data/spec/projects/models/projects_spec.rb +47 -0
  450. data/spec/projects/models/task_create_or_update_spec.rb +59 -0
  451. data/spec/projects/models/task_spec.rb +129 -0
  452. data/spec/projects/models/tasks_spec.rb +47 -0
  453. data/spec/projects/models/time_entries_spec.rb +47 -0
  454. data/spec/projects/models/time_entry_create_or_update_spec.rb +65 -0
  455. data/spec/projects/models/time_entry_spec.rb +93 -0
  456. data/spec/spec_helper.rb +2 -2
  457. data/xero-ruby.gemspec +4 -5
  458. metadata +611 -482
  459. data/docs/Allocation.md +0 -21
  460. data/lib/.DS_Store +0 -0
  461. data/pkg/xero-ruby-0.1.3.gem +0 -0
  462. data/pkg/xero-ruby-0.2.2.gem +0 -0
  463. data/pkg/xero-ruby-0.2.3.gem +0 -0
@@ -3,53 +3,56 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.0.7
6
+ The version of the OpenAPI document: 2.2.11
7
7
  Contact: api@xero.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.2.0
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
13
13
  require 'time'
14
14
  require 'date'
15
15
 
16
- module XeroRuby
16
+ module XeroRuby::Accounting
17
+ require 'bigdecimal'
18
+
17
19
  class JournalLine
18
20
  # Xero identifier for Journal
19
21
  attr_accessor :journal_line_id
20
-
22
+
21
23
  # See Accounts
22
24
  attr_accessor :account_id
23
-
25
+
24
26
  # See Accounts
25
27
  attr_accessor :account_code
28
+
26
29
 
27
30
  attr_accessor :account_type
28
-
31
+
29
32
  # See AccountCodes
30
33
  attr_accessor :account_name
31
-
34
+
32
35
  # The description from the source transaction line item. Only returned if populated.
33
36
  attr_accessor :description
34
-
37
+
35
38
  # Net amount of journal line. This will be a positive value for a debit and negative for a credit
36
39
  attr_accessor :net_amount
37
-
40
+
38
41
  # Gross amount of journal line (NetAmount + TaxAmount).
39
42
  attr_accessor :gross_amount
40
-
43
+
41
44
  # Total tax on a journal line
42
45
  attr_accessor :tax_amount
43
-
46
+
44
47
  # The tax type from TaxRates
45
48
  attr_accessor :tax_type
46
-
49
+
47
50
  # see TaxRates
48
51
  attr_accessor :tax_name
49
-
52
+
50
53
  # Optional Tracking Category – see Tracking. Any JournalLine can have a maximum of 2 <TrackingCategory> elements.
51
54
  attr_accessor :tracking_categories
52
-
55
+
53
56
  # Attribute mapping from ruby-style variable name to JSON key.
54
57
  def self.attribute_map
55
58
  {
@@ -77,9 +80,9 @@ module XeroRuby
77
80
  :'account_type' => :'AccountType',
78
81
  :'account_name' => :'String',
79
82
  :'description' => :'String',
80
- :'net_amount' => :'Float',
81
- :'gross_amount' => :'Float',
82
- :'tax_amount' => :'Float',
83
+ :'net_amount' => :'BigDecimal',
84
+ :'gross_amount' => :'BigDecimal',
85
+ :'tax_amount' => :'BigDecimal',
83
86
  :'tax_type' => :'String',
84
87
  :'tax_name' => :'String',
85
88
  :'tracking_categories' => :'Array<TrackingCategory>'
@@ -90,13 +93,13 @@ module XeroRuby
90
93
  # @param [Hash] attributes Model attributes in the form of hash
91
94
  def initialize(attributes = {})
92
95
  if (!attributes.is_a?(Hash))
93
- fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::JournalLine` initialize method"
96
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::JournalLine` initialize method"
94
97
  end
95
98
 
96
99
  # check to see if the attribute exists and convert string to symbol for hash key
97
100
  attributes = attributes.each_with_object({}) { |(k, v), h|
98
101
  if (!self.class.attribute_map.key?(k.to_sym))
99
- fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::JournalLine`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
102
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::JournalLine`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
100
103
  end
101
104
  h[k.to_sym] = v
102
105
  }
@@ -239,6 +242,8 @@ module XeroRuby
239
242
  value.to_i
240
243
  when :Float
241
244
  value.to_f
245
+ when :BigDecimal
246
+ BigDecimal(value.to_s)
242
247
  when :Boolean
243
248
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
244
249
  true
@@ -260,7 +265,7 @@ module XeroRuby
260
265
  end
261
266
  end
262
267
  else # model
263
- XeroRuby.const_get(type).build_from_hash(value)
268
+ XeroRuby::Accounting.const_get(type).build_from_hash(value)
264
269
  end
265
270
  end
266
271
 
@@ -3,20 +3,23 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.0.7
6
+ The version of the OpenAPI document: 2.2.11
7
7
  Contact: api@xero.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.2.0
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
13
13
  require 'time'
14
14
  require 'date'
15
15
 
16
- module XeroRuby
16
+ module XeroRuby::Accounting
17
+ require 'bigdecimal'
18
+
17
19
  class Journals
18
- attr_accessor :journals
19
20
 
21
+ attr_accessor :journals
22
+
20
23
  # Attribute mapping from ruby-style variable name to JSON key.
21
24
  def self.attribute_map
22
25
  {
@@ -35,13 +38,13 @@ module XeroRuby
35
38
  # @param [Hash] attributes Model attributes in the form of hash
36
39
  def initialize(attributes = {})
37
40
  if (!attributes.is_a?(Hash))
38
- fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Journals` initialize method"
41
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::Journals` initialize method"
39
42
  end
40
43
 
41
44
  # check to see if the attribute exists and convert string to symbol for hash key
42
45
  attributes = attributes.each_with_object({}) { |(k, v), h|
43
46
  if (!self.class.attribute_map.key?(k.to_sym))
44
- fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Journals`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
47
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::Journals`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
45
48
  end
46
49
  h[k.to_sym] = v
47
50
  }
@@ -129,6 +132,8 @@ module XeroRuby
129
132
  value.to_i
130
133
  when :Float
131
134
  value.to_f
135
+ when :BigDecimal
136
+ BigDecimal(value.to_s)
132
137
  when :Boolean
133
138
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
134
139
  true
@@ -150,7 +155,7 @@ module XeroRuby
150
155
  end
151
156
  end
152
157
  else # model
153
- XeroRuby.const_get(type).build_from_hash(value)
158
+ XeroRuby::Accounting.const_get(type).build_from_hash(value)
154
159
  end
155
160
  end
156
161
 
@@ -3,17 +3,17 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.0.7
6
+ The version of the OpenAPI document: 2.2.11
7
7
  Contact: api@xero.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.2.0
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
13
13
  require 'time'
14
14
  require 'date'
15
15
 
16
- module XeroRuby
16
+ module XeroRuby::Accounting
17
17
  class LineAmountTypes
18
18
  EXCLUSIVE = "Exclusive".freeze
19
19
  INCLUSIVE = "Inclusive".freeze
@@ -3,57 +3,59 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.0.7
6
+ The version of the OpenAPI document: 2.2.11
7
7
  Contact: api@xero.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.2.0
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
13
13
  require 'time'
14
14
  require 'date'
15
15
 
16
- module XeroRuby
16
+ module XeroRuby::Accounting
17
+ require 'bigdecimal'
18
+
17
19
  class LineItem
18
20
  # LineItem unique ID
19
21
  attr_accessor :line_item_id
20
-
22
+
21
23
  # Description needs to be at least 1 char long. A line item with just a description (i.e no unit amount or quantity) can be created by specifying just a <Description> element that contains at least 1 character
22
24
  attr_accessor :description
23
-
25
+
24
26
  # LineItem Quantity
25
27
  attr_accessor :quantity
26
-
28
+
27
29
  # LineItem Unit Amount
28
30
  attr_accessor :unit_amount
29
-
31
+
30
32
  # See Items
31
33
  attr_accessor :item_code
32
-
34
+
33
35
  # See Accounts
34
36
  attr_accessor :account_code
35
-
37
+
36
38
  # The tax type from TaxRates
37
39
  attr_accessor :tax_type
38
-
40
+
39
41
  # The tax amount is auto calculated as a percentage of the line amount (see below) based on the tax rate. This value can be overriden if the calculated <TaxAmount> is not correct.
40
42
  attr_accessor :tax_amount
41
-
43
+
42
44
  # If you wish to omit either of the <Quantity> or <UnitAmount> you can provide a LineAmount and Xero will calculate the missing amount for you. The line amount reflects the discounted price if a DiscountRate has been used . i.e LineAmount = Quantity * Unit Amount * ((100 – DiscountRate)/100)
43
45
  attr_accessor :line_amount
44
-
46
+
45
47
  # Optional Tracking Category – see Tracking. Any LineItem can have a maximum of 2 <TrackingCategory> elements.
46
48
  attr_accessor :tracking
47
-
49
+
48
50
  # Percentage discount being applied to a line item (only supported on ACCREC invoices – ACC PAY invoices and credit notes in Xero do not support discounts
49
51
  attr_accessor :discount_rate
50
-
52
+
51
53
  # Discount amount being applied to a line item. Only supported on ACCREC invoices - ACCPAY invoices and credit notes in Xero do not support discounts.
52
54
  attr_accessor :discount_amount
53
-
55
+
54
56
  # The Xero identifier for a Repeating Invoice
55
57
  attr_accessor :repeating_invoice_id
56
-
58
+
57
59
  # Attribute mapping from ruby-style variable name to JSON key.
58
60
  def self.attribute_map
59
61
  {
@@ -78,16 +80,16 @@ module XeroRuby
78
80
  {
79
81
  :'line_item_id' => :'String',
80
82
  :'description' => :'String',
81
- :'quantity' => :'Float',
82
- :'unit_amount' => :'Float',
83
+ :'quantity' => :'BigDecimal',
84
+ :'unit_amount' => :'BigDecimal',
83
85
  :'item_code' => :'String',
84
86
  :'account_code' => :'String',
85
87
  :'tax_type' => :'String',
86
- :'tax_amount' => :'Float',
87
- :'line_amount' => :'Float',
88
+ :'tax_amount' => :'BigDecimal',
89
+ :'line_amount' => :'BigDecimal',
88
90
  :'tracking' => :'Array<LineItemTracking>',
89
- :'discount_rate' => :'Float',
90
- :'discount_amount' => :'Float',
91
+ :'discount_rate' => :'BigDecimal',
92
+ :'discount_amount' => :'BigDecimal',
91
93
  :'repeating_invoice_id' => :'String'
92
94
  }
93
95
  end
@@ -96,13 +98,13 @@ module XeroRuby
96
98
  # @param [Hash] attributes Model attributes in the form of hash
97
99
  def initialize(attributes = {})
98
100
  if (!attributes.is_a?(Hash))
99
- fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::LineItem` initialize method"
101
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::LineItem` initialize method"
100
102
  end
101
103
 
102
104
  # check to see if the attribute exists and convert string to symbol for hash key
103
105
  attributes = attributes.each_with_object({}) { |(k, v), h|
104
106
  if (!self.class.attribute_map.key?(k.to_sym))
105
- fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::LineItem`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
107
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::LineItem`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
106
108
  end
107
109
  h[k.to_sym] = v
108
110
  }
@@ -250,6 +252,8 @@ module XeroRuby
250
252
  value.to_i
251
253
  when :Float
252
254
  value.to_f
255
+ when :BigDecimal
256
+ BigDecimal(value.to_s)
253
257
  when :Boolean
254
258
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
255
259
  true
@@ -271,7 +275,7 @@ module XeroRuby
271
275
  end
272
276
  end
273
277
  else # model
274
- XeroRuby.const_get(type).build_from_hash(value)
278
+ XeroRuby::Accounting.const_get(type).build_from_hash(value)
275
279
  end
276
280
  end
277
281
 
@@ -3,30 +3,32 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.0.7
6
+ The version of the OpenAPI document: 2.2.11
7
7
  Contact: api@xero.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.2.0
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
13
13
  require 'time'
14
14
  require 'date'
15
15
 
16
- module XeroRuby
16
+ module XeroRuby::Accounting
17
+ require 'bigdecimal'
18
+
17
19
  class LineItemTracking
18
20
  # The Xero identifier for a tracking category
19
21
  attr_accessor :tracking_category_id
20
-
22
+
21
23
  # The Xero identifier for a tracking category option
22
24
  attr_accessor :tracking_option_id
23
-
25
+
24
26
  # The name of the tracking category
25
27
  attr_accessor :name
26
-
28
+
27
29
  # See Tracking Options
28
30
  attr_accessor :option
29
-
31
+
30
32
  # Attribute mapping from ruby-style variable name to JSON key.
31
33
  def self.attribute_map
32
34
  {
@@ -51,13 +53,13 @@ module XeroRuby
51
53
  # @param [Hash] attributes Model attributes in the form of hash
52
54
  def initialize(attributes = {})
53
55
  if (!attributes.is_a?(Hash))
54
- fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::LineItemTracking` initialize method"
56
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::LineItemTracking` initialize method"
55
57
  end
56
58
 
57
59
  # check to see if the attribute exists and convert string to symbol for hash key
58
60
  attributes = attributes.each_with_object({}) { |(k, v), h|
59
61
  if (!self.class.attribute_map.key?(k.to_sym))
60
- fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::LineItemTracking`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::LineItemTracking`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
61
63
  end
62
64
  h[k.to_sym] = v
63
65
  }
@@ -173,6 +175,8 @@ module XeroRuby
173
175
  value.to_i
174
176
  when :Float
175
177
  value.to_f
178
+ when :BigDecimal
179
+ BigDecimal(value.to_s)
176
180
  when :Boolean
177
181
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
178
182
  true
@@ -194,7 +198,7 @@ module XeroRuby
194
198
  end
195
199
  end
196
200
  else # model
197
- XeroRuby.const_get(type).build_from_hash(value)
201
+ XeroRuby::Accounting.const_get(type).build_from_hash(value)
198
202
  end
199
203
  end
200
204
 
@@ -3,51 +3,61 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.0.7
6
+ The version of the OpenAPI document: 2.2.11
7
7
  Contact: api@xero.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.2.0
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
13
13
  require 'time'
14
14
  require 'date'
15
15
 
16
- module XeroRuby
16
+ module XeroRuby::Accounting
17
+ require 'bigdecimal'
18
+
17
19
  class LinkedTransaction
18
20
  # Filter by the SourceTransactionID. Get all the linked transactions created from a particular ACCPAY invoice
19
21
  attr_accessor :source_transaction_id
20
-
22
+
21
23
  # The line item identifier from the source transaction.
22
24
  attr_accessor :source_line_item_id
23
-
25
+
24
26
  # Filter by the combination of ContactID and Status. Get all the linked transactions that have been assigned to a particular customer and have a particular status e.g. GET /LinkedTransactions?ContactID=4bb34b03-3378-4bb2-a0ed-6345abf3224e&Status=APPROVED.
25
27
  attr_accessor :contact_id
26
-
28
+
27
29
  # Filter by the TargetTransactionID. Get all the linked transactions allocated to a particular ACCREC invoice
28
30
  attr_accessor :target_transaction_id
29
-
31
+
30
32
  # The line item identifier from the target transaction. It is possible to link multiple billable expenses to the same TargetLineItemID.
31
33
  attr_accessor :target_line_item_id
32
-
34
+
33
35
  # The Xero identifier for an Linked Transaction e.g./LinkedTransactions/297c2dc5-cc47-4afd-8ec8-74990b8761e9
34
36
  attr_accessor :linked_transaction_id
35
-
37
+
36
38
  # Filter by the combination of ContactID and Status. Get all the linked transactions that have been assigned to a particular customer and have a particular status e.g. GET /LinkedTransactions?ContactID=4bb34b03-3378-4bb2-a0ed-6345abf3224e&Status=APPROVED.
37
39
  attr_accessor :status
38
-
40
+ APPROVED = "APPROVED".freeze
41
+ DRAFT = "DRAFT".freeze
42
+ ONDRAFT = "ONDRAFT".freeze
43
+ BILLED = "BILLED".freeze
44
+ VOIDED = "VOIDED".freeze
45
+
39
46
  # This will always be BILLABLEEXPENSE. More types may be added in future.
40
47
  attr_accessor :type
41
-
48
+ BILLABLEEXPENSE = "BILLABLEEXPENSE".freeze
49
+
42
50
  # The last modified date in UTC format
43
51
  attr_accessor :updated_date_utc
44
-
52
+
45
53
  # The Type of the source tranasction. This will be ACCPAY if the linked transaction was created from an invoice and SPEND if it was created from a bank transaction.
46
54
  attr_accessor :source_transaction_type_code
47
-
55
+ ACCPAY = "ACCPAY".freeze
56
+ SPEND = "SPEND".freeze
57
+
48
58
  # Displays array of validation error messages from the API
49
59
  attr_accessor :validation_errors
50
-
60
+
51
61
  class EnumAttributeValidator
52
62
  attr_reader :datatype
53
63
  attr_reader :allowable_values
@@ -108,13 +118,13 @@ module XeroRuby
108
118
  # @param [Hash] attributes Model attributes in the form of hash
109
119
  def initialize(attributes = {})
110
120
  if (!attributes.is_a?(Hash))
111
- fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::LinkedTransaction` initialize method"
121
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::LinkedTransaction` initialize method"
112
122
  end
113
123
 
114
124
  # check to see if the attribute exists and convert string to symbol for hash key
115
125
  attributes = attributes.each_with_object({}) { |(k, v), h|
116
126
  if (!self.class.attribute_map.key?(k.to_sym))
117
- fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::LinkedTransaction`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
127
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::LinkedTransaction`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
118
128
  end
119
129
  h[k.to_sym] = v
120
130
  }
@@ -288,6 +298,8 @@ module XeroRuby
288
298
  value.to_i
289
299
  when :Float
290
300
  value.to_f
301
+ when :BigDecimal
302
+ BigDecimal(value.to_s)
291
303
  when :Boolean
292
304
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
293
305
  true
@@ -309,7 +321,7 @@ module XeroRuby
309
321
  end
310
322
  end
311
323
  else # model
312
- XeroRuby.const_get(type).build_from_hash(value)
324
+ XeroRuby::Accounting.const_get(type).build_from_hash(value)
313
325
  end
314
326
  end
315
327