xero-ruby 1.0 → 2.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (343) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +43 -3
  3. data/build_notes.md +21 -0
  4. data/docs/accounting/AccountingApi.md +1514 -722
  5. data/docs/accounting/Allocation.md +11 -1
  6. data/docs/accounting/BankTransfer.md +1 -1
  7. data/docs/accounting/BatchPayment.md +1 -1
  8. data/docs/accounting/Contact.md +2 -2
  9. data/docs/accounting/CreditNote.md +2 -2
  10. data/docs/accounting/Invoice.md +2 -2
  11. data/docs/accounting/Journal.md +1 -1
  12. data/docs/accounting/ManualJournalLine.md +2 -0
  13. data/docs/accounting/Organisation.md +3 -1
  14. data/docs/accounting/Payment.md +6 -4
  15. data/docs/accounting/Quote.md +5 -1
  16. data/docs/accounting/Report.md +1 -1
  17. data/docs/accounting/{TenNinteyNineContact.md → TenNinetyNineContact.md} +2 -2
  18. data/docs/assets/AssetApi.md +40 -16
  19. data/docs/assets/AssetType.md +1 -1
  20. data/docs/projects/Amount.md +19 -0
  21. data/docs/projects/ChargeType.md +16 -0
  22. data/docs/projects/CurrencyCode.md +16 -0
  23. data/docs/projects/Error.md +19 -0
  24. data/docs/projects/Pagination.md +23 -0
  25. data/docs/projects/Project.md +59 -0
  26. data/docs/projects/ProjectApi.md +979 -0
  27. data/docs/projects/ProjectCreateOrUpdate.md +23 -0
  28. data/docs/projects/ProjectPatch.md +17 -0
  29. data/docs/projects/ProjectStatus.md +16 -0
  30. data/docs/projects/ProjectUser.md +21 -0
  31. data/docs/projects/ProjectUsers.md +19 -0
  32. data/docs/projects/Projects.md +19 -0
  33. data/docs/projects/Task.md +45 -0
  34. data/docs/projects/TaskCreateOrUpdate.md +23 -0
  35. data/docs/projects/Tasks.md +19 -0
  36. data/docs/projects/TimeEntries.md +19 -0
  37. data/docs/projects/TimeEntry.md +33 -0
  38. data/docs/projects/TimeEntryCreateOrUpdate.md +25 -0
  39. data/lib/xero-ruby.rb +22 -3
  40. data/lib/xero-ruby/api/accounting_api.rb +85 -9
  41. data/lib/xero-ruby/api/asset_api.rb +3 -3
  42. data/lib/xero-ruby/api/project_api.rb +1035 -0
  43. data/lib/xero-ruby/api_client.rb +103 -37
  44. data/lib/xero-ruby/api_error.rb +2 -2
  45. data/lib/xero-ruby/configuration.rb +4 -5
  46. data/lib/xero-ruby/models/accounting/account.rb +61 -20
  47. data/lib/xero-ruby/models/accounting/account_type.rb +2 -2
  48. data/lib/xero-ruby/models/accounting/accounts.rb +8 -3
  49. data/lib/xero-ruby/models/accounting/accounts_payable.rb +11 -5
  50. data/lib/xero-ruby/models/accounting/accounts_receivable.rb +11 -5
  51. data/lib/xero-ruby/models/accounting/address.rb +19 -12
  52. data/lib/xero-ruby/models/accounting/allocation.rb +66 -9
  53. data/lib/xero-ruby/models/accounting/allocations.rb +8 -3
  54. data/lib/xero-ruby/models/accounting/attachment.rb +12 -8
  55. data/lib/xero-ruby/models/accounting/attachments.rb +8 -3
  56. data/lib/xero-ruby/models/accounting/balances.rb +9 -3
  57. data/lib/xero-ruby/models/accounting/bank_transaction.rb +43 -24
  58. data/lib/xero-ruby/models/accounting/bank_transactions.rb +8 -3
  59. data/lib/xero-ruby/models/accounting/bank_transfer.rb +20 -14
  60. data/lib/xero-ruby/models/accounting/bank_transfers.rb +8 -3
  61. data/lib/xero-ruby/models/accounting/batch_payment.rb +29 -19
  62. data/lib/xero-ruby/models/accounting/batch_payment_details.rb +11 -7
  63. data/lib/xero-ruby/models/accounting/batch_payments.rb +8 -3
  64. data/lib/xero-ruby/models/accounting/bill.rb +8 -3
  65. data/lib/xero-ruby/models/accounting/branding_theme.rb +13 -8
  66. data/lib/xero-ruby/models/accounting/branding_themes.rb +8 -3
  67. data/lib/xero-ruby/models/accounting/cis_org_setting.rb +9 -5
  68. data/lib/xero-ruby/models/accounting/cis_setting.rb +8 -4
  69. data/lib/xero-ruby/models/accounting/cis_settings.rb +8 -3
  70. data/lib/xero-ruby/models/accounting/contact.rb +51 -37
  71. data/lib/xero-ruby/models/accounting/contact_group.rb +12 -6
  72. data/lib/xero-ruby/models/accounting/contact_groups.rb +8 -3
  73. data/lib/xero-ruby/models/accounting/contact_person.rb +10 -6
  74. data/lib/xero-ruby/models/accounting/contacts.rb +8 -3
  75. data/lib/xero-ruby/models/accounting/country_code.rb +2 -2
  76. data/lib/xero-ruby/models/accounting/credit_note.rb +47 -30
  77. data/lib/xero-ruby/models/accounting/credit_notes.rb +8 -3
  78. data/lib/xero-ruby/models/accounting/currencies.rb +8 -3
  79. data/lib/xero-ruby/models/accounting/currency.rb +9 -4
  80. data/lib/xero-ruby/models/accounting/currency_code.rb +4 -4
  81. data/lib/xero-ruby/models/accounting/element.rb +14 -4
  82. data/lib/xero-ruby/models/accounting/employee.rb +17 -8
  83. data/lib/xero-ruby/models/accounting/employees.rb +8 -3
  84. data/lib/xero-ruby/models/accounting/error.rb +10 -6
  85. data/lib/xero-ruby/models/accounting/expense_claim.rb +26 -15
  86. data/lib/xero-ruby/models/accounting/expense_claims.rb +8 -3
  87. data/lib/xero-ruby/models/accounting/external_link.rb +14 -4
  88. data/lib/xero-ruby/models/accounting/history_record.rb +10 -6
  89. data/lib/xero-ruby/models/accounting/history_records.rb +8 -3
  90. data/lib/xero-ruby/models/accounting/invoice.rb +69 -46
  91. data/lib/xero-ruby/models/accounting/invoice_reminder.rb +7 -3
  92. data/lib/xero-ruby/models/accounting/invoice_reminders.rb +8 -3
  93. data/lib/xero-ruby/models/accounting/invoices.rb +8 -3
  94. data/lib/xero-ruby/models/accounting/item.rb +24 -18
  95. data/lib/xero-ruby/models/accounting/items.rb +8 -3
  96. data/lib/xero-ruby/models/accounting/journal.rb +40 -11
  97. data/lib/xero-ruby/models/accounting/journal_line.rb +21 -16
  98. data/lib/xero-ruby/models/accounting/journals.rb +8 -3
  99. data/lib/xero-ruby/models/accounting/line_amount_types.rb +2 -2
  100. data/lib/xero-ruby/models/accounting/line_item.rb +25 -21
  101. data/lib/xero-ruby/models/accounting/line_item_tracking.rb +10 -6
  102. data/lib/xero-ruby/models/accounting/linked_transaction.rb +25 -13
  103. data/lib/xero-ruby/models/accounting/linked_transactions.rb +8 -3
  104. data/lib/xero-ruby/models/accounting/manual_journal.rb +25 -15
  105. data/lib/xero-ruby/models/accounting/manual_journal_line.rb +26 -12
  106. data/lib/xero-ruby/models/accounting/manual_journals.rb +8 -3
  107. data/lib/xero-ruby/models/accounting/online_invoice.rb +7 -3
  108. data/lib/xero-ruby/models/accounting/online_invoices.rb +8 -3
  109. data/lib/xero-ruby/models/accounting/organisation.rb +122 -32
  110. data/lib/xero-ruby/models/accounting/organisations.rb +8 -3
  111. data/lib/xero-ruby/models/accounting/overpayment.rb +36 -23
  112. data/lib/xero-ruby/models/accounting/overpayments.rb +8 -3
  113. data/lib/xero-ruby/models/accounting/payment.rb +57 -24
  114. data/lib/xero-ruby/models/accounting/payment_delete.rb +7 -3
  115. data/lib/xero-ruby/models/accounting/payment_service.rb +12 -8
  116. data/lib/xero-ruby/models/accounting/payment_services.rb +8 -3
  117. data/lib/xero-ruby/models/accounting/payment_term.rb +9 -3
  118. data/lib/xero-ruby/models/accounting/payment_term_type.rb +2 -2
  119. data/lib/xero-ruby/models/accounting/payments.rb +8 -3
  120. data/lib/xero-ruby/models/accounting/phone.rb +16 -6
  121. data/lib/xero-ruby/models/accounting/prepayment.rb +37 -23
  122. data/lib/xero-ruby/models/accounting/prepayments.rb +8 -3
  123. data/lib/xero-ruby/models/accounting/purchase.rb +11 -7
  124. data/lib/xero-ruby/models/accounting/purchase_order.rb +45 -33
  125. data/lib/xero-ruby/models/accounting/purchase_orders.rb +8 -3
  126. data/lib/xero-ruby/models/accounting/quote.rb +58 -28
  127. data/lib/xero-ruby/models/accounting/quote_line_amount_types.rb +2 -2
  128. data/lib/xero-ruby/models/accounting/quote_status_codes.rb +3 -2
  129. data/lib/xero-ruby/models/accounting/quotes.rb +8 -3
  130. data/lib/xero-ruby/models/accounting/receipt.rb +32 -19
  131. data/lib/xero-ruby/models/accounting/receipts.rb +8 -3
  132. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +30 -17
  133. data/lib/xero-ruby/models/accounting/repeating_invoices.rb +8 -3
  134. data/lib/xero-ruby/models/accounting/report.rb +15 -9
  135. data/lib/xero-ruby/models/accounting/report_attribute.rb +9 -3
  136. data/lib/xero-ruby/models/accounting/report_cell.rb +9 -3
  137. data/lib/xero-ruby/models/accounting/report_fields.rb +10 -3
  138. data/lib/xero-ruby/models/accounting/report_row.rb +10 -3
  139. data/lib/xero-ruby/models/accounting/report_rows.rb +11 -3
  140. data/lib/xero-ruby/models/accounting/report_with_row.rb +15 -9
  141. data/lib/xero-ruby/models/accounting/report_with_rows.rb +8 -3
  142. data/lib/xero-ruby/models/accounting/reports.rb +8 -3
  143. data/lib/xero-ruby/models/accounting/request_empty.rb +7 -3
  144. data/lib/xero-ruby/models/accounting/row_type.rb +2 -2
  145. data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +8 -4
  146. data/lib/xero-ruby/models/accounting/schedule.rb +23 -11
  147. data/lib/xero-ruby/models/accounting/tax_component.rb +11 -7
  148. data/lib/xero-ruby/models/accounting/tax_rate.rb +100 -18
  149. data/lib/xero-ruby/models/accounting/tax_rates.rb +8 -3
  150. data/lib/xero-ruby/models/accounting/tax_type.rb +6 -2
  151. data/lib/xero-ruby/models/accounting/{ten_nintey_nine_contact.rb → ten_ninety_nine_contact.rb} +44 -40
  152. data/lib/xero-ruby/models/accounting/time_zone.rb +2 -2
  153. data/lib/xero-ruby/models/accounting/tracking_categories.rb +8 -3
  154. data/lib/xero-ruby/models/accounting/tracking_category.rb +15 -8
  155. data/lib/xero-ruby/models/accounting/tracking_option.rb +13 -6
  156. data/lib/xero-ruby/models/accounting/tracking_options.rb +8 -3
  157. data/lib/xero-ruby/models/accounting/user.rb +20 -9
  158. data/lib/xero-ruby/models/accounting/users.rb +8 -3
  159. data/lib/xero-ruby/models/accounting/validation_error.rb +7 -3
  160. data/lib/xero-ruby/models/assets/asset.rb +24 -17
  161. data/lib/xero-ruby/models/assets/asset_status.rb +2 -2
  162. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +2 -2
  163. data/lib/xero-ruby/models/assets/asset_type.rb +13 -13
  164. data/lib/xero-ruby/models/assets/assets.rb +9 -3
  165. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +19 -15
  166. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +26 -11
  167. data/lib/xero-ruby/models/assets/error.rb +11 -7
  168. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +12 -8
  169. data/lib/xero-ruby/models/assets/pagination.rb +11 -3
  170. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +11 -7
  171. data/lib/xero-ruby/models/assets/setting.rb +14 -10
  172. data/lib/xero-ruby/models/projects/amount.rb +218 -0
  173. data/lib/xero-ruby/models/projects/charge_type.rb +38 -0
  174. data/lib/xero-ruby/models/projects/currency_code.rb +199 -0
  175. data/lib/xero-ruby/models/projects/error.rb +218 -0
  176. data/lib/xero-ruby/models/projects/pagination.rb +238 -0
  177. data/lib/xero-ruby/models/projects/project.rb +423 -0
  178. data/lib/xero-ruby/models/projects/project_create_or_update.rb +243 -0
  179. data/lib/xero-ruby/models/projects/project_patch.rb +213 -0
  180. data/lib/xero-ruby/models/projects/project_status.rb +37 -0
  181. data/lib/xero-ruby/models/projects/project_user.rb +228 -0
  182. data/lib/xero-ruby/models/projects/project_users.rb +220 -0
  183. data/lib/xero-ruby/models/projects/projects.rb +220 -0
  184. data/lib/xero-ruby/models/projects/task.rb +385 -0
  185. data/lib/xero-ruby/models/projects/task_create_or_update.rb +253 -0
  186. data/lib/xero-ruby/models/projects/tasks.rb +220 -0
  187. data/lib/xero-ruby/models/projects/time_entries.rb +220 -0
  188. data/lib/xero-ruby/models/projects/time_entry.rb +324 -0
  189. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +268 -0
  190. data/lib/xero-ruby/version.rb +3 -3
  191. data/spec/accounting/api/accounting_api_spec.rb +19 -6
  192. data/spec/accounting/models/account_spec.rb +1 -1
  193. data/spec/accounting/models/account_type_spec.rb +1 -1
  194. data/spec/accounting/models/accounts_payable_spec.rb +1 -1
  195. data/spec/accounting/models/accounts_receivable_spec.rb +1 -1
  196. data/spec/accounting/models/accounts_spec.rb +1 -1
  197. data/spec/accounting/models/address_spec.rb +1 -1
  198. data/spec/accounting/models/allocation_spec.rb +1 -1
  199. data/spec/accounting/models/allocations_spec.rb +1 -1
  200. data/spec/accounting/models/attachment_spec.rb +1 -1
  201. data/spec/accounting/models/attachments_spec.rb +1 -1
  202. data/spec/accounting/models/balances_spec.rb +1 -1
  203. data/spec/accounting/models/bank_transaction_spec.rb +1 -1
  204. data/spec/accounting/models/bank_transactions_spec.rb +1 -1
  205. data/spec/accounting/models/bank_transfer_spec.rb +1 -1
  206. data/spec/accounting/models/bank_transfers_spec.rb +1 -1
  207. data/spec/accounting/models/batch_payment_details_spec.rb +1 -1
  208. data/spec/accounting/models/batch_payment_spec.rb +1 -1
  209. data/spec/accounting/models/batch_payments_spec.rb +1 -1
  210. data/spec/accounting/models/bill_spec.rb +1 -1
  211. data/spec/accounting/models/branding_theme_spec.rb +1 -1
  212. data/spec/accounting/models/branding_themes_spec.rb +1 -1
  213. data/spec/accounting/models/cis_org_setting_spec.rb +1 -1
  214. data/spec/accounting/models/cis_setting_spec.rb +1 -1
  215. data/spec/accounting/models/cis_settings_spec.rb +1 -1
  216. data/spec/accounting/models/contact_group_spec.rb +1 -1
  217. data/spec/accounting/models/contact_groups_spec.rb +1 -1
  218. data/spec/accounting/models/contact_person_spec.rb +1 -1
  219. data/spec/accounting/models/contact_spec.rb +1 -1
  220. data/spec/accounting/models/contacts_spec.rb +1 -1
  221. data/spec/accounting/models/country_code_spec.rb +1 -1
  222. data/spec/accounting/models/credit_note_spec.rb +1 -1
  223. data/spec/accounting/models/credit_notes_spec.rb +1 -1
  224. data/spec/accounting/models/currencies_spec.rb +1 -1
  225. data/spec/accounting/models/currency_code_spec.rb +1 -1
  226. data/spec/accounting/models/currency_spec.rb +1 -1
  227. data/spec/accounting/models/element_spec.rb +1 -1
  228. data/spec/accounting/models/employee_spec.rb +1 -1
  229. data/spec/accounting/models/employees_spec.rb +1 -1
  230. data/spec/accounting/models/error_spec.rb +1 -1
  231. data/spec/accounting/models/expense_claim_spec.rb +1 -1
  232. data/spec/accounting/models/expense_claims_spec.rb +1 -1
  233. data/spec/accounting/models/external_link_spec.rb +1 -1
  234. data/spec/accounting/models/history_record_spec.rb +1 -1
  235. data/spec/accounting/models/history_records_spec.rb +1 -1
  236. data/spec/accounting/models/invoice_reminder_spec.rb +1 -1
  237. data/spec/accounting/models/invoice_reminders_spec.rb +1 -1
  238. data/spec/accounting/models/invoice_spec.rb +1 -1
  239. data/spec/accounting/models/invoices_spec.rb +1 -1
  240. data/spec/accounting/models/item_spec.rb +1 -1
  241. data/spec/accounting/models/items_spec.rb +1 -1
  242. data/spec/accounting/models/journal_line_spec.rb +1 -1
  243. data/spec/accounting/models/journal_spec.rb +1 -1
  244. data/spec/accounting/models/journals_spec.rb +1 -1
  245. data/spec/accounting/models/line_amount_types_spec.rb +1 -1
  246. data/spec/accounting/models/line_item_spec.rb +1 -1
  247. data/spec/accounting/models/line_item_tracking_spec.rb +1 -1
  248. data/spec/accounting/models/linked_transaction_spec.rb +1 -1
  249. data/spec/accounting/models/linked_transactions_spec.rb +1 -1
  250. data/spec/accounting/models/manual_journal_line_spec.rb +1 -1
  251. data/spec/accounting/models/manual_journal_spec.rb +1 -1
  252. data/spec/accounting/models/manual_journals_spec.rb +1 -1
  253. data/spec/accounting/models/online_invoice_spec.rb +1 -1
  254. data/spec/accounting/models/online_invoices_spec.rb +1 -1
  255. data/spec/accounting/models/organisation_spec.rb +1 -1
  256. data/spec/accounting/models/organisations_spec.rb +1 -1
  257. data/spec/accounting/models/overpayment_spec.rb +1 -1
  258. data/spec/accounting/models/overpayments_spec.rb +1 -1
  259. data/spec/accounting/models/payment_delete_spec.rb +1 -1
  260. data/spec/accounting/models/payment_service_spec.rb +1 -1
  261. data/spec/accounting/models/payment_services_spec.rb +1 -1
  262. data/spec/accounting/models/payment_spec.rb +7 -1
  263. data/spec/accounting/models/payment_term_spec.rb +1 -1
  264. data/spec/accounting/models/payment_term_type_spec.rb +1 -1
  265. data/spec/accounting/models/payments_spec.rb +1 -1
  266. data/spec/accounting/models/phone_spec.rb +1 -1
  267. data/spec/accounting/models/prepayment_spec.rb +1 -1
  268. data/spec/accounting/models/prepayments_spec.rb +1 -1
  269. data/spec/accounting/models/purchase_order_spec.rb +1 -1
  270. data/spec/accounting/models/purchase_orders_spec.rb +1 -1
  271. data/spec/accounting/models/purchase_spec.rb +1 -1
  272. data/spec/accounting/models/quote_line_amount_types_spec.rb +1 -1
  273. data/spec/accounting/models/quote_spec.rb +1 -1
  274. data/spec/accounting/models/quote_status_codes_spec.rb +1 -1
  275. data/spec/accounting/models/quotes_spec.rb +1 -1
  276. data/spec/accounting/models/receipt_spec.rb +1 -1
  277. data/spec/accounting/models/receipts_spec.rb +1 -1
  278. data/spec/accounting/models/repeating_invoice_spec.rb +1 -1
  279. data/spec/accounting/models/repeating_invoices_spec.rb +1 -1
  280. data/spec/accounting/models/report_attribute_spec.rb +1 -1
  281. data/spec/accounting/models/report_cell_spec.rb +1 -1
  282. data/spec/accounting/models/report_fields_spec.rb +1 -1
  283. data/spec/accounting/models/report_row_spec.rb +1 -1
  284. data/spec/accounting/models/report_rows_spec.rb +1 -1
  285. data/spec/accounting/models/report_spec.rb +1 -1
  286. data/spec/accounting/models/report_with_row_spec.rb +1 -1
  287. data/spec/accounting/models/report_with_rows_spec.rb +1 -1
  288. data/spec/accounting/models/reports_spec.rb +1 -1
  289. data/spec/accounting/models/request_empty_spec.rb +1 -1
  290. data/spec/accounting/models/row_type_spec.rb +1 -1
  291. data/spec/accounting/models/sales_tracking_category_spec.rb +1 -1
  292. data/spec/accounting/models/schedule_spec.rb +1 -1
  293. data/spec/accounting/models/tax_component_spec.rb +1 -1
  294. data/spec/accounting/models/tax_rate_spec.rb +2 -2
  295. data/spec/accounting/models/tax_rates_spec.rb +1 -1
  296. data/spec/accounting/models/tax_type_spec.rb +1 -1
  297. data/spec/accounting/models/ten_nintey_nine_contact_spec.rb +7 -7
  298. data/spec/accounting/models/time_zone_spec.rb +1 -1
  299. data/spec/accounting/models/tracking_categories_spec.rb +1 -1
  300. data/spec/accounting/models/tracking_category_spec.rb +1 -1
  301. data/spec/accounting/models/tracking_option_spec.rb +1 -1
  302. data/spec/accounting/models/tracking_options_spec.rb +1 -1
  303. data/spec/accounting/models/user_spec.rb +1 -1
  304. data/spec/accounting/models/users_spec.rb +1 -1
  305. data/spec/accounting/models/validation_error_spec.rb +1 -1
  306. data/spec/api_client_spec.rb +120 -33
  307. data/spec/assets/api/asset_api_spec.rb +4 -4
  308. data/spec/assets/models/asset_spec.rb +1 -1
  309. data/spec/assets/models/asset_status_query_param_spec.rb +1 -1
  310. data/spec/assets/models/asset_status_spec.rb +1 -1
  311. data/spec/assets/models/asset_type_spec.rb +1 -1
  312. data/spec/assets/models/assets_spec.rb +1 -1
  313. data/spec/assets/models/book_depreciation_detail_spec.rb +1 -1
  314. data/spec/assets/models/book_depreciation_setting_spec.rb +1 -1
  315. data/spec/assets/models/error_spec.rb +1 -1
  316. data/spec/assets/models/field_validation_errors_element_spec.rb +1 -1
  317. data/spec/assets/models/pagination_spec.rb +1 -1
  318. data/spec/assets/models/resource_validation_errors_element_spec.rb +1 -1
  319. data/spec/assets/models/setting_spec.rb +1 -1
  320. data/spec/configuration_spec.rb +8 -24
  321. data/spec/projects/api/project_api_spec.rb +229 -0
  322. data/spec/projects/models/amount_spec.rb +47 -0
  323. data/spec/projects/models/charge_type_spec.rb +35 -0
  324. data/spec/projects/models/currency_code_spec.rb +35 -0
  325. data/spec/projects/models/error_spec.rb +47 -0
  326. data/spec/projects/models/pagination_spec.rb +59 -0
  327. data/spec/projects/models/project_create_or_update_spec.rb +59 -0
  328. data/spec/projects/models/project_patch_spec.rb +41 -0
  329. data/spec/projects/models/project_spec.rb +167 -0
  330. data/spec/projects/models/project_status_spec.rb +35 -0
  331. data/spec/projects/models/project_user_spec.rb +53 -0
  332. data/spec/projects/models/project_users_spec.rb +47 -0
  333. data/spec/projects/models/projects_spec.rb +47 -0
  334. data/spec/projects/models/task_create_or_update_spec.rb +59 -0
  335. data/spec/projects/models/task_spec.rb +129 -0
  336. data/spec/projects/models/tasks_spec.rb +47 -0
  337. data/spec/projects/models/time_entries_spec.rb +47 -0
  338. data/spec/projects/models/time_entry_create_or_update_spec.rb +65 -0
  339. data/spec/projects/models/time_entry_spec.rb +93 -0
  340. data/spec/spec_helper.rb +1 -1
  341. data/xero-ruby.gemspec +3 -4
  342. metadata +85 -9
  343. data/xero-ruby.gem +0 -0
