xero-ruby 1.1.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1019) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +393 -107
  3. data/lib/xero-ruby/api/accounting_api.rb +5080 -1354
  4. data/lib/xero-ruby/api/app_store_api.rb +331 -0
  5. data/lib/xero-ruby/api/asset_api.rb +86 -35
  6. data/lib/xero-ruby/api/files_api.rb +1526 -0
  7. data/lib/xero-ruby/api/finance_api.rb +961 -0
  8. data/lib/xero-ruby/api/payroll_au_api.rb +2578 -0
  9. data/lib/xero-ruby/api/payroll_nz_api.rb +5421 -0
  10. data/lib/xero-ruby/api/payroll_uk_api.rb +5560 -0
  11. data/lib/xero-ruby/api/project_api.rb +1423 -0
  12. data/lib/xero-ruby/api_client.rb +283 -96
  13. data/lib/xero-ruby/api_error.rb +5 -5
  14. data/lib/xero-ruby/configuration.rb +32 -9
  15. data/lib/xero-ruby/models/accounting/account.rb +85 -46
  16. data/lib/xero-ruby/models/accounting/account_type.rb +20 -25
  17. data/lib/xero-ruby/models/accounting/accounts.rb +32 -13
  18. data/lib/xero-ruby/models/accounting/accounts_payable.rb +35 -15
  19. data/lib/xero-ruby/models/accounting/accounts_receivable.rb +35 -15
  20. data/lib/xero-ruby/models/accounting/action.rb +268 -0
  21. data/lib/xero-ruby/models/accounting/actions.rb +224 -0
  22. data/lib/xero-ruby/models/accounting/address.rb +44 -24
  23. data/lib/xero-ruby/models/accounting/address_for_organisation.rb +484 -0
  24. data/lib/xero-ruby/models/accounting/allocation.rb +109 -18
  25. data/lib/xero-ruby/models/accounting/allocations.rb +32 -13
  26. data/lib/xero-ruby/models/accounting/attachment.rb +37 -19
  27. data/lib/xero-ruby/models/accounting/attachments.rb +32 -13
  28. data/lib/xero-ruby/models/accounting/balance_details.rb +243 -0
  29. data/lib/xero-ruby/models/accounting/balances.rb +33 -13
  30. data/lib/xero-ruby/models/accounting/bank_transaction.rb +67 -39
  31. data/lib/xero-ruby/models/accounting/bank_transactions.rb +32 -13
  32. data/lib/xero-ruby/models/accounting/bank_transfer.rb +79 -25
  33. data/lib/xero-ruby/models/accounting/bank_transfers.rb +32 -13
  34. data/lib/xero-ruby/models/accounting/batch_payment.rb +75 -54
  35. data/lib/xero-ruby/models/accounting/batch_payment_delete.rb +244 -0
  36. data/lib/xero-ruby/models/accounting/batch_payment_delete_by_url_param.rb +229 -0
  37. data/lib/xero-ruby/models/accounting/batch_payment_details.rb +35 -32
  38. data/lib/xero-ruby/models/accounting/batch_payments.rb +32 -13
  39. data/lib/xero-ruby/models/accounting/bill.rb +32 -13
  40. data/lib/xero-ruby/models/accounting/branding_theme.rb +37 -18
  41. data/lib/xero-ruby/models/accounting/branding_themes.rb +32 -13
  42. data/lib/xero-ruby/models/accounting/budget.rb +327 -0
  43. data/lib/xero-ruby/models/accounting/budget_balance.rb +267 -0
  44. data/lib/xero-ruby/models/accounting/budget_line.rb +244 -0
  45. data/lib/xero-ruby/models/accounting/budgets.rb +224 -0
  46. data/lib/xero-ruby/models/accounting/cis_org_setting.rb +34 -16
  47. data/lib/xero-ruby/models/accounting/cis_org_settings.rb +224 -0
  48. data/lib/xero-ruby/models/accounting/cis_setting.rb +33 -15
  49. data/lib/xero-ruby/models/accounting/cis_settings.rb +32 -13
  50. data/lib/xero-ruby/models/accounting/contact.rb +160 -57
  51. data/lib/xero-ruby/models/accounting/contact_group.rb +36 -16
  52. data/lib/xero-ruby/models/accounting/contact_groups.rb +32 -13
  53. data/lib/xero-ruby/models/accounting/contact_person.rb +34 -16
  54. data/lib/xero-ruby/models/accounting/contacts.rb +32 -13
  55. data/lib/xero-ruby/models/accounting/conversion_balances.rb +245 -0
  56. data/lib/xero-ruby/models/accounting/conversion_date.rb +233 -0
  57. data/lib/xero-ruby/models/accounting/country_code.rb +242 -243
  58. data/lib/xero-ruby/models/accounting/credit_note.rb +118 -45
  59. data/lib/xero-ruby/models/accounting/credit_notes.rb +32 -13
  60. data/lib/xero-ruby/models/accounting/currencies.rb +32 -13
  61. data/lib/xero-ruby/models/accounting/currency.rb +33 -14
  62. data/lib/xero-ruby/models/accounting/currency_code.rb +170 -167
  63. data/lib/xero-ruby/models/accounting/element.rb +38 -14
  64. data/lib/xero-ruby/models/accounting/employee.rb +44 -20
  65. data/lib/xero-ruby/models/accounting/employees.rb +32 -13
  66. data/lib/xero-ruby/models/accounting/error.rb +34 -16
  67. data/lib/xero-ruby/models/accounting/expense_claim.rb +51 -26
  68. data/lib/xero-ruby/models/accounting/expense_claims.rb +32 -13
  69. data/lib/xero-ruby/models/accounting/external_link.rb +38 -14
  70. data/lib/xero-ruby/models/accounting/history_record.rb +34 -16
  71. data/lib/xero-ruby/models/accounting/history_records.rb +32 -13
  72. data/lib/xero-ruby/models/accounting/import_summary.rb +233 -0
  73. data/lib/xero-ruby/models/accounting/import_summary_accounts.rb +303 -0
  74. data/lib/xero-ruby/models/accounting/import_summary_object.rb +222 -0
  75. data/lib/xero-ruby/models/accounting/import_summary_organisation.rb +222 -0
  76. data/lib/xero-ruby/models/accounting/invoice.rb +115 -73
  77. data/lib/xero-ruby/models/accounting/invoice_reminder.rb +31 -13
  78. data/lib/xero-ruby/models/accounting/invoice_reminders.rb +32 -13
  79. data/lib/xero-ruby/models/accounting/invoices.rb +32 -13
  80. data/lib/xero-ruby/models/accounting/item.rb +48 -28
  81. data/lib/xero-ruby/models/accounting/items.rb +32 -13
  82. data/lib/xero-ruby/models/accounting/journal.rb +63 -20
  83. data/lib/xero-ruby/models/accounting/journal_line.rb +46 -27
  84. data/lib/xero-ruby/models/accounting/journals.rb +32 -13
  85. data/lib/xero-ruby/models/accounting/line_amount_types.rb +5 -6
  86. data/lib/xero-ruby/models/accounting/line_item.rb +71 -33
  87. data/lib/xero-ruby/models/accounting/line_item_item.rb +272 -0
  88. data/lib/xero-ruby/models/accounting/line_item_tracking.rb +34 -16
  89. data/lib/xero-ruby/models/accounting/linked_transaction.rb +49 -23
  90. data/lib/xero-ruby/models/accounting/linked_transactions.rb +32 -13
  91. data/lib/xero-ruby/models/accounting/manual_journal.rb +49 -25
  92. data/lib/xero-ruby/models/accounting/manual_journal_line.rb +50 -22
  93. data/lib/xero-ruby/models/accounting/manual_journals.rb +32 -13
  94. data/lib/xero-ruby/models/accounting/online_invoice.rb +31 -13
  95. data/lib/xero-ruby/models/accounting/online_invoices.rb +32 -13
  96. data/lib/xero-ruby/models/accounting/organisation.rb +155 -49
  97. data/lib/xero-ruby/models/accounting/organisations.rb +32 -13
  98. data/lib/xero-ruby/models/accounting/overpayment.rb +60 -33
  99. data/lib/xero-ruby/models/accounting/overpayments.rb +32 -13
  100. data/lib/xero-ruby/models/accounting/payment.rb +102 -35
  101. data/lib/xero-ruby/models/accounting/payment_delete.rb +31 -13
  102. data/lib/xero-ruby/models/accounting/payment_service.rb +36 -18
  103. data/lib/xero-ruby/models/accounting/payment_services.rb +32 -13
  104. data/lib/xero-ruby/models/accounting/payment_term.rb +33 -13
  105. data/lib/xero-ruby/models/accounting/payment_term_type.rb +6 -7
  106. data/lib/xero-ruby/models/accounting/payments.rb +32 -13
  107. data/lib/xero-ruby/models/accounting/phone.rb +40 -16
  108. data/lib/xero-ruby/models/accounting/prepayment.rb +74 -34
  109. data/lib/xero-ruby/models/accounting/prepayments.rb +32 -13
  110. data/lib/xero-ruby/models/accounting/purchase.rb +35 -17
  111. data/lib/xero-ruby/models/accounting/purchase_order.rb +69 -43
  112. data/lib/xero-ruby/models/accounting/purchase_orders.rb +32 -13
  113. data/lib/xero-ruby/models/accounting/quote.rb +82 -38
  114. data/lib/xero-ruby/models/accounting/quote_line_amount_types.rb +5 -6
  115. data/lib/xero-ruby/models/accounting/quote_status_codes.rb +8 -8
  116. data/lib/xero-ruby/models/accounting/quotes.rb +32 -13
  117. data/lib/xero-ruby/models/accounting/receipt.rb +56 -29
  118. data/lib/xero-ruby/models/accounting/receipts.rb +32 -13
  119. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +107 -32
  120. data/lib/xero-ruby/models/accounting/repeating_invoices.rb +32 -13
  121. data/lib/xero-ruby/models/accounting/report.rb +39 -29
  122. data/lib/xero-ruby/models/accounting/report_attribute.rb +33 -13
  123. data/lib/xero-ruby/models/accounting/report_cell.rb +33 -13
  124. data/lib/xero-ruby/models/accounting/report_fields.rb +34 -13
  125. data/lib/xero-ruby/models/accounting/report_row.rb +34 -13
  126. data/lib/xero-ruby/models/accounting/report_rows.rb +35 -13
  127. data/lib/xero-ruby/models/accounting/report_with_row.rb +40 -20
  128. data/lib/xero-ruby/models/accounting/report_with_rows.rb +32 -13
  129. data/lib/xero-ruby/models/accounting/reports.rb +32 -13
  130. data/lib/xero-ruby/models/accounting/request_empty.rb +31 -13
  131. data/lib/xero-ruby/models/accounting/row_type.rb +6 -7
  132. data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +32 -14
  133. data/lib/xero-ruby/models/accounting/schedule.rb +47 -21
  134. data/lib/xero-ruby/models/accounting/setup.rb +246 -0
  135. data/lib/xero-ruby/models/accounting/tax_component.rb +35 -17
  136. data/lib/xero-ruby/models/accounting/tax_rate.rb +148 -28
  137. data/lib/xero-ruby/models/accounting/tax_rates.rb +32 -13
  138. data/lib/xero-ruby/models/accounting/tax_type.rb +122 -62
  139. data/lib/xero-ruby/models/accounting/{ten_nintey_nine_contact.rb → ten_ninety_nine_contact.rb} +142 -53
  140. data/lib/xero-ruby/models/accounting/time_zone.rb +143 -110
  141. data/lib/xero-ruby/models/accounting/tracking_categories.rb +32 -13
  142. data/lib/xero-ruby/models/accounting/tracking_category.rb +39 -18
  143. data/lib/xero-ruby/models/accounting/tracking_option.rb +45 -24
  144. data/lib/xero-ruby/models/accounting/tracking_options.rb +32 -13
  145. data/lib/xero-ruby/models/accounting/user.rb +44 -19
  146. data/lib/xero-ruby/models/accounting/users.rb +32 -13
  147. data/lib/xero-ruby/models/accounting/validation_error.rb +31 -13
  148. data/lib/xero-ruby/models/app_store/create_usage_record.rb +243 -0
  149. data/lib/xero-ruby/models/app_store/plan.rb +311 -0
  150. data/lib/xero-ruby/models/app_store/price.rb +257 -0
  151. data/lib/xero-ruby/models/app_store/problem_details.rb +272 -0
  152. data/lib/xero-ruby/models/app_store/product.rb +299 -0
  153. data/lib/xero-ruby/models/app_store/subscription.rb +361 -0
  154. data/lib/xero-ruby/models/app_store/subscription_item.rb +354 -0
  155. data/lib/xero-ruby/models/app_store/update_usage_record.rb +228 -0
  156. data/lib/xero-ruby/models/app_store/usage_record.rb +332 -0
  157. data/lib/xero-ruby/models/app_store/usage_records_list.rb +230 -0
  158. data/lib/xero-ruby/models/assets/asset.rb +59 -28
  159. data/lib/xero-ruby/models/assets/asset_status.rb +5 -6
  160. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +5 -6
  161. data/lib/xero-ruby/models/assets/asset_type.rb +37 -23
  162. data/lib/xero-ruby/models/assets/assets.rb +33 -13
  163. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +43 -25
  164. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +50 -21
  165. data/lib/xero-ruby/models/assets/error.rb +35 -17
  166. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +37 -19
  167. data/lib/xero-ruby/models/assets/pagination.rb +35 -13
  168. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +36 -18
  169. data/lib/xero-ruby/models/assets/setting.rb +38 -20
  170. data/lib/xero-ruby/models/files/association.rb +252 -0
  171. data/lib/xero-ruby/models/files/file_object.rb +292 -0
  172. data/lib/xero-ruby/models/files/files.rb +254 -0
  173. data/lib/xero-ruby/models/files/folder.rb +262 -0
  174. data/lib/xero-ruby/models/files/folders.rb +224 -0
  175. data/lib/xero-ruby/models/files/object_group.rb +46 -0
  176. data/lib/xero-ruby/models/files/object_type.rb +90 -0
  177. data/lib/xero-ruby/models/files/upload_object.rb +267 -0
  178. data/lib/xero-ruby/models/files/user.rb +267 -0
  179. data/lib/xero-ruby/models/finance/account_usage.rb +342 -0
  180. data/lib/xero-ruby/models/finance/account_usage_response.rb +254 -0
  181. data/lib/xero-ruby/models/finance/balance_sheet_account_detail.rb +262 -0
  182. data/lib/xero-ruby/models/finance/balance_sheet_account_group.rb +234 -0
  183. data/lib/xero-ruby/models/finance/balance_sheet_account_type.rb +244 -0
  184. data/lib/xero-ruby/models/finance/balance_sheet_response.rb +252 -0
  185. data/lib/xero-ruby/models/finance/bank_statement_accounting_response.rb +254 -0
  186. data/lib/xero-ruby/models/finance/bank_statement_response.rb +232 -0
  187. data/lib/xero-ruby/models/finance/bank_transaction_response.rb +274 -0
  188. data/lib/xero-ruby/models/finance/cash_account_response.rb +262 -0
  189. data/lib/xero-ruby/models/finance/cash_balance.rb +242 -0
  190. data/lib/xero-ruby/models/finance/cash_validation_response.rb +262 -0
  191. data/lib/xero-ruby/models/finance/cashflow_account.rb +282 -0
  192. data/lib/xero-ruby/models/finance/cashflow_activity.rb +244 -0
  193. data/lib/xero-ruby/models/finance/cashflow_response.rb +254 -0
  194. data/lib/xero-ruby/models/finance/cashflow_type.rb +244 -0
  195. data/lib/xero-ruby/models/finance/contact_detail.rb +274 -0
  196. data/lib/xero-ruby/models/finance/contact_response.rb +232 -0
  197. data/lib/xero-ruby/models/finance/contact_total_detail.rb +242 -0
  198. data/lib/xero-ruby/models/finance/contact_total_other.rb +252 -0
  199. data/lib/xero-ruby/models/finance/credit_note_response.rb +254 -0
  200. data/lib/xero-ruby/models/finance/current_statement_response.rb +272 -0
  201. data/lib/xero-ruby/models/finance/data_source_response.rb +362 -0
  202. data/lib/xero-ruby/models/finance/history_record_response.rb +262 -0
  203. data/lib/xero-ruby/models/finance/income_by_contact_response.rb +284 -0
  204. data/lib/xero-ruby/models/finance/invoice_response.rb +254 -0
  205. data/lib/xero-ruby/models/finance/line_item_response.rb +252 -0
  206. data/lib/xero-ruby/models/finance/lock_history_model.rb +242 -0
  207. data/lib/xero-ruby/models/finance/lock_history_response.rb +244 -0
  208. data/lib/xero-ruby/models/finance/manual_journal_total.rb +222 -0
  209. data/lib/xero-ruby/models/finance/overpayment_response.rb +254 -0
  210. data/lib/xero-ruby/models/finance/payment_response.rb +312 -0
  211. data/lib/xero-ruby/models/finance/pnl_account.rb +272 -0
  212. data/lib/xero-ruby/models/finance/pnl_account_class.rb +234 -0
  213. data/lib/xero-ruby/models/finance/pnl_account_type.rb +244 -0
  214. data/lib/xero-ruby/models/finance/practice_response.rb +262 -0
  215. data/lib/xero-ruby/models/finance/prepayment_response.rb +254 -0
  216. data/lib/xero-ruby/models/finance/problem.rb +252 -0
  217. data/lib/xero-ruby/models/finance/problem_type.rb +45 -0
  218. data/lib/xero-ruby/models/finance/profit_and_loss_response.rb +262 -0
  219. data/lib/xero-ruby/models/finance/report_history_model.rb +242 -0
  220. data/lib/xero-ruby/models/finance/report_history_response.rb +244 -0
  221. data/lib/xero-ruby/models/finance/statement_balance_response.rb +232 -0
  222. data/lib/xero-ruby/models/finance/statement_line_response.rb +356 -0
  223. data/lib/xero-ruby/models/finance/statement_lines_response.rb +382 -0
  224. data/lib/xero-ruby/models/finance/statement_response.rb +314 -0
  225. data/lib/xero-ruby/models/finance/total_detail.rb +242 -0
  226. data/lib/xero-ruby/models/finance/total_other.rb +242 -0
  227. data/lib/xero-ruby/models/finance/trial_balance_account.rb +312 -0
  228. data/lib/xero-ruby/models/finance/trial_balance_entry.rb +232 -0
  229. data/lib/xero-ruby/models/finance/trial_balance_movement.rb +252 -0
  230. data/lib/xero-ruby/models/finance/trial_balance_response.rb +244 -0
  231. data/lib/xero-ruby/models/finance/user_activities_response.rb +244 -0
  232. data/lib/xero-ruby/models/finance/user_response.rb +336 -0
  233. data/lib/xero-ruby/models/payroll_au/account.rb +252 -0
  234. data/lib/xero-ruby/models/payroll_au/account_type.rb +57 -0
  235. data/lib/xero-ruby/models/payroll_au/allowance_category.rb +41 -0
  236. data/lib/xero-ruby/models/payroll_au/allowance_type.rb +44 -0
  237. data/lib/xero-ruby/models/payroll_au/api_exception.rb +243 -0
  238. data/lib/xero-ruby/models/payroll_au/bank_account.rb +272 -0
  239. data/lib/xero-ruby/models/payroll_au/calendar_type.rb +40 -0
  240. data/lib/xero-ruby/models/payroll_au/country_of_residence.rb +284 -0
  241. data/lib/xero-ruby/models/payroll_au/deduction_line.rb +267 -0
  242. data/lib/xero-ruby/models/payroll_au/deduction_type.rb +354 -0
  243. data/lib/xero-ruby/models/payroll_au/deduction_type_calculation_type.rb +37 -0
  244. data/lib/xero-ruby/models/payroll_au/earnings_line.rb +307 -0
  245. data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +442 -0
  246. data/lib/xero-ruby/models/payroll_au/earnings_rate_calculation_type.rb +37 -0
  247. data/lib/xero-ruby/models/payroll_au/earnings_type.rb +48 -0
  248. data/lib/xero-ruby/models/payroll_au/employee.rb +654 -0
  249. data/lib/xero-ruby/models/payroll_au/employee_status.rb +36 -0
  250. data/lib/xero-ruby/models/payroll_au/employees.rb +224 -0
  251. data/lib/xero-ruby/models/payroll_au/employment_basis.rb +40 -0
  252. data/lib/xero-ruby/models/payroll_au/employment_termination_payment_type.rb +36 -0
  253. data/lib/xero-ruby/models/payroll_au/employment_type.rb +36 -0
  254. data/lib/xero-ruby/models/payroll_au/entitlement_final_pay_payout_type.rb +36 -0
  255. data/lib/xero-ruby/models/payroll_au/home_address.rb +277 -0
  256. data/lib/xero-ruby/models/payroll_au/income_type.rb +39 -0
  257. data/lib/xero-ruby/models/payroll_au/leave_accrual_line.rb +242 -0
  258. data/lib/xero-ruby/models/payroll_au/leave_application.rb +326 -0
  259. data/lib/xero-ruby/models/payroll_au/leave_applications.rb +224 -0
  260. data/lib/xero-ruby/models/payroll_au/leave_balance.rb +252 -0
  261. data/lib/xero-ruby/models/payroll_au/leave_category_code.rb +46 -0
  262. data/lib/xero-ruby/models/payroll_au/leave_earnings_line.rb +252 -0
  263. data/lib/xero-ruby/models/payroll_au/leave_line.rb +292 -0
  264. data/lib/xero-ruby/models/payroll_au/leave_line_calculation_type.rb +38 -0
  265. data/lib/xero-ruby/models/payroll_au/leave_lines.rb +225 -0
  266. data/lib/xero-ruby/models/payroll_au/leave_period.rb +252 -0
  267. data/lib/xero-ruby/models/payroll_au/leave_period_status.rb +38 -0
  268. data/lib/xero-ruby/models/payroll_au/leave_type.rb +337 -0
  269. data/lib/xero-ruby/models/payroll_au/leave_type_contribution_type.rb +38 -0
  270. data/lib/xero-ruby/models/payroll_au/manual_tax_type.rb +40 -0
  271. data/lib/xero-ruby/models/payroll_au/opening_balances.rb +304 -0
  272. data/lib/xero-ruby/models/payroll_au/paid_leave_earnings_line.rb +272 -0
  273. data/lib/xero-ruby/models/payroll_au/pay_item.rb +260 -0
  274. data/lib/xero-ruby/models/payroll_au/pay_items.rb +222 -0
  275. data/lib/xero-ruby/models/payroll_au/pay_out_type.rb +36 -0
  276. data/lib/xero-ruby/models/payroll_au/pay_run.rb +381 -0
  277. data/lib/xero-ruby/models/payroll_au/pay_run_status.rb +36 -0
  278. data/lib/xero-ruby/models/payroll_au/pay_runs.rb +224 -0
  279. data/lib/xero-ruby/models/payroll_au/pay_template.rb +272 -0
  280. data/lib/xero-ruby/models/payroll_au/payment_frequency_type.rb +41 -0
  281. data/lib/xero-ruby/models/payroll_au/payroll_calendar.rb +294 -0
  282. data/lib/xero-ruby/models/payroll_au/payroll_calendars.rb +224 -0
  283. data/lib/xero-ruby/models/payroll_au/payslip.rb +418 -0
  284. data/lib/xero-ruby/models/payroll_au/payslip_lines.rb +308 -0
  285. data/lib/xero-ruby/models/payroll_au/payslip_object.rb +222 -0
  286. data/lib/xero-ruby/models/payroll_au/payslip_summary.rb +332 -0
  287. data/lib/xero-ruby/models/payroll_au/payslips.rb +224 -0
  288. data/lib/xero-ruby/models/payroll_au/rate_type.rb +37 -0
  289. data/lib/xero-ruby/models/payroll_au/reimbursement_line.rb +267 -0
  290. data/lib/xero-ruby/models/payroll_au/reimbursement_lines.rb +225 -0
  291. data/lib/xero-ruby/models/payroll_au/reimbursement_type.rb +277 -0
  292. data/lib/xero-ruby/models/payroll_au/residency_status.rb +37 -0
  293. data/lib/xero-ruby/models/payroll_au/senior_marital_status.rb +37 -0
  294. data/lib/xero-ruby/models/payroll_au/settings.rb +254 -0
  295. data/lib/xero-ruby/models/payroll_au/settings_object.rb +222 -0
  296. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories.rb +233 -0
  297. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_employee_groups.rb +233 -0
  298. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_timesheet_categories.rb +233 -0
  299. data/lib/xero-ruby/models/payroll_au/state.rb +42 -0
  300. data/lib/xero-ruby/models/payroll_au/super_fund.rb +349 -0
  301. data/lib/xero-ruby/models/payroll_au/super_fund_product.rb +252 -0
  302. data/lib/xero-ruby/models/payroll_au/super_fund_products.rb +224 -0
  303. data/lib/xero-ruby/models/payroll_au/super_fund_type.rb +36 -0
  304. data/lib/xero-ruby/models/payroll_au/super_funds.rb +224 -0
  305. data/lib/xero-ruby/models/payroll_au/super_line.rb +292 -0
  306. data/lib/xero-ruby/models/payroll_au/super_membership.rb +252 -0
  307. data/lib/xero-ruby/models/payroll_au/superannuation_calculation_type.rb +37 -0
  308. data/lib/xero-ruby/models/payroll_au/superannuation_contribution_type.rb +38 -0
  309. data/lib/xero-ruby/models/payroll_au/superannuation_line.rb +302 -0
  310. data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +422 -0
  311. data/lib/xero-ruby/models/payroll_au/tax_line.rb +272 -0
  312. data/lib/xero-ruby/models/payroll_au/tax_scale_type.rb +40 -0
  313. data/lib/xero-ruby/models/payroll_au/tfn_exemption_type.rb +38 -0
  314. data/lib/xero-ruby/models/payroll_au/timesheet.rb +321 -0
  315. data/lib/xero-ruby/models/payroll_au/timesheet_line.rb +254 -0
  316. data/lib/xero-ruby/models/payroll_au/timesheet_object.rb +222 -0
  317. data/lib/xero-ruby/models/payroll_au/timesheet_status.rb +39 -0
  318. data/lib/xero-ruby/models/payroll_au/timesheets.rb +224 -0
  319. data/lib/xero-ruby/models/payroll_au/validation_error.rb +222 -0
  320. data/lib/xero-ruby/models/payroll_au/work_condition.rb +37 -0
  321. data/lib/xero-ruby/models/payroll_nz/account.rb +290 -0
  322. data/lib/xero-ruby/models/payroll_nz/accounts.rb +224 -0
  323. data/lib/xero-ruby/models/payroll_nz/address.rb +287 -0
  324. data/lib/xero-ruby/models/payroll_nz/bank_account.rb +343 -0
  325. data/lib/xero-ruby/models/payroll_nz/benefit.rb +383 -0
  326. data/lib/xero-ruby/models/payroll_nz/calendar_type.rb +41 -0
  327. data/lib/xero-ruby/models/payroll_nz/deduction.rb +325 -0
  328. data/lib/xero-ruby/models/payroll_nz/deduction_line.rb +262 -0
  329. data/lib/xero-ruby/models/payroll_nz/deduction_object.rb +242 -0
  330. data/lib/xero-ruby/models/payroll_nz/deductions.rb +244 -0
  331. data/lib/xero-ruby/models/payroll_nz/earnings_line.rb +312 -0
  332. data/lib/xero-ruby/models/payroll_nz/earnings_order.rb +269 -0
  333. data/lib/xero-ruby/models/payroll_nz/earnings_order_object.rb +242 -0
  334. data/lib/xero-ruby/models/payroll_nz/earnings_orders.rb +244 -0
  335. data/lib/xero-ruby/models/payroll_nz/earnings_rate.rb +401 -0
  336. data/lib/xero-ruby/models/payroll_nz/earnings_rate_object.rb +242 -0
  337. data/lib/xero-ruby/models/payroll_nz/earnings_rates.rb +244 -0
  338. data/lib/xero-ruby/models/payroll_nz/earnings_template.rb +272 -0
  339. data/lib/xero-ruby/models/payroll_nz/earnings_template_object.rb +242 -0
  340. data/lib/xero-ruby/models/payroll_nz/employee.rb +398 -0
  341. data/lib/xero-ruby/models/payroll_nz/employee_earnings_templates.rb +244 -0
  342. data/lib/xero-ruby/models/payroll_nz/employee_leave.rb +304 -0
  343. data/lib/xero-ruby/models/payroll_nz/employee_leave_balance.rb +252 -0
  344. data/lib/xero-ruby/models/payroll_nz/employee_leave_balances.rb +244 -0
  345. data/lib/xero-ruby/models/payroll_nz/employee_leave_object.rb +242 -0
  346. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup.rb +282 -0
  347. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup_object.rb +242 -0
  348. data/lib/xero-ruby/models/payroll_nz/employee_leave_type.rb +350 -0
  349. data/lib/xero-ruby/models/payroll_nz/employee_leave_type_object.rb +242 -0
  350. data/lib/xero-ruby/models/payroll_nz/employee_leave_types.rb +244 -0
  351. data/lib/xero-ruby/models/payroll_nz/employee_leaves.rb +244 -0
  352. data/lib/xero-ruby/models/payroll_nz/employee_object.rb +242 -0
  353. data/lib/xero-ruby/models/payroll_nz/employee_opening_balance.rb +252 -0
  354. data/lib/xero-ruby/models/payroll_nz/employee_opening_balances_object.rb +244 -0
  355. data/lib/xero-ruby/models/payroll_nz/employee_pay_template.rb +234 -0
  356. data/lib/xero-ruby/models/payroll_nz/employee_pay_template_object.rb +242 -0
  357. data/lib/xero-ruby/models/payroll_nz/employee_pay_templates.rb +242 -0
  358. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance.rb +294 -0
  359. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance_object.rb +242 -0
  360. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_summary.rb +336 -0
  361. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leaves_summaries.rb +244 -0
  362. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave.rb +433 -0
  363. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave_object.rb +242 -0
  364. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leaves.rb +244 -0
  365. data/lib/xero-ruby/models/payroll_nz/employee_tax.rb +411 -0
  366. data/lib/xero-ruby/models/payroll_nz/employee_tax_object.rb +242 -0
  367. data/lib/xero-ruby/models/payroll_nz/employees.rb +244 -0
  368. data/lib/xero-ruby/models/payroll_nz/employment.rb +242 -0
  369. data/lib/xero-ruby/models/payroll_nz/employment_object.rb +242 -0
  370. data/lib/xero-ruby/models/payroll_nz/gross_earnings_history.rb +232 -0
  371. data/lib/xero-ruby/models/payroll_nz/invalid_field.rb +232 -0
  372. data/lib/xero-ruby/models/payroll_nz/leave_accrual_line.rb +232 -0
  373. data/lib/xero-ruby/models/payroll_nz/leave_earnings_line.rb +312 -0
  374. data/lib/xero-ruby/models/payroll_nz/leave_period.rb +288 -0
  375. data/lib/xero-ruby/models/payroll_nz/leave_periods.rb +244 -0
  376. data/lib/xero-ruby/models/payroll_nz/leave_type.rb +287 -0
  377. data/lib/xero-ruby/models/payroll_nz/leave_type_object.rb +242 -0
  378. data/lib/xero-ruby/models/payroll_nz/leave_types.rb +244 -0
  379. data/lib/xero-ruby/models/payroll_nz/pagination.rb +252 -0
  380. data/lib/xero-ruby/models/payroll_nz/pay_run.rb +385 -0
  381. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar.rb +302 -0
  382. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar_object.rb +242 -0
  383. data/lib/xero-ruby/models/payroll_nz/pay_run_calendars.rb +244 -0
  384. data/lib/xero-ruby/models/payroll_nz/pay_run_object.rb +242 -0
  385. data/lib/xero-ruby/models/payroll_nz/pay_runs.rb +244 -0
  386. data/lib/xero-ruby/models/payroll_nz/pay_slip.rb +571 -0
  387. data/lib/xero-ruby/models/payroll_nz/pay_slip_object.rb +242 -0
  388. data/lib/xero-ruby/models/payroll_nz/pay_slips.rb +244 -0
  389. data/lib/xero-ruby/models/payroll_nz/payment_line.rb +262 -0
  390. data/lib/xero-ruby/models/payroll_nz/payment_method.rb +271 -0
  391. data/lib/xero-ruby/models/payroll_nz/payment_method_object.rb +242 -0
  392. data/lib/xero-ruby/models/payroll_nz/problem.rb +275 -0
  393. data/lib/xero-ruby/models/payroll_nz/reimbursement.rb +378 -0
  394. data/lib/xero-ruby/models/payroll_nz/reimbursement_line.rb +262 -0
  395. data/lib/xero-ruby/models/payroll_nz/reimbursement_object.rb +242 -0
  396. data/lib/xero-ruby/models/payroll_nz/reimbursements.rb +244 -0
  397. data/lib/xero-ruby/models/payroll_nz/salary_and_wage.rb +398 -0
  398. data/lib/xero-ruby/models/payroll_nz/salary_and_wage_object.rb +242 -0
  399. data/lib/xero-ruby/models/payroll_nz/salary_and_wages.rb +244 -0
  400. data/lib/xero-ruby/models/payroll_nz/settings.rb +242 -0
  401. data/lib/xero-ruby/models/payroll_nz/statutory_deduction.rb +262 -0
  402. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_category.rb +45 -0
  403. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_line.rb +252 -0
  404. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_object.rb +242 -0
  405. data/lib/xero-ruby/models/payroll_nz/statutory_deductions.rb +244 -0
  406. data/lib/xero-ruby/models/payroll_nz/superannuation_line.rb +272 -0
  407. data/lib/xero-ruby/models/payroll_nz/superannuation_object.rb +242 -0
  408. data/lib/xero-ruby/models/payroll_nz/superannuations.rb +244 -0
  409. data/lib/xero-ruby/models/payroll_nz/tax_code.rb +53 -0
  410. data/lib/xero-ruby/models/payroll_nz/tax_line.rb +262 -0
  411. data/lib/xero-ruby/models/payroll_nz/tax_settings.rb +308 -0
  412. data/lib/xero-ruby/models/payroll_nz/timesheet.rb +362 -0
  413. data/lib/xero-ruby/models/payroll_nz/timesheet_earnings_line.rb +312 -0
  414. data/lib/xero-ruby/models/payroll_nz/timesheet_line.rb +277 -0
  415. data/lib/xero-ruby/models/payroll_nz/timesheet_line_object.rb +242 -0
  416. data/lib/xero-ruby/models/payroll_nz/timesheet_object.rb +242 -0
  417. data/lib/xero-ruby/models/payroll_nz/timesheets.rb +244 -0
  418. data/lib/xero-ruby/models/payroll_nz/tracking_categories.rb +242 -0
  419. data/lib/xero-ruby/models/payroll_nz/tracking_category.rb +232 -0
  420. data/lib/xero-ruby/models/payroll_uk/account.rb +293 -0
  421. data/lib/xero-ruby/models/payroll_uk/accounts.rb +224 -0
  422. data/lib/xero-ruby/models/payroll_uk/address.rb +277 -0
  423. data/lib/xero-ruby/models/payroll_uk/bank_account.rb +257 -0
  424. data/lib/xero-ruby/models/payroll_uk/benefit.rb +432 -0
  425. data/lib/xero-ruby/models/payroll_uk/benefit_line.rb +262 -0
  426. data/lib/xero-ruby/models/payroll_uk/benefit_object.rb +242 -0
  427. data/lib/xero-ruby/models/payroll_uk/benefits.rb +244 -0
  428. data/lib/xero-ruby/models/payroll_uk/court_order_line.rb +232 -0
  429. data/lib/xero-ruby/models/payroll_uk/deduction.rb +440 -0
  430. data/lib/xero-ruby/models/payroll_uk/deduction_line.rb +252 -0
  431. data/lib/xero-ruby/models/payroll_uk/deduction_object.rb +242 -0
  432. data/lib/xero-ruby/models/payroll_uk/deductions.rb +244 -0
  433. data/lib/xero-ruby/models/payroll_uk/earnings_line.rb +302 -0
  434. data/lib/xero-ruby/models/payroll_uk/earnings_order.rb +269 -0
  435. data/lib/xero-ruby/models/payroll_uk/earnings_order_object.rb +242 -0
  436. data/lib/xero-ruby/models/payroll_uk/earnings_orders.rb +244 -0
  437. data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +409 -0
  438. data/lib/xero-ruby/models/payroll_uk/earnings_rate_object.rb +242 -0
  439. data/lib/xero-ruby/models/payroll_uk/earnings_rates.rb +244 -0
  440. data/lib/xero-ruby/models/payroll_uk/earnings_template.rb +272 -0
  441. data/lib/xero-ruby/models/payroll_uk/earnings_template_object.rb +242 -0
  442. data/lib/xero-ruby/models/payroll_uk/employee.rb +408 -0
  443. data/lib/xero-ruby/models/payroll_uk/employee_leave.rb +304 -0
  444. data/lib/xero-ruby/models/payroll_uk/employee_leave_balance.rb +252 -0
  445. data/lib/xero-ruby/models/payroll_uk/employee_leave_balances.rb +244 -0
  446. data/lib/xero-ruby/models/payroll_uk/employee_leave_object.rb +242 -0
  447. data/lib/xero-ruby/models/payroll_uk/employee_leave_type.rb +320 -0
  448. data/lib/xero-ruby/models/payroll_uk/employee_leave_type_object.rb +242 -0
  449. data/lib/xero-ruby/models/payroll_uk/employee_leave_types.rb +244 -0
  450. data/lib/xero-ruby/models/payroll_uk/employee_leaves.rb +244 -0
  451. data/lib/xero-ruby/models/payroll_uk/employee_object.rb +242 -0
  452. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances.rb +272 -0
  453. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances_object.rb +242 -0
  454. data/lib/xero-ruby/models/payroll_uk/employee_pay_template.rb +234 -0
  455. data/lib/xero-ruby/models/payroll_uk/employee_pay_template_object.rb +242 -0
  456. data/lib/xero-ruby/models/payroll_uk/employee_pay_templates.rb +244 -0
  457. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance.rb +294 -0
  458. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance_object.rb +242 -0
  459. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_summary.rb +336 -0
  460. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leaves_summaries.rb +244 -0
  461. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave.rb +433 -0
  462. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave_object.rb +242 -0
  463. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leaves.rb +244 -0
  464. data/lib/xero-ruby/models/payroll_uk/employee_tax.rb +322 -0
  465. data/lib/xero-ruby/models/payroll_uk/employee_tax_object.rb +242 -0
  466. data/lib/xero-ruby/models/payroll_uk/employees.rb +244 -0
  467. data/lib/xero-ruby/models/payroll_uk/employment.rb +299 -0
  468. data/lib/xero-ruby/models/payroll_uk/employment_object.rb +242 -0
  469. data/lib/xero-ruby/models/payroll_uk/invalid_field.rb +232 -0
  470. data/lib/xero-ruby/models/payroll_uk/leave_accrual_line.rb +232 -0
  471. data/lib/xero-ruby/models/payroll_uk/leave_earnings_line.rb +272 -0
  472. data/lib/xero-ruby/models/payroll_uk/leave_period.rb +288 -0
  473. data/lib/xero-ruby/models/payroll_uk/leave_periods.rb +244 -0
  474. data/lib/xero-ruby/models/payroll_uk/leave_type.rb +307 -0
  475. data/lib/xero-ruby/models/payroll_uk/leave_type_object.rb +242 -0
  476. data/lib/xero-ruby/models/payroll_uk/leave_types.rb +244 -0
  477. data/lib/xero-ruby/models/payroll_uk/pagination.rb +252 -0
  478. data/lib/xero-ruby/models/payroll_uk/pay_run.rb +403 -0
  479. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar.rb +342 -0
  480. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar_object.rb +242 -0
  481. data/lib/xero-ruby/models/payroll_uk/pay_run_calendars.rb +244 -0
  482. data/lib/xero-ruby/models/payroll_uk/pay_run_object.rb +242 -0
  483. data/lib/xero-ruby/models/payroll_uk/pay_runs.rb +244 -0
  484. data/lib/xero-ruby/models/payroll_uk/payment_line.rb +262 -0
  485. data/lib/xero-ruby/models/payroll_uk/payment_method.rb +276 -0
  486. data/lib/xero-ruby/models/payroll_uk/payment_method_object.rb +242 -0
  487. data/lib/xero-ruby/models/payroll_uk/payslip.rb +551 -0
  488. data/lib/xero-ruby/models/payroll_uk/payslip_object.rb +242 -0
  489. data/lib/xero-ruby/models/payroll_uk/payslips.rb +244 -0
  490. data/lib/xero-ruby/models/payroll_uk/problem.rb +275 -0
  491. data/lib/xero-ruby/models/payroll_uk/reimbursement.rb +262 -0
  492. data/lib/xero-ruby/models/payroll_uk/reimbursement_line.rb +242 -0
  493. data/lib/xero-ruby/models/payroll_uk/reimbursement_object.rb +242 -0
  494. data/lib/xero-ruby/models/payroll_uk/reimbursements.rb +244 -0
  495. data/lib/xero-ruby/models/payroll_uk/salary_and_wage.rb +383 -0
  496. data/lib/xero-ruby/models/payroll_uk/salary_and_wage_object.rb +242 -0
  497. data/lib/xero-ruby/models/payroll_uk/salary_and_wages.rb +244 -0
  498. data/lib/xero-ruby/models/payroll_uk/settings.rb +242 -0
  499. data/lib/xero-ruby/models/payroll_uk/statutory_deduction.rb +262 -0
  500. data/lib/xero-ruby/models/payroll_uk/statutory_deduction_category.rb +48 -0
  501. data/lib/xero-ruby/models/payroll_uk/tax_line.rb +272 -0
  502. data/lib/xero-ruby/models/payroll_uk/timesheet.rb +361 -0
  503. data/lib/xero-ruby/models/payroll_uk/timesheet_earnings_line.rb +272 -0
  504. data/lib/xero-ruby/models/payroll_uk/timesheet_line.rb +277 -0
  505. data/lib/xero-ruby/models/payroll_uk/timesheet_line_object.rb +242 -0
  506. data/lib/xero-ruby/models/payroll_uk/timesheet_object.rb +242 -0
  507. data/lib/xero-ruby/models/payroll_uk/timesheets.rb +244 -0
  508. data/lib/xero-ruby/models/payroll_uk/tracking_categories.rb +242 -0
  509. data/lib/xero-ruby/models/payroll_uk/tracking_category.rb +232 -0
  510. data/lib/xero-ruby/models/projects/amount.rb +232 -0
  511. data/lib/xero-ruby/models/projects/charge_type.rb +37 -0
  512. data/lib/xero-ruby/models/projects/currency_code.rb +197 -0
  513. data/lib/xero-ruby/models/projects/error.rb +232 -0
  514. data/lib/xero-ruby/models/projects/pagination.rb +252 -0
  515. data/lib/xero-ruby/models/projects/project.rb +437 -0
  516. data/lib/xero-ruby/models/projects/project_create_or_update.rb +257 -0
  517. data/lib/xero-ruby/models/projects/project_patch.rb +227 -0
  518. data/lib/xero-ruby/models/projects/project_status.rb +36 -0
  519. data/lib/xero-ruby/models/projects/project_user.rb +242 -0
  520. data/lib/xero-ruby/models/projects/project_users.rb +234 -0
  521. data/lib/xero-ruby/models/projects/projects.rb +234 -0
  522. data/lib/xero-ruby/models/projects/task.rb +399 -0
  523. data/lib/xero-ruby/models/projects/task_create_or_update.rb +267 -0
  524. data/lib/xero-ruby/models/projects/tasks.rb +234 -0
  525. data/lib/xero-ruby/models/projects/time_entries.rb +234 -0
  526. data/lib/xero-ruby/models/projects/time_entry.rb +339 -0
  527. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +282 -0
  528. data/lib/xero-ruby/string_serialization.rb +52 -0
  529. data/lib/xero-ruby/version.rb +4 -4
  530. data/lib/xero-ruby/where.rb +67 -0
  531. data/lib/xero-ruby.rb +399 -4
  532. data/spec/accounting/api/accounting_api_spec.rb +3 -3
  533. data/spec/accounting/models/ten_nintey_nine_contact_spec.rb +6 -6
  534. data/spec/api_client_spec.rb +421 -53
  535. data/spec/api_error_spec.rb +45 -0
  536. data/spec/app_store/api/app_store_api_spec.rb +45 -0
  537. data/spec/app_store/models/plan_spec.rb +62 -0
  538. data/spec/app_store/models/price_spec.rb +52 -0
  539. data/spec/app_store/models/problem_details_spec.rb +70 -0
  540. data/spec/app_store/models/product_spec.rb +56 -0
  541. data/spec/app_store/models/subscription_item_spec.rb +70 -0
  542. data/spec/app_store/models/subscription_spec.rb +82 -0
  543. data/spec/assets/api/asset_api_spec.rb +3 -3
  544. data/spec/configuration_spec.rb +27 -32
  545. data/spec/files/api/files_api_spec.rb +249 -0
  546. data/spec/files/models/association_spec.rb +59 -0
  547. data/spec/files/models/file_object_spec.rb +83 -0
  548. data/spec/files/models/files_spec.rb +59 -0
  549. data/spec/files/models/folder_spec.rb +65 -0
  550. data/spec/files/models/folders_spec.rb +41 -0
  551. data/spec/files/models/inline_object_spec.rb +59 -0
  552. data/spec/files/models/object_group_spec.rb +35 -0
  553. data/spec/files/models/object_type_spec.rb +35 -0
  554. data/spec/files/models/user_spec.rb +81 -0
  555. data/spec/finance/api/finance_api_spec.rb +156 -0
  556. data/spec/finance/models/account_usage_response_spec.rb +58 -0
  557. data/spec/finance/models/account_usage_spec.rb +112 -0
  558. data/spec/finance/models/balance_sheet_account_detail_spec.rb +64 -0
  559. data/spec/finance/models/balance_sheet_account_group_spec.rb +46 -0
  560. data/spec/finance/models/balance_sheet_account_type_spec.rb +52 -0
  561. data/spec/finance/models/balance_sheet_response_spec.rb +58 -0
  562. data/spec/finance/models/bank_statement_response_spec.rb +46 -0
  563. data/spec/finance/models/cash_account_response_spec.rb +64 -0
  564. data/spec/finance/models/cash_balance_spec.rb +52 -0
  565. data/spec/finance/models/cash_validation_response_spec.rb +64 -0
  566. data/spec/finance/models/cashflow_account_spec.rb +76 -0
  567. data/spec/finance/models/cashflow_activity_spec.rb +52 -0
  568. data/spec/finance/models/cashflow_response_spec.rb +58 -0
  569. data/spec/finance/models/cashflow_type_spec.rb +52 -0
  570. data/spec/finance/models/current_statement_response_spec.rb +70 -0
  571. data/spec/finance/models/data_source_response_spec.rb +124 -0
  572. data/spec/finance/models/history_record_response_spec.rb +64 -0
  573. data/spec/finance/models/lock_history_model_spec.rb +52 -0
  574. data/spec/finance/models/lock_history_response_spec.rb +52 -0
  575. data/spec/finance/models/pnl_account_class_spec.rb +46 -0
  576. data/spec/finance/models/pnl_account_spec.rb +70 -0
  577. data/spec/finance/models/pnl_account_type_spec.rb +52 -0
  578. data/spec/finance/models/practice_response_spec.rb +64 -0
  579. data/spec/finance/models/problem_spec.rb +58 -0
  580. data/spec/finance/models/problem_type_spec.rb +34 -0
  581. data/spec/finance/models/profit_and_loss_response_spec.rb +64 -0
  582. data/spec/finance/models/report_history_model_spec.rb +52 -0
  583. data/spec/finance/models/report_history_response_spec.rb +52 -0
  584. data/spec/finance/models/statement_balance_response_spec.rb +46 -0
  585. data/spec/finance/models/statement_lines_response_spec.rb +136 -0
  586. data/spec/finance/models/trial_balance_account_spec.rb +94 -0
  587. data/spec/finance/models/trial_balance_entry_spec.rb +46 -0
  588. data/spec/finance/models/trial_balance_movement_spec.rb +58 -0
  589. data/spec/finance/models/trial_balance_response_spec.rb +52 -0
  590. data/spec/finance/models/user_activities_response_spec.rb +52 -0
  591. data/spec/finance/models/user_response_spec.rb +106 -0
  592. data/spec/helper_methods_spec.rb +110 -0
  593. data/spec/payroll_au/api/payroll_au_api_spec.rb +415 -0
  594. data/spec/payroll_au/models/account_spec.rb +59 -0
  595. data/spec/payroll_au/models/account_type_spec.rb +35 -0
  596. data/spec/payroll_au/models/allowance_type_spec.rb +35 -0
  597. data/spec/payroll_au/models/api_exception_spec.rb +53 -0
  598. data/spec/payroll_au/models/bank_account_spec.rb +71 -0
  599. data/spec/payroll_au/models/calendar_type_spec.rb +35 -0
  600. data/spec/payroll_au/models/deduction_line_spec.rb +65 -0
  601. data/spec/payroll_au/models/deduction_type_calculation_type_spec.rb +35 -0
  602. data/spec/payroll_au/models/deduction_type_spec.rb +93 -0
  603. data/spec/payroll_au/models/earnings_line_spec.rb +89 -0
  604. data/spec/payroll_au/models/earnings_rate_calculation_type_spec.rb +35 -0
  605. data/spec/payroll_au/models/earnings_rate_spec.rb +137 -0
  606. data/spec/payroll_au/models/earnings_type_spec.rb +35 -0
  607. data/spec/payroll_au/models/employee_spec.rb +225 -0
  608. data/spec/payroll_au/models/employee_status_spec.rb +35 -0
  609. data/spec/payroll_au/models/employees_spec.rb +41 -0
  610. data/spec/payroll_au/models/employment_basis_spec.rb +35 -0
  611. data/spec/payroll_au/models/employment_termination_payment_type_spec.rb +35 -0
  612. data/spec/payroll_au/models/entitlement_final_pay_payout_type_spec.rb +35 -0
  613. data/spec/payroll_au/models/home_address_spec.rb +71 -0
  614. data/spec/payroll_au/models/leave_accrual_line_spec.rb +53 -0
  615. data/spec/payroll_au/models/leave_application_spec.rb +95 -0
  616. data/spec/payroll_au/models/leave_applications_spec.rb +41 -0
  617. data/spec/payroll_au/models/leave_balance_spec.rb +59 -0
  618. data/spec/payroll_au/models/leave_earnings_line_spec.rb +53 -0
  619. data/spec/payroll_au/models/leave_line_calculation_type_spec.rb +35 -0
  620. data/spec/payroll_au/models/leave_line_spec.rb +83 -0
  621. data/spec/payroll_au/models/leave_lines_spec.rb +41 -0
  622. data/spec/payroll_au/models/leave_period_spec.rb +59 -0
  623. data/spec/payroll_au/models/leave_period_status_spec.rb +35 -0
  624. data/spec/payroll_au/models/leave_type_contribution_type_spec.rb +35 -0
  625. data/spec/payroll_au/models/leave_type_spec.rb +89 -0
  626. data/spec/payroll_au/models/manual_tax_type_spec.rb +35 -0
  627. data/spec/payroll_au/models/opening_balances_spec.rb +77 -0
  628. data/spec/payroll_au/models/pay_item_spec.rb +59 -0
  629. data/spec/payroll_au/models/pay_items_spec.rb +41 -0
  630. data/spec/payroll_au/models/pay_run_spec.rb +131 -0
  631. data/spec/payroll_au/models/pay_run_status_spec.rb +35 -0
  632. data/spec/payroll_au/models/pay_runs_spec.rb +41 -0
  633. data/spec/payroll_au/models/pay_template_spec.rb +65 -0
  634. data/spec/payroll_au/models/payment_frequency_type_spec.rb +35 -0
  635. data/spec/payroll_au/models/payroll_calendar_spec.rb +77 -0
  636. data/spec/payroll_au/models/payroll_calendars_spec.rb +41 -0
  637. data/spec/payroll_au/models/payslip_lines_spec.rb +83 -0
  638. data/spec/payroll_au/models/payslip_object_spec.rb +41 -0
  639. data/spec/payroll_au/models/payslip_spec.rb +149 -0
  640. data/spec/payroll_au/models/payslip_summary_spec.rb +107 -0
  641. data/spec/payroll_au/models/payslips_spec.rb +41 -0
  642. data/spec/payroll_au/models/rate_type_spec.rb +35 -0
  643. data/spec/payroll_au/models/reimbursement_line_spec.rb +59 -0
  644. data/spec/payroll_au/models/reimbursement_lines_spec.rb +41 -0
  645. data/spec/payroll_au/models/reimbursement_type_spec.rb +65 -0
  646. data/spec/payroll_au/models/residency_status_spec.rb +35 -0
  647. data/spec/payroll_au/models/settings_object_spec.rb +41 -0
  648. data/spec/payroll_au/models/settings_spec.rb +53 -0
  649. data/spec/payroll_au/models/settings_tracking_categories_employee_groups_spec.rb +47 -0
  650. data/spec/payroll_au/models/settings_tracking_categories_spec.rb +47 -0
  651. data/spec/payroll_au/models/settings_tracking_categories_timesheet_categories_spec.rb +47 -0
  652. data/spec/payroll_au/models/state_spec.rb +35 -0
  653. data/spec/payroll_au/models/super_fund_product_spec.rb +59 -0
  654. data/spec/payroll_au/models/super_fund_products_spec.rb +41 -0
  655. data/spec/payroll_au/models/super_fund_spec.rb +113 -0
  656. data/spec/payroll_au/models/super_fund_type_spec.rb +35 -0
  657. data/spec/payroll_au/models/super_funds_spec.rb +41 -0
  658. data/spec/payroll_au/models/super_line_spec.rb +83 -0
  659. data/spec/payroll_au/models/super_membership_spec.rb +53 -0
  660. data/spec/payroll_au/models/superannuation_calculation_type_spec.rb +35 -0
  661. data/spec/payroll_au/models/superannuation_contribution_type_spec.rb +35 -0
  662. data/spec/payroll_au/models/superannuation_line_spec.rb +89 -0
  663. data/spec/payroll_au/models/tax_declaration_spec.rb +131 -0
  664. data/spec/payroll_au/models/tax_line_spec.rb +71 -0
  665. data/spec/payroll_au/models/tfn_exemption_type_spec.rb +35 -0
  666. data/spec/payroll_au/models/timesheet_line_spec.rb +59 -0
  667. data/spec/payroll_au/models/timesheet_object_spec.rb +41 -0
  668. data/spec/payroll_au/models/timesheet_spec.rb +89 -0
  669. data/spec/payroll_au/models/timesheet_status_spec.rb +35 -0
  670. data/spec/payroll_au/models/timesheets_spec.rb +41 -0
  671. data/spec/payroll_au/models/validation_error_spec.rb +41 -0
  672. data/spec/payroll_nz/api/payroll_nz_api_spec.rb +886 -0
  673. data/spec/payroll_nz/models/account_spec.rb +63 -0
  674. data/spec/payroll_nz/models/accounts_spec.rb +41 -0
  675. data/spec/payroll_nz/models/address_spec.rb +71 -0
  676. data/spec/payroll_nz/models/bank_account_spec.rb +87 -0
  677. data/spec/payroll_nz/models/benefit_spec.rb +103 -0
  678. data/spec/payroll_nz/models/deduction_line_spec.rb +65 -0
  679. data/spec/payroll_nz/models/deduction_object_spec.rb +53 -0
  680. data/spec/payroll_nz/models/deduction_spec.rb +75 -0
  681. data/spec/payroll_nz/models/deductions_spec.rb +53 -0
  682. data/spec/payroll_nz/models/earnings_line_spec.rb +95 -0
  683. data/spec/payroll_nz/models/earnings_order_object_spec.rb +53 -0
  684. data/spec/payroll_nz/models/earnings_order_spec.rb +65 -0
  685. data/spec/payroll_nz/models/earnings_orders_spec.rb +53 -0
  686. data/spec/payroll_nz/models/earnings_rate_object_spec.rb +53 -0
  687. data/spec/payroll_nz/models/earnings_rate_spec.rb +103 -0
  688. data/spec/payroll_nz/models/earnings_rates_spec.rb +53 -0
  689. data/spec/payroll_nz/models/earnings_template_object_spec.rb +53 -0
  690. data/spec/payroll_nz/models/earnings_template_spec.rb +71 -0
  691. data/spec/payroll_nz/models/employee_earnings_templates_spec.rb +53 -0
  692. data/spec/payroll_nz/models/employee_leave_balance_spec.rb +59 -0
  693. data/spec/payroll_nz/models/employee_leave_balances_spec.rb +53 -0
  694. data/spec/payroll_nz/models/employee_leave_object_spec.rb +53 -0
  695. data/spec/payroll_nz/models/employee_leave_setup_object_spec.rb +53 -0
  696. data/spec/payroll_nz/models/employee_leave_setup_spec.rb +77 -0
  697. data/spec/payroll_nz/models/employee_leave_spec.rb +77 -0
  698. data/spec/payroll_nz/models/employee_leave_type_object_spec.rb +53 -0
  699. data/spec/payroll_nz/models/employee_leave_type_spec.rb +99 -0
  700. data/spec/payroll_nz/models/employee_leave_types_spec.rb +53 -0
  701. data/spec/payroll_nz/models/employee_leaves_spec.rb +53 -0
  702. data/spec/payroll_nz/models/employee_object_spec.rb +53 -0
  703. data/spec/payroll_nz/models/employee_opening_balance_spec.rb +59 -0
  704. data/spec/payroll_nz/models/employee_opening_balances_object_spec.rb +53 -0
  705. data/spec/payroll_nz/models/employee_pay_template_object_spec.rb +53 -0
  706. data/spec/payroll_nz/models/employee_pay_template_spec.rb +47 -0
  707. data/spec/payroll_nz/models/employee_pay_templates_spec.rb +53 -0
  708. data/spec/payroll_nz/models/employee_spec.rb +123 -0
  709. data/spec/payroll_nz/models/employee_statutory_leave_balance_object_spec.rb +53 -0
  710. data/spec/payroll_nz/models/employee_statutory_leave_balance_spec.rb +61 -0
  711. data/spec/payroll_nz/models/employee_statutory_leave_summary_spec.rb +85 -0
  712. data/spec/payroll_nz/models/employee_statutory_leaves_summaries_spec.rb +53 -0
  713. data/spec/payroll_nz/models/employee_statutory_sick_leave_object_spec.rb +53 -0
  714. data/spec/payroll_nz/models/employee_statutory_sick_leave_spec.rb +135 -0
  715. data/spec/payroll_nz/models/employee_statutory_sick_leaves_spec.rb +53 -0
  716. data/spec/payroll_nz/models/employee_tax_object_spec.rb +53 -0
  717. data/spec/payroll_nz/models/employee_tax_spec.rb +135 -0
  718. data/spec/payroll_nz/models/employees_spec.rb +53 -0
  719. data/spec/payroll_nz/models/employment_object_spec.rb +53 -0
  720. data/spec/payroll_nz/models/employment_spec.rb +53 -0
  721. data/spec/payroll_nz/models/gross_earnings_history_spec.rb +47 -0
  722. data/spec/payroll_nz/models/invalid_field_spec.rb +47 -0
  723. data/spec/payroll_nz/models/leave_accrual_line_spec.rb +47 -0
  724. data/spec/payroll_nz/models/leave_earnings_line_spec.rb +95 -0
  725. data/spec/payroll_nz/models/leave_period_spec.rb +63 -0
  726. data/spec/payroll_nz/models/leave_periods_spec.rb +53 -0
  727. data/spec/payroll_nz/models/leave_type_object_spec.rb +53 -0
  728. data/spec/payroll_nz/models/leave_type_spec.rb +71 -0
  729. data/spec/payroll_nz/models/leave_types_spec.rb +53 -0
  730. data/spec/payroll_nz/models/pagination_spec.rb +59 -0
  731. data/spec/payroll_nz/models/pay_run_calendar_object_spec.rb +53 -0
  732. data/spec/payroll_nz/models/pay_run_calendar_spec.rb +81 -0
  733. data/spec/payroll_nz/models/pay_run_calendars_spec.rb +53 -0
  734. data/spec/payroll_nz/models/pay_run_object_spec.rb +53 -0
  735. data/spec/payroll_nz/models/pay_run_spec.rb +119 -0
  736. data/spec/payroll_nz/models/pay_runs_spec.rb +53 -0
  737. data/spec/payroll_nz/models/pay_slip_object_spec.rb +53 -0
  738. data/spec/payroll_nz/models/pay_slip_spec.rb +219 -0
  739. data/spec/payroll_nz/models/pay_slips_spec.rb +53 -0
  740. data/spec/payroll_nz/models/payment_line_spec.rb +65 -0
  741. data/spec/payroll_nz/models/payment_method_object_spec.rb +53 -0
  742. data/spec/payroll_nz/models/payment_method_spec.rb +51 -0
  743. data/spec/payroll_nz/models/problem_spec.rb +71 -0
  744. data/spec/payroll_nz/models/reimbursement_line_spec.rb +65 -0
  745. data/spec/payroll_nz/models/reimbursement_object_spec.rb +53 -0
  746. data/spec/payroll_nz/models/reimbursement_spec.rb +101 -0
  747. data/spec/payroll_nz/models/reimbursements_spec.rb +53 -0
  748. data/spec/payroll_nz/models/salary_and_wage_object_spec.rb +53 -0
  749. data/spec/payroll_nz/models/salary_and_wage_spec.rb +103 -0
  750. data/spec/payroll_nz/models/salary_and_wages_spec.rb +53 -0
  751. data/spec/payroll_nz/models/settings_spec.rb +53 -0
  752. data/spec/payroll_nz/models/statutory_deduction_category_spec.rb +35 -0
  753. data/spec/payroll_nz/models/statutory_deduction_line_spec.rb +59 -0
  754. data/spec/payroll_nz/models/statutory_deduction_object_spec.rb +53 -0
  755. data/spec/payroll_nz/models/statutory_deduction_spec.rb +65 -0
  756. data/spec/payroll_nz/models/statutory_deductions_spec.rb +53 -0
  757. data/spec/payroll_nz/models/superannuation_line_spec.rb +71 -0
  758. data/spec/payroll_nz/models/superannuation_object_spec.rb +53 -0
  759. data/spec/payroll_nz/models/superannuations_spec.rb +53 -0
  760. data/spec/payroll_nz/models/tax_code_spec.rb +35 -0
  761. data/spec/payroll_nz/models/tax_line_spec.rb +65 -0
  762. data/spec/payroll_nz/models/tax_settings_spec.rb +75 -0
  763. data/spec/payroll_nz/models/timesheet_earnings_line_spec.rb +95 -0
  764. data/spec/payroll_nz/models/timesheet_line_object_spec.rb +53 -0
  765. data/spec/payroll_nz/models/timesheet_line_spec.rb +65 -0
  766. data/spec/payroll_nz/models/timesheet_object_spec.rb +53 -0
  767. data/spec/payroll_nz/models/timesheet_spec.rb +93 -0
  768. data/spec/payroll_nz/models/timesheets_spec.rb +53 -0
  769. data/spec/payroll_nz/models/tracking_categories_spec.rb +53 -0
  770. data/spec/payroll_nz/models/tracking_category_spec.rb +47 -0
  771. data/spec/payroll_uk/api/payroll_uk_api_spec.rb +912 -0
  772. data/spec/payroll_uk/models/account_spec.rb +63 -0
  773. data/spec/payroll_uk/models/accounts_spec.rb +41 -0
  774. data/spec/payroll_uk/models/address_spec.rb +65 -0
  775. data/spec/payroll_uk/models/bank_account_spec.rb +53 -0
  776. data/spec/payroll_uk/models/benefit_line_spec.rb +65 -0
  777. data/spec/payroll_uk/models/benefit_object_spec.rb +53 -0
  778. data/spec/payroll_uk/models/benefit_spec.rb +127 -0
  779. data/spec/payroll_uk/models/benefits_spec.rb +53 -0
  780. data/spec/payroll_uk/models/court_order_line_spec.rb +47 -0
  781. data/spec/payroll_uk/models/deduction_line_spec.rb +59 -0
  782. data/spec/payroll_uk/models/deduction_object_spec.rb +53 -0
  783. data/spec/payroll_uk/models/deduction_spec.rb +139 -0
  784. data/spec/payroll_uk/models/deductions_spec.rb +53 -0
  785. data/spec/payroll_uk/models/earnings_line_spec.rb +89 -0
  786. data/spec/payroll_uk/models/earnings_order_object_spec.rb +53 -0
  787. data/spec/payroll_uk/models/earnings_order_spec.rb +65 -0
  788. data/spec/payroll_uk/models/earnings_orders_spec.rb +53 -0
  789. data/spec/payroll_uk/models/earnings_rate_object_spec.rb +53 -0
  790. data/spec/payroll_uk/models/earnings_rate_spec.rb +103 -0
  791. data/spec/payroll_uk/models/earnings_rates_spec.rb +53 -0
  792. data/spec/payroll_uk/models/earnings_template_object_spec.rb +53 -0
  793. data/spec/payroll_uk/models/earnings_template_spec.rb +71 -0
  794. data/spec/payroll_uk/models/employee_leave_balance_spec.rb +59 -0
  795. data/spec/payroll_uk/models/employee_leave_balances_spec.rb +53 -0
  796. data/spec/payroll_uk/models/employee_leave_object_spec.rb +53 -0
  797. data/spec/payroll_uk/models/employee_leave_spec.rb +77 -0
  798. data/spec/payroll_uk/models/employee_leave_type_object_spec.rb +53 -0
  799. data/spec/payroll_uk/models/employee_leave_type_spec.rb +75 -0
  800. data/spec/payroll_uk/models/employee_leave_types_spec.rb +53 -0
  801. data/spec/payroll_uk/models/employee_leaves_spec.rb +53 -0
  802. data/spec/payroll_uk/models/employee_object_spec.rb +53 -0
  803. data/spec/payroll_uk/models/employee_opening_balances_object_spec.rb +53 -0
  804. data/spec/payroll_uk/models/employee_opening_balances_spec.rb +71 -0
  805. data/spec/payroll_uk/models/employee_pay_template_object_spec.rb +53 -0
  806. data/spec/payroll_uk/models/employee_pay_template_spec.rb +47 -0
  807. data/spec/payroll_uk/models/employee_pay_templates_spec.rb +53 -0
  808. data/spec/payroll_uk/models/employee_spec.rb +129 -0
  809. data/spec/payroll_uk/models/employee_statutory_leave_balance_object_spec.rb +53 -0
  810. data/spec/payroll_uk/models/employee_statutory_leave_balance_spec.rb +61 -0
  811. data/spec/payroll_uk/models/employee_statutory_leave_summary_spec.rb +85 -0
  812. data/spec/payroll_uk/models/employee_statutory_leaves_summaries_spec.rb +53 -0
  813. data/spec/payroll_uk/models/employee_statutory_sick_leave_object_spec.rb +53 -0
  814. data/spec/payroll_uk/models/employee_statutory_sick_leave_spec.rb +135 -0
  815. data/spec/payroll_uk/models/employee_statutory_sick_leaves_spec.rb +53 -0
  816. data/spec/payroll_uk/models/employee_tax_object_spec.rb +53 -0
  817. data/spec/payroll_uk/models/employee_tax_spec.rb +101 -0
  818. data/spec/payroll_uk/models/employees_spec.rb +53 -0
  819. data/spec/payroll_uk/models/employment_object_spec.rb +53 -0
  820. data/spec/payroll_uk/models/employment_spec.rb +63 -0
  821. data/spec/payroll_uk/models/invalid_field_spec.rb +47 -0
  822. data/spec/payroll_uk/models/leave_accrual_line_spec.rb +47 -0
  823. data/spec/payroll_uk/models/leave_earnings_line_spec.rb +71 -0
  824. data/spec/payroll_uk/models/leave_period_spec.rb +63 -0
  825. data/spec/payroll_uk/models/leave_periods_spec.rb +53 -0
  826. data/spec/payroll_uk/models/leave_type_object_spec.rb +53 -0
  827. data/spec/payroll_uk/models/leave_type_spec.rb +83 -0
  828. data/spec/payroll_uk/models/leave_types_spec.rb +53 -0
  829. data/spec/payroll_uk/models/pagination_spec.rb +59 -0
  830. data/spec/payroll_uk/models/pay_run_calendar_object_spec.rb +53 -0
  831. data/spec/payroll_uk/models/pay_run_calendar_spec.rb +81 -0
  832. data/spec/payroll_uk/models/pay_run_calendars_spec.rb +53 -0
  833. data/spec/payroll_uk/models/pay_run_object_spec.rb +53 -0
  834. data/spec/payroll_uk/models/pay_run_spec.rb +119 -0
  835. data/spec/payroll_uk/models/pay_runs_spec.rb +53 -0
  836. data/spec/payroll_uk/models/payment_line_spec.rb +65 -0
  837. data/spec/payroll_uk/models/payment_method_object_spec.rb +53 -0
  838. data/spec/payroll_uk/models/payment_method_spec.rb +51 -0
  839. data/spec/payroll_uk/models/payslip_object_spec.rb +53 -0
  840. data/spec/payroll_uk/models/payslip_spec.rb +201 -0
  841. data/spec/payroll_uk/models/payslips_spec.rb +53 -0
  842. data/spec/payroll_uk/models/problem_spec.rb +71 -0
  843. data/spec/payroll_uk/models/reimbursement_line_spec.rb +53 -0
  844. data/spec/payroll_uk/models/reimbursement_object_spec.rb +53 -0
  845. data/spec/payroll_uk/models/reimbursement_spec.rb +59 -0
  846. data/spec/payroll_uk/models/reimbursements_spec.rb +53 -0
  847. data/spec/payroll_uk/models/salary_and_wage_object_spec.rb +53 -0
  848. data/spec/payroll_uk/models/salary_and_wage_spec.rb +97 -0
  849. data/spec/payroll_uk/models/salary_and_wages_spec.rb +53 -0
  850. data/spec/payroll_uk/models/settings_spec.rb +53 -0
  851. data/spec/payroll_uk/models/statutory_deduction_category_spec.rb +35 -0
  852. data/spec/payroll_uk/models/statutory_deduction_spec.rb +65 -0
  853. data/spec/payroll_uk/models/tax_line_spec.rb +71 -0
  854. data/spec/payroll_uk/models/timesheet_earnings_line_spec.rb +71 -0
  855. data/spec/payroll_uk/models/timesheet_line_object_spec.rb +53 -0
  856. data/spec/payroll_uk/models/timesheet_line_spec.rb +65 -0
  857. data/spec/payroll_uk/models/timesheet_object_spec.rb +53 -0
  858. data/spec/payroll_uk/models/timesheet_spec.rb +93 -0
  859. data/spec/payroll_uk/models/timesheets_spec.rb +53 -0
  860. data/spec/payroll_uk/models/tracking_categories_spec.rb +53 -0
  861. data/spec/payroll_uk/models/tracking_category_spec.rb +47 -0
  862. data/spec/projects/api/project_api_spec.rb +229 -0
  863. data/spec/projects/models/amount_spec.rb +47 -0
  864. data/spec/projects/models/charge_type_spec.rb +35 -0
  865. data/spec/projects/models/currency_code_spec.rb +35 -0
  866. data/spec/projects/models/error_spec.rb +47 -0
  867. data/spec/projects/models/pagination_spec.rb +59 -0
  868. data/spec/projects/models/project_create_or_update_spec.rb +59 -0
  869. data/spec/projects/models/project_patch_spec.rb +41 -0
  870. data/spec/projects/models/project_spec.rb +167 -0
  871. data/spec/projects/models/project_status_spec.rb +35 -0
  872. data/spec/projects/models/project_user_spec.rb +53 -0
  873. data/spec/projects/models/project_users_spec.rb +47 -0
  874. data/spec/projects/models/projects_spec.rb +47 -0
  875. data/spec/projects/models/task_create_or_update_spec.rb +59 -0
  876. data/spec/projects/models/task_spec.rb +129 -0
  877. data/spec/projects/models/tasks_spec.rb +47 -0
  878. data/spec/projects/models/time_entries_spec.rb +47 -0
  879. data/spec/projects/models/time_entry_create_or_update_spec.rb +65 -0
  880. data/spec/projects/models/time_entry_spec.rb +93 -0
  881. data/spec/where_spec.rb +82 -0
  882. metadata +1123 -154
  883. data/CODE_OF_CONDUCT.md +0 -76
  884. data/CONTRIBUTING.md +0 -82
  885. data/Gemfile +0 -9
  886. data/LICENSE +0 -21
  887. data/Rakefile +0 -10
  888. data/docs/accounting/Account.md +0 -55
  889. data/docs/accounting/AccountType.md +0 -16
  890. data/docs/accounting/AccountingApi.md +0 -14424
  891. data/docs/accounting/Accounts.md +0 -17
  892. data/docs/accounting/AccountsPayable.md +0 -19
  893. data/docs/accounting/AccountsReceivable.md +0 -19
  894. data/docs/accounting/Address.md +0 -35
  895. data/docs/accounting/Allocation.md +0 -21
  896. data/docs/accounting/Allocations.md +0 -17
  897. data/docs/accounting/Attachment.md +0 -27
  898. data/docs/accounting/Attachments.md +0 -17
  899. data/docs/accounting/Balances.md +0 -19
  900. data/docs/accounting/BankTransaction.md +0 -59
  901. data/docs/accounting/BankTransactions.md +0 -17
  902. data/docs/accounting/BankTransfer.md +0 -37
  903. data/docs/accounting/BankTransfers.md +0 -17
  904. data/docs/accounting/BatchPayment.md +0 -47
  905. data/docs/accounting/BatchPaymentDetails.md +0 -25
  906. data/docs/accounting/BatchPayments.md +0 -17
  907. data/docs/accounting/Bill.md +0 -19
  908. data/docs/accounting/BrandingTheme.md +0 -27
  909. data/docs/accounting/BrandingThemes.md +0 -17
  910. data/docs/accounting/CISOrgSetting.md +0 -21
  911. data/docs/accounting/CISSetting.md +0 -19
  912. data/docs/accounting/CISSettings.md +0 -17
  913. data/docs/accounting/Contact.md +0 -93
  914. data/docs/accounting/ContactGroup.md +0 -23
  915. data/docs/accounting/ContactGroups.md +0 -17
  916. data/docs/accounting/ContactPerson.md +0 -23
  917. data/docs/accounting/Contacts.md +0 -17
  918. data/docs/accounting/CountryCode.md +0 -16
  919. data/docs/accounting/CreditNote.md +0 -67
  920. data/docs/accounting/CreditNotes.md +0 -17
  921. data/docs/accounting/Currencies.md +0 -17
  922. data/docs/accounting/Currency.md +0 -19
  923. data/docs/accounting/CurrencyCode.md +0 -16
  924. data/docs/accounting/Element.md +0 -31
  925. data/docs/accounting/Employee.md +0 -31
  926. data/docs/accounting/Employees.md +0 -17
  927. data/docs/accounting/Error.md +0 -23
  928. data/docs/accounting/ExpenseClaim.md +0 -39
  929. data/docs/accounting/ExpenseClaims.md +0 -17
  930. data/docs/accounting/ExternalLink.md +0 -21
  931. data/docs/accounting/HistoryRecord.md +0 -23
  932. data/docs/accounting/HistoryRecords.md +0 -17
  933. data/docs/accounting/Invoice.md +0 -91
  934. data/docs/accounting/InvoiceReminder.md +0 -17
  935. data/docs/accounting/InvoiceReminders.md +0 -17
  936. data/docs/accounting/Invoices.md +0 -17
  937. data/docs/accounting/Item.md +0 -47
  938. data/docs/accounting/Items.md +0 -17
  939. data/docs/accounting/Journal.md +0 -31
  940. data/docs/accounting/JournalLine.md +0 -39
  941. data/docs/accounting/Journals.md +0 -17
  942. data/docs/accounting/LineAmountTypes.md +0 -16
  943. data/docs/accounting/LineItem.md +0 -41
  944. data/docs/accounting/LineItemTracking.md +0 -23
  945. data/docs/accounting/LinkedTransaction.md +0 -37
  946. data/docs/accounting/LinkedTransactions.md +0 -17
  947. data/docs/accounting/ManualJournal.md +0 -43
  948. data/docs/accounting/ManualJournalLine.md +0 -29
  949. data/docs/accounting/ManualJournals.md +0 -17
  950. data/docs/accounting/OnlineInvoice.md +0 -17
  951. data/docs/accounting/OnlineInvoices.md +0 -17
  952. data/docs/accounting/Organisation.md +0 -79
  953. data/docs/accounting/Organisations.md +0 -17
  954. data/docs/accounting/Overpayment.md +0 -53
  955. data/docs/accounting/Overpayments.md +0 -17
  956. data/docs/accounting/Payment.md +0 -63
  957. data/docs/accounting/PaymentDelete.md +0 -17
  958. data/docs/accounting/PaymentService.md +0 -27
  959. data/docs/accounting/PaymentServices.md +0 -17
  960. data/docs/accounting/PaymentTerm.md +0 -19
  961. data/docs/accounting/PaymentTermType.md +0 -16
  962. data/docs/accounting/Payments.md +0 -17
  963. data/docs/accounting/Phone.md +0 -23
  964. data/docs/accounting/Prepayment.md +0 -53
  965. data/docs/accounting/Prepayments.md +0 -17
  966. data/docs/accounting/Purchase.md +0 -23
  967. data/docs/accounting/PurchaseOrder.md +0 -71
  968. data/docs/accounting/PurchaseOrders.md +0 -17
  969. data/docs/accounting/Quote.md +0 -59
  970. data/docs/accounting/QuoteLineAmountTypes.md +0 -16
  971. data/docs/accounting/QuoteStatusCodes.md +0 -16
  972. data/docs/accounting/Quotes.md +0 -17
  973. data/docs/accounting/Receipt.md +0 -51
  974. data/docs/accounting/Receipts.md +0 -17
  975. data/docs/accounting/RepeatingInvoice.md +0 -47
  976. data/docs/accounting/RepeatingInvoices.md +0 -17
  977. data/docs/accounting/Report.md +0 -29
  978. data/docs/accounting/ReportAttribute.md +0 -19
  979. data/docs/accounting/ReportCell.md +0 -19
  980. data/docs/accounting/ReportFields.md +0 -21
  981. data/docs/accounting/ReportRow.md +0 -21
  982. data/docs/accounting/ReportRows.md +0 -23
  983. data/docs/accounting/ReportWithRow.md +0 -33
  984. data/docs/accounting/ReportWithRows.md +0 -17
  985. data/docs/accounting/Reports.md +0 -17
  986. data/docs/accounting/RequestEmpty.md +0 -17
  987. data/docs/accounting/RowType.md +0 -16
  988. data/docs/accounting/SalesTrackingCategory.md +0 -19
  989. data/docs/accounting/Schedule.md +0 -29
  990. data/docs/accounting/TaxComponent.md +0 -23
  991. data/docs/accounting/TaxRate.md +0 -39
  992. data/docs/accounting/TaxRates.md +0 -17
  993. data/docs/accounting/TaxType.md +0 -16
  994. data/docs/accounting/TenNinteyNineContact.md +0 -59
  995. data/docs/accounting/TimeZone.md +0 -16
  996. data/docs/accounting/TrackingCategories.md +0 -17
  997. data/docs/accounting/TrackingCategory.md +0 -27
  998. data/docs/accounting/TrackingOption.md +0 -23
  999. data/docs/accounting/TrackingOptions.md +0 -17
  1000. data/docs/accounting/User.md +0 -29
  1001. data/docs/accounting/Users.md +0 -17
  1002. data/docs/accounting/ValidationError.md +0 -17
  1003. data/docs/assets/Asset.md +0 -45
  1004. data/docs/assets/AssetApi.md +0 -414
  1005. data/docs/assets/AssetStatus.md +0 -16
  1006. data/docs/assets/AssetStatusQueryParam.md +0 -16
  1007. data/docs/assets/AssetType.md +0 -29
  1008. data/docs/assets/Assets.md +0 -19
  1009. data/docs/assets/BookDepreciationDetail.md +0 -29
  1010. data/docs/assets/BookDepreciationSetting.md +0 -31
  1011. data/docs/assets/Error.md +0 -25
  1012. data/docs/assets/FieldValidationErrorsElement.md +0 -27
  1013. data/docs/assets/Pagination.md +0 -23
  1014. data/docs/assets/ResourceValidationErrorsElement.md +0 -25
  1015. data/docs/assets/Setting.md +0 -31
  1016. data/git_push.sh +0 -55
  1017. data/xero-ruby-1.0.gem +0 -0
  1018. data/xero-ruby.gem +0 -0
  1019. data/xero-ruby.gemspec +0 -39
