xero-ruby 4.2.0 → 4.3.1

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 (1008) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +450 -450
  3. data/lib/xero-ruby/api/accounting_api.rb +18858 -18858
  4. data/lib/xero-ruby/api/app_store_api.rb +325 -325
  5. data/lib/xero-ruby/api/asset_api.rb +493 -493
  6. data/lib/xero-ruby/api/files_api.rb +1468 -1468
  7. data/lib/xero-ruby/api/finance_api.rb +961 -961
  8. data/lib/xero-ruby/api/payroll_au_api.rb +2513 -2282
  9. data/lib/xero-ruby/api/payroll_nz_api.rb +5334 -5334
  10. data/lib/xero-ruby/api/payroll_uk_api.rb +5479 -5479
  11. data/lib/xero-ruby/api/project_api.rb +1402 -1402
  12. data/lib/xero-ruby/api_client.rb +675 -675
  13. data/lib/xero-ruby/api_error.rb +57 -57
  14. data/lib/xero-ruby/configuration.rb +282 -282
  15. data/lib/xero-ruby/models/accounting/account.rb +535 -535
  16. data/lib/xero-ruby/models/accounting/account_type.rb +56 -56
  17. data/lib/xero-ruby/models/accounting/accounts.rb +224 -224
  18. data/lib/xero-ruby/models/accounting/accounts_payable.rb +232 -232
  19. data/lib/xero-ruby/models/accounting/accounts_receivable.rb +232 -232
  20. data/lib/xero-ruby/models/accounting/action.rb +268 -268
  21. data/lib/xero-ruby/models/accounting/actions.rb +224 -224
  22. data/lib/xero-ruby/models/accounting/address.rb +483 -483
  23. data/lib/xero-ruby/models/accounting/address_for_organisation.rb +484 -484
  24. data/lib/xero-ruby/models/accounting/allocation.rb +309 -309
  25. data/lib/xero-ruby/models/accounting/allocations.rb +224 -224
  26. data/lib/xero-ruby/models/accounting/attachment.rb +272 -272
  27. data/lib/xero-ruby/models/accounting/attachments.rb +224 -224
  28. data/lib/xero-ruby/models/accounting/balance_details.rb +243 -243
  29. data/lib/xero-ruby/models/accounting/balances.rb +233 -233
  30. data/lib/xero-ruby/models/accounting/bank_transaction.rb +510 -510
  31. data/lib/xero-ruby/models/accounting/bank_transactions.rb +224 -224
  32. data/lib/xero-ruby/models/accounting/bank_transfer.rb +375 -375
  33. data/lib/xero-ruby/models/accounting/bank_transfers.rb +224 -224
  34. data/lib/xero-ruby/models/accounting/batch_payment.rb +496 -496
  35. data/lib/xero-ruby/models/accounting/batch_payment_delete.rb +244 -244
  36. data/lib/xero-ruby/models/accounting/batch_payment_delete_by_url_param.rb +229 -229
  37. data/lib/xero-ruby/models/accounting/batch_payment_details.rb +293 -293
  38. data/lib/xero-ruby/models/accounting/batch_payments.rb +224 -224
  39. data/lib/xero-ruby/models/accounting/bill.rb +232 -232
  40. data/lib/xero-ruby/models/accounting/branding_theme.rb +307 -307
  41. data/lib/xero-ruby/models/accounting/branding_themes.rb +224 -224
  42. data/lib/xero-ruby/models/accounting/budget.rb +327 -327
  43. data/lib/xero-ruby/models/accounting/budget_balance.rb +267 -267
  44. data/lib/xero-ruby/models/accounting/budget_line.rb +244 -244
  45. data/lib/xero-ruby/models/accounting/budgets.rb +224 -224
  46. data/lib/xero-ruby/models/accounting/cis_org_setting.rb +242 -242
  47. data/lib/xero-ruby/models/accounting/cis_org_settings.rb +224 -224
  48. data/lib/xero-ruby/models/accounting/cis_setting.rb +232 -232
  49. data/lib/xero-ruby/models/accounting/cis_settings.rb +224 -224
  50. data/lib/xero-ruby/models/accounting/contact.rb +849 -849
  51. data/lib/xero-ruby/models/accounting/contact_group.rb +290 -290
  52. data/lib/xero-ruby/models/accounting/contact_groups.rb +224 -224
  53. data/lib/xero-ruby/models/accounting/contact_person.rb +252 -252
  54. data/lib/xero-ruby/models/accounting/contacts.rb +224 -224
  55. data/lib/xero-ruby/models/accounting/conversion_balances.rb +245 -245
  56. data/lib/xero-ruby/models/accounting/conversion_date.rb +233 -233
  57. data/lib/xero-ruby/models/accounting/country_code.rb +274 -274
  58. data/lib/xero-ruby/models/accounting/credit_note.rb +580 -580
  59. data/lib/xero-ruby/models/accounting/credit_notes.rb +224 -224
  60. data/lib/xero-ruby/models/accounting/currencies.rb +224 -224
  61. data/lib/xero-ruby/models/accounting/currency.rb +232 -232
  62. data/lib/xero-ruby/models/accounting/currency_code.rb +203 -203
  63. data/lib/xero-ruby/models/accounting/element.rb +294 -294
  64. data/lib/xero-ruby/models/accounting/employee.rb +362 -362
  65. data/lib/xero-ruby/models/accounting/employees.rb +224 -224
  66. data/lib/xero-ruby/models/accounting/error.rb +254 -254
  67. data/lib/xero-ruby/models/accounting/expense_claim.rb +375 -375
  68. data/lib/xero-ruby/models/accounting/expense_claims.rb +224 -224
  69. data/lib/xero-ruby/models/accounting/external_link.rb +281 -281
  70. data/lib/xero-ruby/models/accounting/history_record.rb +252 -252
  71. data/lib/xero-ruby/models/accounting/history_records.rb +224 -224
  72. data/lib/xero-ruby/models/accounting/import_summary.rb +233 -233
  73. data/lib/xero-ruby/models/accounting/import_summary_accounts.rb +303 -303
  74. data/lib/xero-ruby/models/accounting/import_summary_object.rb +222 -222
  75. data/lib/xero-ruby/models/accounting/import_summary_organisation.rb +222 -222
  76. data/lib/xero-ruby/models/accounting/invoice.rb +707 -707
  77. data/lib/xero-ruby/models/accounting/invoice_reminder.rb +222 -222
  78. data/lib/xero-ruby/models/accounting/invoice_reminders.rb +224 -224
  79. data/lib/xero-ruby/models/accounting/invoices.rb +224 -224
  80. data/lib/xero-ruby/models/accounting/item.rb +443 -443
  81. data/lib/xero-ruby/models/accounting/items.rb +224 -224
  82. data/lib/xero-ruby/models/accounting/journal.rb +353 -353
  83. data/lib/xero-ruby/models/accounting/journal_line.rb +334 -334
  84. data/lib/xero-ruby/models/accounting/journals.rb +224 -224
  85. data/lib/xero-ruby/models/accounting/line_amount_types.rb +37 -37
  86. data/lib/xero-ruby/models/accounting/line_item.rb +364 -364
  87. data/lib/xero-ruby/models/accounting/line_item_item.rb +272 -272
  88. data/lib/xero-ruby/models/accounting/line_item_tracking.rb +267 -267
  89. data/lib/xero-ruby/models/accounting/linked_transaction.rb +390 -390
  90. data/lib/xero-ruby/models/accounting/linked_transactions.rb +224 -224
  91. data/lib/xero-ruby/models/accounting/manual_journal.rb +406 -406
  92. data/lib/xero-ruby/models/accounting/manual_journal_line.rb +294 -294
  93. data/lib/xero-ruby/models/accounting/manual_journals.rb +224 -224
  94. data/lib/xero-ruby/models/accounting/online_invoice.rb +222 -222
  95. data/lib/xero-ruby/models/accounting/online_invoices.rb +224 -224
  96. data/lib/xero-ruby/models/accounting/organisation.rb +728 -728
  97. data/lib/xero-ruby/models/accounting/organisations.rb +224 -224
  98. data/lib/xero-ruby/models/accounting/overpayment.rb +464 -464
  99. data/lib/xero-ruby/models/accounting/overpayments.rb +224 -224
  100. data/lib/xero-ruby/models/accounting/payment.rb +544 -544
  101. data/lib/xero-ruby/models/accounting/payment_delete.rb +229 -229
  102. data/lib/xero-ruby/models/accounting/payment_service.rb +274 -274
  103. data/lib/xero-ruby/models/accounting/payment_services.rb +224 -224
  104. data/lib/xero-ruby/models/accounting/payment_term.rb +232 -232
  105. data/lib/xero-ruby/models/accounting/payment_term_type.rb +38 -38
  106. data/lib/xero-ruby/models/accounting/payments.rb +224 -224
  107. data/lib/xero-ruby/models/accounting/phone.rb +336 -336
  108. data/lib/xero-ruby/models/accounting/prepayment.rb +475 -475
  109. data/lib/xero-ruby/models/accounting/prepayments.rb +224 -224
  110. data/lib/xero-ruby/models/accounting/purchase.rb +252 -252
  111. data/lib/xero-ruby/models/accounting/purchase_order.rb +541 -541
  112. data/lib/xero-ruby/models/accounting/purchase_orders.rb +224 -224
  113. data/lib/xero-ruby/models/accounting/quote.rb +531 -531
  114. data/lib/xero-ruby/models/accounting/quote_line_amount_types.rb +37 -37
  115. data/lib/xero-ruby/models/accounting/quote_status_codes.rb +40 -40
  116. data/lib/xero-ruby/models/accounting/quotes.rb +224 -224
  117. data/lib/xero-ruby/models/accounting/receipt.rb +441 -441
  118. data/lib/xero-ruby/models/accounting/receipts.rb +224 -224
  119. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +477 -477
  120. data/lib/xero-ruby/models/accounting/repeating_invoices.rb +224 -224
  121. data/lib/xero-ruby/models/accounting/report.rb +309 -309
  122. data/lib/xero-ruby/models/accounting/report_attribute.rb +232 -232
  123. data/lib/xero-ruby/models/accounting/report_cell.rb +234 -234
  124. data/lib/xero-ruby/models/accounting/report_fields.rb +242 -242
  125. data/lib/xero-ruby/models/accounting/report_row.rb +244 -244
  126. data/lib/xero-ruby/models/accounting/report_rows.rb +256 -256
  127. data/lib/xero-ruby/models/accounting/report_with_row.rb +308 -308
  128. data/lib/xero-ruby/models/accounting/report_with_rows.rb +224 -224
  129. data/lib/xero-ruby/models/accounting/reports.rb +224 -224
  130. data/lib/xero-ruby/models/accounting/request_empty.rb +222 -222
  131. data/lib/xero-ruby/models/accounting/row_type.rb +38 -38
  132. data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +232 -232
  133. data/lib/xero-ruby/models/accounting/schedule.rb +336 -336
  134. data/lib/xero-ruby/models/accounting/setup.rb +246 -246
  135. data/lib/xero-ruby/models/accounting/tax_component.rb +252 -252
  136. data/lib/xero-ruby/models/accounting/tax_rate.rb +481 -476
  137. data/lib/xero-ruby/models/accounting/tax_rates.rb +224 -224
  138. data/lib/xero-ruby/models/accounting/tax_type.rb +130 -120
  139. data/lib/xero-ruby/models/accounting/ten_ninety_nine_contact.rb +432 -432
  140. data/lib/xero-ruby/models/accounting/time_zone.rb +175 -175
  141. data/lib/xero-ruby/models/accounting/tracking_categories.rb +224 -224
  142. data/lib/xero-ruby/models/accounting/tracking_category.rb +341 -341
  143. data/lib/xero-ruby/models/accounting/tracking_option.rb +304 -304
  144. data/lib/xero-ruby/models/accounting/tracking_options.rb +224 -224
  145. data/lib/xero-ruby/models/accounting/user.rb +323 -323
  146. data/lib/xero-ruby/models/accounting/users.rb +224 -224
  147. data/lib/xero-ruby/models/accounting/validation_error.rb +222 -222
  148. data/lib/xero-ruby/models/app_store/create_usage_record.rb +243 -243
  149. data/lib/xero-ruby/models/app_store/plan.rb +311 -311
  150. data/lib/xero-ruby/models/app_store/price.rb +257 -257
  151. data/lib/xero-ruby/models/app_store/problem_details.rb +272 -272
  152. data/lib/xero-ruby/models/app_store/product.rb +299 -299
  153. data/lib/xero-ruby/models/app_store/subscription.rb +361 -361
  154. data/lib/xero-ruby/models/app_store/subscription_item.rb +354 -354
  155. data/lib/xero-ruby/models/app_store/update_usage_record.rb +228 -228
  156. data/lib/xero-ruby/models/app_store/usage_record.rb +332 -332
  157. data/lib/xero-ruby/models/app_store/usage_records_list.rb +230 -230
  158. data/lib/xero-ruby/models/assets/asset.rb +377 -377
  159. data/lib/xero-ruby/models/assets/asset_status.rb +37 -37
  160. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +37 -37
  161. data/lib/xero-ruby/models/assets/asset_type.rb +292 -292
  162. data/lib/xero-ruby/models/assets/assets.rb +234 -234
  163. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +282 -282
  164. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +361 -361
  165. data/lib/xero-ruby/models/assets/error.rb +266 -266
  166. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +272 -272
  167. data/lib/xero-ruby/models/assets/pagination.rb +252 -252
  168. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +262 -262
  169. data/lib/xero-ruby/models/assets/setting.rb +292 -292
  170. data/lib/xero-ruby/models/files/association.rb +252 -252
  171. data/lib/xero-ruby/models/files/file_object.rb +292 -292
  172. data/lib/xero-ruby/models/files/files.rb +254 -254
  173. data/lib/xero-ruby/models/files/folder.rb +262 -262
  174. data/lib/xero-ruby/models/files/folders.rb +224 -224
  175. data/lib/xero-ruby/models/files/object_group.rb +46 -46
  176. data/lib/xero-ruby/models/files/object_type.rb +90 -90
  177. data/lib/xero-ruby/models/files/upload_object.rb +267 -267
  178. data/lib/xero-ruby/models/files/user.rb +267 -267
  179. data/lib/xero-ruby/models/finance/account_usage.rb +342 -342
  180. data/lib/xero-ruby/models/finance/account_usage_response.rb +254 -254
  181. data/lib/xero-ruby/models/finance/balance_sheet_account_detail.rb +262 -262
  182. data/lib/xero-ruby/models/finance/balance_sheet_account_group.rb +234 -234
  183. data/lib/xero-ruby/models/finance/balance_sheet_account_type.rb +244 -244
  184. data/lib/xero-ruby/models/finance/balance_sheet_response.rb +252 -252
  185. data/lib/xero-ruby/models/finance/bank_statement_accounting_response.rb +254 -254
  186. data/lib/xero-ruby/models/finance/bank_statement_response.rb +232 -232
  187. data/lib/xero-ruby/models/finance/bank_transaction_response.rb +274 -274
  188. data/lib/xero-ruby/models/finance/cash_account_response.rb +262 -262
  189. data/lib/xero-ruby/models/finance/cash_balance.rb +242 -242
  190. data/lib/xero-ruby/models/finance/cash_validation_response.rb +262 -262
  191. data/lib/xero-ruby/models/finance/cashflow_account.rb +282 -282
  192. data/lib/xero-ruby/models/finance/cashflow_activity.rb +244 -244
  193. data/lib/xero-ruby/models/finance/cashflow_response.rb +254 -254
  194. data/lib/xero-ruby/models/finance/cashflow_type.rb +244 -244
  195. data/lib/xero-ruby/models/finance/contact_detail.rb +274 -274
  196. data/lib/xero-ruby/models/finance/contact_response.rb +232 -232
  197. data/lib/xero-ruby/models/finance/contact_total_detail.rb +242 -242
  198. data/lib/xero-ruby/models/finance/contact_total_other.rb +252 -252
  199. data/lib/xero-ruby/models/finance/credit_note_response.rb +254 -254
  200. data/lib/xero-ruby/models/finance/current_statement_response.rb +272 -272
  201. data/lib/xero-ruby/models/finance/data_source_response.rb +362 -362
  202. data/lib/xero-ruby/models/finance/history_record_response.rb +262 -262
  203. data/lib/xero-ruby/models/finance/income_by_contact_response.rb +284 -284
  204. data/lib/xero-ruby/models/finance/invoice_response.rb +254 -254
  205. data/lib/xero-ruby/models/finance/line_item_response.rb +252 -252
  206. data/lib/xero-ruby/models/finance/lock_history_model.rb +242 -242
  207. data/lib/xero-ruby/models/finance/lock_history_response.rb +244 -244
  208. data/lib/xero-ruby/models/finance/manual_journal_total.rb +222 -222
  209. data/lib/xero-ruby/models/finance/overpayment_response.rb +254 -254
  210. data/lib/xero-ruby/models/finance/payment_response.rb +312 -312
  211. data/lib/xero-ruby/models/finance/pnl_account.rb +272 -272
  212. data/lib/xero-ruby/models/finance/pnl_account_class.rb +234 -234
  213. data/lib/xero-ruby/models/finance/pnl_account_type.rb +244 -244
  214. data/lib/xero-ruby/models/finance/practice_response.rb +262 -262
  215. data/lib/xero-ruby/models/finance/prepayment_response.rb +254 -254
  216. data/lib/xero-ruby/models/finance/problem.rb +252 -252
  217. data/lib/xero-ruby/models/finance/problem_type.rb +44 -44
  218. data/lib/xero-ruby/models/finance/profit_and_loss_response.rb +262 -262
  219. data/lib/xero-ruby/models/finance/report_history_model.rb +242 -242
  220. data/lib/xero-ruby/models/finance/report_history_response.rb +244 -244
  221. data/lib/xero-ruby/models/finance/statement_balance_response.rb +232 -232
  222. data/lib/xero-ruby/models/finance/statement_line_response.rb +356 -356
  223. data/lib/xero-ruby/models/finance/statement_lines_response.rb +382 -382
  224. data/lib/xero-ruby/models/finance/statement_response.rb +314 -314
  225. data/lib/xero-ruby/models/finance/total_detail.rb +242 -242
  226. data/lib/xero-ruby/models/finance/total_other.rb +242 -242
  227. data/lib/xero-ruby/models/finance/trial_balance_account.rb +312 -312
  228. data/lib/xero-ruby/models/finance/trial_balance_entry.rb +232 -232
  229. data/lib/xero-ruby/models/finance/trial_balance_movement.rb +252 -252
  230. data/lib/xero-ruby/models/finance/trial_balance_response.rb +244 -244
  231. data/lib/xero-ruby/models/finance/user_activities_response.rb +244 -244
  232. data/lib/xero-ruby/models/finance/user_response.rb +336 -336
  233. data/lib/xero-ruby/models/payroll_au/account.rb +252 -252
  234. data/lib/xero-ruby/models/payroll_au/account_type.rb +57 -57
  235. data/lib/xero-ruby/models/payroll_au/allowance_category.rb +41 -41
  236. data/lib/xero-ruby/models/payroll_au/allowance_type.rb +44 -44
  237. data/lib/xero-ruby/models/payroll_au/api_exception.rb +243 -243
  238. data/lib/xero-ruby/models/payroll_au/bank_account.rb +272 -272
  239. data/lib/xero-ruby/models/payroll_au/calendar_type.rb +40 -40
  240. data/lib/xero-ruby/models/payroll_au/country_of_residence.rb +285 -285
  241. data/lib/xero-ruby/models/payroll_au/deduction_line.rb +267 -267
  242. data/lib/xero-ruby/models/payroll_au/deduction_type.rb +354 -354
  243. data/lib/xero-ruby/models/payroll_au/deduction_type_calculation_type.rb +37 -37
  244. data/lib/xero-ruby/models/payroll_au/earnings_line.rb +307 -307
  245. data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +442 -442
  246. data/lib/xero-ruby/models/payroll_au/earnings_rate_calculation_type.rb +37 -37
  247. data/lib/xero-ruby/models/payroll_au/earnings_type.rb +48 -48
  248. data/lib/xero-ruby/models/payroll_au/employee.rb +654 -654
  249. data/lib/xero-ruby/models/payroll_au/employee_status.rb +36 -36
  250. data/lib/xero-ruby/models/payroll_au/employees.rb +224 -224
  251. data/lib/xero-ruby/models/payroll_au/employment_basis.rb +40 -40
  252. data/lib/xero-ruby/models/payroll_au/employment_termination_payment_type.rb +36 -36
  253. data/lib/xero-ruby/models/payroll_au/employment_type.rb +36 -36
  254. data/lib/xero-ruby/models/payroll_au/entitlement_final_pay_payout_type.rb +36 -36
  255. data/lib/xero-ruby/models/payroll_au/home_address.rb +277 -277
  256. data/lib/xero-ruby/models/payroll_au/income_type.rb +39 -39
  257. data/lib/xero-ruby/models/payroll_au/leave_accrual_line.rb +242 -242
  258. data/lib/xero-ruby/models/payroll_au/leave_application.rb +326 -326
  259. data/lib/xero-ruby/models/payroll_au/leave_applications.rb +224 -224
  260. data/lib/xero-ruby/models/payroll_au/leave_balance.rb +252 -252
  261. data/lib/xero-ruby/models/payroll_au/leave_category_code.rb +46 -46
  262. data/lib/xero-ruby/models/payroll_au/leave_earnings_line.rb +252 -252
  263. data/lib/xero-ruby/models/payroll_au/leave_line.rb +292 -292
  264. data/lib/xero-ruby/models/payroll_au/leave_line_calculation_type.rb +39 -39
  265. data/lib/xero-ruby/models/payroll_au/leave_lines.rb +225 -225
  266. data/lib/xero-ruby/models/payroll_au/leave_period.rb +252 -252
  267. data/lib/xero-ruby/models/payroll_au/leave_period_status.rb +36 -36
  268. data/lib/xero-ruby/models/payroll_au/leave_type.rb +337 -337
  269. data/lib/xero-ruby/models/payroll_au/leave_type_contribution_type.rb +38 -38
  270. data/lib/xero-ruby/models/payroll_au/manual_tax_type.rb +40 -40
  271. data/lib/xero-ruby/models/payroll_au/opening_balances.rb +304 -304
  272. data/lib/xero-ruby/models/payroll_au/paid_leave_earnings_line.rb +272 -272
  273. data/lib/xero-ruby/models/payroll_au/pay_item.rb +260 -260
  274. data/lib/xero-ruby/models/payroll_au/pay_items.rb +222 -222
  275. data/lib/xero-ruby/models/payroll_au/pay_out_type.rb +36 -36
  276. data/lib/xero-ruby/models/payroll_au/pay_run.rb +381 -381
  277. data/lib/xero-ruby/models/payroll_au/pay_run_status.rb +36 -36
  278. data/lib/xero-ruby/models/payroll_au/pay_runs.rb +224 -224
  279. data/lib/xero-ruby/models/payroll_au/pay_template.rb +272 -272
  280. data/lib/xero-ruby/models/payroll_au/payment_frequency_type.rb +41 -41
  281. data/lib/xero-ruby/models/payroll_au/payroll_calendar.rb +294 -294
  282. data/lib/xero-ruby/models/payroll_au/payroll_calendars.rb +224 -224
  283. data/lib/xero-ruby/models/payroll_au/payslip.rb +418 -418
  284. data/lib/xero-ruby/models/payroll_au/payslip_lines.rb +308 -308
  285. data/lib/xero-ruby/models/payroll_au/payslip_object.rb +222 -222
  286. data/lib/xero-ruby/models/payroll_au/payslip_summary.rb +332 -332
  287. data/lib/xero-ruby/models/payroll_au/payslips.rb +224 -224
  288. data/lib/xero-ruby/models/payroll_au/rate_type.rb +37 -37
  289. data/lib/xero-ruby/models/payroll_au/reimbursement_line.rb +267 -267
  290. data/lib/xero-ruby/models/payroll_au/reimbursement_lines.rb +225 -225
  291. data/lib/xero-ruby/models/payroll_au/reimbursement_type.rb +277 -277
  292. data/lib/xero-ruby/models/payroll_au/residency_status.rb +37 -37
  293. data/lib/xero-ruby/models/payroll_au/senior_marital_status.rb +37 -37
  294. data/lib/xero-ruby/models/payroll_au/settings.rb +254 -254
  295. data/lib/xero-ruby/models/payroll_au/settings_object.rb +222 -222
  296. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories.rb +233 -233
  297. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_employee_groups.rb +233 -233
  298. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_timesheet_categories.rb +233 -233
  299. data/lib/xero-ruby/models/payroll_au/state.rb +42 -42
  300. data/lib/xero-ruby/models/payroll_au/super_fund.rb +349 -349
  301. data/lib/xero-ruby/models/payroll_au/super_fund_product.rb +252 -252
  302. data/lib/xero-ruby/models/payroll_au/super_fund_products.rb +224 -224
  303. data/lib/xero-ruby/models/payroll_au/super_fund_type.rb +36 -36
  304. data/lib/xero-ruby/models/payroll_au/super_funds.rb +224 -224
  305. data/lib/xero-ruby/models/payroll_au/super_line.rb +292 -292
  306. data/lib/xero-ruby/models/payroll_au/super_membership.rb +252 -252
  307. data/lib/xero-ruby/models/payroll_au/superannuation_calculation_type.rb +37 -37
  308. data/lib/xero-ruby/models/payroll_au/superannuation_contribution_type.rb +38 -38
  309. data/lib/xero-ruby/models/payroll_au/superannuation_line.rb +302 -302
  310. data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +422 -422
  311. data/lib/xero-ruby/models/payroll_au/tax_line.rb +272 -272
  312. data/lib/xero-ruby/models/payroll_au/tax_scale_type.rb +40 -40
  313. data/lib/xero-ruby/models/payroll_au/tfn_exemption_type.rb +38 -38
  314. data/lib/xero-ruby/models/payroll_au/timesheet.rb +321 -321
  315. data/lib/xero-ruby/models/payroll_au/timesheet_line.rb +254 -254
  316. data/lib/xero-ruby/models/payroll_au/timesheet_object.rb +222 -222
  317. data/lib/xero-ruby/models/payroll_au/timesheet_status.rb +39 -39
  318. data/lib/xero-ruby/models/payroll_au/timesheets.rb +224 -224
  319. data/lib/xero-ruby/models/payroll_au/validation_error.rb +222 -222
  320. data/lib/xero-ruby/models/payroll_au/work_condition.rb +37 -37
  321. data/lib/xero-ruby/models/payroll_nz/account.rb +290 -290
  322. data/lib/xero-ruby/models/payroll_nz/accounts.rb +224 -224
  323. data/lib/xero-ruby/models/payroll_nz/address.rb +287 -287
  324. data/lib/xero-ruby/models/payroll_nz/bank_account.rb +343 -343
  325. data/lib/xero-ruby/models/payroll_nz/benefit.rb +383 -383
  326. data/lib/xero-ruby/models/payroll_nz/calendar_type.rb +41 -41
  327. data/lib/xero-ruby/models/payroll_nz/deduction.rb +325 -325
  328. data/lib/xero-ruby/models/payroll_nz/deduction_line.rb +262 -262
  329. data/lib/xero-ruby/models/payroll_nz/deduction_object.rb +242 -242
  330. data/lib/xero-ruby/models/payroll_nz/deductions.rb +244 -244
  331. data/lib/xero-ruby/models/payroll_nz/earnings_line.rb +312 -312
  332. data/lib/xero-ruby/models/payroll_nz/earnings_order.rb +269 -269
  333. data/lib/xero-ruby/models/payroll_nz/earnings_order_object.rb +242 -242
  334. data/lib/xero-ruby/models/payroll_nz/earnings_orders.rb +244 -244
  335. data/lib/xero-ruby/models/payroll_nz/earnings_rate.rb +401 -401
  336. data/lib/xero-ruby/models/payroll_nz/earnings_rate_object.rb +242 -242
  337. data/lib/xero-ruby/models/payroll_nz/earnings_rates.rb +244 -244
  338. data/lib/xero-ruby/models/payroll_nz/earnings_template.rb +272 -272
  339. data/lib/xero-ruby/models/payroll_nz/earnings_template_object.rb +242 -242
  340. data/lib/xero-ruby/models/payroll_nz/employee.rb +388 -388
  341. data/lib/xero-ruby/models/payroll_nz/employee_earnings_templates.rb +244 -244
  342. data/lib/xero-ruby/models/payroll_nz/employee_leave.rb +304 -304
  343. data/lib/xero-ruby/models/payroll_nz/employee_leave_balance.rb +252 -252
  344. data/lib/xero-ruby/models/payroll_nz/employee_leave_balances.rb +244 -244
  345. data/lib/xero-ruby/models/payroll_nz/employee_leave_object.rb +242 -242
  346. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup.rb +282 -282
  347. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup_object.rb +242 -242
  348. data/lib/xero-ruby/models/payroll_nz/employee_leave_type.rb +350 -350
  349. data/lib/xero-ruby/models/payroll_nz/employee_leave_type_object.rb +242 -242
  350. data/lib/xero-ruby/models/payroll_nz/employee_leave_types.rb +244 -244
  351. data/lib/xero-ruby/models/payroll_nz/employee_leaves.rb +244 -244
  352. data/lib/xero-ruby/models/payroll_nz/employee_object.rb +242 -242
  353. data/lib/xero-ruby/models/payroll_nz/employee_opening_balance.rb +252 -252
  354. data/lib/xero-ruby/models/payroll_nz/employee_opening_balances_object.rb +244 -244
  355. data/lib/xero-ruby/models/payroll_nz/employee_pay_template.rb +234 -234
  356. data/lib/xero-ruby/models/payroll_nz/employee_pay_template_object.rb +242 -242
  357. data/lib/xero-ruby/models/payroll_nz/employee_pay_templates.rb +242 -242
  358. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance.rb +294 -294
  359. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance_object.rb +242 -242
  360. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_summary.rb +336 -336
  361. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leaves_summaries.rb +244 -244
  362. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave.rb +433 -433
  363. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave_object.rb +242 -242
  364. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leaves.rb +244 -244
  365. data/lib/xero-ruby/models/payroll_nz/employee_tax.rb +411 -411
  366. data/lib/xero-ruby/models/payroll_nz/employee_tax_object.rb +242 -242
  367. data/lib/xero-ruby/models/payroll_nz/employees.rb +244 -244
  368. data/lib/xero-ruby/models/payroll_nz/employment.rb +242 -242
  369. data/lib/xero-ruby/models/payroll_nz/employment_object.rb +242 -242
  370. data/lib/xero-ruby/models/payroll_nz/gross_earnings_history.rb +232 -232
  371. data/lib/xero-ruby/models/payroll_nz/invalid_field.rb +232 -232
  372. data/lib/xero-ruby/models/payroll_nz/leave_accrual_line.rb +232 -232
  373. data/lib/xero-ruby/models/payroll_nz/leave_earnings_line.rb +312 -312
  374. data/lib/xero-ruby/models/payroll_nz/leave_period.rb +288 -288
  375. data/lib/xero-ruby/models/payroll_nz/leave_periods.rb +244 -244
  376. data/lib/xero-ruby/models/payroll_nz/leave_type.rb +287 -287
  377. data/lib/xero-ruby/models/payroll_nz/leave_type_object.rb +242 -242
  378. data/lib/xero-ruby/models/payroll_nz/leave_types.rb +244 -244
  379. data/lib/xero-ruby/models/payroll_nz/pagination.rb +252 -252
  380. data/lib/xero-ruby/models/payroll_nz/pay_run.rb +385 -385
  381. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar.rb +302 -302
  382. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar_object.rb +242 -242
  383. data/lib/xero-ruby/models/payroll_nz/pay_run_calendars.rb +244 -244
  384. data/lib/xero-ruby/models/payroll_nz/pay_run_object.rb +242 -242
  385. data/lib/xero-ruby/models/payroll_nz/pay_runs.rb +244 -244
  386. data/lib/xero-ruby/models/payroll_nz/pay_slip.rb +571 -571
  387. data/lib/xero-ruby/models/payroll_nz/pay_slip_object.rb +242 -242
  388. data/lib/xero-ruby/models/payroll_nz/pay_slips.rb +244 -244
  389. data/lib/xero-ruby/models/payroll_nz/payment_line.rb +262 -262
  390. data/lib/xero-ruby/models/payroll_nz/payment_method.rb +271 -271
  391. data/lib/xero-ruby/models/payroll_nz/payment_method_object.rb +242 -242
  392. data/lib/xero-ruby/models/payroll_nz/problem.rb +275 -275
  393. data/lib/xero-ruby/models/payroll_nz/reimbursement.rb +378 -378
  394. data/lib/xero-ruby/models/payroll_nz/reimbursement_line.rb +262 -262
  395. data/lib/xero-ruby/models/payroll_nz/reimbursement_object.rb +242 -242
  396. data/lib/xero-ruby/models/payroll_nz/reimbursements.rb +244 -244
  397. data/lib/xero-ruby/models/payroll_nz/salary_and_wage.rb +398 -398
  398. data/lib/xero-ruby/models/payroll_nz/salary_and_wage_object.rb +242 -242
  399. data/lib/xero-ruby/models/payroll_nz/salary_and_wages.rb +244 -244
  400. data/lib/xero-ruby/models/payroll_nz/settings.rb +242 -242
  401. data/lib/xero-ruby/models/payroll_nz/statutory_deduction.rb +262 -262
  402. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_category.rb +45 -45
  403. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_line.rb +252 -252
  404. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_object.rb +242 -242
  405. data/lib/xero-ruby/models/payroll_nz/statutory_deductions.rb +244 -244
  406. data/lib/xero-ruby/models/payroll_nz/superannuation_line.rb +272 -272
  407. data/lib/xero-ruby/models/payroll_nz/superannuation_object.rb +242 -242
  408. data/lib/xero-ruby/models/payroll_nz/superannuations.rb +244 -244
  409. data/lib/xero-ruby/models/payroll_nz/tax_code.rb +53 -53
  410. data/lib/xero-ruby/models/payroll_nz/tax_line.rb +262 -262
  411. data/lib/xero-ruby/models/payroll_nz/tax_settings.rb +308 -308
  412. data/lib/xero-ruby/models/payroll_nz/timesheet.rb +362 -362
  413. data/lib/xero-ruby/models/payroll_nz/timesheet_earnings_line.rb +312 -312
  414. data/lib/xero-ruby/models/payroll_nz/timesheet_line.rb +277 -277
  415. data/lib/xero-ruby/models/payroll_nz/timesheet_line_object.rb +242 -242
  416. data/lib/xero-ruby/models/payroll_nz/timesheet_object.rb +242 -242
  417. data/lib/xero-ruby/models/payroll_nz/timesheets.rb +244 -244
  418. data/lib/xero-ruby/models/payroll_nz/tracking_categories.rb +242 -242
  419. data/lib/xero-ruby/models/payroll_nz/tracking_category.rb +232 -232
  420. data/lib/xero-ruby/models/payroll_uk/account.rb +293 -293
  421. data/lib/xero-ruby/models/payroll_uk/accounts.rb +224 -224
  422. data/lib/xero-ruby/models/payroll_uk/address.rb +277 -277
  423. data/lib/xero-ruby/models/payroll_uk/bank_account.rb +257 -257
  424. data/lib/xero-ruby/models/payroll_uk/benefit.rb +432 -432
  425. data/lib/xero-ruby/models/payroll_uk/benefit_line.rb +262 -262
  426. data/lib/xero-ruby/models/payroll_uk/benefit_object.rb +242 -242
  427. data/lib/xero-ruby/models/payroll_uk/benefits.rb +244 -244
  428. data/lib/xero-ruby/models/payroll_uk/court_order_line.rb +232 -232
  429. data/lib/xero-ruby/models/payroll_uk/deduction.rb +440 -440
  430. data/lib/xero-ruby/models/payroll_uk/deduction_line.rb +252 -252
  431. data/lib/xero-ruby/models/payroll_uk/deduction_object.rb +242 -242
  432. data/lib/xero-ruby/models/payroll_uk/deductions.rb +244 -244
  433. data/lib/xero-ruby/models/payroll_uk/earnings_line.rb +302 -302
  434. data/lib/xero-ruby/models/payroll_uk/earnings_order.rb +269 -269
  435. data/lib/xero-ruby/models/payroll_uk/earnings_order_object.rb +242 -242
  436. data/lib/xero-ruby/models/payroll_uk/earnings_orders.rb +244 -244
  437. data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +409 -409
  438. data/lib/xero-ruby/models/payroll_uk/earnings_rate_object.rb +242 -242
  439. data/lib/xero-ruby/models/payroll_uk/earnings_rates.rb +244 -244
  440. data/lib/xero-ruby/models/payroll_uk/earnings_template.rb +272 -272
  441. data/lib/xero-ruby/models/payroll_uk/earnings_template_object.rb +242 -242
  442. data/lib/xero-ruby/models/payroll_uk/employee.rb +408 -408
  443. data/lib/xero-ruby/models/payroll_uk/employee_leave.rb +304 -304
  444. data/lib/xero-ruby/models/payroll_uk/employee_leave_balance.rb +252 -252
  445. data/lib/xero-ruby/models/payroll_uk/employee_leave_balances.rb +244 -244
  446. data/lib/xero-ruby/models/payroll_uk/employee_leave_object.rb +242 -242
  447. data/lib/xero-ruby/models/payroll_uk/employee_leave_type.rb +320 -320
  448. data/lib/xero-ruby/models/payroll_uk/employee_leave_type_object.rb +242 -242
  449. data/lib/xero-ruby/models/payroll_uk/employee_leave_types.rb +244 -244
  450. data/lib/xero-ruby/models/payroll_uk/employee_leaves.rb +244 -244
  451. data/lib/xero-ruby/models/payroll_uk/employee_object.rb +242 -242
  452. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances.rb +272 -272
  453. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances_object.rb +242 -242
  454. data/lib/xero-ruby/models/payroll_uk/employee_pay_template.rb +234 -234
  455. data/lib/xero-ruby/models/payroll_uk/employee_pay_template_object.rb +242 -242
  456. data/lib/xero-ruby/models/payroll_uk/employee_pay_templates.rb +244 -244
  457. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance.rb +294 -294
  458. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance_object.rb +242 -242
  459. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_summary.rb +336 -336
  460. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leaves_summaries.rb +244 -244
  461. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave.rb +433 -433
  462. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave_object.rb +242 -242
  463. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leaves.rb +244 -244
  464. data/lib/xero-ruby/models/payroll_uk/employee_tax.rb +322 -322
  465. data/lib/xero-ruby/models/payroll_uk/employee_tax_object.rb +242 -242
  466. data/lib/xero-ruby/models/payroll_uk/employees.rb +244 -244
  467. data/lib/xero-ruby/models/payroll_uk/employment.rb +299 -299
  468. data/lib/xero-ruby/models/payroll_uk/employment_object.rb +242 -242
  469. data/lib/xero-ruby/models/payroll_uk/invalid_field.rb +232 -232
  470. data/lib/xero-ruby/models/payroll_uk/leave_accrual_line.rb +232 -232
  471. data/lib/xero-ruby/models/payroll_uk/leave_earnings_line.rb +272 -272
  472. data/lib/xero-ruby/models/payroll_uk/leave_period.rb +288 -288
  473. data/lib/xero-ruby/models/payroll_uk/leave_periods.rb +244 -244
  474. data/lib/xero-ruby/models/payroll_uk/leave_type.rb +307 -307
  475. data/lib/xero-ruby/models/payroll_uk/leave_type_object.rb +242 -242
  476. data/lib/xero-ruby/models/payroll_uk/leave_types.rb +244 -244
  477. data/lib/xero-ruby/models/payroll_uk/pagination.rb +252 -252
  478. data/lib/xero-ruby/models/payroll_uk/pay_run.rb +403 -403
  479. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar.rb +342 -342
  480. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar_object.rb +242 -242
  481. data/lib/xero-ruby/models/payroll_uk/pay_run_calendars.rb +244 -244
  482. data/lib/xero-ruby/models/payroll_uk/pay_run_object.rb +242 -242
  483. data/lib/xero-ruby/models/payroll_uk/pay_runs.rb +244 -244
  484. data/lib/xero-ruby/models/payroll_uk/payment_line.rb +262 -262
  485. data/lib/xero-ruby/models/payroll_uk/payment_method.rb +276 -276
  486. data/lib/xero-ruby/models/payroll_uk/payment_method_object.rb +242 -242
  487. data/lib/xero-ruby/models/payroll_uk/payslip.rb +551 -551
  488. data/lib/xero-ruby/models/payroll_uk/payslip_object.rb +242 -242
  489. data/lib/xero-ruby/models/payroll_uk/payslips.rb +244 -244
  490. data/lib/xero-ruby/models/payroll_uk/problem.rb +275 -275
  491. data/lib/xero-ruby/models/payroll_uk/reimbursement.rb +262 -262
  492. data/lib/xero-ruby/models/payroll_uk/reimbursement_line.rb +242 -242
  493. data/lib/xero-ruby/models/payroll_uk/reimbursement_object.rb +242 -242
  494. data/lib/xero-ruby/models/payroll_uk/reimbursements.rb +244 -244
  495. data/lib/xero-ruby/models/payroll_uk/salary_and_wage.rb +383 -383
  496. data/lib/xero-ruby/models/payroll_uk/salary_and_wage_object.rb +242 -242
  497. data/lib/xero-ruby/models/payroll_uk/salary_and_wages.rb +244 -244
  498. data/lib/xero-ruby/models/payroll_uk/settings.rb +242 -242
  499. data/lib/xero-ruby/models/payroll_uk/statutory_deduction.rb +262 -262
  500. data/lib/xero-ruby/models/payroll_uk/statutory_deduction_category.rb +48 -48
  501. data/lib/xero-ruby/models/payroll_uk/tax_line.rb +272 -272
  502. data/lib/xero-ruby/models/payroll_uk/timesheet.rb +361 -361
  503. data/lib/xero-ruby/models/payroll_uk/timesheet_earnings_line.rb +272 -272
  504. data/lib/xero-ruby/models/payroll_uk/timesheet_line.rb +277 -277
  505. data/lib/xero-ruby/models/payroll_uk/timesheet_line_object.rb +242 -242
  506. data/lib/xero-ruby/models/payroll_uk/timesheet_object.rb +242 -242
  507. data/lib/xero-ruby/models/payroll_uk/timesheets.rb +244 -244
  508. data/lib/xero-ruby/models/payroll_uk/tracking_categories.rb +242 -242
  509. data/lib/xero-ruby/models/payroll_uk/tracking_category.rb +232 -232
  510. data/lib/xero-ruby/models/projects/amount.rb +232 -232
  511. data/lib/xero-ruby/models/projects/charge_type.rb +37 -37
  512. data/lib/xero-ruby/models/projects/currency_code.rb +198 -198
  513. data/lib/xero-ruby/models/projects/error.rb +232 -232
  514. data/lib/xero-ruby/models/projects/pagination.rb +252 -252
  515. data/lib/xero-ruby/models/projects/project.rb +437 -437
  516. data/lib/xero-ruby/models/projects/project_create_or_update.rb +257 -257
  517. data/lib/xero-ruby/models/projects/project_patch.rb +227 -227
  518. data/lib/xero-ruby/models/projects/project_status.rb +36 -36
  519. data/lib/xero-ruby/models/projects/project_user.rb +242 -242
  520. data/lib/xero-ruby/models/projects/project_users.rb +234 -234
  521. data/lib/xero-ruby/models/projects/projects.rb +234 -234
  522. data/lib/xero-ruby/models/projects/task.rb +399 -399
  523. data/lib/xero-ruby/models/projects/task_create_or_update.rb +267 -267
  524. data/lib/xero-ruby/models/projects/tasks.rb +234 -234
  525. data/lib/xero-ruby/models/projects/time_entries.rb +234 -234
  526. data/lib/xero-ruby/models/projects/time_entry.rb +339 -339
  527. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +282 -282
  528. data/lib/xero-ruby/string_serialization.rb +52 -52
  529. data/lib/xero-ruby/version.rb +15 -15
  530. data/lib/xero-ruby/where.rb +67 -67
  531. data/lib/xero-ruby.rb +556 -556
  532. data/spec/accounting/api/accounting_api_spec.rb +2873 -2873
  533. data/spec/accounting/models/account_spec.rb +171 -171
  534. data/spec/accounting/models/account_type_spec.rb +35 -35
  535. data/spec/accounting/models/accounts_payable_spec.rb +47 -47
  536. data/spec/accounting/models/accounts_receivable_spec.rb +47 -47
  537. data/spec/accounting/models/accounts_spec.rb +41 -41
  538. data/spec/accounting/models/address_spec.rb +99 -99
  539. data/spec/accounting/models/allocation_spec.rb +53 -53
  540. data/spec/accounting/models/allocations_spec.rb +41 -41
  541. data/spec/accounting/models/attachment_spec.rb +71 -71
  542. data/spec/accounting/models/attachments_spec.rb +41 -41
  543. data/spec/accounting/models/balances_spec.rb +47 -47
  544. data/spec/accounting/models/bank_transaction_spec.rb +175 -175
  545. data/spec/accounting/models/bank_transactions_spec.rb +41 -41
  546. data/spec/accounting/models/bank_transfer_spec.rb +101 -101
  547. data/spec/accounting/models/bank_transfers_spec.rb +41 -41
  548. data/spec/accounting/models/batch_payment_details_spec.rb +65 -65
  549. data/spec/accounting/models/batch_payment_spec.rb +139 -139
  550. data/spec/accounting/models/batch_payments_spec.rb +41 -41
  551. data/spec/accounting/models/bill_spec.rb +47 -47
  552. data/spec/accounting/models/branding_theme_spec.rb +75 -75
  553. data/spec/accounting/models/branding_themes_spec.rb +41 -41
  554. data/spec/accounting/models/cis_org_setting_spec.rb +53 -53
  555. data/spec/accounting/models/cis_setting_spec.rb +47 -47
  556. data/spec/accounting/models/cis_settings_spec.rb +41 -41
  557. data/spec/accounting/models/contact_group_spec.rb +63 -63
  558. data/spec/accounting/models/contact_groups_spec.rb +41 -41
  559. data/spec/accounting/models/contact_person_spec.rb +59 -59
  560. data/spec/accounting/models/contact_spec.rb +273 -273
  561. data/spec/accounting/models/contacts_spec.rb +41 -41
  562. data/spec/accounting/models/country_code_spec.rb +35 -35
  563. data/spec/accounting/models/credit_note_spec.rb +199 -199
  564. data/spec/accounting/models/credit_notes_spec.rb +41 -41
  565. data/spec/accounting/models/currencies_spec.rb +41 -41
  566. data/spec/accounting/models/currency_code_spec.rb +35 -35
  567. data/spec/accounting/models/currency_spec.rb +47 -47
  568. data/spec/accounting/models/element_spec.rb +83 -83
  569. data/spec/accounting/models/employee_spec.rb +87 -87
  570. data/spec/accounting/models/employees_spec.rb +41 -41
  571. data/spec/accounting/models/error_spec.rb +59 -59
  572. data/spec/accounting/models/expense_claim_spec.rb +111 -111
  573. data/spec/accounting/models/expense_claims_spec.rb +41 -41
  574. data/spec/accounting/models/external_link_spec.rb +57 -57
  575. data/spec/accounting/models/history_record_spec.rb +59 -59
  576. data/spec/accounting/models/history_records_spec.rb +41 -41
  577. data/spec/accounting/models/invoice_reminder_spec.rb +41 -41
  578. data/spec/accounting/models/invoice_reminders_spec.rb +41 -41
  579. data/spec/accounting/models/invoice_spec.rb +271 -271
  580. data/spec/accounting/models/invoices_spec.rb +41 -41
  581. data/spec/accounting/models/item_spec.rb +131 -131
  582. data/spec/accounting/models/items_spec.rb +41 -41
  583. data/spec/accounting/models/journal_line_spec.rb +107 -107
  584. data/spec/accounting/models/journal_spec.rb +87 -87
  585. data/spec/accounting/models/journals_spec.rb +41 -41
  586. data/spec/accounting/models/line_amount_types_spec.rb +35 -35
  587. data/spec/accounting/models/line_item_spec.rb +113 -113
  588. data/spec/accounting/models/line_item_tracking_spec.rb +59 -59
  589. data/spec/accounting/models/linked_transaction_spec.rb +113 -113
  590. data/spec/accounting/models/linked_transactions_spec.rb +41 -41
  591. data/spec/accounting/models/manual_journal_line_spec.rb +77 -77
  592. data/spec/accounting/models/manual_journal_spec.rb +123 -123
  593. data/spec/accounting/models/manual_journals_spec.rb +41 -41
  594. data/spec/accounting/models/online_invoice_spec.rb +41 -41
  595. data/spec/accounting/models/online_invoices_spec.rb +41 -41
  596. data/spec/accounting/models/organisation_spec.rb +255 -255
  597. data/spec/accounting/models/organisations_spec.rb +41 -41
  598. data/spec/accounting/models/overpayment_spec.rb +157 -157
  599. data/spec/accounting/models/overpayments_spec.rb +41 -41
  600. data/spec/accounting/models/payment_delete_spec.rb +41 -41
  601. data/spec/accounting/models/payment_service_spec.rb +71 -71
  602. data/spec/accounting/models/payment_services_spec.rb +41 -41
  603. data/spec/accounting/models/payment_spec.rb +187 -187
  604. data/spec/accounting/models/payment_term_spec.rb +47 -47
  605. data/spec/accounting/models/payment_term_type_spec.rb +35 -35
  606. data/spec/accounting/models/payments_spec.rb +41 -41
  607. data/spec/accounting/models/phone_spec.rb +63 -63
  608. data/spec/accounting/models/prepayment_spec.rb +157 -157
  609. data/spec/accounting/models/prepayments_spec.rb +41 -41
  610. data/spec/accounting/models/purchase_order_spec.rb +207 -207
  611. data/spec/accounting/models/purchase_orders_spec.rb +41 -41
  612. data/spec/accounting/models/purchase_spec.rb +59 -59
  613. data/spec/accounting/models/quote_line_amount_types_spec.rb +35 -35
  614. data/spec/accounting/models/quote_spec.rb +167 -167
  615. data/spec/accounting/models/quote_status_codes_spec.rb +35 -35
  616. data/spec/accounting/models/quotes_spec.rb +41 -41
  617. data/spec/accounting/models/receipt_spec.rb +147 -147
  618. data/spec/accounting/models/receipts_spec.rb +41 -41
  619. data/spec/accounting/models/repeating_invoice_spec.rb +139 -139
  620. data/spec/accounting/models/repeating_invoices_spec.rb +41 -41
  621. data/spec/accounting/models/report_attribute_spec.rb +47 -47
  622. data/spec/accounting/models/report_cell_spec.rb +47 -47
  623. data/spec/accounting/models/report_fields_spec.rb +53 -53
  624. data/spec/accounting/models/report_row_spec.rb +53 -53
  625. data/spec/accounting/models/report_rows_spec.rb +59 -59
  626. data/spec/accounting/models/report_spec.rb +81 -81
  627. data/spec/accounting/models/report_with_row_spec.rb +89 -89
  628. data/spec/accounting/models/report_with_rows_spec.rb +41 -41
  629. data/spec/accounting/models/reports_spec.rb +41 -41
  630. data/spec/accounting/models/request_empty_spec.rb +41 -41
  631. data/spec/accounting/models/row_type_spec.rb +35 -35
  632. data/spec/accounting/models/sales_tracking_category_spec.rb +47 -47
  633. data/spec/accounting/models/schedule_spec.rb +85 -85
  634. data/spec/accounting/models/tax_component_spec.rb +59 -59
  635. data/spec/accounting/models/tax_rate_spec.rb +115 -115
  636. data/spec/accounting/models/tax_rates_spec.rb +41 -41
  637. data/spec/accounting/models/tax_type_spec.rb +35 -35
  638. data/spec/accounting/models/ten_nintey_nine_contact_spec.rb +167 -167
  639. data/spec/accounting/models/time_zone_spec.rb +35 -35
  640. data/spec/accounting/models/tracking_categories_spec.rb +41 -41
  641. data/spec/accounting/models/tracking_category_spec.rb +75 -75
  642. data/spec/accounting/models/tracking_option_spec.rb +63 -63
  643. data/spec/accounting/models/tracking_options_spec.rb +41 -41
  644. data/spec/accounting/models/user_spec.rb +81 -81
  645. data/spec/accounting/models/users_spec.rb +41 -41
  646. data/spec/accounting/models/validation_error_spec.rb +41 -41
  647. data/spec/api_client_spec.rb +556 -556
  648. data/spec/api_error_spec.rb +45 -45
  649. data/spec/app_store/api/app_store_api_spec.rb +45 -45
  650. data/spec/app_store/models/plan_spec.rb +62 -62
  651. data/spec/app_store/models/price_spec.rb +52 -52
  652. data/spec/app_store/models/problem_details_spec.rb +70 -70
  653. data/spec/app_store/models/product_spec.rb +56 -56
  654. data/spec/app_store/models/subscription_item_spec.rb +70 -70
  655. data/spec/app_store/models/subscription_spec.rb +82 -82
  656. data/spec/assets/api/asset_api_spec.rb +116 -116
  657. data/spec/assets/models/asset_spec.rb +125 -125
  658. data/spec/assets/models/asset_status_query_param_spec.rb +35 -35
  659. data/spec/assets/models/asset_status_spec.rb +35 -35
  660. data/spec/assets/models/asset_type_spec.rb +77 -77
  661. data/spec/assets/models/assets_spec.rb +47 -47
  662. data/spec/assets/models/book_depreciation_detail_spec.rb +77 -77
  663. data/spec/assets/models/book_depreciation_setting_spec.rb +95 -95
  664. data/spec/assets/models/error_spec.rb +65 -65
  665. data/spec/assets/models/field_validation_errors_element_spec.rb +71 -71
  666. data/spec/assets/models/pagination_spec.rb +59 -59
  667. data/spec/assets/models/resource_validation_errors_element_spec.rb +65 -65
  668. data/spec/assets/models/setting_spec.rb +83 -83
  669. data/spec/configuration_spec.rb +37 -37
  670. data/spec/files/api/files_api_spec.rb +249 -249
  671. data/spec/files/models/association_spec.rb +59 -59
  672. data/spec/files/models/file_object_spec.rb +83 -83
  673. data/spec/files/models/files_spec.rb +59 -59
  674. data/spec/files/models/folder_spec.rb +65 -65
  675. data/spec/files/models/folders_spec.rb +41 -41
  676. data/spec/files/models/inline_object_spec.rb +59 -59
  677. data/spec/files/models/object_group_spec.rb +35 -35
  678. data/spec/files/models/object_type_spec.rb +35 -35
  679. data/spec/files/models/user_spec.rb +81 -81
  680. data/spec/finance/api/finance_api_spec.rb +156 -156
  681. data/spec/finance/models/account_usage_response_spec.rb +58 -58
  682. data/spec/finance/models/account_usage_spec.rb +112 -112
  683. data/spec/finance/models/balance_sheet_account_detail_spec.rb +64 -64
  684. data/spec/finance/models/balance_sheet_account_group_spec.rb +46 -46
  685. data/spec/finance/models/balance_sheet_account_type_spec.rb +52 -52
  686. data/spec/finance/models/balance_sheet_response_spec.rb +58 -58
  687. data/spec/finance/models/bank_statement_response_spec.rb +46 -46
  688. data/spec/finance/models/cash_account_response_spec.rb +64 -64
  689. data/spec/finance/models/cash_balance_spec.rb +52 -52
  690. data/spec/finance/models/cash_validation_response_spec.rb +64 -64
  691. data/spec/finance/models/cashflow_account_spec.rb +76 -76
  692. data/spec/finance/models/cashflow_activity_spec.rb +52 -52
  693. data/spec/finance/models/cashflow_response_spec.rb +58 -58
  694. data/spec/finance/models/cashflow_type_spec.rb +52 -52
  695. data/spec/finance/models/current_statement_response_spec.rb +70 -70
  696. data/spec/finance/models/data_source_response_spec.rb +124 -124
  697. data/spec/finance/models/history_record_response_spec.rb +64 -64
  698. data/spec/finance/models/lock_history_model_spec.rb +52 -52
  699. data/spec/finance/models/lock_history_response_spec.rb +52 -52
  700. data/spec/finance/models/pnl_account_class_spec.rb +46 -46
  701. data/spec/finance/models/pnl_account_spec.rb +70 -70
  702. data/spec/finance/models/pnl_account_type_spec.rb +52 -52
  703. data/spec/finance/models/practice_response_spec.rb +64 -64
  704. data/spec/finance/models/problem_spec.rb +58 -58
  705. data/spec/finance/models/problem_type_spec.rb +34 -34
  706. data/spec/finance/models/profit_and_loss_response_spec.rb +64 -64
  707. data/spec/finance/models/report_history_model_spec.rb +52 -52
  708. data/spec/finance/models/report_history_response_spec.rb +52 -52
  709. data/spec/finance/models/statement_balance_response_spec.rb +46 -46
  710. data/spec/finance/models/statement_lines_response_spec.rb +136 -136
  711. data/spec/finance/models/trial_balance_account_spec.rb +94 -94
  712. data/spec/finance/models/trial_balance_entry_spec.rb +46 -46
  713. data/spec/finance/models/trial_balance_movement_spec.rb +58 -58
  714. data/spec/finance/models/trial_balance_response_spec.rb +52 -52
  715. data/spec/finance/models/user_activities_response_spec.rb +52 -52
  716. data/spec/finance/models/user_response_spec.rb +106 -106
  717. data/spec/helper_methods_spec.rb +110 -110
  718. data/spec/payroll_au/api/payroll_au_api_spec.rb +415 -415
  719. data/spec/payroll_au/models/account_spec.rb +59 -59
  720. data/spec/payroll_au/models/account_type_spec.rb +35 -35
  721. data/spec/payroll_au/models/allowance_type_spec.rb +35 -35
  722. data/spec/payroll_au/models/api_exception_spec.rb +53 -53
  723. data/spec/payroll_au/models/bank_account_spec.rb +71 -71
  724. data/spec/payroll_au/models/calendar_type_spec.rb +35 -35
  725. data/spec/payroll_au/models/deduction_line_spec.rb +65 -65
  726. data/spec/payroll_au/models/deduction_type_calculation_type_spec.rb +35 -35
  727. data/spec/payroll_au/models/deduction_type_spec.rb +93 -93
  728. data/spec/payroll_au/models/earnings_line_spec.rb +89 -89
  729. data/spec/payroll_au/models/earnings_rate_calculation_type_spec.rb +35 -35
  730. data/spec/payroll_au/models/earnings_rate_spec.rb +137 -137
  731. data/spec/payroll_au/models/earnings_type_spec.rb +35 -35
  732. data/spec/payroll_au/models/employee_spec.rb +225 -225
  733. data/spec/payroll_au/models/employee_status_spec.rb +35 -35
  734. data/spec/payroll_au/models/employees_spec.rb +41 -41
  735. data/spec/payroll_au/models/employment_basis_spec.rb +35 -35
  736. data/spec/payroll_au/models/employment_termination_payment_type_spec.rb +35 -35
  737. data/spec/payroll_au/models/entitlement_final_pay_payout_type_spec.rb +35 -35
  738. data/spec/payroll_au/models/home_address_spec.rb +71 -71
  739. data/spec/payroll_au/models/leave_accrual_line_spec.rb +53 -53
  740. data/spec/payroll_au/models/leave_application_spec.rb +95 -95
  741. data/spec/payroll_au/models/leave_applications_spec.rb +41 -41
  742. data/spec/payroll_au/models/leave_balance_spec.rb +59 -59
  743. data/spec/payroll_au/models/leave_earnings_line_spec.rb +53 -53
  744. data/spec/payroll_au/models/leave_line_calculation_type_spec.rb +35 -35
  745. data/spec/payroll_au/models/leave_line_spec.rb +83 -83
  746. data/spec/payroll_au/models/leave_lines_spec.rb +41 -41
  747. data/spec/payroll_au/models/leave_period_spec.rb +59 -59
  748. data/spec/payroll_au/models/leave_period_status_spec.rb +35 -35
  749. data/spec/payroll_au/models/leave_type_contribution_type_spec.rb +35 -35
  750. data/spec/payroll_au/models/leave_type_spec.rb +89 -89
  751. data/spec/payroll_au/models/manual_tax_type_spec.rb +35 -35
  752. data/spec/payroll_au/models/opening_balances_spec.rb +77 -77
  753. data/spec/payroll_au/models/pay_item_spec.rb +59 -59
  754. data/spec/payroll_au/models/pay_items_spec.rb +41 -41
  755. data/spec/payroll_au/models/pay_run_spec.rb +131 -131
  756. data/spec/payroll_au/models/pay_run_status_spec.rb +35 -35
  757. data/spec/payroll_au/models/pay_runs_spec.rb +41 -41
  758. data/spec/payroll_au/models/pay_template_spec.rb +65 -65
  759. data/spec/payroll_au/models/payment_frequency_type_spec.rb +35 -35
  760. data/spec/payroll_au/models/payroll_calendar_spec.rb +77 -77
  761. data/spec/payroll_au/models/payroll_calendars_spec.rb +41 -41
  762. data/spec/payroll_au/models/payslip_lines_spec.rb +83 -83
  763. data/spec/payroll_au/models/payslip_object_spec.rb +41 -41
  764. data/spec/payroll_au/models/payslip_spec.rb +149 -149
  765. data/spec/payroll_au/models/payslip_summary_spec.rb +107 -107
  766. data/spec/payroll_au/models/payslips_spec.rb +41 -41
  767. data/spec/payroll_au/models/rate_type_spec.rb +35 -35
  768. data/spec/payroll_au/models/reimbursement_line_spec.rb +59 -59
  769. data/spec/payroll_au/models/reimbursement_lines_spec.rb +41 -41
  770. data/spec/payroll_au/models/reimbursement_type_spec.rb +65 -65
  771. data/spec/payroll_au/models/residency_status_spec.rb +35 -35
  772. data/spec/payroll_au/models/settings_object_spec.rb +41 -41
  773. data/spec/payroll_au/models/settings_spec.rb +53 -53
  774. data/spec/payroll_au/models/settings_tracking_categories_employee_groups_spec.rb +47 -47
  775. data/spec/payroll_au/models/settings_tracking_categories_spec.rb +47 -47
  776. data/spec/payroll_au/models/settings_tracking_categories_timesheet_categories_spec.rb +47 -47
  777. data/spec/payroll_au/models/state_spec.rb +35 -35
  778. data/spec/payroll_au/models/super_fund_product_spec.rb +59 -59
  779. data/spec/payroll_au/models/super_fund_products_spec.rb +41 -41
  780. data/spec/payroll_au/models/super_fund_spec.rb +113 -113
  781. data/spec/payroll_au/models/super_fund_type_spec.rb +35 -35
  782. data/spec/payroll_au/models/super_funds_spec.rb +41 -41
  783. data/spec/payroll_au/models/super_line_spec.rb +83 -83
  784. data/spec/payroll_au/models/super_membership_spec.rb +53 -53
  785. data/spec/payroll_au/models/superannuation_calculation_type_spec.rb +35 -35
  786. data/spec/payroll_au/models/superannuation_contribution_type_spec.rb +35 -35
  787. data/spec/payroll_au/models/superannuation_line_spec.rb +89 -89
  788. data/spec/payroll_au/models/tax_declaration_spec.rb +131 -131
  789. data/spec/payroll_au/models/tax_line_spec.rb +71 -71
  790. data/spec/payroll_au/models/tfn_exemption_type_spec.rb +35 -35
  791. data/spec/payroll_au/models/timesheet_line_spec.rb +59 -59
  792. data/spec/payroll_au/models/timesheet_object_spec.rb +41 -41
  793. data/spec/payroll_au/models/timesheet_spec.rb +89 -89
  794. data/spec/payroll_au/models/timesheet_status_spec.rb +35 -35
  795. data/spec/payroll_au/models/timesheets_spec.rb +41 -41
  796. data/spec/payroll_au/models/validation_error_spec.rb +41 -41
  797. data/spec/payroll_nz/api/payroll_nz_api_spec.rb +886 -886
  798. data/spec/payroll_nz/models/account_spec.rb +63 -63
  799. data/spec/payroll_nz/models/accounts_spec.rb +41 -41
  800. data/spec/payroll_nz/models/address_spec.rb +71 -71
  801. data/spec/payroll_nz/models/bank_account_spec.rb +87 -87
  802. data/spec/payroll_nz/models/benefit_spec.rb +103 -103
  803. data/spec/payroll_nz/models/deduction_line_spec.rb +65 -65
  804. data/spec/payroll_nz/models/deduction_object_spec.rb +53 -53
  805. data/spec/payroll_nz/models/deduction_spec.rb +75 -75
  806. data/spec/payroll_nz/models/deductions_spec.rb +53 -53
  807. data/spec/payroll_nz/models/earnings_line_spec.rb +95 -95
  808. data/spec/payroll_nz/models/earnings_order_object_spec.rb +53 -53
  809. data/spec/payroll_nz/models/earnings_order_spec.rb +65 -65
  810. data/spec/payroll_nz/models/earnings_orders_spec.rb +53 -53
  811. data/spec/payroll_nz/models/earnings_rate_object_spec.rb +53 -53
  812. data/spec/payroll_nz/models/earnings_rate_spec.rb +103 -103
  813. data/spec/payroll_nz/models/earnings_rates_spec.rb +53 -53
  814. data/spec/payroll_nz/models/earnings_template_object_spec.rb +53 -53
  815. data/spec/payroll_nz/models/earnings_template_spec.rb +71 -71
  816. data/spec/payroll_nz/models/employee_earnings_templates_spec.rb +53 -53
  817. data/spec/payroll_nz/models/employee_leave_balance_spec.rb +59 -59
  818. data/spec/payroll_nz/models/employee_leave_balances_spec.rb +53 -53
  819. data/spec/payroll_nz/models/employee_leave_object_spec.rb +53 -53
  820. data/spec/payroll_nz/models/employee_leave_setup_object_spec.rb +53 -53
  821. data/spec/payroll_nz/models/employee_leave_setup_spec.rb +77 -77
  822. data/spec/payroll_nz/models/employee_leave_spec.rb +77 -77
  823. data/spec/payroll_nz/models/employee_leave_type_object_spec.rb +53 -53
  824. data/spec/payroll_nz/models/employee_leave_type_spec.rb +99 -99
  825. data/spec/payroll_nz/models/employee_leave_types_spec.rb +53 -53
  826. data/spec/payroll_nz/models/employee_leaves_spec.rb +53 -53
  827. data/spec/payroll_nz/models/employee_object_spec.rb +53 -53
  828. data/spec/payroll_nz/models/employee_opening_balance_spec.rb +59 -59
  829. data/spec/payroll_nz/models/employee_opening_balances_object_spec.rb +53 -53
  830. data/spec/payroll_nz/models/employee_pay_template_object_spec.rb +53 -53
  831. data/spec/payroll_nz/models/employee_pay_template_spec.rb +47 -47
  832. data/spec/payroll_nz/models/employee_pay_templates_spec.rb +53 -53
  833. data/spec/payroll_nz/models/employee_spec.rb +123 -123
  834. data/spec/payroll_nz/models/employee_statutory_leave_balance_object_spec.rb +53 -53
  835. data/spec/payroll_nz/models/employee_statutory_leave_balance_spec.rb +61 -61
  836. data/spec/payroll_nz/models/employee_statutory_leave_summary_spec.rb +85 -85
  837. data/spec/payroll_nz/models/employee_statutory_leaves_summaries_spec.rb +53 -53
  838. data/spec/payroll_nz/models/employee_statutory_sick_leave_object_spec.rb +53 -53
  839. data/spec/payroll_nz/models/employee_statutory_sick_leave_spec.rb +135 -135
  840. data/spec/payroll_nz/models/employee_statutory_sick_leaves_spec.rb +53 -53
  841. data/spec/payroll_nz/models/employee_tax_object_spec.rb +53 -53
  842. data/spec/payroll_nz/models/employee_tax_spec.rb +135 -135
  843. data/spec/payroll_nz/models/employees_spec.rb +53 -53
  844. data/spec/payroll_nz/models/employment_object_spec.rb +53 -53
  845. data/spec/payroll_nz/models/employment_spec.rb +53 -53
  846. data/spec/payroll_nz/models/gross_earnings_history_spec.rb +47 -47
  847. data/spec/payroll_nz/models/invalid_field_spec.rb +47 -47
  848. data/spec/payroll_nz/models/leave_accrual_line_spec.rb +47 -47
  849. data/spec/payroll_nz/models/leave_earnings_line_spec.rb +95 -95
  850. data/spec/payroll_nz/models/leave_period_spec.rb +63 -63
  851. data/spec/payroll_nz/models/leave_periods_spec.rb +53 -53
  852. data/spec/payroll_nz/models/leave_type_object_spec.rb +53 -53
  853. data/spec/payroll_nz/models/leave_type_spec.rb +71 -71
  854. data/spec/payroll_nz/models/leave_types_spec.rb +53 -53
  855. data/spec/payroll_nz/models/pagination_spec.rb +59 -59
  856. data/spec/payroll_nz/models/pay_run_calendar_object_spec.rb +53 -53
  857. data/spec/payroll_nz/models/pay_run_calendar_spec.rb +81 -81
  858. data/spec/payroll_nz/models/pay_run_calendars_spec.rb +53 -53
  859. data/spec/payroll_nz/models/pay_run_object_spec.rb +53 -53
  860. data/spec/payroll_nz/models/pay_run_spec.rb +119 -119
  861. data/spec/payroll_nz/models/pay_runs_spec.rb +53 -53
  862. data/spec/payroll_nz/models/pay_slip_object_spec.rb +53 -53
  863. data/spec/payroll_nz/models/pay_slip_spec.rb +219 -219
  864. data/spec/payroll_nz/models/pay_slips_spec.rb +53 -53
  865. data/spec/payroll_nz/models/payment_line_spec.rb +65 -65
  866. data/spec/payroll_nz/models/payment_method_object_spec.rb +53 -53
  867. data/spec/payroll_nz/models/payment_method_spec.rb +51 -51
  868. data/spec/payroll_nz/models/problem_spec.rb +71 -71
  869. data/spec/payroll_nz/models/reimbursement_line_spec.rb +65 -65
  870. data/spec/payroll_nz/models/reimbursement_object_spec.rb +53 -53
  871. data/spec/payroll_nz/models/reimbursement_spec.rb +101 -101
  872. data/spec/payroll_nz/models/reimbursements_spec.rb +53 -53
  873. data/spec/payroll_nz/models/salary_and_wage_object_spec.rb +53 -53
  874. data/spec/payroll_nz/models/salary_and_wage_spec.rb +103 -103
  875. data/spec/payroll_nz/models/salary_and_wages_spec.rb +53 -53
  876. data/spec/payroll_nz/models/settings_spec.rb +53 -53
  877. data/spec/payroll_nz/models/statutory_deduction_category_spec.rb +35 -35
  878. data/spec/payroll_nz/models/statutory_deduction_line_spec.rb +59 -59
  879. data/spec/payroll_nz/models/statutory_deduction_object_spec.rb +53 -53
  880. data/spec/payroll_nz/models/statutory_deduction_spec.rb +65 -65
  881. data/spec/payroll_nz/models/statutory_deductions_spec.rb +53 -53
  882. data/spec/payroll_nz/models/superannuation_line_spec.rb +71 -71
  883. data/spec/payroll_nz/models/superannuation_object_spec.rb +53 -53
  884. data/spec/payroll_nz/models/superannuations_spec.rb +53 -53
  885. data/spec/payroll_nz/models/tax_code_spec.rb +35 -35
  886. data/spec/payroll_nz/models/tax_line_spec.rb +65 -65
  887. data/spec/payroll_nz/models/tax_settings_spec.rb +75 -75
  888. data/spec/payroll_nz/models/timesheet_earnings_line_spec.rb +95 -95
  889. data/spec/payroll_nz/models/timesheet_line_object_spec.rb +53 -53
  890. data/spec/payroll_nz/models/timesheet_line_spec.rb +65 -65
  891. data/spec/payroll_nz/models/timesheet_object_spec.rb +53 -53
  892. data/spec/payroll_nz/models/timesheet_spec.rb +93 -93
  893. data/spec/payroll_nz/models/timesheets_spec.rb +53 -53
  894. data/spec/payroll_nz/models/tracking_categories_spec.rb +53 -53
  895. data/spec/payroll_nz/models/tracking_category_spec.rb +47 -47
  896. data/spec/payroll_uk/api/payroll_uk_api_spec.rb +912 -912
  897. data/spec/payroll_uk/models/account_spec.rb +63 -63
  898. data/spec/payroll_uk/models/accounts_spec.rb +41 -41
  899. data/spec/payroll_uk/models/address_spec.rb +65 -65
  900. data/spec/payroll_uk/models/bank_account_spec.rb +53 -53
  901. data/spec/payroll_uk/models/benefit_line_spec.rb +65 -65
  902. data/spec/payroll_uk/models/benefit_object_spec.rb +53 -53
  903. data/spec/payroll_uk/models/benefit_spec.rb +127 -127
  904. data/spec/payroll_uk/models/benefits_spec.rb +53 -53
  905. data/spec/payroll_uk/models/court_order_line_spec.rb +47 -47
  906. data/spec/payroll_uk/models/deduction_line_spec.rb +59 -59
  907. data/spec/payroll_uk/models/deduction_object_spec.rb +53 -53
  908. data/spec/payroll_uk/models/deduction_spec.rb +139 -139
  909. data/spec/payroll_uk/models/deductions_spec.rb +53 -53
  910. data/spec/payroll_uk/models/earnings_line_spec.rb +89 -89
  911. data/spec/payroll_uk/models/earnings_order_object_spec.rb +53 -53
  912. data/spec/payroll_uk/models/earnings_order_spec.rb +65 -65
  913. data/spec/payroll_uk/models/earnings_orders_spec.rb +53 -53
  914. data/spec/payroll_uk/models/earnings_rate_object_spec.rb +53 -53
  915. data/spec/payroll_uk/models/earnings_rate_spec.rb +103 -103
  916. data/spec/payroll_uk/models/earnings_rates_spec.rb +53 -53
  917. data/spec/payroll_uk/models/earnings_template_object_spec.rb +53 -53
  918. data/spec/payroll_uk/models/earnings_template_spec.rb +71 -71
  919. data/spec/payroll_uk/models/employee_leave_balance_spec.rb +59 -59
  920. data/spec/payroll_uk/models/employee_leave_balances_spec.rb +53 -53
  921. data/spec/payroll_uk/models/employee_leave_object_spec.rb +53 -53
  922. data/spec/payroll_uk/models/employee_leave_spec.rb +77 -77
  923. data/spec/payroll_uk/models/employee_leave_type_object_spec.rb +53 -53
  924. data/spec/payroll_uk/models/employee_leave_type_spec.rb +75 -75
  925. data/spec/payroll_uk/models/employee_leave_types_spec.rb +53 -53
  926. data/spec/payroll_uk/models/employee_leaves_spec.rb +53 -53
  927. data/spec/payroll_uk/models/employee_object_spec.rb +53 -53
  928. data/spec/payroll_uk/models/employee_opening_balances_object_spec.rb +53 -53
  929. data/spec/payroll_uk/models/employee_opening_balances_spec.rb +71 -71
  930. data/spec/payroll_uk/models/employee_pay_template_object_spec.rb +53 -53
  931. data/spec/payroll_uk/models/employee_pay_template_spec.rb +47 -47
  932. data/spec/payroll_uk/models/employee_pay_templates_spec.rb +53 -53
  933. data/spec/payroll_uk/models/employee_spec.rb +129 -129
  934. data/spec/payroll_uk/models/employee_statutory_leave_balance_object_spec.rb +53 -53
  935. data/spec/payroll_uk/models/employee_statutory_leave_balance_spec.rb +61 -61
  936. data/spec/payroll_uk/models/employee_statutory_leave_summary_spec.rb +85 -85
  937. data/spec/payroll_uk/models/employee_statutory_leaves_summaries_spec.rb +53 -53
  938. data/spec/payroll_uk/models/employee_statutory_sick_leave_object_spec.rb +53 -53
  939. data/spec/payroll_uk/models/employee_statutory_sick_leave_spec.rb +135 -135
  940. data/spec/payroll_uk/models/employee_statutory_sick_leaves_spec.rb +53 -53
  941. data/spec/payroll_uk/models/employee_tax_object_spec.rb +53 -53
  942. data/spec/payroll_uk/models/employee_tax_spec.rb +101 -101
  943. data/spec/payroll_uk/models/employees_spec.rb +53 -53
  944. data/spec/payroll_uk/models/employment_object_spec.rb +53 -53
  945. data/spec/payroll_uk/models/employment_spec.rb +63 -63
  946. data/spec/payroll_uk/models/invalid_field_spec.rb +47 -47
  947. data/spec/payroll_uk/models/leave_accrual_line_spec.rb +47 -47
  948. data/spec/payroll_uk/models/leave_earnings_line_spec.rb +71 -71
  949. data/spec/payroll_uk/models/leave_period_spec.rb +63 -63
  950. data/spec/payroll_uk/models/leave_periods_spec.rb +53 -53
  951. data/spec/payroll_uk/models/leave_type_object_spec.rb +53 -53
  952. data/spec/payroll_uk/models/leave_type_spec.rb +83 -83
  953. data/spec/payroll_uk/models/leave_types_spec.rb +53 -53
  954. data/spec/payroll_uk/models/pagination_spec.rb +59 -59
  955. data/spec/payroll_uk/models/pay_run_calendar_object_spec.rb +53 -53
  956. data/spec/payroll_uk/models/pay_run_calendar_spec.rb +81 -81
  957. data/spec/payroll_uk/models/pay_run_calendars_spec.rb +53 -53
  958. data/spec/payroll_uk/models/pay_run_object_spec.rb +53 -53
  959. data/spec/payroll_uk/models/pay_run_spec.rb +119 -119
  960. data/spec/payroll_uk/models/pay_runs_spec.rb +53 -53
  961. data/spec/payroll_uk/models/payment_line_spec.rb +65 -65
  962. data/spec/payroll_uk/models/payment_method_object_spec.rb +53 -53
  963. data/spec/payroll_uk/models/payment_method_spec.rb +51 -51
  964. data/spec/payroll_uk/models/payslip_object_spec.rb +53 -53
  965. data/spec/payroll_uk/models/payslip_spec.rb +201 -201
  966. data/spec/payroll_uk/models/payslips_spec.rb +53 -53
  967. data/spec/payroll_uk/models/problem_spec.rb +71 -71
  968. data/spec/payroll_uk/models/reimbursement_line_spec.rb +53 -53
  969. data/spec/payroll_uk/models/reimbursement_object_spec.rb +53 -53
  970. data/spec/payroll_uk/models/reimbursement_spec.rb +59 -59
  971. data/spec/payroll_uk/models/reimbursements_spec.rb +53 -53
  972. data/spec/payroll_uk/models/salary_and_wage_object_spec.rb +53 -53
  973. data/spec/payroll_uk/models/salary_and_wage_spec.rb +97 -97
  974. data/spec/payroll_uk/models/salary_and_wages_spec.rb +53 -53
  975. data/spec/payroll_uk/models/settings_spec.rb +53 -53
  976. data/spec/payroll_uk/models/statutory_deduction_category_spec.rb +35 -35
  977. data/spec/payroll_uk/models/statutory_deduction_spec.rb +65 -65
  978. data/spec/payroll_uk/models/tax_line_spec.rb +71 -71
  979. data/spec/payroll_uk/models/timesheet_earnings_line_spec.rb +71 -71
  980. data/spec/payroll_uk/models/timesheet_line_object_spec.rb +53 -53
  981. data/spec/payroll_uk/models/timesheet_line_spec.rb +65 -65
  982. data/spec/payroll_uk/models/timesheet_object_spec.rb +53 -53
  983. data/spec/payroll_uk/models/timesheet_spec.rb +93 -93
  984. data/spec/payroll_uk/models/timesheets_spec.rb +53 -53
  985. data/spec/payroll_uk/models/tracking_categories_spec.rb +53 -53
  986. data/spec/payroll_uk/models/tracking_category_spec.rb +47 -47
  987. data/spec/projects/api/project_api_spec.rb +229 -229
  988. data/spec/projects/models/amount_spec.rb +47 -47
  989. data/spec/projects/models/charge_type_spec.rb +35 -35
  990. data/spec/projects/models/currency_code_spec.rb +35 -35
  991. data/spec/projects/models/error_spec.rb +47 -47
  992. data/spec/projects/models/pagination_spec.rb +59 -59
  993. data/spec/projects/models/project_create_or_update_spec.rb +59 -59
  994. data/spec/projects/models/project_patch_spec.rb +41 -41
  995. data/spec/projects/models/project_spec.rb +167 -167
  996. data/spec/projects/models/project_status_spec.rb +35 -35
  997. data/spec/projects/models/project_user_spec.rb +53 -53
  998. data/spec/projects/models/project_users_spec.rb +47 -47
  999. data/spec/projects/models/projects_spec.rb +47 -47
  1000. data/spec/projects/models/task_create_or_update_spec.rb +59 -59
  1001. data/spec/projects/models/task_spec.rb +129 -129
  1002. data/spec/projects/models/tasks_spec.rb +47 -47
  1003. data/spec/projects/models/time_entries_spec.rb +47 -47
  1004. data/spec/projects/models/time_entry_create_or_update_spec.rb +65 -65
  1005. data/spec/projects/models/time_entry_spec.rb +93 -93
  1006. data/spec/spec_helper.rb +111 -111
  1007. data/spec/where_spec.rb +82 -82
  1008. metadata +386 -386
