xero-ruby 0.2.3 → 1.2.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 +132 -438
  7. data/docs/{Account.md → accounting/Account.md} +5 -5
  8. data/docs/accounting/AccountType.md +16 -0
  9. data/docs/{AccountingApi.md → accounting/AccountingApi.md} +4973 -1782
  10. data/docs/{Accounts.md → accounting/Accounts.md} +3 -3
  11. data/docs/{AccountsPayable.md → accounting/AccountsPayable.md} +3 -3
  12. data/docs/{AccountsReceivable.md → accounting/AccountsReceivable.md} +3 -3
  13. data/docs/{Address.md → accounting/Address.md} +3 -3
  14. data/docs/accounting/Allocation.md +31 -0
  15. data/docs/{Allocations.md → accounting/Allocations.md} +3 -3
  16. data/docs/{Attachment.md → accounting/Attachment.md} +3 -3
  17. data/docs/{Attachments.md → accounting/Attachments.md} +3 -3
  18. data/docs/{Balances.md → accounting/Balances.md} +3 -3
  19. data/docs/{BankTransaction.md → accounting/BankTransaction.md} +5 -5
  20. data/docs/{BankTransactions.md → accounting/BankTransactions.md} +3 -3
  21. data/docs/{BankTransfer.md → accounting/BankTransfer.md} +6 -6
  22. data/docs/{BankTransfers.md → accounting/BankTransfers.md} +3 -3
  23. data/docs/{BatchPayment.md → accounting/BatchPayment.md} +4 -4
  24. data/docs/{BatchPaymentDetails.md → accounting/BatchPaymentDetails.md} +3 -3
  25. data/docs/{BatchPayments.md → accounting/BatchPayments.md} +3 -3
  26. data/docs/{Bill.md → accounting/Bill.md} +3 -3
  27. data/docs/{BrandingTheme.md → accounting/BrandingTheme.md} +3 -3
  28. data/docs/{BrandingThemes.md → accounting/BrandingThemes.md} +3 -3
  29. data/docs/{CISOrgSetting.md → accounting/CISOrgSetting.md} +3 -3
  30. data/docs/{CISSetting.md → accounting/CISSetting.md} +3 -3
  31. data/docs/{CISSettings.md → accounting/CISSettings.md} +3 -3
  32. data/docs/{Contact.md → accounting/Contact.md} +7 -7
  33. data/docs/{ContactGroup.md → accounting/ContactGroup.md} +3 -3
  34. data/docs/{ContactGroups.md → accounting/ContactGroups.md} +3 -3
  35. data/docs/{ContactPerson.md → accounting/ContactPerson.md} +3 -3
  36. data/docs/{Contacts.md → accounting/Contacts.md} +3 -3
  37. data/docs/accounting/CountryCode.md +16 -0
  38. data/docs/{CreditNote.md → accounting/CreditNote.md} +9 -7
  39. data/docs/{CreditNotes.md → accounting/CreditNotes.md} +3 -3
  40. data/docs/{Currencies.md → accounting/Currencies.md} +3 -3
  41. data/docs/{Currency.md → accounting/Currency.md} +3 -3
  42. data/docs/accounting/CurrencyCode.md +16 -0
  43. data/docs/{Element.md → accounting/Element.md} +3 -3
  44. data/docs/{Employee.md → accounting/Employee.md} +3 -3
  45. data/docs/{Employees.md → accounting/Employees.md} +3 -3
  46. data/docs/{Error.md → accounting/Error.md} +3 -3
  47. data/docs/{ExpenseClaim.md → accounting/ExpenseClaim.md} +3 -3
  48. data/docs/{ExpenseClaims.md → accounting/ExpenseClaims.md} +3 -3
  49. data/docs/{ExternalLink.md → accounting/ExternalLink.md} +3 -3
  50. data/docs/{HistoryRecord.md → accounting/HistoryRecord.md} +3 -3
  51. data/docs/{HistoryRecords.md → accounting/HistoryRecords.md} +3 -3
  52. data/docs/{Invoice.md → accounting/Invoice.md} +7 -7
  53. data/docs/{InvoiceReminder.md → accounting/InvoiceReminder.md} +3 -3
  54. data/docs/{InvoiceReminders.md → accounting/InvoiceReminders.md} +3 -3
  55. data/docs/{Invoices.md → accounting/Invoices.md} +3 -3
  56. data/docs/{Item.md → accounting/Item.md} +3 -3
  57. data/docs/{Items.md → accounting/Items.md} +3 -3
  58. data/docs/{Journal.md → accounting/Journal.md} +4 -4
  59. data/docs/{JournalLine.md → accounting/JournalLine.md} +3 -3
  60. data/docs/{Journals.md → accounting/Journals.md} +3 -3
  61. data/docs/accounting/LineAmountTypes.md +16 -0
  62. data/docs/{LineItem.md → accounting/LineItem.md} +3 -3
  63. data/docs/{LineItemTracking.md → accounting/LineItemTracking.md} +3 -3
  64. data/docs/{LinkedTransaction.md → accounting/LinkedTransaction.md} +3 -3
  65. data/docs/{LinkedTransactions.md → accounting/LinkedTransactions.md} +3 -3
  66. data/docs/{ManualJournal.md → accounting/ManualJournal.md} +5 -5
  67. data/docs/{ManualJournalLine.md → accounting/ManualJournalLine.md} +3 -3
  68. data/docs/{ManualJournals.md → accounting/ManualJournals.md} +3 -3
  69. data/docs/{OnlineInvoice.md → accounting/OnlineInvoice.md} +3 -3
  70. data/docs/{OnlineInvoices.md → accounting/OnlineInvoices.md} +3 -3
  71. data/docs/{Organisation.md → accounting/Organisation.md} +5 -3
  72. data/docs/{Organisations.md → accounting/Organisations.md} +3 -3
  73. data/docs/{Overpayment.md → accounting/Overpayment.md} +5 -5
  74. data/docs/{Overpayments.md → accounting/Overpayments.md} +3 -3
  75. data/docs/{Payment.md → accounting/Payment.md} +9 -7
  76. data/docs/{PaymentDelete.md → accounting/PaymentDelete.md} +3 -3
  77. data/docs/{PaymentService.md → accounting/PaymentService.md} +3 -3
  78. data/docs/{PaymentServices.md → accounting/PaymentServices.md} +3 -3
  79. data/docs/{PaymentTerm.md → accounting/PaymentTerm.md} +3 -3
  80. data/docs/{PaymentTermType.md → accounting/PaymentTermType.md} +3 -3
  81. data/docs/{Payments.md → accounting/Payments.md} +3 -3
  82. data/docs/{Phone.md → accounting/Phone.md} +3 -3
  83. data/docs/{Prepayment.md → accounting/Prepayment.md} +5 -5
  84. data/docs/{Prepayments.md → accounting/Prepayments.md} +3 -3
  85. data/docs/{Purchase.md → accounting/Purchase.md} +3 -3
  86. data/docs/{PurchaseOrder.md → accounting/PurchaseOrder.md} +5 -5
  87. data/docs/{PurchaseOrders.md → accounting/PurchaseOrders.md} +3 -3
  88. data/docs/{Quote.md → accounting/Quote.md} +8 -4
  89. data/docs/{QuoteLineAmountTypes.md → accounting/QuoteLineAmountTypes.md} +3 -3
  90. data/docs/{QuoteStatusCodes.md → accounting/QuoteStatusCodes.md} +3 -3
  91. data/docs/{Quotes.md → accounting/Quotes.md} +3 -3
  92. data/docs/{Receipt.md → accounting/Receipt.md} +5 -5
  93. data/docs/{Receipts.md → accounting/Receipts.md} +3 -3
  94. data/docs/{RepeatingInvoice.md → accounting/RepeatingInvoice.md} +5 -5
  95. data/docs/{RepeatingInvoices.md → accounting/RepeatingInvoices.md} +3 -3
  96. data/docs/{Report.md → accounting/Report.md} +3 -3
  97. data/docs/{ReportAttribute.md → accounting/ReportAttribute.md} +3 -3
  98. data/docs/{ReportCell.md → accounting/ReportCell.md} +3 -3
  99. data/docs/{ReportFields.md → accounting/ReportFields.md} +3 -3
  100. data/docs/{ReportRow.md → accounting/ReportRow.md} +3 -3
  101. data/docs/{ReportRows.md → accounting/ReportRows.md} +3 -3
  102. data/docs/{ReportWithRow.md → accounting/ReportWithRow.md} +3 -3
  103. data/docs/{ReportWithRows.md → accounting/ReportWithRows.md} +3 -3
  104. data/docs/{Reports.md → accounting/Reports.md} +3 -3
  105. data/docs/{RequestEmpty.md → accounting/RequestEmpty.md} +3 -3
  106. data/docs/{RowType.md → accounting/RowType.md} +3 -3
  107. data/docs/{SalesTrackingCategory.md → accounting/SalesTrackingCategory.md} +3 -3
  108. data/docs/{Schedule.md → accounting/Schedule.md} +3 -3
  109. data/docs/{TaxComponent.md → accounting/TaxComponent.md} +3 -3
  110. data/docs/{TaxRate.md → accounting/TaxRate.md} +3 -3
  111. data/docs/{TaxRates.md → accounting/TaxRates.md} +3 -3
  112. data/docs/{TaxType.md → accounting/TaxType.md} +3 -3
  113. data/docs/{TenNinteyNineContact.md → accounting/TenNinteyNineContact.md} +3 -3
  114. data/docs/{TimeZone.md → accounting/TimeZone.md} +3 -3
  115. data/docs/{TrackingCategories.md → accounting/TrackingCategories.md} +3 -3
  116. data/docs/{TrackingCategory.md → accounting/TrackingCategory.md} +3 -3
  117. data/docs/{TrackingOption.md → accounting/TrackingOption.md} +3 -3
  118. data/docs/{TrackingOptions.md → accounting/TrackingOptions.md} +3 -3
  119. data/docs/{User.md → accounting/User.md} +3 -3
  120. data/docs/{Users.md → accounting/Users.md} +3 -3
  121. data/docs/{ValidationError.md → accounting/ValidationError.md} +3 -3
  122. data/docs/assets/Asset.md +45 -0
  123. data/docs/assets/AssetApi.md +438 -0
  124. data/docs/{CurrencyCode.md → assets/AssetStatus.md} +3 -3
  125. data/docs/assets/AssetStatusQueryParam.md +16 -0
  126. data/docs/assets/AssetType.md +29 -0
  127. data/docs/assets/Assets.md +19 -0
  128. data/docs/assets/BookDepreciationDetail.md +29 -0
  129. data/docs/assets/BookDepreciationSetting.md +31 -0
  130. data/docs/assets/Error.md +25 -0
  131. data/docs/assets/FieldValidationErrorsElement.md +27 -0
  132. data/docs/assets/Pagination.md +23 -0
  133. data/docs/assets/ResourceValidationErrorsElement.md +25 -0
  134. data/docs/assets/Setting.md +31 -0
  135. data/docs/projects/Amount.md +19 -0
  136. data/docs/{AccountType.md → projects/ChargeType.md} +3 -3
  137. data/docs/{CountryCode.md → projects/CurrencyCode.md} +3 -3
  138. data/docs/projects/Error.md +19 -0
  139. data/docs/projects/Pagination.md +23 -0
  140. data/docs/projects/Project.md +59 -0
  141. data/docs/projects/ProjectApi.md +979 -0
  142. data/docs/projects/ProjectCreateOrUpdate.md +23 -0
  143. data/docs/projects/ProjectPatch.md +17 -0
  144. data/docs/{LineAmountTypes.md → projects/ProjectStatus.md} +3 -3
  145. data/docs/projects/ProjectUser.md +21 -0
  146. data/docs/projects/ProjectUsers.md +19 -0
  147. data/docs/projects/Projects.md +19 -0
  148. data/docs/projects/Task.md +45 -0
  149. data/docs/projects/TaskCreateOrUpdate.md +23 -0
  150. data/docs/projects/Tasks.md +19 -0
  151. data/docs/projects/TimeEntries.md +19 -0
  152. data/docs/projects/TimeEntry.md +33 -0
  153. data/docs/projects/TimeEntryCreateOrUpdate.md +25 -0
  154. data/lib/xero-ruby.rb +148 -122
  155. data/lib/xero-ruby/api/accounting_api.rb +165 -42
  156. data/lib/xero-ruby/api/asset_api.rb +452 -0
  157. data/lib/xero-ruby/api/project_api.rb +1035 -0
  158. data/lib/xero-ruby/api_client.rb +172 -44
  159. data/lib/xero-ruby/api_error.rb +2 -2
  160. data/lib/xero-ruby/configuration.rb +35 -22
  161. data/lib/xero-ruby/models/{account.rb → accounting/account.rb} +62 -24
  162. data/lib/xero-ruby/models/{account_type.rb → accounting/account_type.rb} +3 -3
  163. data/lib/xero-ruby/models/{accounts.rb → accounting/accounts.rb} +8 -7
  164. data/lib/xero-ruby/models/{accounts_payable.rb → accounting/accounts_payable.rb} +9 -7
  165. data/lib/xero-ruby/models/{accounts_receivable.rb → accounting/accounts_receivable.rb} +9 -7
  166. data/lib/xero-ruby/models/{address.rb → accounting/address.rb} +19 -16
  167. data/lib/xero-ruby/models/accounting/allocation.rb +291 -0
  168. data/lib/xero-ruby/models/{allocations.rb → accounting/allocations.rb} +8 -7
  169. data/lib/xero-ruby/models/{attachment.rb → accounting/attachment.rb} +12 -12
  170. data/lib/xero-ruby/models/{attachments.rb → accounting/attachments.rb} +8 -7
  171. data/lib/xero-ruby/models/{balances.rb → accounting/balances.rb} +9 -7
  172. data/lib/xero-ruby/models/{bank_transaction.rb → accounting/bank_transaction.rb} +41 -24
  173. data/lib/xero-ruby/models/{bank_transactions.rb → accounting/bank_transactions.rb} +8 -7
  174. data/lib/xero-ruby/models/{bank_transfer.rb → accounting/bank_transfer.rb} +21 -17
  175. data/lib/xero-ruby/models/{bank_transfers.rb → accounting/bank_transfers.rb} +8 -7
  176. data/lib/xero-ruby/models/{batch_payment.rb → accounting/batch_payment.rb} +28 -22
  177. data/lib/xero-ruby/models/{batch_payment_details.rb → accounting/batch_payment_details.rb} +11 -11
  178. data/lib/xero-ruby/models/{batch_payments.rb → accounting/batch_payments.rb} +8 -7
  179. data/lib/xero-ruby/models/{bill.rb → accounting/bill.rb} +8 -7
  180. data/lib/xero-ruby/models/{branding_theme.rb → accounting/branding_theme.rb} +13 -12
  181. data/lib/xero-ruby/models/{branding_themes.rb → accounting/branding_themes.rb} +8 -7
  182. data/lib/xero-ruby/models/{cis_org_setting.rb → accounting/cis_org_setting.rb} +9 -9
  183. data/lib/xero-ruby/models/{cis_setting.rb → accounting/cis_setting.rb} +8 -8
  184. data/lib/xero-ruby/models/{cis_settings.rb → accounting/cis_settings.rb} +8 -7
  185. data/lib/xero-ruby/models/{contact.rb → accounting/contact.rb} +52 -40
  186. data/lib/xero-ruby/models/{contact_group.rb → accounting/contact_group.rb} +12 -10
  187. data/lib/xero-ruby/models/{contact_groups.rb → accounting/contact_groups.rb} +8 -7
  188. data/lib/xero-ruby/models/{contact_person.rb → accounting/contact_person.rb} +10 -10
  189. data/lib/xero-ruby/models/{contacts.rb → accounting/contacts.rb} +8 -7
  190. data/lib/xero-ruby/models/{country_code.rb → accounting/country_code.rb} +3 -3
  191. data/lib/xero-ruby/models/{credit_note.rb → accounting/credit_note.rb} +54 -29
  192. data/lib/xero-ruby/models/{credit_notes.rb → accounting/credit_notes.rb} +8 -7
  193. data/lib/xero-ruby/models/{currencies.rb → accounting/currencies.rb} +8 -7
  194. data/lib/xero-ruby/models/{currency.rb → accounting/currency.rb} +9 -8
  195. data/lib/xero-ruby/models/{currency_code.rb → accounting/currency_code.rb} +5 -5
  196. data/lib/xero-ruby/models/{element.rb → accounting/element.rb} +14 -8
  197. data/lib/xero-ruby/models/{employee.rb → accounting/employee.rb} +17 -12
  198. data/lib/xero-ruby/models/{employees.rb → accounting/employees.rb} +8 -7
  199. data/lib/xero-ruby/models/{error.rb → accounting/error.rb} +10 -10
  200. data/lib/xero-ruby/models/{expense_claim.rb → accounting/expense_claim.rb} +23 -16
  201. data/lib/xero-ruby/models/{expense_claims.rb → accounting/expense_claims.rb} +8 -7
  202. data/lib/xero-ruby/models/{external_link.rb → accounting/external_link.rb} +14 -8
  203. data/lib/xero-ruby/models/{history_record.rb → accounting/history_record.rb} +10 -10
  204. data/lib/xero-ruby/models/{history_records.rb → accounting/history_records.rb} +8 -7
  205. data/lib/xero-ruby/models/{invoice.rb → accounting/invoice.rb} +62 -41
  206. data/lib/xero-ruby/models/{invoice_reminder.rb → accounting/invoice_reminder.rb} +7 -7
  207. data/lib/xero-ruby/models/{invoice_reminders.rb → accounting/invoice_reminders.rb} +8 -7
  208. data/lib/xero-ruby/models/{invoices.rb → accounting/invoices.rb} +8 -7
  209. data/lib/xero-ruby/models/{item.rb → accounting/item.rb} +22 -20
  210. data/lib/xero-ruby/models/{items.rb → accounting/items.rb} +8 -7
  211. data/lib/xero-ruby/models/{journal.rb → accounting/journal.rb} +40 -15
  212. data/lib/xero-ruby/models/{journal_line.rb → accounting/journal_line.rb} +18 -17
  213. data/lib/xero-ruby/models/{journals.rb → accounting/journals.rb} +8 -7
  214. data/lib/xero-ruby/models/{line_amount_types.rb → accounting/line_amount_types.rb} +3 -3
  215. data/lib/xero-ruby/models/{line_item.rb → accounting/line_item.rb} +19 -19
  216. data/lib/xero-ruby/models/{line_item_tracking.rb → accounting/line_item_tracking.rb} +10 -10
  217. data/lib/xero-ruby/models/{linked_transaction.rb → accounting/linked_transaction.rb} +25 -17
  218. data/lib/xero-ruby/models/{linked_transactions.rb → accounting/linked_transactions.rb} +8 -7
  219. data/lib/xero-ruby/models/{manual_journal.rb → accounting/manual_journal.rb} +27 -19
  220. data/lib/xero-ruby/models/{manual_journal_line.rb → accounting/manual_journal_line.rb} +13 -13
  221. data/lib/xero-ruby/models/{manual_journals.rb → accounting/manual_journals.rb} +8 -7
  222. data/lib/xero-ruby/models/{online_invoice.rb → accounting/online_invoice.rb} +7 -7
  223. data/lib/xero-ruby/models/{online_invoices.rb → accounting/online_invoices.rb} +8 -7
  224. data/lib/xero-ruby/models/{organisation.rb → accounting/organisation.rb} +107 -47
  225. data/lib/xero-ruby/models/{organisations.rb → accounting/organisations.rb} +8 -7
  226. data/lib/xero-ruby/models/{overpayment.rb → accounting/overpayment.rb} +33 -22
  227. data/lib/xero-ruby/models/{overpayments.rb → accounting/overpayments.rb} +8 -7
  228. data/lib/xero-ruby/models/{payment.rb → accounting/payment.rb} +55 -26
  229. data/lib/xero-ruby/models/{payment_delete.rb → accounting/payment_delete.rb} +7 -7
  230. data/lib/xero-ruby/models/{payment_service.rb → accounting/payment_service.rb} +12 -12
  231. data/lib/xero-ruby/models/{payment_services.rb → accounting/payment_services.rb} +8 -7
  232. data/lib/xero-ruby/models/{payment_term.rb → accounting/payment_term.rb} +9 -7
  233. data/lib/xero-ruby/models/{payment_term_type.rb → accounting/payment_term_type.rb} +3 -3
  234. data/lib/xero-ruby/models/{payments.rb → accounting/payments.rb} +8 -7
  235. data/lib/xero-ruby/models/{phone.rb → accounting/phone.rb} +16 -10
  236. data/lib/xero-ruby/models/{prepayment.rb → accounting/prepayment.rb} +34 -22
  237. data/lib/xero-ruby/models/{prepayments.rb → accounting/prepayments.rb} +8 -7
  238. data/lib/xero-ruby/models/{purchase.rb → accounting/purchase.rb} +10 -10
  239. data/lib/xero-ruby/models/{purchase_order.rb → accounting/purchase_order.rb} +42 -32
  240. data/lib/xero-ruby/models/{purchase_orders.rb → accounting/purchase_orders.rb} +8 -7
  241. data/lib/xero-ruby/models/{quote.rb → accounting/quote.rb} +54 -28
  242. data/lib/xero-ruby/models/{quote_line_amount_types.rb → accounting/quote_line_amount_types.rb} +3 -3
  243. data/lib/xero-ruby/models/{quote_status_codes.rb → accounting/quote_status_codes.rb} +3 -3
  244. data/lib/xero-ruby/models/{quotes.rb → accounting/quotes.rb} +8 -7
  245. data/lib/xero-ruby/models/{receipt.rb → accounting/receipt.rb} +31 -20
  246. data/lib/xero-ruby/models/{receipts.rb → accounting/receipts.rb} +8 -7
  247. data/lib/xero-ruby/models/{repeating_invoice.rb → accounting/repeating_invoice.rb} +29 -18
  248. data/lib/xero-ruby/models/{repeating_invoices.rb → accounting/repeating_invoices.rb} +8 -7
  249. data/lib/xero-ruby/models/{report.rb → accounting/report.rb} +14 -12
  250. data/lib/xero-ruby/models/{report_attribute.rb → accounting/report_attribute.rb} +9 -7
  251. data/lib/xero-ruby/models/{report_cell.rb → accounting/report_cell.rb} +9 -7
  252. data/lib/xero-ruby/models/{report_fields.rb → accounting/report_fields.rb} +10 -7
  253. data/lib/xero-ruby/models/{report_row.rb → accounting/report_row.rb} +10 -7
  254. data/lib/xero-ruby/models/{report_rows.rb → accounting/report_rows.rb} +11 -7
  255. data/lib/xero-ruby/models/{report_with_row.rb → accounting/report_with_row.rb} +15 -13
  256. data/lib/xero-ruby/models/{report_with_rows.rb → accounting/report_with_rows.rb} +8 -7
  257. data/lib/xero-ruby/models/{reports.rb → accounting/reports.rb} +8 -7
  258. data/lib/xero-ruby/models/{request_empty.rb → accounting/request_empty.rb} +7 -7
  259. data/lib/xero-ruby/models/{row_type.rb → accounting/row_type.rb} +3 -3
  260. data/lib/xero-ruby/models/{sales_tracking_category.rb → accounting/sales_tracking_category.rb} +8 -8
  261. data/lib/xero-ruby/models/{schedule.rb → accounting/schedule.rb} +23 -15
  262. data/lib/xero-ruby/models/{tax_component.rb → accounting/tax_component.rb} +10 -10
  263. data/lib/xero-ruby/models/{tax_rate.rb → accounting/tax_rate.rb} +98 -20
  264. data/lib/xero-ruby/models/{tax_rates.rb → accounting/tax_rates.rb} +8 -7
  265. data/lib/xero-ruby/models/{tax_type.rb → accounting/tax_type.rb} +7 -3
  266. data/lib/xero-ruby/models/{ten_nintey_nine_contact.rb → accounting/ten_nintey_nine_contact.rb} +28 -28
  267. data/lib/xero-ruby/models/{time_zone.rb → accounting/time_zone.rb} +3 -3
  268. data/lib/xero-ruby/models/{tracking_categories.rb → accounting/tracking_categories.rb} +8 -7
  269. data/lib/xero-ruby/models/{tracking_category.rb → accounting/tracking_category.rb} +15 -12
  270. data/lib/xero-ruby/models/{tracking_option.rb → accounting/tracking_option.rb} +13 -10
  271. data/lib/xero-ruby/models/{tracking_options.rb → accounting/tracking_options.rb} +8 -7
  272. data/lib/xero-ruby/models/{user.rb → accounting/user.rb} +20 -13
  273. data/lib/xero-ruby/models/{users.rb → accounting/users.rb} +8 -7
  274. data/lib/xero-ruby/models/{validation_error.rb → accounting/validation_error.rb} +7 -7
  275. data/lib/xero-ruby/models/assets/asset.rb +349 -0
  276. data/lib/xero-ruby/models/assets/asset_status.rb +38 -0
  277. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +38 -0
  278. data/lib/xero-ruby/models/assets/asset_type.rb +274 -0
  279. data/lib/xero-ruby/models/assets/assets.rb +216 -0
  280. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +264 -0
  281. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +343 -0
  282. data/lib/xero-ruby/models/assets/error.rb +248 -0
  283. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +254 -0
  284. data/lib/xero-ruby/models/assets/pagination.rb +234 -0
  285. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +244 -0
  286. data/lib/xero-ruby/models/assets/setting.rb +274 -0
  287. data/lib/xero-ruby/models/projects/amount.rb +214 -0
  288. data/lib/xero-ruby/models/projects/charge_type.rb +38 -0
  289. data/lib/xero-ruby/models/projects/currency_code.rb +199 -0
  290. data/lib/xero-ruby/models/projects/error.rb +214 -0
  291. data/lib/xero-ruby/models/{allocation.rb → projects/pagination.rb} +44 -48
  292. data/lib/xero-ruby/models/projects/project.rb +419 -0
  293. data/lib/xero-ruby/models/projects/project_create_or_update.rb +239 -0
  294. data/lib/xero-ruby/models/projects/project_patch.rb +209 -0
  295. data/lib/xero-ruby/models/projects/project_status.rb +37 -0
  296. data/lib/xero-ruby/models/projects/project_user.rb +224 -0
  297. data/lib/xero-ruby/models/projects/project_users.rb +216 -0
  298. data/lib/xero-ruby/models/projects/projects.rb +216 -0
  299. data/lib/xero-ruby/models/projects/task.rb +381 -0
  300. data/lib/xero-ruby/models/projects/task_create_or_update.rb +249 -0
  301. data/lib/xero-ruby/models/projects/tasks.rb +216 -0
  302. data/lib/xero-ruby/models/projects/time_entries.rb +216 -0
  303. data/lib/xero-ruby/models/projects/time_entry.rb +320 -0
  304. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +264 -0
  305. data/lib/xero-ruby/version.rb +3 -3
  306. data/spec/{api → accounting/api}/accounting_api_spec.rb +44 -20
  307. data/spec/{models → accounting/models}/account_spec.rb +5 -5
  308. data/spec/{models → accounting/models}/account_type_spec.rb +5 -5
  309. data/spec/{models → accounting/models}/accounts_payable_spec.rb +5 -5
  310. data/spec/{models → accounting/models}/accounts_receivable_spec.rb +5 -5
  311. data/spec/{models → accounting/models}/accounts_spec.rb +5 -5
  312. data/spec/{models → accounting/models}/address_spec.rb +5 -5
  313. data/spec/{models → accounting/models}/allocation_spec.rb +5 -5
  314. data/spec/{models → accounting/models}/allocations_spec.rb +5 -5
  315. data/spec/{models → accounting/models}/attachment_spec.rb +5 -5
  316. data/spec/{models → accounting/models}/attachments_spec.rb +5 -5
  317. data/spec/{models → accounting/models}/balances_spec.rb +5 -5
  318. data/spec/{models → accounting/models}/bank_transaction_spec.rb +5 -5
  319. data/spec/{models → accounting/models}/bank_transactions_spec.rb +5 -5
  320. data/spec/{models → accounting/models}/bank_transfer_spec.rb +5 -5
  321. data/spec/{models → accounting/models}/bank_transfers_spec.rb +5 -5
  322. data/spec/{models → accounting/models}/batch_payment_details_spec.rb +5 -5
  323. data/spec/{models → accounting/models}/batch_payment_spec.rb +5 -5
  324. data/spec/{models → accounting/models}/batch_payments_spec.rb +5 -5
  325. data/spec/{models → accounting/models}/bill_spec.rb +5 -5
  326. data/spec/{models → accounting/models}/branding_theme_spec.rb +5 -5
  327. data/spec/{models → accounting/models}/branding_themes_spec.rb +5 -5
  328. data/spec/{models → accounting/models}/cis_org_setting_spec.rb +5 -5
  329. data/spec/{models → accounting/models}/cis_setting_spec.rb +5 -5
  330. data/spec/{models → accounting/models}/cis_settings_spec.rb +5 -5
  331. data/spec/{models → accounting/models}/contact_group_spec.rb +5 -5
  332. data/spec/{models → accounting/models}/contact_groups_spec.rb +5 -5
  333. data/spec/{models → accounting/models}/contact_person_spec.rb +5 -5
  334. data/spec/{models → accounting/models}/contact_spec.rb +5 -5
  335. data/spec/{models → accounting/models}/contacts_spec.rb +5 -5
  336. data/spec/{models → accounting/models}/country_code_spec.rb +5 -5
  337. data/spec/{models → accounting/models}/credit_note_spec.rb +11 -5
  338. data/spec/{models → accounting/models}/credit_notes_spec.rb +5 -5
  339. data/spec/{models → accounting/models}/currencies_spec.rb +5 -5
  340. data/spec/{models → accounting/models}/currency_code_spec.rb +5 -5
  341. data/spec/{models → accounting/models}/currency_spec.rb +5 -5
  342. data/spec/{models → accounting/models}/element_spec.rb +5 -5
  343. data/spec/{models → accounting/models}/employee_spec.rb +5 -5
  344. data/spec/{models → accounting/models}/employees_spec.rb +5 -5
  345. data/spec/{models → accounting/models}/error_spec.rb +5 -5
  346. data/spec/{models → accounting/models}/expense_claim_spec.rb +5 -5
  347. data/spec/{models → accounting/models}/expense_claims_spec.rb +5 -5
  348. data/spec/{models → accounting/models}/external_link_spec.rb +5 -5
  349. data/spec/{models → accounting/models}/history_record_spec.rb +5 -5
  350. data/spec/{models → accounting/models}/history_records_spec.rb +5 -5
  351. data/spec/{models → accounting/models}/invoice_reminder_spec.rb +5 -5
  352. data/spec/{models → accounting/models}/invoice_reminders_spec.rb +5 -5
  353. data/spec/{models → accounting/models}/invoice_spec.rb +6 -6
  354. data/spec/{models → accounting/models}/invoices_spec.rb +5 -5
  355. data/spec/{models → accounting/models}/item_spec.rb +5 -5
  356. data/spec/{models → accounting/models}/items_spec.rb +5 -5
  357. data/spec/{models → accounting/models}/journal_line_spec.rb +5 -5
  358. data/spec/{models → accounting/models}/journal_spec.rb +5 -5
  359. data/spec/{models → accounting/models}/journals_spec.rb +5 -5
  360. data/spec/{models → accounting/models}/line_amount_types_spec.rb +5 -5
  361. data/spec/{models → accounting/models}/line_item_spec.rb +5 -5
  362. data/spec/{models → accounting/models}/line_item_tracking_spec.rb +5 -5
  363. data/spec/{models → accounting/models}/linked_transaction_spec.rb +5 -5
  364. data/spec/{models → accounting/models}/linked_transactions_spec.rb +5 -5
  365. data/spec/{models → accounting/models}/manual_journal_line_spec.rb +5 -5
  366. data/spec/{models → accounting/models}/manual_journal_spec.rb +5 -5
  367. data/spec/{models → accounting/models}/manual_journals_spec.rb +5 -5
  368. data/spec/{models → accounting/models}/online_invoice_spec.rb +5 -5
  369. data/spec/{models → accounting/models}/online_invoices_spec.rb +5 -5
  370. data/spec/{models → accounting/models}/organisation_spec.rb +5 -5
  371. data/spec/{models → accounting/models}/organisations_spec.rb +5 -5
  372. data/spec/{models → accounting/models}/overpayment_spec.rb +5 -5
  373. data/spec/{models → accounting/models}/overpayments_spec.rb +5 -5
  374. data/spec/{models → accounting/models}/payment_delete_spec.rb +5 -5
  375. data/spec/{models → accounting/models}/payment_service_spec.rb +5 -5
  376. data/spec/{models → accounting/models}/payment_services_spec.rb +5 -5
  377. data/spec/{models → accounting/models}/payment_spec.rb +11 -5
  378. data/spec/{models → accounting/models}/payment_term_spec.rb +5 -5
  379. data/spec/{models → accounting/models}/payment_term_type_spec.rb +5 -5
  380. data/spec/{models → accounting/models}/payments_spec.rb +5 -5
  381. data/spec/{models → accounting/models}/phone_spec.rb +5 -5
  382. data/spec/{models → accounting/models}/prepayment_spec.rb +5 -5
  383. data/spec/{models → accounting/models}/prepayments_spec.rb +5 -5
  384. data/spec/{models → accounting/models}/purchase_order_spec.rb +5 -5
  385. data/spec/{models → accounting/models}/purchase_orders_spec.rb +5 -5
  386. data/spec/{models → accounting/models}/purchase_spec.rb +5 -5
  387. data/spec/{models → accounting/models}/quote_line_amount_types_spec.rb +5 -5
  388. data/spec/{models → accounting/models}/quote_spec.rb +5 -5
  389. data/spec/{models → accounting/models}/quote_status_codes_spec.rb +5 -5
  390. data/spec/{models → accounting/models}/quotes_spec.rb +5 -5
  391. data/spec/{models → accounting/models}/receipt_spec.rb +5 -5
  392. data/spec/{models → accounting/models}/receipts_spec.rb +5 -5
  393. data/spec/{models → accounting/models}/repeating_invoice_spec.rb +5 -5
  394. data/spec/{models → accounting/models}/repeating_invoices_spec.rb +5 -5
  395. data/spec/{models → accounting/models}/report_attribute_spec.rb +5 -5
  396. data/spec/{models → accounting/models}/report_cell_spec.rb +5 -5
  397. data/spec/{models → accounting/models}/report_fields_spec.rb +5 -5
  398. data/spec/{models → accounting/models}/report_row_spec.rb +5 -5
  399. data/spec/{models → accounting/models}/report_rows_spec.rb +5 -5
  400. data/spec/{models → accounting/models}/report_spec.rb +5 -5
  401. data/spec/{models → accounting/models}/report_with_row_spec.rb +5 -5
  402. data/spec/{models → accounting/models}/report_with_rows_spec.rb +5 -5
  403. data/spec/{models → accounting/models}/reports_spec.rb +5 -5
  404. data/spec/{models → accounting/models}/request_empty_spec.rb +5 -5
  405. data/spec/{models → accounting/models}/row_type_spec.rb +5 -5
  406. data/spec/{models → accounting/models}/sales_tracking_category_spec.rb +5 -5
  407. data/spec/{models → accounting/models}/schedule_spec.rb +5 -5
  408. data/spec/{models → accounting/models}/tax_component_spec.rb +5 -5
  409. data/spec/{models → accounting/models}/tax_rate_spec.rb +6 -6
  410. data/spec/{models → accounting/models}/tax_rates_spec.rb +5 -5
  411. data/spec/{models → accounting/models}/tax_type_spec.rb +5 -5
  412. data/spec/{models → accounting/models}/ten_nintey_nine_contact_spec.rb +5 -5
  413. data/spec/{models → accounting/models}/time_zone_spec.rb +5 -5
  414. data/spec/{models → accounting/models}/tracking_categories_spec.rb +5 -5
  415. data/spec/{models → accounting/models}/tracking_category_spec.rb +5 -5
  416. data/spec/{models → accounting/models}/tracking_option_spec.rb +5 -5
  417. data/spec/{models → accounting/models}/tracking_options_spec.rb +5 -5
  418. data/spec/{models → accounting/models}/user_spec.rb +5 -5
  419. data/spec/{models → accounting/models}/users_spec.rb +5 -5
  420. data/spec/{models → accounting/models}/validation_error_spec.rb +5 -5
  421. data/spec/api_client_spec.rb +5 -43
  422. data/spec/assets/api/asset_api_spec.rb +116 -0
  423. data/spec/assets/models/asset_spec.rb +125 -0
  424. data/spec/assets/models/asset_status_query_param_spec.rb +35 -0
  425. data/spec/assets/models/asset_status_spec.rb +35 -0
  426. data/spec/assets/models/asset_type_spec.rb +77 -0
  427. data/spec/assets/models/assets_spec.rb +47 -0
  428. data/spec/assets/models/book_depreciation_detail_spec.rb +77 -0
  429. data/spec/assets/models/book_depreciation_setting_spec.rb +95 -0
  430. data/spec/assets/models/error_spec.rb +65 -0
  431. data/spec/assets/models/field_validation_errors_element_spec.rb +71 -0
  432. data/spec/assets/models/pagination_spec.rb +59 -0
  433. data/spec/assets/models/resource_validation_errors_element_spec.rb +65 -0
  434. data/spec/assets/models/setting_spec.rb +83 -0
  435. data/spec/configuration_spec.rb +7 -23
  436. data/spec/projects/api/project_api_spec.rb +229 -0
  437. data/spec/projects/models/amount_spec.rb +47 -0
  438. data/spec/projects/models/charge_type_spec.rb +35 -0
  439. data/spec/projects/models/currency_code_spec.rb +35 -0
  440. data/spec/projects/models/error_spec.rb +47 -0
  441. data/spec/projects/models/pagination_spec.rb +59 -0
  442. data/spec/projects/models/project_create_or_update_spec.rb +59 -0
  443. data/spec/projects/models/project_patch_spec.rb +41 -0
  444. data/spec/projects/models/project_spec.rb +167 -0
  445. data/spec/projects/models/project_status_spec.rb +35 -0
  446. data/spec/projects/models/project_user_spec.rb +53 -0
  447. data/spec/projects/models/project_users_spec.rb +47 -0
  448. data/spec/projects/models/projects_spec.rb +47 -0
  449. data/spec/projects/models/task_create_or_update_spec.rb +59 -0
  450. data/spec/projects/models/task_spec.rb +129 -0
  451. data/spec/projects/models/tasks_spec.rb +47 -0
  452. data/spec/projects/models/time_entries_spec.rb +47 -0
  453. data/spec/projects/models/time_entry_create_or_update_spec.rb +65 -0
  454. data/spec/projects/models/time_entry_spec.rb +93 -0
  455. data/spec/spec_helper.rb +2 -2
  456. data/xero-ruby.gem +0 -0
  457. data/xero-ruby.gemspec +4 -4
  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,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.6
