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
@@ -1,12 +1,11 @@
1
1
  =begin
2
- #Accounting API
2
+ #Xero Accounting API
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.1.3
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.0
8
+ OpenAPI Generator version: 4.3.1
10
9
 
11
10
  =end
12
11
 
@@ -14,11 +13,15 @@ require 'time'
14
13
  require 'date'
15
14
 
16
15
  module XeroRuby::Accounting
16
+ require 'bigdecimal'
17
+
17
18
  class AccountsReceivable
19
+
18
20
  attr_accessor :outstanding
21
+
19
22
 
20
23
  attr_accessor :overdue
21
-
24
+
22
25
  # Attribute mapping from ruby-style variable name to JSON key.
23
26
  def self.attribute_map
24
27
  {
@@ -30,8 +33,8 @@ module XeroRuby::Accounting
30
33
  # Attribute type mapping.
31
34
  def self.openapi_types
32
35
  {
33
- :'outstanding' => :'Float',
34
- :'overdue' => :'Float'
36
+ :'outstanding' => :'BigDecimal',
37
+ :'overdue' => :'BigDecimal'
35
38
  }
36
39
  end
37
40
 
@@ -136,6 +139,8 @@ module XeroRuby::Accounting
136
139
  value.to_i
137
140
  when :Float
138
141
  value.to_f
142
+ when :BigDecimal
143
+ BigDecimal(value.to_s)
139
144
  when :Boolean
140
145
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
141
146
  true
@@ -175,38 +180,53 @@ module XeroRuby::Accounting
175
180
 
176
181
  # Returns the object in the form of hash
177
182
  # @return [Hash] Returns the object in the form of hash
178
- def to_hash
183
+ def to_hash(downcase: false)
179
184
  hash = {}
180
185
  self.class.attribute_map.each_pair do |attr, param|
181
186
  value = self.send(attr)
182
187
  next if value.nil?
183
- hash[param] = _to_hash(value)
188
+ key = downcase ? attr : param
189
+ hash[key] = _to_hash(value, downcase: downcase)
184
190
  end
185
191
  hash
186
192
  end
187
193
 
194
+ # Returns the object in the form of hash with snake_case
195
+ def to_attributes
196
+ to_hash(downcase: true)
197
+ end
198
+
188
199
  # Outputs non-array value in the form of hash
189
200
  # For object, use to_hash. Otherwise, just return the value
190
201
  # @param [Object] value Any valid value
191
202
  # @return [Hash] Returns the value in the form of hash
192
- def _to_hash(value)
203
+ def _to_hash(value, downcase: false)
193
204
  if value.is_a?(Array)
194
- value.compact.map { |v| _to_hash(v) }
205
+ value.map do |v|
206
+ v.to_hash(downcase: downcase)
207
+ end
195
208
  elsif value.is_a?(Hash)
196
209
  {}.tap do |hash|
197
- value.each { |k, v| hash[k] = _to_hash(v) }
210
+ value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
198
211
  end
199
212
  elsif value.respond_to? :to_hash
200
- value.to_hash
213
+ value.to_hash(downcase: downcase)
201
214
  else
202
215
  value
203
216
  end
204
217
  end
205
218
 
206
- # customized data_parser
207
219
  def parse_date(datestring)
208
- seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
209
- return Time.at(seconds_since_epoch).to_s
220
+ if datestring.include?('Date')
221
+ date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
222
+ original, date, timezone = *date_pattern.match(datestring)
223
+ date = (date.to_i / 1000)
224
+ Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
225
+ elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
226
+ Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
227
+ else # handle date 'types' for small subset of payroll API's
228
+ Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
229
+ end
210
230
  end
211
231
  end
212
232
  end
@@ -0,0 +1,268 @@
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 Action
19
+ # Name of the actions for this organisation
20
+ attr_accessor :name
21
+
22
+ # Status of the action for this organisation
23
+ attr_accessor :status
24
+ ALLOWED ||= "ALLOWED".freeze
25
+ NOT_ALLOWED ||= "NOT-ALLOWED".freeze
26
+
27
+ class EnumAttributeValidator
28
+ attr_reader :datatype
29
+ attr_reader :allowable_values
30
+
31
+ def initialize(datatype, allowable_values)
32
+ @allowable_values = allowable_values.map do |value|
33
+ case datatype.to_s
34
+ when /Integer/i
35
+ value.to_i
36
+ when /Float/i
37
+ value.to_f
38
+ else
39
+ value
40
+ end
41
+ end
42
+ end
43
+
44
+ def valid?(value)
45
+ !value || allowable_values.include?(value)
46
+ end
47
+ end
48
+
49
+ # Attribute mapping from ruby-style variable name to JSON key.
50
+ def self.attribute_map
51
+ {
52
+ :'name' => :'Name',
53
+ :'status' => :'Status'
54
+ }
55
+ end
56
+
57
+ # Attribute type mapping.
58
+ def self.openapi_types
59
+ {
60
+ :'name' => :'String',
61
+ :'status' => :'String'
62
+ }
63
+ end
64
+
65
+ # Initializes the object
66
+ # @param [Hash] attributes Model attributes in the form of hash
67
+ def initialize(attributes = {})
68
+ if (!attributes.is_a?(Hash))
69
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::Action` initialize method"
70
+ end
71
+
72
+ # check to see if the attribute exists and convert string to symbol for hash key
73
+ attributes = attributes.each_with_object({}) { |(k, v), h|
74
+ if (!self.class.attribute_map.key?(k.to_sym))
75
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::Action`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
76
+ end
77
+ h[k.to_sym] = v
78
+ }
79
+
80
+ if attributes.key?(:'name')
81
+ self.name = attributes[:'name']
82
+ end
83
+
84
+ if attributes.key?(:'status')
85
+ self.status = attributes[:'status']
86
+ end
87
+ end
88
+
89
+ # Show invalid properties with the reasons. Usually used together with valid?
90
+ # @return Array for valid properties with the reasons
91
+ def list_invalid_properties
92
+ invalid_properties = Array.new
93
+ invalid_properties
94
+ end
95
+
96
+ # Check to see if the all the properties in the model are valid
97
+ # @return true if the model is valid
98
+ def valid?
99
+ status_validator = EnumAttributeValidator.new('String', ["ALLOWED", "NOT-ALLOWED"])
100
+ return false unless status_validator.valid?(@status)
101
+ true
102
+ end
103
+
104
+ # Custom attribute writer method checking allowed values (enum).
105
+ # @param [Object] status Object to be assigned
106
+ def status=(status)
107
+ validator = EnumAttributeValidator.new('String', ["ALLOWED", "NOT-ALLOWED"])
108
+ unless validator.valid?(status)
109
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
110
+ end
111
+ @status = status
112
+ end
113
+
114
+ # Checks equality by comparing each attribute.
115
+ # @param [Object] Object to be compared
116
+ def ==(o)
117
+ return true if self.equal?(o)
118
+ self.class == o.class &&
119
+ name == o.name &&
120
+ status == o.status
121
+ end
122
+
123
+ # @see the `==` method
124
+ # @param [Object] Object to be compared
125
+ def eql?(o)
126
+ self == o
127
+ end
128
+
129
+ # Calculates hash code according to all attributes.
130
+ # @return [Integer] Hash code
131
+ def hash
132
+ [name, status].hash
133
+ end
134
+
135
+ # Builds the object from hash
136
+ # @param [Hash] attributes Model attributes in the form of hash
137
+ # @return [Object] Returns the model itself
138
+ def self.build_from_hash(attributes)
139
+ new.build_from_hash(attributes)
140
+ end
141
+
142
+ # Builds the object from hash
143
+ # @param [Hash] attributes Model attributes in the form of hash
144
+ # @return [Object] Returns the model itself
145
+ def build_from_hash(attributes)
146
+ return nil unless attributes.is_a?(Hash)
147
+ self.class.openapi_types.each_pair do |key, type|
148
+ if type =~ /\AArray<(.*)>/i
149
+ # check to ensure the input is an array given that the attribute
150
+ # is documented as an array but the input is not
151
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
152
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
153
+ end
154
+ elsif !attributes[self.class.attribute_map[key]].nil?
155
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
156
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
157
+ end
158
+
159
+ self
160
+ end
161
+
162
+ # Deserializes the data based on type
163
+ # @param string type Data type
164
+ # @param string value Value to be deserialized
165
+ # @return [Object] Deserialized data
166
+ def _deserialize(type, value)
167
+ case type.to_sym
168
+ when :DateTime
169
+ DateTime.parse(parse_date(value))
170
+ when :Date
171
+ Date.parse(parse_date(value))
172
+ when :String
173
+ value.to_s
174
+ when :Integer
175
+ value.to_i
176
+ when :Float
177
+ value.to_f
178
+ when :BigDecimal
179
+ BigDecimal(value.to_s)
180
+ when :Boolean
181
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
182
+ true
183
+ else
184
+ false
185
+ end
186
+ when :Object
187
+ # generic object (usually a Hash), return directly
188
+ value
189
+ when /\AArray<(?<inner_type>.+)>\z/
190
+ inner_type = Regexp.last_match[:inner_type]
191
+ value.map { |v| _deserialize(inner_type, v) }
192
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
193
+ k_type = Regexp.last_match[:k_type]
194
+ v_type = Regexp.last_match[:v_type]
195
+ {}.tap do |hash|
196
+ value.each do |k, v|
197
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
198
+ end
199
+ end
200
+ else # model
201
+ XeroRuby::Accounting.const_get(type).build_from_hash(value)
202
+ end
203
+ end
204
+
205
+ # Returns the string representation of the object
206
+ # @return [String] String presentation of the object
207
+ def to_s
208
+ to_hash.to_s
209
+ end
210
+
211
+ # to_body is an alias to to_hash (backward compatibility)
212
+ # @return [Hash] Returns the object in the form of hash
213
+ def to_body
214
+ to_hash
215
+ end
216
+
217
+ # Returns the object in the form of hash
218
+ # @return [Hash] Returns the object in the form of hash
219
+ def to_hash(downcase: false)
220
+ hash = {}
221
+ self.class.attribute_map.each_pair do |attr, param|
222
+ value = self.send(attr)
223
+ next if value.nil?
224
+ key = downcase ? attr : param
225
+ hash[key] = _to_hash(value, downcase: downcase)
226
+ end
227
+ hash
228
+ end
229
+
230
+ # Returns the object in the form of hash with snake_case
231
+ def to_attributes
232
+ to_hash(downcase: true)
233
+ end
234
+
235
+ # Outputs non-array value in the form of hash
236
+ # For object, use to_hash. Otherwise, just return the value
237
+ # @param [Object] value Any valid value
238
+ # @return [Hash] Returns the value in the form of hash
239
+ def _to_hash(value, downcase: false)
240
+ if value.is_a?(Array)
241
+ value.map do |v|
242
+ v.to_hash(downcase: downcase)
243
+ end
244
+ elsif value.is_a?(Hash)
245
+ {}.tap do |hash|
246
+ value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
247
+ end
248
+ elsif value.respond_to? :to_hash
249
+ value.to_hash(downcase: downcase)
250
+ else
251
+ value
252
+ end
253
+ end
254
+
255
+ def parse_date(datestring)
256
+ if datestring.include?('Date')
257
+ date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
258
+ original, date, timezone = *date_pattern.match(datestring)
259
+ date = (date.to_i / 1000)
260
+ Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
261
+ elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
262
+ Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
263
+ else # handle date 'types' for small subset of payroll API's
264
+ Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
265
+ end
266
+ end
267
+ end
268
+ end
@@ -0,0 +1,224 @@
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 Actions
19
+
20
+ attr_accessor :actions
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'actions' => :'Actions'
26
+ }
27
+ end
28
+
29
+ # Attribute type mapping.
30
+ def self.openapi_types
31
+ {
32
+ :'actions' => :'Array<Action>'
33
+ }
34
+ end
35
+
36
+ # Initializes the object
37
+ # @param [Hash] attributes Model attributes in the form of hash
38
+ def initialize(attributes = {})
39
+ if (!attributes.is_a?(Hash))
40
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::Actions` initialize method"
41
+ end
42
+
43
+ # check to see if the attribute exists and convert string to symbol for hash key
44
+ attributes = attributes.each_with_object({}) { |(k, v), h|
45
+ if (!self.class.attribute_map.key?(k.to_sym))
46
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::Actions`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
47
+ end
48
+ h[k.to_sym] = v
49
+ }
50
+
51
+ if attributes.key?(:'actions')
52
+ if (value = attributes[:'actions']).is_a?(Array)
53
+ self.actions = value
54
+ end
55
+ end
56
+ end
57
+
58
+ # Show invalid properties with the reasons. Usually used together with valid?
59
+ # @return Array for valid properties with the reasons
60
+ def list_invalid_properties
61
+ invalid_properties = Array.new
62
+ invalid_properties
63
+ end
64
+
65
+ # Check to see if the all the properties in the model are valid
66
+ # @return true if the model is valid
67
+ def valid?
68
+ true
69
+ end
70
+
71
+ # Checks equality by comparing each attribute.
72
+ # @param [Object] Object to be compared
73
+ def ==(o)
74
+ return true if self.equal?(o)
75
+ self.class == o.class &&
76
+ actions == o.actions
77
+ end
78
+
79
+ # @see the `==` method
80
+ # @param [Object] Object to be compared
81
+ def eql?(o)
82
+ self == o
83
+ end
84
+
85
+ # Calculates hash code according to all attributes.
86
+ # @return [Integer] Hash code
87
+ def hash
88
+ [actions].hash
89
+ end
90
+
91
+ # Builds the object from hash
92
+ # @param [Hash] attributes Model attributes in the form of hash
93
+ # @return [Object] Returns the model itself
94
+ def self.build_from_hash(attributes)
95
+ new.build_from_hash(attributes)
96
+ end
97
+
98
+ # Builds the object from hash
99
+ # @param [Hash] attributes Model attributes in the form of hash
100
+ # @return [Object] Returns the model itself
101
+ def build_from_hash(attributes)
102
+ return nil unless attributes.is_a?(Hash)
103
+ self.class.openapi_types.each_pair do |key, type|
104
+ if type =~ /\AArray<(.*)>/i
105
+ # check to ensure the input is an array given that the attribute
106
+ # is documented as an array but the input is not
107
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
108
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
109
+ end
110
+ elsif !attributes[self.class.attribute_map[key]].nil?
111
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
112
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
113
+ end
114
+
115
+ self
116
+ end
117
+
118
+ # Deserializes the data based on type
119
+ # @param string type Data type
120
+ # @param string value Value to be deserialized
121
+ # @return [Object] Deserialized data
122
+ def _deserialize(type, value)
123
+ case type.to_sym
124
+ when :DateTime
125
+ DateTime.parse(parse_date(value))
126
+ when :Date
127
+ Date.parse(parse_date(value))
128
+ when :String
129
+ value.to_s
130
+ when :Integer
131
+ value.to_i
132
+ when :Float
133
+ value.to_f
134
+ when :BigDecimal
135
+ BigDecimal(value.to_s)
136
+ when :Boolean
137
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
138
+ true
139
+ else
140
+ false
141
+ end
142
+ when :Object
143
+ # generic object (usually a Hash), return directly
144
+ value
145
+ when /\AArray<(?<inner_type>.+)>\z/
146
+ inner_type = Regexp.last_match[:inner_type]
147
+ value.map { |v| _deserialize(inner_type, v) }
148
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
149
+ k_type = Regexp.last_match[:k_type]
150
+ v_type = Regexp.last_match[:v_type]
151
+ {}.tap do |hash|
152
+ value.each do |k, v|
153
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
154
+ end
155
+ end
156
+ else # model
157
+ XeroRuby::Accounting.const_get(type).build_from_hash(value)
158
+ end
159
+ end
160
+
161
+ # Returns the string representation of the object
162
+ # @return [String] String presentation of the object
163
+ def to_s
164
+ to_hash.to_s
165
+ end
166
+
167
+ # to_body is an alias to to_hash (backward compatibility)
168
+ # @return [Hash] Returns the object in the form of hash
169
+ def to_body
170
+ to_hash
171
+ end
172
+
173
+ # Returns the object in the form of hash
174
+ # @return [Hash] Returns the object in the form of hash
175
+ def to_hash(downcase: false)
176
+ hash = {}
177
+ self.class.attribute_map.each_pair do |attr, param|
178
+ value = self.send(attr)
179
+ next if value.nil?
180
+ key = downcase ? attr : param
181
+ hash[key] = _to_hash(value, downcase: downcase)
182
+ end
183
+ hash
184
+ end
185
+
186
+ # Returns the object in the form of hash with snake_case
187
+ def to_attributes
188
+ to_hash(downcase: true)
189
+ end
190
+
191
+ # Outputs non-array value in the form of hash
192
+ # For object, use to_hash. Otherwise, just return the value
193
+ # @param [Object] value Any valid value
194
+ # @return [Hash] Returns the value in the form of hash
195
+ def _to_hash(value, downcase: false)
196
+ if value.is_a?(Array)
197
+ value.map do |v|
198
+ v.to_hash(downcase: downcase)
199
+ end
200
+ elsif value.is_a?(Hash)
201
+ {}.tap do |hash|
202
+ value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
203
+ end
204
+ elsif value.respond_to? :to_hash
205
+ value.to_hash(downcase: downcase)
206
+ else
207
+ value
208
+ end
209
+ end
210
+
211
+ def parse_date(datestring)
212
+ if datestring.include?('Date')
213
+ date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
214
+ original, date, timezone = *date_pattern.match(datestring)
215
+ date = (date.to_i / 1000)
216
+ Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
217
+ elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
218
+ Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
219
+ else # handle date 'types' for small subset of payroll API's
220
+ Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
221
+ end
222
+ end
223
+ end
224
+ end