@@ -3,10 +3,10 @@
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.1.0
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.3.0
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
@@ -14,9 +14,12 @@ require 'time'
14
14
  require 'date'
15
15
 
16
16
  module XeroRuby::Accounting
17
+ require 'bigdecimal'
18
+
17
19
  class Items
18
- attr_accessor :items
19
20
 
21
+ attr_accessor :items
22
+
20
23
  # Attribute mapping from ruby-style variable name to JSON key.
21
24
  def self.attribute_map
22
25
  {
@@ -129,6 +132,8 @@ module XeroRuby::Accounting
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
@@ -3,10 +3,10 @@
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.1.0
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.3.0
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
@@ -14,31 +14,58 @@ require 'time'
14
14
  require 'date'
15
15
 
16
16
  module XeroRuby::Accounting
17
+ require 'bigdecimal'
18
+
17
19
  class Journal
18
20
  # Xero identifier
19
21
  attr_accessor :journal_id
20
-
22
+
21
23
  # Date the journal was posted
22
24
  attr_accessor :journal_date
23
-
25
+
24
26
  # Xero generated journal number
25
27
  attr_accessor :journal_number
26
-
28
+
27
29
  # Created date UTC format
28
30
  attr_accessor :created_date_utc
29
-
31
+
30
32
  # reference field for additional indetifying information
31
33
  attr_accessor :reference
32
-
34
+
33
35
  # The identifier for the source transaction (e.g. InvoiceID)
34
36
  attr_accessor :source_id
35
-
37
+
36
38
  # The journal source type. The type of transaction that created the journal
37
39
  attr_accessor :source_type
38
-
40
+ ACCREC = "ACCREC".freeze
41
+ ACCPAY = "ACCPAY".freeze
42
+ ACCRECCREDIT = "ACCRECCREDIT".freeze
43
+ ACCPAYCREDIT = "ACCPAYCREDIT".freeze
44
+ ACCRECPAYMENT = "ACCRECPAYMENT".freeze
45
+ ACCPAYPAYMENT = "ACCPAYPAYMENT".freeze
46
+ ARCREDITPAYMENT = "ARCREDITPAYMENT".freeze
47
+ APCREDITPAYMENT = "APCREDITPAYMENT".freeze
48
+ CASHREC = "CASHREC".freeze
49
+ CASHPAID = "CASHPAID".freeze
50
+ TRANSFER = "TRANSFER".freeze
51
+ ARPREPAYMENT = "ARPREPAYMENT".freeze
52
+ APPREPAYMENT = "APPREPAYMENT".freeze
53
+ AROVERPAYMENT = "AROVERPAYMENT".freeze
54
+ APOVERPAYMENT = "APOVERPAYMENT".freeze
55
+ EXPCLAIM = "EXPCLAIM".freeze
56
+ EXPPAYMENT = "EXPPAYMENT".freeze
57
+ MANJOURNAL = "MANJOURNAL".freeze
58
+ PAYSLIP = "PAYSLIP".freeze
59
+ WAGEPAYABLE = "WAGEPAYABLE".freeze
60
+ INTEGRATEDPAYROLLPE = "INTEGRATEDPAYROLLPE".freeze
61
+ INTEGRATEDPAYROLLPT = "INTEGRATEDPAYROLLPT".freeze
62
+ EXTERNALSPENDMONEY = "EXTERNALSPENDMONEY".freeze
63
+ INTEGRATEDPAYROLLPTPAYMENT = "INTEGRATEDPAYROLLPTPAYMENT".freeze
64
+ INTEGRATEDPAYROLLCN = "INTEGRATEDPAYROLLCN".freeze
65
+
39
66
  # See JournalLines
40
67
  attr_accessor :journal_lines
41
-
68
+
42
69
  class EnumAttributeValidator
43
70
  attr_reader :datatype
44
71
  attr_reader :allowable_values
@@ -80,7 +107,7 @@ module XeroRuby::Accounting
80
107
  {
81
108
  :'journal_id' => :'String',
82
109
  :'journal_date' => :'Date',
83
- :'journal_number' => :'String',
110
+ :'journal_number' => :'Integer',
84
111
  :'created_date_utc' => :'DateTime',
85
112
  :'reference' => :'String',
86
113
  :'source_id' => :'String',
@@ -234,6 +261,8 @@ module XeroRuby::Accounting
234
261
  value.to_i
235
262
  when :Float
236
263
  value.to_f
264
+ when :BigDecimal
265
+ BigDecimal(value.to_s)
237
266
  when :Boolean
238
267
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
239
268
  true
@@ -3,10 +3,10 @@
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.1.0
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.3.0
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
@@ -14,42 +14,45 @@ require 'time'
14
14
  require 'date'
15
15
 
16
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::Accounting
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>'
@@ -239,6 +242,8 @@ module XeroRuby::Accounting
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
@@ -3,10 +3,10 @@
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.1.0
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.3.0
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
@@ -14,9 +14,12 @@ require 'time'
14
14
  require 'date'
15
15
 
16
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
  {
@@ -129,6 +132,8 @@ module XeroRuby::Accounting
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
@@ -3,10 +3,10 @@
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.1.0
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.3.0
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
@@ -3,10 +3,10 @@
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.1.0
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.3.0
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
@@ -14,46 +14,48 @@ require 'time'
14
14
  require 'date'
15
15
 
16
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::Accounting
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
@@ -250,6 +252,8 @@ module XeroRuby::Accounting
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
@@ -3,10 +3,10 @@
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.1.0
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.3.0
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
@@ -14,19 +14,21 @@ require 'time'
14
14
  require 'date'
15
15
 
16
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
  {
@@ -173,6 +175,8 @@ module XeroRuby::Accounting
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
@@ -3,10 +3,10 @@
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.1.0
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.3.0
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
@@ -14,40 +14,50 @@ require 'time'
14
14
  require 'date'
15
15
 
16
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
@@ -288,6 +298,8 @@ module XeroRuby::Accounting
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