6
+ The version of the OpenAPI document: 2.2.2
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 AccountType
18
18
  BANK = "BANK".freeze
19
19
  CURRENT = "CURRENT".freeze
@@ -3,20 +3,21 @@
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.6
6
+ The version of the OpenAPI document: 2.2.2
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 Accounts
18
- attr_accessor :accounts
19
18
 
19
+ attr_accessor :accounts
20
+
20
21
  # Attribute mapping from ruby-style variable name to JSON key.
21
22
  def self.attribute_map
22
23
  {
@@ -35,13 +36,13 @@ module XeroRuby
35
36
  # @param [Hash] attributes Model attributes in the form of hash
36
37
  def initialize(attributes = {})
37
38
  if (!attributes.is_a?(Hash))
38
- fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounts` initialize method"
39
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::Accounts` initialize method"
39
40
  end
40
41
 
41
42
  # check to see if the attribute exists and convert string to symbol for hash key
42
43
  attributes = attributes.each_with_object({}) { |(k, v), h|
43
44
  if (!self.class.attribute_map.key?(k.to_sym))
44
- fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounts`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
45
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::Accounts`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
45
46
  end
46
47
  h[k.to_sym] = v
47
48
  }
@@ -150,7 +151,7 @@ module XeroRuby
150
151
  end
151
152
  end
152
153
  else # model
153
- XeroRuby.const_get(type).build_from_hash(value)
154
+ XeroRuby::Accounting.const_get(type).build_from_hash(value)
154
155
  end
155
156
  end
156
157
 
@@ -3,22 +3,24 @@
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.6
6
+ The version of the OpenAPI document: 2.2.2
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 AccountsPayable
18
+
18
19
  attr_accessor :outstanding
20
+
19
21
 
20
22
  attr_accessor :overdue
21
-
23
+
22
24
  # Attribute mapping from ruby-style variable name to JSON key.
23
25
  def self.attribute_map
24
26
  {
@@ -39,13 +41,13 @@ module XeroRuby
39
41
  # @param [Hash] attributes Model attributes in the form of hash
40
42
  def initialize(attributes = {})
41
43
  if (!attributes.is_a?(Hash))
42
- fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::AccountsPayable` initialize method"
44
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::AccountsPayable` initialize method"
43
45
  end
44
46
 
45
47
  # check to see if the attribute exists and convert string to symbol for hash key
46
48
  attributes = attributes.each_with_object({}) { |(k, v), h|
47
49
  if (!self.class.attribute_map.key?(k.to_sym))
48
- fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::AccountsPayable`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
50
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::AccountsPayable`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
49
51
  end
50
52
  h[k.to_sym] = v
51
53
  }
@@ -157,7 +159,7 @@ module XeroRuby
157
159
  end
158
160
  end
159
161
  else # model
160
- XeroRuby.const_get(type).build_from_hash(value)
162
+ XeroRuby::Accounting.const_get(type).build_from_hash(value)
161
163
  end
162
164
  end
163
165
 
@@ -3,22 +3,24 @@
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.6
6
+ The version of the OpenAPI document: 2.2.2
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 AccountsReceivable
18
+
18
19
  attr_accessor :outstanding
20
+
19
21
 
20
22
  attr_accessor :overdue
21
-
23
+
22
24
  # Attribute mapping from ruby-style variable name to JSON key.
23
25
  def self.attribute_map
24
26
  {
@@ -39,13 +41,13 @@ module XeroRuby
39
41
  # @param [Hash] attributes Model attributes in the form of hash
40
42
  def initialize(attributes = {})
41
43
  if (!attributes.is_a?(Hash))
42
- fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::AccountsReceivable` initialize method"
44
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::AccountsReceivable` initialize method"
43
45
  end
44
46
 
45
47
  # check to see if the attribute exists and convert string to symbol for hash key
46
48
  attributes = attributes.each_with_object({}) { |(k, v), h|
47
49
  if (!self.class.attribute_map.key?(k.to_sym))
48
- fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::AccountsReceivable`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
50
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::AccountsReceivable`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
49
51
  end
50
52
  h[k.to_sym] = v
51
53
  }
@@ -157,7 +159,7 @@ module XeroRuby
157
159
  end
158
160
  end
159
161
  else # model
160
- XeroRuby.const_get(type).build_from_hash(value)
162
+ XeroRuby::Accounting.const_get(type).build_from_hash(value)
161
163
  end
162
164
  end
163
165
 
@@ -3,48 +3,51 @@
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.6
6
+ The version of the OpenAPI document: 2.2.2
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 Address
18
18
  # define the type of address
19
19
  attr_accessor :address_type
20
-
20
+ POBOX = "POBOX".freeze
21
+ STREET = "STREET".freeze
22
+ DELIVERY = "DELIVERY".freeze
23
+
21
24
  # max length = 500
22
25
  attr_accessor :address_line1
23
-
26
+
24
27
  # max length = 500
25
28
  attr_accessor :address_line2
26
-
29
+
27
30
  # max length = 500
28
31
  attr_accessor :address_line3
29
-
32
+
30
33
  # max length = 500
31
34
  attr_accessor :address_line4
32
-
35
+
33
36
  # max length = 255
34
37
  attr_accessor :city
35
-
38
+
36
39
  # max length = 255
37
40
  attr_accessor :region
38
-
41
+
39
42
  # max length = 50
40
43
  attr_accessor :postal_code
41
-
44
+
42
45
  # max length = 50, [A-Z], [a-z] only
43
46
  attr_accessor :country
44
-
47
+
45
48
  # max length = 255
46
49
  attr_accessor :attention_to
47
-
50
+
48
51
  class EnumAttributeValidator
49
52
  attr_reader :datatype
50
53
  attr_reader :allowable_values
@@ -103,13 +106,13 @@ module XeroRuby
103
106
  # @param [Hash] attributes Model attributes in the form of hash
104
107
  def initialize(attributes = {})
105
108
  if (!attributes.is_a?(Hash))
106
- fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Address` initialize method"
109
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::Address` initialize method"
107
110
  end
108
111
 
109
112
  # check to see if the attribute exists and convert string to symbol for hash key
110
113
  attributes = attributes.each_with_object({}) { |(k, v), h|
111
114
  if (!self.class.attribute_map.key?(k.to_sym))
112
- fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Address`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
115
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::Address`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
113
116
  end
114
117
  h[k.to_sym] = v
115
118
  }
@@ -408,7 +411,7 @@ module XeroRuby
408
411
  end
409
412
  end
410
413
  else # model
411
- XeroRuby.const_get(type).build_from_hash(value)
414
+ XeroRuby::Accounting.const_get(type).build_from_hash(value)
412
415
  end
413
416
  end
414
417
 
@@ -0,0 +1,291 @@
1
+ =begin
2
+ #Accounting API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 2.2.2
7
+ Contact: api@xero.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'time'
14
+ require 'date'
15
+
16
+ module XeroRuby::Accounting
17
+ class Allocation
18
+
19
+ attr_accessor :invoice
20
+
21
+
22
+ attr_accessor :overpayment
23
+
24
+
25
+ attr_accessor :prepayment
26
+
27
+
28
+ attr_accessor :credit_note
29
+
30
+ # the amount being applied to the invoice
31
+ attr_accessor :amount
32
+
33
+ # the date the allocation is applied YYYY-MM-DD.
34
+ attr_accessor :date
35
+
36
+ # A string to indicate if a invoice status
37
+ attr_accessor :status_attribute_string
38
+
39
+ # Displays array of validation error messages from the API
40
+ attr_accessor :validation_errors
41
+
42
+ # Attribute mapping from ruby-style variable name to JSON key.
43
+ def self.attribute_map
44
+ {
45
+ :'invoice' => :'Invoice',
46
+ :'overpayment' => :'Overpayment',
47
+ :'prepayment' => :'Prepayment',
48
+ :'credit_note' => :'CreditNote',
49
+ :'amount' => :'Amount',
50
+ :'date' => :'Date',
51
+ :'status_attribute_string' => :'StatusAttributeString',
52
+ :'validation_errors' => :'ValidationErrors'
53
+ }
54
+ end
55
+
56
+ # Attribute type mapping.
57
+ def self.openapi_types
58
+ {
59
+ :'invoice' => :'Invoice',
60
+ :'overpayment' => :'Overpayment',
61
+ :'prepayment' => :'Prepayment',
62
+ :'credit_note' => :'CreditNote',
63
+ :'amount' => :'Float',
64
+ :'date' => :'Date',
65
+ :'status_attribute_string' => :'String',
66
+ :'validation_errors' => :'Array<ValidationError>'
67
+ }
68
+ end
69
+
70
+ # Initializes the object
71
+ # @param [Hash] attributes Model attributes in the form of hash
72
+ def initialize(attributes = {})
73
+ if (!attributes.is_a?(Hash))
74
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::Allocation` initialize method"
75
+ end
76
+
77
+ # check to see if the attribute exists and convert string to symbol for hash key
78
+ attributes = attributes.each_with_object({}) { |(k, v), h|
79
+ if (!self.class.attribute_map.key?(k.to_sym))
80
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::Allocation`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
81
+ end
82
+ h[k.to_sym] = v
83
+ }
84
+
85
+ if attributes.key?(:'invoice')
86
+ self.invoice = attributes[:'invoice']
87
+ end
88
+
89
+ if attributes.key?(:'overpayment')
90
+ self.overpayment = attributes[:'overpayment']
91
+ end
92
+
93
+ if attributes.key?(:'prepayment')
94
+ self.prepayment = attributes[:'prepayment']
95
+ end
96
+
97
+ if attributes.key?(:'credit_note')
98
+ self.credit_note = attributes[:'credit_note']
99
+ end
100
+
101
+ if attributes.key?(:'amount')
102
+ self.amount = attributes[:'amount']
103
+ end
104
+
105
+ if attributes.key?(:'date')
106
+ self.date = attributes[:'date']
107
+ end
108
+
109
+ if attributes.key?(:'status_attribute_string')
110
+ self.status_attribute_string = attributes[:'status_attribute_string']
111
+ end
112
+
113
+ if attributes.key?(:'validation_errors')
114
+ if (value = attributes[:'validation_errors']).is_a?(Array)
115
+ self.validation_errors = value
116
+ end
117
+ end
118
+ end
119
+
120
+ # Show invalid properties with the reasons. Usually used together with valid?
121
+ # @return Array for valid properties with the reasons
122
+ def list_invalid_properties
123
+ invalid_properties = Array.new
124
+ if @invoice.nil?
125
+ invalid_properties.push('invalid value for "invoice", invoice cannot be nil.')
126
+ end
127
+
128
+ if @amount.nil?
129
+ invalid_properties.push('invalid value for "amount", amount cannot be nil.')
130
+ end
131
+
132
+ if @date.nil?
133
+ invalid_properties.push('invalid value for "date", date cannot be nil.')
134
+ end
135
+
136
+ invalid_properties
137
+ end
138
+
139
+ # Check to see if the all the properties in the model are valid
140
+ # @return true if the model is valid
141
+ def valid?
142
+ return false if @invoice.nil?
143
+ return false if @amount.nil?
144
+ return false if @date.nil?
145
+ true
146
+ end
147
+
148
+ # Checks equality by comparing each attribute.
149
+ # @param [Object] Object to be compared
150
+ def ==(o)
151
+ return true if self.equal?(o)
152
+ self.class == o.class &&
153
+ invoice == o.invoice &&
154
+ overpayment == o.overpayment &&
155
+ prepayment == o.prepayment &&
156
+ credit_note == o.credit_note &&
157
+ amount == o.amount &&
158
+ date == o.date &&
159
+ status_attribute_string == o.status_attribute_string &&
160
+ validation_errors == o.validation_errors
161
+ end
162
+
163
+ # @see the `==` method
164
+ # @param [Object] Object to be compared
165
+ def eql?(o)
166
+ self == o
167
+ end
168
+
169
+ # Calculates hash code according to all attributes.
170
+ # @return [Integer] Hash code
171
+ def hash
172
+ [invoice, overpayment, prepayment, credit_note, amount, date, status_attribute_string, validation_errors].hash
173
+ end
174
+
175
+ # Builds the object from hash
176
+ # @param [Hash] attributes Model attributes in the form of hash
177
+ # @return [Object] Returns the model itself
178
+ def self.build_from_hash(attributes)
179
+ new.build_from_hash(attributes)
180
+ end
181
+
182
+ # Builds the object from hash
183
+ # @param [Hash] attributes Model attributes in the form of hash
184
+ # @return [Object] Returns the model itself
185
+ def build_from_hash(attributes)
186
+ return nil unless attributes.is_a?(Hash)
187
+ self.class.openapi_types.each_pair do |key, type|
188
+ if type =~ /\AArray<(.*)>/i
189
+ # check to ensure the input is an array given that the attribute
190
+ # is documented as an array but the input is not
191
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
192
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
193
+ end
194
+ elsif !attributes[self.class.attribute_map[key]].nil?
195
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
196
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
197
+ end
198
+
199
+ self
200
+ end
201
+
202
+ # Deserializes the data based on type
203
+ # @param string type Data type
204
+ # @param string value Value to be deserialized
205
+ # @return [Object] Deserialized data
206
+ def _deserialize(type, value)
207
+ case type.to_sym
208
+ when :DateTime
209
+ DateTime.parse(parse_date(value))
210
+ when :Date
211
+ Date.parse(parse_date(value))
212
+ when :String
213
+ value.to_s
214
+ when :Integer
215
+ value.to_i
216
+ when :Float
217
+ value.to_f
218
+ when :Boolean
219
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
220
+ true
221
+ else
222
+ false
223
+ end
224
+ when :Object
225
+ # generic object (usually a Hash), return directly
226
+ value
227
+ when /\AArray<(?<inner_type>.+)>\z/
228
+ inner_type = Regexp.last_match[:inner_type]
229
+ value.map { |v| _deserialize(inner_type, v) }
230
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
231
+ k_type = Regexp.last_match[:k_type]
232
+ v_type = Regexp.last_match[:v_type]
233
+ {}.tap do |hash|
234
+ value.each do |k, v|
235
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
236
+ end
237
+ end
238
+ else # model
239
+ XeroRuby::Accounting.const_get(type).build_from_hash(value)
240
+ end
241
+ end
242
+
243
+ # Returns the string representation of the object
244
+ # @return [String] String presentation of the object
245
+ def to_s
246
+ to_hash.to_s
247
+ end
248
+
249
+ # to_body is an alias to to_hash (backward compatibility)
250
+ # @return [Hash] Returns the object in the form of hash
251
+ def to_body
252
+ to_hash
253
+ end
254
+
255
+ # Returns the object in the form of hash
256
+ # @return [Hash] Returns the object in the form of hash
257
+ def to_hash
258
+ hash = {}
259
+ self.class.attribute_map.each_pair do |attr, param|
260
+ value = self.send(attr)
261
+ next if value.nil?
262
+ hash[param] = _to_hash(value)
263
+ end
264
+ hash
265
+ end
266
+
267
+ # Outputs non-array value in the form of hash
268
+ # For object, use to_hash. Otherwise, just return the value
269
+ # @param [Object] value Any valid value
270
+ # @return [Hash] Returns the value in the form of hash
271
+ def _to_hash(value)
272
+ if value.is_a?(Array)
273
+ value.compact.map { |v| _to_hash(v) }
274
+ elsif value.is_a?(Hash)
275
+ {}.tap do |hash|
276
+ value.each { |k, v| hash[k] = _to_hash(v) }
277
+ end
278
+ elsif value.respond_to? :to_hash
279
+ value.to_hash
280
+ else
281
+ value
282
+ end
283
+ end
284
+
285
+ # customized data_parser
286
+ def parse_date(datestring)
287
+ seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
288
+ return Time.at(seconds_since_epoch).to_s
289
+ end
290
+ end
291
+ end