@@ -1,707 +1,707 @@
1
- =begin
2
- #Xero Accounting API
3
-
4
- #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
-
6
- Contact: api@xero.com
7
- Generated by: https://openapi-generator.tech
8
- OpenAPI Generator version: 4.3.1
9
-
10
- =end
11
-
12
- require 'time'
13
- require 'date'
14
-
15
- module XeroRuby::Accounting
16
- require 'bigdecimal'
17
-
18
- class Invoice
19
- # See Invoice Types
20
- attr_accessor :type
21
- ACCPAY ||= "ACCPAY".freeze
22
- ACCPAYCREDIT ||= "ACCPAYCREDIT".freeze
23
- APOVERPAYMENT ||= "APOVERPAYMENT".freeze
24
- APPREPAYMENT ||= "APPREPAYMENT".freeze
25
- ACCREC ||= "ACCREC".freeze
26
- ACCRECCREDIT ||= "ACCRECCREDIT".freeze
27
- AROVERPAYMENT ||= "AROVERPAYMENT".freeze
28
- ARPREPAYMENT ||= "ARPREPAYMENT".freeze
29
-
30
-
31
- attr_accessor :contact
32
-
33
- # See LineItems
34
- attr_accessor :line_items
35
-
36
- # Date invoice was issued – YYYY-MM-DD. If the Date element is not specified it will default to the current date based on the timezone setting of the organisation
37
- attr_accessor :date
38
-
39
- # Date invoice is due – YYYY-MM-DD
40
- attr_accessor :due_date
41
-
42
-
43
- attr_accessor :line_amount_types
44
-
45
- # ACCREC – Unique alpha numeric code identifying invoice (when missing will auto-generate from your Organisation Invoice Settings) (max length = 255)
46
- attr_accessor :invoice_number
47
-
48
- # ACCREC only – additional reference number
49
- attr_accessor :reference
50
-
51
- # See BrandingThemes
52
- attr_accessor :branding_theme_id
53
-
54
- # URL link to a source document – shown as “Go to [appName]” in the Xero app
55
- attr_accessor :url
56
-
57
-
58
- attr_accessor :currency_code
59
-
60
- # The currency rate for a multicurrency invoice. If no rate is specified, the XE.com day rate is used. (max length = [18].[6])
61
- attr_accessor :currency_rate
62
-
63
- # See Invoice Status Codes
64
- attr_accessor :status
65
- DRAFT ||= "DRAFT".freeze
66
- SUBMITTED ||= "SUBMITTED".freeze
67
- DELETED ||= "DELETED".freeze
68
- AUTHORISED ||= "AUTHORISED".freeze
69
- PAID ||= "PAID".freeze
70
- VOIDED ||= "VOIDED".freeze
71
-
72
- # Boolean to set whether the invoice in the Xero app should be marked as “sent”. This can be set only on invoices that have been approved
73
- attr_accessor :sent_to_contact
74
-
75
- # Shown on sales invoices (Accounts Receivable) when this has been set
76
- attr_accessor :expected_payment_date
77
-
78
- # Shown on bills (Accounts Payable) when this has been set
79
- attr_accessor :planned_payment_date
80
-
81
- # CIS deduction for UK contractors
82
- attr_accessor :cis_deduction
83
-
84
- # CIS Deduction rate for the organisation
85
- attr_accessor :cis_rate
86
-
87
- # Total of invoice excluding taxes
88
- attr_accessor :sub_total
89
-
90
- # Total tax on invoice
91
- attr_accessor :total_tax
92
-
93
- # Total of Invoice tax inclusive (i.e. SubTotal + TotalTax). This will be ignored if it doesn’t equal the sum of the LineAmounts
94
- attr_accessor :total
95
-
96
- # Total of discounts applied on the invoice line items
97
- attr_accessor :total_discount
98
-
99
- # Xero generated unique identifier for invoice
100
- attr_accessor :invoice_id
101
-
102
- # Xero generated unique identifier for repeating invoices
103
- attr_accessor :repeating_invoice_id
104
-
105
- # boolean to indicate if an invoice has an attachment
106
- attr_accessor :has_attachments
107
-
108
- # boolean to indicate if an invoice has a discount
109
- attr_accessor :is_discounted
110
-
111
- # See Payments
112
- attr_accessor :payments
113
-
114
- # See Prepayments
115
- attr_accessor :prepayments
116
-
117
- # See Overpayments
118
- attr_accessor :overpayments
119
-
120
- # Amount remaining to be paid on invoice
121
- attr_accessor :amount_due
122
-
123
- # Sum of payments received for invoice
124
- attr_accessor :amount_paid
125
-
126
- # The date the invoice was fully paid. Only returned on fully paid invoices
127
- attr_accessor :fully_paid_on_date
128
-
129
- # Sum of all credit notes, over-payments and pre-payments applied to invoice
130
- attr_accessor :amount_credited
131
-
132
- # Last modified date UTC format
133
- attr_accessor :updated_date_utc
134
-
135
- # Details of credit notes that have been applied to an invoice
136
- attr_accessor :credit_notes
137
-
138
- # Displays array of attachments from the API
139
- attr_accessor :attachments
140
-
141
- # A boolean to indicate if a invoice has an validation errors
142
- attr_accessor :has_errors
143
-
144
- # A string to indicate if a invoice status
145
- attr_accessor :status_attribute_string
146
-
147
- # Displays array of validation error messages from the API
148
- attr_accessor :validation_errors
149
-
150
- # Displays array of warning messages from the API
151
- attr_accessor :warnings
152
-
153
- class EnumAttributeValidator
154
- attr_reader :datatype
155
- attr_reader :allowable_values
156
-
157
- def initialize(datatype, allowable_values)
158
- @allowable_values = allowable_values.map do |value|
159
- case datatype.to_s
160
- when /Integer/i
161
- value.to_i
162
- when /Float/i
163
- value.to_f
164
- else
165
- value
166
- end
167
- end
168
- end
169
-
170
- def valid?(value)
171
- !value || allowable_values.include?(value)
172
- end
173
- end
174
-
175
- # Attribute mapping from ruby-style variable name to JSON key.
176
- def self.attribute_map
177
- {
178
- :'type' => :'Type',
179
- :'contact' => :'Contact',
180
- :'line_items' => :'LineItems',
181
- :'date' => :'Date',
182
- :'due_date' => :'DueDate',
183
- :'line_amount_types' => :'LineAmountTypes',
184
- :'invoice_number' => :'InvoiceNumber',
185
- :'reference' => :'Reference',
186
- :'branding_theme_id' => :'BrandingThemeID',
187
- :'url' => :'Url',
188
- :'currency_code' => :'CurrencyCode',
189
- :'currency_rate' => :'CurrencyRate',
190
- :'status' => :'Status',
191
- :'sent_to_contact' => :'SentToContact',
192
- :'expected_payment_date' => :'ExpectedPaymentDate',
193
- :'planned_payment_date' => :'PlannedPaymentDate',
194
- :'cis_deduction' => :'CISDeduction',
195
- :'cis_rate' => :'CISRate',
196
- :'sub_total' => :'SubTotal',
197
- :'total_tax' => :'TotalTax',
198
- :'total' => :'Total',
199
- :'total_discount' => :'TotalDiscount',
200
- :'invoice_id' => :'InvoiceID',
201
- :'repeating_invoice_id' => :'RepeatingInvoiceID',
202
- :'has_attachments' => :'HasAttachments',
203
- :'is_discounted' => :'IsDiscounted',
204
- :'payments' => :'Payments',
205
- :'prepayments' => :'Prepayments',
206
- :'overpayments' => :'Overpayments',
207
- :'amount_due' => :'AmountDue',
208
- :'amount_paid' => :'AmountPaid',
209
- :'fully_paid_on_date' => :'FullyPaidOnDate',
210
- :'amount_credited' => :'AmountCredited',
211
- :'updated_date_utc' => :'UpdatedDateUTC',
212
- :'credit_notes' => :'CreditNotes',
213
- :'attachments' => :'Attachments',
214
- :'has_errors' => :'HasErrors',
215
- :'status_attribute_string' => :'StatusAttributeString',
216
- :'validation_errors' => :'ValidationErrors',
217
- :'warnings' => :'Warnings'
218
- }
219
- end
220
-
221
- # Attribute type mapping.
222
- def self.openapi_types
223
- {
224
- :'type' => :'String',
225
- :'contact' => :'Contact',
226
- :'line_items' => :'Array<LineItem>',
227
- :'date' => :'Date',
228
- :'due_date' => :'Date',
229
- :'line_amount_types' => :'LineAmountTypes',
230
- :'invoice_number' => :'String',
231
- :'reference' => :'String',
232
- :'branding_theme_id' => :'String',
233
- :'url' => :'String',
234
- :'currency_code' => :'CurrencyCode',
235
- :'currency_rate' => :'BigDecimal',
236
- :'status' => :'String',
237
- :'sent_to_contact' => :'Boolean',
238
- :'expected_payment_date' => :'Date',
239
- :'planned_payment_date' => :'Date',
240
- :'cis_deduction' => :'BigDecimal',
241
- :'cis_rate' => :'BigDecimal',
242
- :'sub_total' => :'BigDecimal',
243
- :'total_tax' => :'BigDecimal',
244
- :'total' => :'BigDecimal',
245
- :'total_discount' => :'BigDecimal',
246
- :'invoice_id' => :'String',
247
- :'repeating_invoice_id' => :'String',
248
- :'has_attachments' => :'Boolean',
249
- :'is_discounted' => :'Boolean',
250
- :'payments' => :'Array<Payment>',
251
- :'prepayments' => :'Array<Prepayment>',
252
- :'overpayments' => :'Array<Overpayment>',
253
- :'amount_due' => :'BigDecimal',
254
- :'amount_paid' => :'BigDecimal',
255
- :'fully_paid_on_date' => :'Date',
256
- :'amount_credited' => :'BigDecimal',
257
- :'updated_date_utc' => :'DateTime',
258
- :'credit_notes' => :'Array<CreditNote>',
259
- :'attachments' => :'Array<Attachment>',
260
- :'has_errors' => :'Boolean',
261
- :'status_attribute_string' => :'String',
262
- :'validation_errors' => :'Array<ValidationError>',
263
- :'warnings' => :'Array<ValidationError>'
264
- }
265
- end
266
-
267
- # Initializes the object
268
- # @param [Hash] attributes Model attributes in the form of hash
269
- def initialize(attributes = {})
270
- if (!attributes.is_a?(Hash))
271
- fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::Invoice` initialize method"
272
- end
273
-
274
- # check to see if the attribute exists and convert string to symbol for hash key
275
- attributes = attributes.each_with_object({}) { |(k, v), h|
276
- if (!self.class.attribute_map.key?(k.to_sym))
277
- fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::Invoice`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
278
- end
279
- h[k.to_sym] = v
280
- }
281
-
282
- if attributes.key?(:'type')
283
- self.type = attributes[:'type']
284
- end
285
-
286
- if attributes.key?(:'contact')
287
- self.contact = attributes[:'contact']
288
- end
289
-
290
- if attributes.key?(:'line_items')
291
- if (value = attributes[:'line_items']).is_a?(Array)
292
- self.line_items = value
293
- end
294
- end
295
-
296
- if attributes.key?(:'date')
297
- self.date = attributes[:'date']
298
- end
299
-
300
- if attributes.key?(:'due_date')
301
- self.due_date = attributes[:'due_date']
302
- end
303
-
304
- if attributes.key?(:'line_amount_types')
305
- self.line_amount_types = attributes[:'line_amount_types']
306
- end
307
-
308
- if attributes.key?(:'invoice_number')
309
- self.invoice_number = attributes[:'invoice_number']
310
- end
311
-
312
- if attributes.key?(:'reference')
313
- self.reference = attributes[:'reference']
314
- end
315
-
316
- if attributes.key?(:'branding_theme_id')
317
- self.branding_theme_id = attributes[:'branding_theme_id']
318
- end
319
-
320
- if attributes.key?(:'url')
321
- self.url = attributes[:'url']
322
- end
323
-
324
- if attributes.key?(:'currency_code')
325
- self.currency_code = attributes[:'currency_code']
326
- end
327
-
328
- if attributes.key?(:'currency_rate')
329
- self.currency_rate = attributes[:'currency_rate']
330
- end
331
-
332
- if attributes.key?(:'status')
333
- self.status = attributes[:'status']
334
- end
335
-
336
- if attributes.key?(:'sent_to_contact')
337
- self.sent_to_contact = attributes[:'sent_to_contact']
338
- end
339
-
340
- if attributes.key?(:'expected_payment_date')
341
- self.expected_payment_date = attributes[:'expected_payment_date']
342
- end
343
-
344
- if attributes.key?(:'planned_payment_date')
345
- self.planned_payment_date = attributes[:'planned_payment_date']
346
- end
347
-
348
- if attributes.key?(:'cis_deduction')
349
- self.cis_deduction = attributes[:'cis_deduction']
350
- end
351
-
352
- if attributes.key?(:'cis_rate')
353
- self.cis_rate = attributes[:'cis_rate']
354
- end
355
-
356
- if attributes.key?(:'sub_total')
357
- self.sub_total = attributes[:'sub_total']
358
- end
359
-
360
- if attributes.key?(:'total_tax')
361
- self.total_tax = attributes[:'total_tax']
362
- end
363
-
364
- if attributes.key?(:'total')
365
- self.total = attributes[:'total']
366
- end
367
-
368
- if attributes.key?(:'total_discount')
369
- self.total_discount = attributes[:'total_discount']
370
- end
371
-
372
- if attributes.key?(:'invoice_id')
373
- self.invoice_id = attributes[:'invoice_id']
374
- end
375
-
376
- if attributes.key?(:'repeating_invoice_id')
377
- self.repeating_invoice_id = attributes[:'repeating_invoice_id']
378
- end
379
-
380
- if attributes.key?(:'has_attachments')
381
- self.has_attachments = attributes[:'has_attachments']
382
- else
383
- self.has_attachments = false
384
- end
385
-
386
- if attributes.key?(:'is_discounted')
387
- self.is_discounted = attributes[:'is_discounted']
388
- end
389
-
390
- if attributes.key?(:'payments')
391
- if (value = attributes[:'payments']).is_a?(Array)
392
- self.payments = value
393
- end
394
- end
395
-
396
- if attributes.key?(:'prepayments')
397
- if (value = attributes[:'prepayments']).is_a?(Array)
398
- self.prepayments = value
399
- end
400
- end
401
-
402
- if attributes.key?(:'overpayments')
403
- if (value = attributes[:'overpayments']).is_a?(Array)
404
- self.overpayments = value
405
- end
406
- end
407
-
408
- if attributes.key?(:'amount_due')
409
- self.amount_due = attributes[:'amount_due']
410
- end
411
-
412
- if attributes.key?(:'amount_paid')
413
- self.amount_paid = attributes[:'amount_paid']
414
- end
415
-
416
- if attributes.key?(:'fully_paid_on_date')
417
- self.fully_paid_on_date = attributes[:'fully_paid_on_date']
418
- end
419
-
420
- if attributes.key?(:'amount_credited')
421
- self.amount_credited = attributes[:'amount_credited']
422
- end
423
-
424
- if attributes.key?(:'updated_date_utc')
425
- self.updated_date_utc = attributes[:'updated_date_utc']
426
- end
427
-
428
- if attributes.key?(:'credit_notes')
429
- if (value = attributes[:'credit_notes']).is_a?(Array)
430
- self.credit_notes = value
431
- end
432
- end
433
-
434
- if attributes.key?(:'attachments')
435
- if (value = attributes[:'attachments']).is_a?(Array)
436
- self.attachments = value
437
- end
438
- end
439
-
440
- if attributes.key?(:'has_errors')
441
- self.has_errors = attributes[:'has_errors']
442
- else
443
- self.has_errors = false
444
- end
445
-
446
- if attributes.key?(:'status_attribute_string')
447
- self.status_attribute_string = attributes[:'status_attribute_string']
448
- end
449
-
450
- if attributes.key?(:'validation_errors')
451
- if (value = attributes[:'validation_errors']).is_a?(Array)
452
- self.validation_errors = value
453
- end
454
- end
455
-
456
- if attributes.key?(:'warnings')
457
- if (value = attributes[:'warnings']).is_a?(Array)
458
- self.warnings = value
459
- end
460
- end
461
- end
462
-
463
- # Show invalid properties with the reasons. Usually used together with valid?
464
- # @return Array for valid properties with the reasons
465
- def list_invalid_properties
466
- invalid_properties = Array.new
467
- if !@invoice_number.nil? && @invoice_number.to_s.length > 255
468
- invalid_properties.push('invalid value for "invoice_number", the character length must be smaller than or equal to 255.')
469
- end
470
-
471
- invalid_properties
472
- end
473
-
474
- # Check to see if the all the properties in the model are valid
475
- # @return true if the model is valid
476
- def valid?
477
- type_validator = EnumAttributeValidator.new('String', ["ACCPAY", "ACCPAYCREDIT", "APOVERPAYMENT", "APPREPAYMENT", "ACCREC", "ACCRECCREDIT", "AROVERPAYMENT", "ARPREPAYMENT"])
478
- return false unless type_validator.valid?(@type)
479
- return false if !@invoice_number.nil? && @invoice_number.to_s.length > 255
480
- status_validator = EnumAttributeValidator.new('String', ["DRAFT", "SUBMITTED", "DELETED", "AUTHORISED", "PAID", "VOIDED"])
481
- return false unless status_validator.valid?(@status)
482
- true
483
- end
484
-
485
- # Custom attribute writer method checking allowed values (enum).
486
- # @param [Object] type Object to be assigned
487
- def type=(type)
488
- validator = EnumAttributeValidator.new('String', ["ACCPAY", "ACCPAYCREDIT", "APOVERPAYMENT", "APPREPAYMENT", "ACCREC", "ACCRECCREDIT", "AROVERPAYMENT", "ARPREPAYMENT"])
489
- unless validator.valid?(type)
490
- fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
491
- end
492
- @type = type
493
- end
494
-
495
- # Custom attribute writer method with validation
496
- # @param [Object] invoice_number Value to be assigned
497
- def invoice_number=(invoice_number)
498
- if !invoice_number.nil? && invoice_number.to_s.length > 255
499
- fail ArgumentError, 'invalid value for "invoice_number", the character length must be smaller than or equal to 255.'
500
- end
501
-
502
- @invoice_number = invoice_number
503
- end
504
-
505
- # Custom attribute writer method checking allowed values (enum).
506
- # @param [Object] status Object to be assigned
507
- def status=(status)
508
- validator = EnumAttributeValidator.new('String', ["DRAFT", "SUBMITTED", "DELETED", "AUTHORISED", "PAID", "VOIDED"])
509
- unless validator.valid?(status)
510
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
511
- end
512
- @status = status
513
- end
514
-
515
- # Checks equality by comparing each attribute.
516
- # @param [Object] Object to be compared
517
- def ==(o)
518
- return true if self.equal?(o)
519
- self.class == o.class &&
520
- type == o.type &&
521
- contact == o.contact &&
522
- line_items == o.line_items &&
523
- date == o.date &&
524
- due_date == o.due_date &&
525
- line_amount_types == o.line_amount_types &&
526
- invoice_number == o.invoice_number &&
527
- reference == o.reference &&
528
- branding_theme_id == o.branding_theme_id &&
529
- url == o.url &&
530
- currency_code == o.currency_code &&
531
- currency_rate == o.currency_rate &&
532
- status == o.status &&
533
- sent_to_contact == o.sent_to_contact &&
534
- expected_payment_date == o.expected_payment_date &&
535
- planned_payment_date == o.planned_payment_date &&
536
- cis_deduction == o.cis_deduction &&
537
- cis_rate == o.cis_rate &&
538
- sub_total == o.sub_total &&
539
- total_tax == o.total_tax &&
540
- total == o.total &&
541
- total_discount == o.total_discount &&
542
- invoice_id == o.invoice_id &&
543
- repeating_invoice_id == o.repeating_invoice_id &&
544
- has_attachments == o.has_attachments &&
545
- is_discounted == o.is_discounted &&
546
- payments == o.payments &&
547
- prepayments == o.prepayments &&
548
- overpayments == o.overpayments &&
549
- amount_due == o.amount_due &&
550
- amount_paid == o.amount_paid &&
551
- fully_paid_on_date == o.fully_paid_on_date &&
552
- amount_credited == o.amount_credited &&
553
- updated_date_utc == o.updated_date_utc &&
554
- credit_notes == o.credit_notes &&
555
- attachments == o.attachments &&
556
- has_errors == o.has_errors &&
557
- status_attribute_string == o.status_attribute_string &&
558
- validation_errors == o.validation_errors &&
559
- warnings == o.warnings
560
- end
561
-
562
- # @see the `==` method
563
- # @param [Object] Object to be compared
564
- def eql?(o)
565
- self == o
566
- end
567
-
568
- # Calculates hash code according to all attributes.
569
- # @return [Integer] Hash code
570
- def hash
571
- [type, contact, line_items, date, due_date, line_amount_types, invoice_number, reference, branding_theme_id, url, currency_code, currency_rate, status, sent_to_contact, expected_payment_date, planned_payment_date, cis_deduction, cis_rate, sub_total, total_tax, total, total_discount, invoice_id, repeating_invoice_id, has_attachments, is_discounted, payments, prepayments, overpayments, amount_due, amount_paid, fully_paid_on_date, amount_credited, updated_date_utc, credit_notes, attachments, has_errors, status_attribute_string, validation_errors, warnings].hash
572
- end
573
-
574
- # Builds the object from hash
575
- # @param [Hash] attributes Model attributes in the form of hash
576
- # @return [Object] Returns the model itself
577
- def self.build_from_hash(attributes)
578
- new.build_from_hash(attributes)
579
- end
580
-
581
- # Builds the object from hash
582
- # @param [Hash] attributes Model attributes in the form of hash
583
- # @return [Object] Returns the model itself
584
- def build_from_hash(attributes)
585
- return nil unless attributes.is_a?(Hash)
586
- self.class.openapi_types.each_pair do |key, type|
587
- if type =~ /\AArray<(.*)>/i
588
- # check to ensure the input is an array given that the attribute
589
- # is documented as an array but the input is not
590
- if attributes[self.class.attribute_map[key]].is_a?(Array)
591
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
592
- end
593
- elsif !attributes[self.class.attribute_map[key]].nil?
594
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
595
- end # or else data not found in attributes(hash), not an issue as the data can be optional
596
- end
597
-
598
- self
599
- end
600
-
601
- # Deserializes the data based on type
602
- # @param string type Data type
603
- # @param string value Value to be deserialized
604
- # @return [Object] Deserialized data
605
- def _deserialize(type, value)
606
- case type.to_sym
607
- when :DateTime
608
- DateTime.parse(parse_date(value))
609
- when :Date
610
- Date.parse(parse_date(value))
611
- when :String
612
- value.to_s
613
- when :Integer
614
- value.to_i
615
- when :Float
616
- value.to_f
617
- when :BigDecimal
618
- BigDecimal(value.to_s)
619
- when :Boolean
620
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
621
- true
622
- else
623
- false
624
- end
625
- when :Object
626
- # generic object (usually a Hash), return directly
627
- value
628
- when /\AArray<(?<inner_type>.+)>\z/
629
- inner_type = Regexp.last_match[:inner_type]
630
- value.map { |v| _deserialize(inner_type, v) }
631
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
632
- k_type = Regexp.last_match[:k_type]
633
- v_type = Regexp.last_match[:v_type]
634
- {}.tap do |hash|
635
- value.each do |k, v|
636
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
637
- end
638
- end
639
- else # model
640
- XeroRuby::Accounting.const_get(type).build_from_hash(value)
641
- end
642
- end
643
-
644
- # Returns the string representation of the object
645
- # @return [String] String presentation of the object
646
- def to_s
647
- to_hash.to_s
648
- end
649
-
650
- # to_body is an alias to to_hash (backward compatibility)
651
- # @return [Hash] Returns the object in the form of hash
652
- def to_body
653
- to_hash
654
- end
655
-
656
- # Returns the object in the form of hash
657
- # @return [Hash] Returns the object in the form of hash
658
- def to_hash(downcase: false)
659
- hash = {}
660
- self.class.attribute_map.each_pair do |attr, param|
661
- value = self.send(attr)
662
- next if value.nil?
663
- key = downcase ? attr : param
664
- hash[key] = _to_hash(value, downcase: downcase)
665
- end
666
- hash
667
- end
668
-
669
- # Returns the object in the form of hash with snake_case
670
- def to_attributes
671
- to_hash(downcase: true)
672
- end
673
-
674
- # Outputs non-array value in the form of hash
675
- # For object, use to_hash. Otherwise, just return the value
676
- # @param [Object] value Any valid value
677
- # @return [Hash] Returns the value in the form of hash
678
- def _to_hash(value, downcase: false)
679
- if value.is_a?(Array)
680
- value.map do |v|
681
- v.to_hash(downcase: downcase)
682
- end
683
- elsif value.is_a?(Hash)
684
- {}.tap do |hash|
685
- value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
686
- end
687
- elsif value.respond_to? :to_hash
688
- value.to_hash(downcase: downcase)
689
- else
690
- value
691
- end
692
- end
693
-
694
- def parse_date(datestring)
695
- if datestring.include?('Date')
696
- date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
697
- original, date, timezone = *date_pattern.match(datestring)
698
- date = (date.to_i / 1000)
699
- Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
700
- elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
701
- Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
702
- else # handle date 'types' for small subset of payroll API's
703
- Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
704
- end
705
- end
706
- end
707
- end
1
+ =begin
2
+ #Xero Accounting API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ Contact: api@xero.com
7
+ Generated by: https://openapi-generator.tech
8
+ OpenAPI Generator version: 4.3.1
9
+
10
+ =end
11
+
12
+ require 'time'
13
+ require 'date'
14
+
15
+ module XeroRuby::Accounting
16
+ require 'bigdecimal'
17
+
18
+ class Invoice
19
+ # See Invoice Types
20
+ attr_accessor :type
21
+ ACCPAY ||= "ACCPAY".freeze
22
+ ACCPAYCREDIT ||= "ACCPAYCREDIT".freeze
23
+ APOVERPAYMENT ||= "APOVERPAYMENT".freeze
24
+ APPREPAYMENT ||= "APPREPAYMENT".freeze
25
+ ACCREC ||= "ACCREC".freeze
26
+ ACCRECCREDIT ||= "ACCRECCREDIT".freeze
27
+ AROVERPAYMENT ||= "AROVERPAYMENT".freeze
28
+ ARPREPAYMENT ||= "ARPREPAYMENT".freeze
29
+
30
+
31
+ attr_accessor :contact
32
+
33
+ # See LineItems
34
+ attr_accessor :line_items
35
+
36
+ # Date invoice was issued – YYYY-MM-DD. If the Date element is not specified it will default to the current date based on the timezone setting of the organisation
37
+ attr_accessor :date
38
+
39
+ # Date invoice is due – YYYY-MM-DD
40
+ attr_accessor :due_date
41
+
42
+
43
+ attr_accessor :line_amount_types
44
+
45
+ # ACCREC – Unique alpha numeric code identifying invoice (when missing will auto-generate from your Organisation Invoice Settings) (max length = 255)
46
+ attr_accessor :invoice_number
47
+
48
+ # ACCREC only – additional reference number
49
+ attr_accessor :reference
50
+
51
+ # See BrandingThemes
52
+ attr_accessor :branding_theme_id
53
+
54
+ # URL link to a source document – shown as “Go to [appName]” in the Xero app
55
+ attr_accessor :url
56
+
57
+
58
+ attr_accessor :currency_code
59
+
60
+ # The currency rate for a multicurrency invoice. If no rate is specified, the XE.com day rate is used. (max length = [18].[6])
61
+ attr_accessor :currency_rate
62
+
63
+ # See Invoice Status Codes
64
+ attr_accessor :status
65
+ DRAFT ||= "DRAFT".freeze
66
+ SUBMITTED ||= "SUBMITTED".freeze
67
+ DELETED ||= "DELETED".freeze
68
+ AUTHORISED ||= "AUTHORISED".freeze
69
+ PAID ||= "PAID".freeze
70
+ VOIDED ||= "VOIDED".freeze
71
+
72
+ # Boolean to set whether the invoice in the Xero app should be marked as “sent”. This can be set only on invoices that have been approved
73
+ attr_accessor :sent_to_contact
74
+
75
+ # Shown on sales invoices (Accounts Receivable) when this has been set
76
+ attr_accessor :expected_payment_date
77
+
78
+ # Shown on bills (Accounts Payable) when this has been set
79
+ attr_accessor :planned_payment_date
80
+
81
+ # CIS deduction for UK contractors
82
+ attr_accessor :cis_deduction
83
+
84
+ # CIS Deduction rate for the organisation
85
+ attr_accessor :cis_rate
86
+
87
+ # Total of invoice excluding taxes
88
+ attr_accessor :sub_total
89
+
90
+ # Total tax on invoice
91
+ attr_accessor :total_tax
92
+
93
+ # Total of Invoice tax inclusive (i.e. SubTotal + TotalTax). This will be ignored if it doesn’t equal the sum of the LineAmounts
94
+ attr_accessor :total
95
+
96
+ # Total of discounts applied on the invoice line items
97
+ attr_accessor :total_discount
98
+
99
+ # Xero generated unique identifier for invoice
100
+ attr_accessor :invoice_id
101
+
102
+ # Xero generated unique identifier for repeating invoices
103
+ attr_accessor :repeating_invoice_id
104
+
105
+ # boolean to indicate if an invoice has an attachment
106
+ attr_accessor :has_attachments
107
+
108
+ # boolean to indicate if an invoice has a discount
109
+ attr_accessor :is_discounted
110
+
111
+ # See Payments
112
+ attr_accessor :payments
113
+
114
+ # See Prepayments
115
+ attr_accessor :prepayments
116
+
117
+ # See Overpayments
118
+ attr_accessor :overpayments
119
+
120
+ # Amount remaining to be paid on invoice
121
+ attr_accessor :amount_due
122
+
123
+ # Sum of payments received for invoice
124
+ attr_accessor :amount_paid
125
+
126
+ # The date the invoice was fully paid. Only returned on fully paid invoices
127
+ attr_accessor :fully_paid_on_date
128
+
129
+ # Sum of all credit notes, over-payments and pre-payments applied to invoice
130
+ attr_accessor :amount_credited
131
+
132
+ # Last modified date UTC format
133
+ attr_accessor :updated_date_utc
134
+
135
+ # Details of credit notes that have been applied to an invoice
136
+ attr_accessor :credit_notes
137
+
138
+ # Displays array of attachments from the API
139
+ attr_accessor :attachments
140
+
141
+ # A boolean to indicate if a invoice has an validation errors
142
+ attr_accessor :has_errors
143
+
144
+ # A string to indicate if a invoice status
145
+ attr_accessor :status_attribute_string
146
+
147
+ # Displays array of validation error messages from the API
148
+ attr_accessor :validation_errors
149
+
150
+ # Displays array of warning messages from the API
151
+ attr_accessor :warnings
152
+
153
+ class EnumAttributeValidator
154
+ attr_reader :datatype
155
+ attr_reader :allowable_values
156
+
157
+ def initialize(datatype, allowable_values)
158
+ @allowable_values = allowable_values.map do |value|
159
+ case datatype.to_s
160
+ when /Integer/i
161
+ value.to_i
162
+ when /Float/i
163
+ value.to_f
164
+ else
165
+ value
166
+ end
167
+ end
168
+ end
169
+
170
+ def valid?(value)
171
+ !value || allowable_values.include?(value)
172
+ end
173
+ end
174
+
175
+ # Attribute mapping from ruby-style variable name to JSON key.
176
+ def self.attribute_map
177
+ {
178
+ :'type' => :'Type',
179
+ :'contact' => :'Contact',
180
+ :'line_items' => :'LineItems',
181
+ :'date' => :'Date',
182
+ :'due_date' => :'DueDate',
183
+ :'line_amount_types' => :'LineAmountTypes',
184
+ :'invoice_number' => :'InvoiceNumber',
185
+ :'reference' => :'Reference',
186
+ :'branding_theme_id' => :'BrandingThemeID',
187
+ :'url' => :'Url',
188
+ :'currency_code' => :'CurrencyCode',
189
+ :'currency_rate' => :'CurrencyRate',
190
+ :'status' => :'Status',
191
+ :'sent_to_contact' => :'SentToContact',
192
+ :'expected_payment_date' => :'ExpectedPaymentDate',
193
+ :'planned_payment_date' => :'PlannedPaymentDate',
194
+ :'cis_deduction' => :'CISDeduction',
195
+ :'cis_rate' => :'CISRate',
196
+ :'sub_total' => :'SubTotal',
197
+ :'total_tax' => :'TotalTax',
198
+ :'total' => :'Total',
199
+ :'total_discount' => :'TotalDiscount',
200
+ :'invoice_id' => :'InvoiceID',
201
+ :'repeating_invoice_id' => :'RepeatingInvoiceID',
202
+ :'has_attachments' => :'HasAttachments',
203
+ :'is_discounted' => :'IsDiscounted',
204
+ :'payments' => :'Payments',
205
+ :'prepayments' => :'Prepayments',
206
+ :'overpayments' => :'Overpayments',
207
+ :'amount_due' => :'AmountDue',
208
+ :'amount_paid' => :'AmountPaid',
209
+ :'fully_paid_on_date' => :'FullyPaidOnDate',
210
+ :'amount_credited' => :'AmountCredited',
211
+ :'updated_date_utc' => :'UpdatedDateUTC',
212
+ :'credit_notes' => :'CreditNotes',
213
+ :'attachments' => :'Attachments',
214
+ :'has_errors' => :'HasErrors',
215
+ :'status_attribute_string' => :'StatusAttributeString',
216
+ :'validation_errors' => :'ValidationErrors',
217
+ :'warnings' => :'Warnings'
218
+ }
219
+ end
220
+
221
+ # Attribute type mapping.
222
+ def self.openapi_types
223
+ {
224
+ :'type' => :'String',
225
+ :'contact' => :'Contact',
226
+ :'line_items' => :'Array<LineItem>',
227
+ :'date' => :'Date',
228
+ :'due_date' => :'Date',
229
+ :'line_amount_types' => :'LineAmountTypes',
230
+ :'invoice_number' => :'String',
231
+ :'reference' => :'String',
232
+ :'branding_theme_id' => :'String',
233
+ :'url' => :'String',
234
+ :'currency_code' => :'CurrencyCode',
235
+ :'currency_rate' => :'BigDecimal',
236
+ :'status' => :'String',
237
+ :'sent_to_contact' => :'Boolean',
238
+ :'expected_payment_date' => :'Date',
239
+ :'planned_payment_date' => :'Date',
240
+ :'cis_deduction' => :'BigDecimal',
241
+ :'cis_rate' => :'BigDecimal',
242
+ :'sub_total' => :'BigDecimal',
243
+ :'total_tax' => :'BigDecimal',
244
+ :'total' => :'BigDecimal',
245
+ :'total_discount' => :'BigDecimal',
246
+ :'invoice_id' => :'String',
247
+ :'repeating_invoice_id' => :'String',
248
+ :'has_attachments' => :'Boolean',
249
+ :'is_discounted' => :'Boolean',
250
+ :'payments' => :'Array<Payment>',
251
+ :'prepayments' => :'Array<Prepayment>',
252
+ :'overpayments' => :'Array<Overpayment>',
253
+ :'amount_due' => :'BigDecimal',
254
+ :'amount_paid' => :'BigDecimal',
255
+ :'fully_paid_on_date' => :'Date',
256
+ :'amount_credited' => :'BigDecimal',
257
+ :'updated_date_utc' => :'DateTime',
258
+ :'credit_notes' => :'Array<CreditNote>',
259
+ :'attachments' => :'Array<Attachment>',
260
+ :'has_errors' => :'Boolean',
261
+ :'status_attribute_string' => :'String',
262
+ :'validation_errors' => :'Array<ValidationError>',
263
+ :'warnings' => :'Array<ValidationError>'
264
+ }
265
+ end
266
+
267
+ # Initializes the object
268
+ # @param [Hash] attributes Model attributes in the form of hash
269
+ def initialize(attributes = {})
270
+ if (!attributes.is_a?(Hash))
271
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::Invoice` initialize method"
272
+ end
273
+
274
+ # check to see if the attribute exists and convert string to symbol for hash key
275
+ attributes = attributes.each_with_object({}) { |(k, v), h|
276
+ if (!self.class.attribute_map.key?(k.to_sym))
277
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::Invoice`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
278
+ end
279
+ h[k.to_sym] = v
280
+ }
281
+
282
+ if attributes.key?(:'type')
283
+ self.type = attributes[:'type']
284
+ end
285
+
286
+ if attributes.key?(:'contact')
287
+ self.contact = attributes[:'contact']
288
+ end
289
+
290
+ if attributes.key?(:'line_items')
291
+ if (value = attributes[:'line_items']).is_a?(Array)
292
+ self.line_items = value
293
+ end
294
+ end
295
+
296
+ if attributes.key?(:'date')
297
+ self.date = attributes[:'date']
298
+ end
299
+
300
+ if attributes.key?(:'due_date')
301
+ self.due_date = attributes[:'due_date']
302
+ end
303
+
304
+ if attributes.key?(:'line_amount_types')
305
+ self.line_amount_types = attributes[:'line_amount_types']
306
+ end
307
+
308
+ if attributes.key?(:'invoice_number')
309
+ self.invoice_number = attributes[:'invoice_number']
310
+ end
311
+
312
+ if attributes.key?(:'reference')
313
+ self.reference = attributes[:'reference']
314
+ end
315
+
316
+ if attributes.key?(:'branding_theme_id')
317
+ self.branding_theme_id = attributes[:'branding_theme_id']
318
+ end
319
+
320
+ if attributes.key?(:'url')
321
+ self.url = attributes[:'url']
322
+ end
323
+
324
+ if attributes.key?(:'currency_code')
325
+ self.currency_code = attributes[:'currency_code']
326
+ end
327
+
328
+ if attributes.key?(:'currency_rate')
329
+ self.currency_rate = attributes[:'currency_rate']
330
+ end
331
+
332
+ if attributes.key?(:'status')
333
+ self.status = attributes[:'status']
334
+ end
335
+
336
+ if attributes.key?(:'sent_to_contact')
337
+ self.sent_to_contact = attributes[:'sent_to_contact']
338
+ end
339
+
340
+ if attributes.key?(:'expected_payment_date')
341
+ self.expected_payment_date = attributes[:'expected_payment_date']
342
+ end
343
+
344
+ if attributes.key?(:'planned_payment_date')
345
+ self.planned_payment_date = attributes[:'planned_payment_date']
346
+ end
347
+
348
+ if attributes.key?(:'cis_deduction')
349
+ self.cis_deduction = attributes[:'cis_deduction']
350
+ end
351
+
352
+ if attributes.key?(:'cis_rate')
353
+ self.cis_rate = attributes[:'cis_rate']
354
+ end
355
+
356
+ if attributes.key?(:'sub_total')
357
+ self.sub_total = attributes[:'sub_total']
358
+ end
359
+
360
+ if attributes.key?(:'total_tax')
361
+ self.total_tax = attributes[:'total_tax']
362
+ end
363
+
364
+ if attributes.key?(:'total')
365
+ self.total = attributes[:'total']
366
+ end
367
+
368
+ if attributes.key?(:'total_discount')
369
+ self.total_discount = attributes[:'total_discount']
370
+ end
371
+
372
+ if attributes.key?(:'invoice_id')
373
+ self.invoice_id = attributes[:'invoice_id']
374
+ end
375
+
376
+ if attributes.key?(:'repeating_invoice_id')
377
+ self.repeating_invoice_id = attributes[:'repeating_invoice_id']
378
+ end
379
+
380
+ if attributes.key?(:'has_attachments')
381
+ self.has_attachments = attributes[:'has_attachments']
382
+ else
383
+ self.has_attachments = false
384
+ end
385
+
386
+ if attributes.key?(:'is_discounted')
387
+ self.is_discounted = attributes[:'is_discounted']
388
+ end
389
+
390
+ if attributes.key?(:'payments')
391
+ if (value = attributes[:'payments']).is_a?(Array)
392
+ self.payments = value
393
+ end
394
+ end
395
+
396
+ if attributes.key?(:'prepayments')
397
+ if (value = attributes[:'prepayments']).is_a?(Array)
398
+ self.prepayments = value
399
+ end
400
+ end
401
+
402
+ if attributes.key?(:'overpayments')
403
+ if (value = attributes[:'overpayments']).is_a?(Array)
404
+ self.overpayments = value
405
+ end
406
+ end
407
+
408
+ if attributes.key?(:'amount_due')
409
+ self.amount_due = attributes[:'amount_due']
410
+ end
411
+
412
+ if attributes.key?(:'amount_paid')
413
+ self.amount_paid = attributes[:'amount_paid']
414
+ end
415
+
416
+ if attributes.key?(:'fully_paid_on_date')
417
+ self.fully_paid_on_date = attributes[:'fully_paid_on_date']
418
+ end
419
+
420
+ if attributes.key?(:'amount_credited')
421
+ self.amount_credited = attributes[:'amount_credited']
422
+ end
423
+
424
+ if attributes.key?(:'updated_date_utc')
425
+ self.updated_date_utc = attributes[:'updated_date_utc']
426
+ end
427
+
428
+ if attributes.key?(:'credit_notes')
429
+ if (value = attributes[:'credit_notes']).is_a?(Array)
430
+ self.credit_notes = value
431
+ end
432
+ end
433
+
434
+ if attributes.key?(:'attachments')
435
+ if (value = attributes[:'attachments']).is_a?(Array)
436
+ self.attachments = value
437
+ end
438
+ end
439
+
440
+ if attributes.key?(:'has_errors')
441
+ self.has_errors = attributes[:'has_errors']
442
+ else
443
+ self.has_errors = false
444
+ end
445
+
446
+ if attributes.key?(:'status_attribute_string')
447
+ self.status_attribute_string = attributes[:'status_attribute_string']
448
+ end
449
+
450
+ if attributes.key?(:'validation_errors')
451
+ if (value = attributes[:'validation_errors']).is_a?(Array)
452
+ self.validation_errors = value
453
+ end
454
+ end
455
+
456
+ if attributes.key?(:'warnings')
457
+ if (value = attributes[:'warnings']).is_a?(Array)
458
+ self.warnings = value
459
+ end
460
+ end
461
+ end
462
+
463
+ # Show invalid properties with the reasons. Usually used together with valid?
464
+ # @return Array for valid properties with the reasons
465
+ def list_invalid_properties
466
+ invalid_properties = Array.new
467
+ if !@invoice_number.nil? && @invoice_number.to_s.length > 255
468
+ invalid_properties.push('invalid value for "invoice_number", the character length must be smaller than or equal to 255.')
469
+ end
470
+
471
+ invalid_properties
472
+ end
473
+
474
+ # Check to see if the all the properties in the model are valid
475
+ # @return true if the model is valid
476
+ def valid?
477
+ type_validator = EnumAttributeValidator.new('String', ["ACCPAY", "ACCPAYCREDIT", "APOVERPAYMENT", "APPREPAYMENT", "ACCREC", "ACCRECCREDIT", "AROVERPAYMENT", "ARPREPAYMENT"])
478
+ return false unless type_validator.valid?(@type)
479
+ return false if !@invoice_number.nil? && @invoice_number.to_s.length > 255
480
+ status_validator = EnumAttributeValidator.new('String', ["DRAFT", "SUBMITTED", "DELETED", "AUTHORISED", "PAID", "VOIDED"])
481
+ return false unless status_validator.valid?(@status)
482
+ true
483
+ end
484
+
485
+ # Custom attribute writer method checking allowed values (enum).
486
+ # @param [Object] type Object to be assigned
487
+ def type=(type)
488
+ validator = EnumAttributeValidator.new('String', ["ACCPAY", "ACCPAYCREDIT", "APOVERPAYMENT", "APPREPAYMENT", "ACCREC", "ACCRECCREDIT", "AROVERPAYMENT", "ARPREPAYMENT"])
489
+ unless validator.valid?(type)
490
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
491
+ end
492
+ @type = type
493
+ end
494
+
495
+ # Custom attribute writer method with validation
496
+ # @param [Object] invoice_number Value to be assigned
497
+ def invoice_number=(invoice_number)
498
+ if !invoice_number.nil? && invoice_number.to_s.length > 255
499
+ fail ArgumentError, 'invalid value for "invoice_number", the character length must be smaller than or equal to 255.'
500
+ end
501
+
502
+ @invoice_number = invoice_number
503
+ end
504
+
505
+ # Custom attribute writer method checking allowed values (enum).
506
+ # @param [Object] status Object to be assigned
507
+ def status=(status)
508
+ validator = EnumAttributeValidator.new('String', ["DRAFT", "SUBMITTED", "DELETED", "AUTHORISED", "PAID", "VOIDED"])
509
+ unless validator.valid?(status)
510
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
511
+ end
512
+ @status = status
513
+ end
514
+
515
+ # Checks equality by comparing each attribute.
516
+ # @param [Object] Object to be compared
517
+ def ==(o)
518
+ return true if self.equal?(o)
519
+ self.class == o.class &&
520
+ type == o.type &&
521
+ contact == o.contact &&
522
+ line_items == o.line_items &&
523
+ date == o.date &&
524
+ due_date == o.due_date &&
525
+ line_amount_types == o.line_amount_types &&
526
+ invoice_number == o.invoice_number &&
527
+ reference == o.reference &&
528
+ branding_theme_id == o.branding_theme_id &&
529
+ url == o.url &&
530
+ currency_code == o.currency_code &&
531
+ currency_rate == o.currency_rate &&
532
+ status == o.status &&
533
+ sent_to_contact == o.sent_to_contact &&
534
+ expected_payment_date == o.expected_payment_date &&
535
+ planned_payment_date == o.planned_payment_date &&
536
+ cis_deduction == o.cis_deduction &&
537
+ cis_rate == o.cis_rate &&
538
+ sub_total == o.sub_total &&
539
+ total_tax == o.total_tax &&
540
+ total == o.total &&
541
+ total_discount == o.total_discount &&
542
+ invoice_id == o.invoice_id &&
543
+ repeating_invoice_id == o.repeating_invoice_id &&
544
+ has_attachments == o.has_attachments &&
545
+ is_discounted == o.is_discounted &&
546
+ payments == o.payments &&
547
+ prepayments == o.prepayments &&
548
+ overpayments == o.overpayments &&
549
+ amount_due == o.amount_due &&
550
+ amount_paid == o.amount_paid &&
551
+ fully_paid_on_date == o.fully_paid_on_date &&
552
+ amount_credited == o.amount_credited &&
553
+ updated_date_utc == o.updated_date_utc &&
554
+ credit_notes == o.credit_notes &&
555
+ attachments == o.attachments &&
556
+ has_errors == o.has_errors &&
557
+ status_attribute_string == o.status_attribute_string &&
558
+ validation_errors == o.validation_errors &&
559
+ warnings == o.warnings
560
+ end
561
+
562
+ # @see the `==` method
563
+ # @param [Object] Object to be compared
564
+ def eql?(o)
565
+ self == o
566
+ end
567
+
568
+ # Calculates hash code according to all attributes.
569
+ # @return [Integer] Hash code
570
+ def hash
571
+ [type, contact, line_items, date, due_date, line_amount_types, invoice_number, reference, branding_theme_id, url, currency_code, currency_rate, status, sent_to_contact, expected_payment_date, planned_payment_date, cis_deduction, cis_rate, sub_total, total_tax, total, total_discount, invoice_id, repeating_invoice_id, has_attachments, is_discounted, payments, prepayments, overpayments, amount_due, amount_paid, fully_paid_on_date, amount_credited, updated_date_utc, credit_notes, attachments, has_errors, status_attribute_string, validation_errors, warnings].hash
572
+ end
573
+
574
+ # Builds the object from hash
575
+ # @param [Hash] attributes Model attributes in the form of hash
576
+ # @return [Object] Returns the model itself
577
+ def self.build_from_hash(attributes)
578
+ new.build_from_hash(attributes)
579
+ end
580
+
581
+ # Builds the object from hash
582
+ # @param [Hash] attributes Model attributes in the form of hash
583
+ # @return [Object] Returns the model itself
584
+ def build_from_hash(attributes)
585
+ return nil unless attributes.is_a?(Hash)
586
+ self.class.openapi_types.each_pair do |key, type|
587
+ if type =~ /\AArray<(.*)>/i
588
+ # check to ensure the input is an array given that the attribute
589
+ # is documented as an array but the input is not
590
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
591
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
592
+ end
593
+ elsif !attributes[self.class.attribute_map[key]].nil?
594
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
595
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
596
+ end
597
+
598
+ self
599
+ end
600
+
601
+ # Deserializes the data based on type
602
+ # @param string type Data type
603
+ # @param string value Value to be deserialized
604
+ # @return [Object] Deserialized data
605
+ def _deserialize(type, value)
606
+ case type.to_sym
607
+ when :DateTime
608
+ DateTime.parse(parse_date(value))
609
+ when :Date
610
+ Date.parse(parse_date(value))
611
+ when :String
612
+ value.to_s
613
+ when :Integer
614
+ value.to_i
615
+ when :Float
616
+ value.to_f
617
+ when :BigDecimal
618
+ BigDecimal(value.to_s)
619
+ when :Boolean
620
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
621
+ true
622
+ else
623
+ false
624
+ end
625
+ when :Object
626
+ # generic object (usually a Hash), return directly
627
+ value
628
+ when /\AArray<(?<inner_type>.+)>\z/
629
+ inner_type = Regexp.last_match[:inner_type]
630
+ value.map { |v| _deserialize(inner_type, v) }
631
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
632
+ k_type = Regexp.last_match[:k_type]
633
+ v_type = Regexp.last_match[:v_type]
634
+ {}.tap do |hash|
635
+ value.each do |k, v|
636
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
637
+ end
638
+ end
639
+ else # model
640
+ XeroRuby::Accounting.const_get(type).build_from_hash(value)
641
+ end
642
+ end
643
+
644
+ # Returns the string representation of the object
645
+ # @return [String] String presentation of the object
646
+ def to_s
647
+ to_hash.to_s
648
+ end
649
+
650
+ # to_body is an alias to to_hash (backward compatibility)
651
+ # @return [Hash] Returns the object in the form of hash
652
+ def to_body
653
+ to_hash
654
+ end
655
+
656
+ # Returns the object in the form of hash
657
+ # @return [Hash] Returns the object in the form of hash
658
+ def to_hash(downcase: false)
659
+ hash = {}
660
+ self.class.attribute_map.each_pair do |attr, param|
661
+ value = self.send(attr)
662
+ next if value.nil?
663
+ key = downcase ? attr : param
664
+ hash[key] = _to_hash(value, downcase: downcase)
665
+ end
666
+ hash
667
+ end
668
+
669
+ # Returns the object in the form of hash with snake_case
670
+ def to_attributes
671
+ to_hash(downcase: true)
672
+ end
673
+
674
+ # Outputs non-array value in the form of hash
675
+ # For object, use to_hash. Otherwise, just return the value
676
+ # @param [Object] value Any valid value
677
+ # @return [Hash] Returns the value in the form of hash
678
+ def _to_hash(value, downcase: false)
679
+ if value.is_a?(Array)
680
+ value.map do |v|
681
+ v.to_hash(downcase: downcase)
682
+ end
683
+ elsif value.is_a?(Hash)
684
+ {}.tap do |hash|
685
+ value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
686
+ end
687
+ elsif value.respond_to? :to_hash
688
+ value.to_hash(downcase: downcase)
689
+ else
690
+ value
691
+ end
692
+ end
693
+
694
+ def parse_date(datestring)
695
+ if datestring.include?('Date')
696
+ date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
697
+ original, date, timezone = *date_pattern.match(datestring)
698
+ date = (date.to_i / 1000)
699
+ Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
700
+ elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
701
+ Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
702
+ else # handle date 'types' for small subset of payroll API's
703
+ Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
704
+ end
705
+ end
706
+ end
707
+ end