@@ -0,0 +1,267 @@
1
+ =begin
2
+ #Xero Payroll AU API
3
+
4
+ #This is the Xero Payroll API for orgs in Australia region.
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::PayrollAu
16
+ require 'bigdecimal'
17
+
18
+ class DeductionLine
19
+ # Xero deduction type identifier
20
+ attr_accessor :deduction_type_id
21
+
22
+
23
+ attr_accessor :calculation_type
24
+
25
+ # Deduction type amount
26
+ attr_accessor :amount
27
+
28
+ # The Percentage of the Deduction
29
+ attr_accessor :percentage
30
+
31
+ # Deduction number of units
32
+ attr_accessor :number_of_units
33
+
34
+ # Attribute mapping from ruby-style variable name to JSON key.
35
+ def self.attribute_map
36
+ {
37
+ :'deduction_type_id' => :'DeductionTypeID',
38
+ :'calculation_type' => :'CalculationType',
39
+ :'amount' => :'Amount',
40
+ :'percentage' => :'Percentage',
41
+ :'number_of_units' => :'NumberOfUnits'
42
+ }
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ def self.openapi_types
47
+ {
48
+ :'deduction_type_id' => :'String',
49
+ :'calculation_type' => :'DeductionTypeCalculationType',
50
+ :'amount' => :'BigDecimal',
51
+ :'percentage' => :'BigDecimal',
52
+ :'number_of_units' => :'BigDecimal'
53
+ }
54
+ end
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::PayrollAu::DeductionLine` initialize method"
61
+ end
62
+
63
+ # check to see if the attribute exists and convert string to symbol for hash key
64
+ attributes = attributes.each_with_object({}) { |(k, v), h|
65
+ if (!self.class.attribute_map.key?(k.to_sym))
66
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::PayrollAu::DeductionLine`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
67
+ end
68
+ h[k.to_sym] = v
69
+ }
70
+
71
+ if attributes.key?(:'deduction_type_id')
72
+ self.deduction_type_id = attributes[:'deduction_type_id']
73
+ end
74
+
75
+ if attributes.key?(:'calculation_type')
76
+ self.calculation_type = attributes[:'calculation_type']
77
+ end
78
+
79
+ if attributes.key?(:'amount')
80
+ self.amount = attributes[:'amount']
81
+ end
82
+
83
+ if attributes.key?(:'percentage')
84
+ self.percentage = attributes[:'percentage']
85
+ end
86
+
87
+ if attributes.key?(:'number_of_units')
88
+ self.number_of_units = attributes[:'number_of_units']
89
+ end
90
+ end
91
+
92
+ # Show invalid properties with the reasons. Usually used together with valid?
93
+ # @return Array for valid properties with the reasons
94
+ def list_invalid_properties
95
+ invalid_properties = Array.new
96
+ if @deduction_type_id.nil?
97
+ invalid_properties.push('invalid value for "deduction_type_id", deduction_type_id cannot be nil.')
98
+ end
99
+
100
+ invalid_properties
101
+ end
102
+
103
+ # Check to see if the all the properties in the model are valid
104
+ # @return true if the model is valid
105
+ def valid?
106
+ return false if @deduction_type_id.nil?
107
+ true
108
+ end
109
+
110
+ # Checks equality by comparing each attribute.
111
+ # @param [Object] Object to be compared
112
+ def ==(o)
113
+ return true if self.equal?(o)
114
+ self.class == o.class &&
115
+ deduction_type_id == o.deduction_type_id &&
116
+ calculation_type == o.calculation_type &&
117
+ amount == o.amount &&
118
+ percentage == o.percentage &&
119
+ number_of_units == o.number_of_units
120
+ end
121
+
122
+ # @see the `==` method
123
+ # @param [Object] Object to be compared
124
+ def eql?(o)
125
+ self == o
126
+ end
127
+
128
+ # Calculates hash code according to all attributes.
129
+ # @return [Integer] Hash code
130
+ def hash
131
+ [deduction_type_id, calculation_type, amount, percentage, number_of_units].hash
132
+ end
133
+
134
+ # Builds the object from hash
135
+ # @param [Hash] attributes Model attributes in the form of hash
136
+ # @return [Object] Returns the model itself
137
+ def self.build_from_hash(attributes)
138
+ new.build_from_hash(attributes)
139
+ end
140
+
141
+ # Builds the object from hash
142
+ # @param [Hash] attributes Model attributes in the form of hash
143
+ # @return [Object] Returns the model itself
144
+ def build_from_hash(attributes)
145
+ return nil unless attributes.is_a?(Hash)
146
+ self.class.openapi_types.each_pair do |key, type|
147
+ if type =~ /\AArray<(.*)>/i
148
+ # check to ensure the input is an array given that the attribute
149
+ # is documented as an array but the input is not
150
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
151
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
152
+ end
153
+ elsif !attributes[self.class.attribute_map[key]].nil?
154
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
155
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
156
+ end
157
+
158
+ self
159
+ end
160
+
161
+ # Deserializes the data based on type
162
+ # @param string type Data type
163
+ # @param string value Value to be deserialized
164
+ # @return [Object] Deserialized data
165
+ def _deserialize(type, value)
166
+ case type.to_sym
167
+ when :DateTime
168
+ DateTime.parse(parse_date(value))
169
+ when :Date
170
+ Date.parse(parse_date(value))
171
+ when :String
172
+ value.to_s
173
+ when :Integer
174
+ value.to_i
175
+ when :Float
176
+ value.to_f
177
+ when :BigDecimal
178
+ BigDecimal(value.to_s)
179
+ when :Boolean
180
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
181
+ true
182
+ else
183
+ false
184
+ end
185
+ when :Object
186
+ # generic object (usually a Hash), return directly
187
+ value
188
+ when /\AArray<(?<inner_type>.+)>\z/
189
+ inner_type = Regexp.last_match[:inner_type]
190
+ value.map { |v| _deserialize(inner_type, v) }
191
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
192
+ k_type = Regexp.last_match[:k_type]
193
+ v_type = Regexp.last_match[:v_type]
194
+ {}.tap do |hash|
195
+ value.each do |k, v|
196
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
197
+ end
198
+ end
199
+ else # model
200
+ XeroRuby::PayrollAu.const_get(type).build_from_hash(value)
201
+ end
202
+ end
203
+
204
+ # Returns the string representation of the object
205
+ # @return [String] String presentation of the object
206
+ def to_s
207
+ to_hash.to_s
208
+ end
209
+
210
+ # to_body is an alias to to_hash (backward compatibility)
211
+ # @return [Hash] Returns the object in the form of hash
212
+ def to_body
213
+ to_hash
214
+ end
215
+
216
+ # Returns the object in the form of hash
217
+ # @return [Hash] Returns the object in the form of hash
218
+ def to_hash(downcase: false)
219
+ hash = {}
220
+ self.class.attribute_map.each_pair do |attr, param|
221
+ value = self.send(attr)
222
+ next if value.nil?
223
+ key = downcase ? attr : param
224
+ hash[key] = _to_hash(value, downcase: downcase)
225
+ end
226
+ hash
227
+ end
228
+
229
+ # Returns the object in the form of hash with snake_case
230
+ def to_attributes
231
+ to_hash(downcase: true)
232
+ end
233
+
234
+ # Outputs non-array value in the form of hash
235
+ # For object, use to_hash. Otherwise, just return the value
236
+ # @param [Object] value Any valid value
237
+ # @return [Hash] Returns the value in the form of hash
238
+ def _to_hash(value, downcase: false)
239
+ if value.is_a?(Array)
240
+ value.map do |v|
241
+ v.to_hash(downcase: downcase)
242
+ end
243
+ elsif value.is_a?(Hash)
244
+ {}.tap do |hash|
245
+ value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
246
+ end
247
+ elsif value.respond_to? :to_hash
248
+ value.to_hash(downcase: downcase)
249
+ else
250
+ value
251
+ end
252
+ end
253
+
254
+ def parse_date(datestring)
255
+ if datestring.include?('Date')
256
+ date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
257
+ original, date, timezone = *date_pattern.match(datestring)
258
+ date = (date.to_i / 1000)
259
+ Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
260
+ elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
261
+ Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
262
+ else # handle date 'types' for small subset of payroll API's
263
+ Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
264
+ end
265
+ end
266
+ end
267
+ end
@@ -0,0 +1,354 @@
1
+ =begin
2
+ #Xero Payroll AU API
3
+
4
+ #This is the Xero Payroll API for orgs in Australia region.
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::PayrollAu
16
+ require 'bigdecimal'
17
+
18
+ class DeductionType
19
+ # Name of the earnings rate (max length = 100)
20
+ attr_accessor :name
21
+
22
+ # See Accounts
23
+ attr_accessor :account_code
24
+
25
+ # Indicates that this is a pre-tax deduction that will reduce the amount of tax you withhold from an employee.
26
+ attr_accessor :reduces_tax
27
+
28
+ # Most deductions don’t reduce your superannuation guarantee contribution liability, so typically you will not set any value for this.
29
+ attr_accessor :reduces_super
30
+
31
+ # Boolean to determine if the deduction type is reportable or exempt from W1
32
+ attr_accessor :is_exempt_from_w1
33
+
34
+ # Xero identifier
35
+ attr_accessor :deduction_type_id
36
+
37
+ # Last modified timestamp
38
+ attr_accessor :updated_date_utc
39
+
40
+
41
+ attr_accessor :deduction_category
42
+ NONE ||= "NONE".freeze
43
+ UNIONFEES ||= "UNIONFEES".freeze
44
+ WORKPLACEGIVING ||= "WORKPLACEGIVING".freeze
45
+
46
+ # Is the current record
47
+ attr_accessor :current_record
48
+
49
+ class EnumAttributeValidator
50
+ attr_reader :datatype
51
+ attr_reader :allowable_values
52
+
53
+ def initialize(datatype, allowable_values)
54
+ @allowable_values = allowable_values.map do |value|
55
+ case datatype.to_s
56
+ when /Integer/i
57
+ value.to_i
58
+ when /Float/i
59
+ value.to_f
60
+ else
61
+ value
62
+ end
63
+ end
64
+ end
65
+
66
+ def valid?(value)
67
+ !value || allowable_values.include?(value)
68
+ end
69
+ end
70
+
71
+ # Attribute mapping from ruby-style variable name to JSON key.
72
+ def self.attribute_map
73
+ {
74
+ :'name' => :'Name',
75
+ :'account_code' => :'AccountCode',
76
+ :'reduces_tax' => :'ReducesTax',
77
+ :'reduces_super' => :'ReducesSuper',
78
+ :'is_exempt_from_w1' => :'IsExemptFromW1',
79
+ :'deduction_type_id' => :'DeductionTypeID',
80
+ :'updated_date_utc' => :'UpdatedDateUTC',
81
+ :'deduction_category' => :'DeductionCategory',
82
+ :'current_record' => :'CurrentRecord'
83
+ }
84
+ end
85
+
86
+ # Attribute type mapping.
87
+ def self.openapi_types
88
+ {
89
+ :'name' => :'String',
90
+ :'account_code' => :'String',
91
+ :'reduces_tax' => :'Boolean',
92
+ :'reduces_super' => :'Boolean',
93
+ :'is_exempt_from_w1' => :'Boolean',
94
+ :'deduction_type_id' => :'String',
95
+ :'updated_date_utc' => :'DateTime',
96
+ :'deduction_category' => :'String',
97
+ :'current_record' => :'Boolean'
98
+ }
99
+ end
100
+
101
+ # Initializes the object
102
+ # @param [Hash] attributes Model attributes in the form of hash
103
+ def initialize(attributes = {})
104
+ if (!attributes.is_a?(Hash))
105
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::PayrollAu::DeductionType` initialize method"
106
+ end
107
+
108
+ # check to see if the attribute exists and convert string to symbol for hash key
109
+ attributes = attributes.each_with_object({}) { |(k, v), h|
110
+ if (!self.class.attribute_map.key?(k.to_sym))
111
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::PayrollAu::DeductionType`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
112
+ end
113
+ h[k.to_sym] = v
114
+ }
115
+
116
+ if attributes.key?(:'name')
117
+ self.name = attributes[:'name']
118
+ end
119
+
120
+ if attributes.key?(:'account_code')
121
+ self.account_code = attributes[:'account_code']
122
+ end
123
+
124
+ if attributes.key?(:'reduces_tax')
125
+ self.reduces_tax = attributes[:'reduces_tax']
126
+ end
127
+
128
+ if attributes.key?(:'reduces_super')
129
+ self.reduces_super = attributes[:'reduces_super']
130
+ end
131
+
132
+ if attributes.key?(:'is_exempt_from_w1')
133
+ self.is_exempt_from_w1 = attributes[:'is_exempt_from_w1']
134
+ end
135
+
136
+ if attributes.key?(:'deduction_type_id')
137
+ self.deduction_type_id = attributes[:'deduction_type_id']
138
+ end
139
+
140
+ if attributes.key?(:'updated_date_utc')
141
+ self.updated_date_utc = attributes[:'updated_date_utc']
142
+ end
143
+
144
+ if attributes.key?(:'deduction_category')
145
+ self.deduction_category = attributes[:'deduction_category']
146
+ end
147
+
148
+ if attributes.key?(:'current_record')
149
+ self.current_record = attributes[:'current_record']
150
+ end
151
+ end
152
+
153
+ # Show invalid properties with the reasons. Usually used together with valid?
154
+ # @return Array for valid properties with the reasons
155
+ def list_invalid_properties
156
+ invalid_properties = Array.new
157
+ if !@name.nil? && @name.to_s.length > 100
158
+ invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 100.')
159
+ end
160
+
161
+ invalid_properties
162
+ end
163
+
164
+ # Check to see if the all the properties in the model are valid
165
+ # @return true if the model is valid
166
+ def valid?
167
+ return false if !@name.nil? && @name.to_s.length > 100
168
+ deduction_category_validator = EnumAttributeValidator.new('String', ["NONE", "UNIONFEES", "WORKPLACEGIVING"])
169
+ return false unless deduction_category_validator.valid?(@deduction_category)
170
+ true
171
+ end
172
+
173
+ # Custom attribute writer method with validation
174
+ # @param [Object] name Value to be assigned
175
+ def name=(name)
176
+ if !name.nil? && name.to_s.length > 100
177
+ fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 100.'
178
+ end
179
+
180
+ @name = name
181
+ end
182
+
183
+ # Custom attribute writer method checking allowed values (enum).
184
+ # @param [Object] deduction_category Object to be assigned
185
+ def deduction_category=(deduction_category)
186
+ validator = EnumAttributeValidator.new('String', ["NONE", "UNIONFEES", "WORKPLACEGIVING"])
187
+ unless validator.valid?(deduction_category)
188
+ fail ArgumentError, "invalid value for \"deduction_category\", must be one of #{validator.allowable_values}."
189
+ end
190
+ @deduction_category = deduction_category
191
+ end
192
+
193
+ # Checks equality by comparing each attribute.
194
+ # @param [Object] Object to be compared
195
+ def ==(o)
196
+ return true if self.equal?(o)
197
+ self.class == o.class &&
198
+ name == o.name &&
199
+ account_code == o.account_code &&
200
+ reduces_tax == o.reduces_tax &&
201
+ reduces_super == o.reduces_super &&
202
+ is_exempt_from_w1 == o.is_exempt_from_w1 &&
203
+ deduction_type_id == o.deduction_type_id &&
204
+ updated_date_utc == o.updated_date_utc &&
205
+ deduction_category == o.deduction_category &&
206
+ current_record == o.current_record
207
+ end
208
+
209
+ # @see the `==` method
210
+ # @param [Object] Object to be compared
211
+ def eql?(o)
212
+ self == o
213
+ end
214
+
215
+ # Calculates hash code according to all attributes.
216
+ # @return [Integer] Hash code
217
+ def hash
218
+ [name, account_code, reduces_tax, reduces_super, is_exempt_from_w1, deduction_type_id, updated_date_utc, deduction_category, current_record].hash
219
+ end
220
+
221
+ # Builds the object from hash
222
+ # @param [Hash] attributes Model attributes in the form of hash
223
+ # @return [Object] Returns the model itself
224
+ def self.build_from_hash(attributes)
225
+ new.build_from_hash(attributes)
226
+ end
227
+
228
+ # Builds the object from hash
229
+ # @param [Hash] attributes Model attributes in the form of hash
230
+ # @return [Object] Returns the model itself
231
+ def build_from_hash(attributes)
232
+ return nil unless attributes.is_a?(Hash)
233
+ self.class.openapi_types.each_pair do |key, type|
234
+ if type =~ /\AArray<(.*)>/i
235
+ # check to ensure the input is an array given that the attribute
236
+ # is documented as an array but the input is not
237
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
238
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
239
+ end
240
+ elsif !attributes[self.class.attribute_map[key]].nil?
241
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
242
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
243
+ end
244
+
245
+ self
246
+ end
247
+
248
+ # Deserializes the data based on type
249
+ # @param string type Data type
250
+ # @param string value Value to be deserialized
251
+ # @return [Object] Deserialized data
252
+ def _deserialize(type, value)
253
+ case type.to_sym
254
+ when :DateTime
255
+ DateTime.parse(parse_date(value))
256
+ when :Date
257
+ Date.parse(parse_date(value))
258
+ when :String
259
+ value.to_s
260
+ when :Integer
261
+ value.to_i
262
+ when :Float
263
+ value.to_f
264
+ when :BigDecimal
265
+ BigDecimal(value.to_s)
266
+ when :Boolean
267
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
268
+ true
269
+ else
270
+ false
271
+ end
272
+ when :Object
273
+ # generic object (usually a Hash), return directly
274
+ value
275
+ when /\AArray<(?<inner_type>.+)>\z/
276
+ inner_type = Regexp.last_match[:inner_type]
277
+ value.map { |v| _deserialize(inner_type, v) }
278
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
279
+ k_type = Regexp.last_match[:k_type]
280
+ v_type = Regexp.last_match[:v_type]
281
+ {}.tap do |hash|
282
+ value.each do |k, v|
283
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
284
+ end
285
+ end
286
+ else # model
287
+ XeroRuby::PayrollAu.const_get(type).build_from_hash(value)
288
+ end
289
+ end
290
+
291
+ # Returns the string representation of the object
292
+ # @return [String] String presentation of the object
293
+ def to_s
294
+ to_hash.to_s
295
+ end
296
+
297
+ # to_body is an alias to to_hash (backward compatibility)
298
+ # @return [Hash] Returns the object in the form of hash
299
+ def to_body
300
+ to_hash
301
+ end
302
+
303
+ # Returns the object in the form of hash
304
+ # @return [Hash] Returns the object in the form of hash
305
+ def to_hash(downcase: false)
306
+ hash = {}
307
+ self.class.attribute_map.each_pair do |attr, param|
308
+ value = self.send(attr)
309
+ next if value.nil?
310
+ key = downcase ? attr : param
311
+ hash[key] = _to_hash(value, downcase: downcase)
312
+ end
313
+ hash
314
+ end
315
+
316
+ # Returns the object in the form of hash with snake_case
317
+ def to_attributes
318
+ to_hash(downcase: true)
319
+ end
320
+
321
+ # Outputs non-array value in the form of hash
322
+ # For object, use to_hash. Otherwise, just return the value
323
+ # @param [Object] value Any valid value
324
+ # @return [Hash] Returns the value in the form of hash
325
+ def _to_hash(value, downcase: false)
326
+ if value.is_a?(Array)
327
+ value.map do |v|
328
+ v.to_hash(downcase: downcase)
329
+ end
330
+ elsif value.is_a?(Hash)
331
+ {}.tap do |hash|
332
+ value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
333
+ end
334
+ elsif value.respond_to? :to_hash
335
+ value.to_hash(downcase: downcase)
336
+ else
337
+ value
338
+ end
339
+ end
340
+
341
+ def parse_date(datestring)
342
+ if datestring.include?('Date')
343
+ date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
344
+ original, date, timezone = *date_pattern.match(datestring)
345
+ date = (date.to_i / 1000)
346
+ Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
347
+ elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
348
+ Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
349
+ else # handle date 'types' for small subset of payroll API's
350
+ Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
351
+ end
352
+ end
353
+ end
354
+ end
@@ -0,0 +1,37 @@
1
+ =begin
2
+ #Xero Payroll AU API
3
+
4
+ #This is the Xero Payroll API for orgs in Australia region.
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::PayrollAu
16
+ class DeductionTypeCalculationType
17
+ FIXEDAMOUNT ||= "FIXEDAMOUNT".freeze
18
+ PRETAX ||= "PRETAX".freeze
19
+ POSTTAX ||= "POSTTAX".freeze
20
+
21
+ # Builds the enum from string
22
+ # @param [String] The enum value in the form of the string
23
+ # @return [String] The enum value
24
+ def self.build_from_hash(value)
25
+ new.build_from_hash(value)
26
+ end
27
+
28
+ # Builds the enum from string
29
+ # @param [String] The enum value in the form of the string
30
+ # @return [String] The enum value
31
+ def build_from_hash(value)
32
+ constantValues = DeductionTypeCalculationType.constants.select { |c| DeductionTypeCalculationType::const_get(c) == value }
33
+ raise "Invalid ENUM value #{value} for class #DeductionTypeCalculationType" if constantValues.empty?
34
+ value
35
+ end
36
+ end
37
+ end