xero-ruby 2.2.3 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (883) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +93 -49
  3. data/lib/xero-ruby.rb +292 -1
  4. data/lib/xero-ruby/api/accounting_api.rb +1058 -336
  5. data/lib/xero-ruby/api/asset_api.rb +7 -9
  6. data/lib/xero-ruby/api/files_api.rb +1271 -0
  7. data/lib/xero-ruby/api/payroll_au_api.rb +2254 -0
  8. data/lib/xero-ruby/api/payroll_nz_api.rb +5261 -0
  9. data/lib/xero-ruby/api/payroll_uk_api.rb +5404 -0
  10. data/lib/xero-ruby/api/project_api.rb +17 -16
  11. data/lib/xero-ruby/api_client.rb +41 -31
  12. data/lib/xero-ruby/api_error.rb +1 -1
  13. data/lib/xero-ruby/configuration.rb +9 -1
  14. data/lib/xero-ruby/models/accounting/account.rb +2 -1
  15. data/lib/xero-ruby/models/accounting/account_type.rb +1 -1
  16. data/lib/xero-ruby/models/accounting/accounts.rb +1 -1
  17. data/lib/xero-ruby/models/accounting/accounts_payable.rb +1 -1
  18. data/lib/xero-ruby/models/accounting/accounts_receivable.rb +1 -1
  19. data/lib/xero-ruby/models/accounting/action.rb +254 -0
  20. data/lib/xero-ruby/models/accounting/actions.rb +210 -0
  21. data/lib/xero-ruby/models/accounting/address.rb +1 -1
  22. data/lib/xero-ruby/models/accounting/allocation.rb +1 -1
  23. data/lib/xero-ruby/models/accounting/allocations.rb +1 -1
  24. data/lib/xero-ruby/models/accounting/attachment.rb +1 -1
  25. data/lib/xero-ruby/models/accounting/attachments.rb +1 -1
  26. data/lib/xero-ruby/models/accounting/balance_details.rb +229 -0
  27. data/lib/xero-ruby/models/accounting/balances.rb +1 -1
  28. data/lib/xero-ruby/models/accounting/bank_transaction.rb +1 -1
  29. data/lib/xero-ruby/models/accounting/bank_transactions.rb +1 -1
  30. data/lib/xero-ruby/models/accounting/bank_transfer.rb +1 -1
  31. data/lib/xero-ruby/models/accounting/bank_transfers.rb +1 -1
  32. data/lib/xero-ruby/models/accounting/batch_payment.rb +6 -6
  33. data/lib/xero-ruby/models/accounting/batch_payment_details.rb +1 -16
  34. data/lib/xero-ruby/models/accounting/batch_payments.rb +1 -1
  35. data/lib/xero-ruby/models/accounting/bill.rb +1 -1
  36. data/lib/xero-ruby/models/accounting/branding_theme.rb +1 -1
  37. data/lib/xero-ruby/models/accounting/branding_themes.rb +1 -1
  38. data/lib/xero-ruby/models/accounting/cis_org_setting.rb +1 -1
  39. data/lib/xero-ruby/models/accounting/cis_setting.rb +1 -1
  40. data/lib/xero-ruby/models/accounting/cis_settings.rb +1 -1
  41. data/lib/xero-ruby/models/accounting/contact.rb +1 -1
  42. data/lib/xero-ruby/models/accounting/contact_group.rb +1 -1
  43. data/lib/xero-ruby/models/accounting/contact_groups.rb +1 -1
  44. data/lib/xero-ruby/models/accounting/contact_person.rb +1 -1
  45. data/lib/xero-ruby/models/accounting/contacts.rb +1 -1
  46. data/lib/xero-ruby/models/accounting/conversion_balances.rb +231 -0
  47. data/lib/xero-ruby/models/accounting/conversion_date.rb +219 -0
  48. data/lib/xero-ruby/models/accounting/country_code.rb +1 -1
  49. data/lib/xero-ruby/models/accounting/credit_note.rb +12 -2
  50. data/lib/xero-ruby/models/accounting/credit_notes.rb +1 -1
  51. data/lib/xero-ruby/models/accounting/currencies.rb +1 -1
  52. data/lib/xero-ruby/models/accounting/currency.rb +1 -1
  53. data/lib/xero-ruby/models/accounting/currency_code.rb +3 -3
  54. data/lib/xero-ruby/models/accounting/element.rb +1 -1
  55. data/lib/xero-ruby/models/accounting/employee.rb +1 -1
  56. data/lib/xero-ruby/models/accounting/employees.rb +1 -1
  57. data/lib/xero-ruby/models/accounting/error.rb +1 -1
  58. data/lib/xero-ruby/models/accounting/expense_claim.rb +2 -2
  59. data/lib/xero-ruby/models/accounting/expense_claims.rb +1 -1
  60. data/lib/xero-ruby/models/accounting/external_link.rb +1 -1
  61. data/lib/xero-ruby/models/accounting/history_record.rb +1 -1
  62. data/lib/xero-ruby/models/accounting/history_records.rb +1 -1
  63. data/lib/xero-ruby/models/accounting/import_summary.rb +219 -0
  64. data/lib/xero-ruby/models/accounting/import_summary_accounts.rb +289 -0
  65. data/lib/xero-ruby/models/accounting/import_summary_object.rb +208 -0
  66. data/lib/xero-ruby/models/accounting/import_summary_organisation.rb +208 -0
  67. data/lib/xero-ruby/models/accounting/invoice.rb +1 -1
  68. data/lib/xero-ruby/models/accounting/invoice_reminder.rb +1 -1
  69. data/lib/xero-ruby/models/accounting/invoice_reminders.rb +1 -1
  70. data/lib/xero-ruby/models/accounting/invoices.rb +1 -1
  71. data/lib/xero-ruby/models/accounting/item.rb +1 -1
  72. data/lib/xero-ruby/models/accounting/items.rb +1 -1
  73. data/lib/xero-ruby/models/accounting/journal.rb +1 -1
  74. data/lib/xero-ruby/models/accounting/journal_line.rb +1 -1
  75. data/lib/xero-ruby/models/accounting/journals.rb +1 -1
  76. data/lib/xero-ruby/models/accounting/line_amount_types.rb +1 -1
  77. data/lib/xero-ruby/models/accounting/line_item.rb +1 -1
  78. data/lib/xero-ruby/models/accounting/line_item_tracking.rb +1 -1
  79. data/lib/xero-ruby/models/accounting/linked_transaction.rb +1 -1
  80. data/lib/xero-ruby/models/accounting/linked_transactions.rb +1 -1
  81. data/lib/xero-ruby/models/accounting/manual_journal.rb +1 -1
  82. data/lib/xero-ruby/models/accounting/manual_journal_line.rb +1 -1
  83. data/lib/xero-ruby/models/accounting/manual_journals.rb +1 -1
  84. data/lib/xero-ruby/models/accounting/online_invoice.rb +1 -1
  85. data/lib/xero-ruby/models/accounting/online_invoices.rb +1 -1
  86. data/lib/xero-ruby/models/accounting/organisation.rb +3 -1
  87. data/lib/xero-ruby/models/accounting/organisations.rb +1 -1
  88. data/lib/xero-ruby/models/accounting/overpayment.rb +1 -1
  89. data/lib/xero-ruby/models/accounting/overpayments.rb +1 -1
  90. data/lib/xero-ruby/models/accounting/payment.rb +1 -1
  91. data/lib/xero-ruby/models/accounting/payment_delete.rb +1 -1
  92. data/lib/xero-ruby/models/accounting/payment_service.rb +1 -1
  93. data/lib/xero-ruby/models/accounting/payment_services.rb +1 -1
  94. data/lib/xero-ruby/models/accounting/payment_term.rb +1 -1
  95. data/lib/xero-ruby/models/accounting/payment_term_type.rb +1 -1
  96. data/lib/xero-ruby/models/accounting/payments.rb +1 -1
  97. data/lib/xero-ruby/models/accounting/phone.rb +1 -1
  98. data/lib/xero-ruby/models/accounting/prepayment.rb +1 -1
  99. data/lib/xero-ruby/models/accounting/prepayments.rb +1 -1
  100. data/lib/xero-ruby/models/accounting/purchase.rb +1 -1
  101. data/lib/xero-ruby/models/accounting/purchase_order.rb +1 -1
  102. data/lib/xero-ruby/models/accounting/purchase_orders.rb +1 -1
  103. data/lib/xero-ruby/models/accounting/quote.rb +1 -1
  104. data/lib/xero-ruby/models/accounting/quote_line_amount_types.rb +1 -1
  105. data/lib/xero-ruby/models/accounting/quote_status_codes.rb +1 -1
  106. data/lib/xero-ruby/models/accounting/quotes.rb +1 -1
  107. data/lib/xero-ruby/models/accounting/receipt.rb +1 -1
  108. data/lib/xero-ruby/models/accounting/receipts.rb +1 -1
  109. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +1 -1
  110. data/lib/xero-ruby/models/accounting/repeating_invoices.rb +1 -1
  111. data/lib/xero-ruby/models/accounting/report.rb +1 -1
  112. data/lib/xero-ruby/models/accounting/report_attribute.rb +1 -1
  113. data/lib/xero-ruby/models/accounting/report_cell.rb +1 -1
  114. data/lib/xero-ruby/models/accounting/report_fields.rb +1 -1
  115. data/lib/xero-ruby/models/accounting/report_row.rb +1 -1
  116. data/lib/xero-ruby/models/accounting/report_rows.rb +1 -1
  117. data/lib/xero-ruby/models/accounting/report_with_row.rb +1 -1
  118. data/lib/xero-ruby/models/accounting/report_with_rows.rb +1 -1
  119. data/lib/xero-ruby/models/accounting/reports.rb +1 -1
  120. data/lib/xero-ruby/models/accounting/request_empty.rb +1 -1
  121. data/lib/xero-ruby/models/accounting/row_type.rb +1 -1
  122. data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +1 -1
  123. data/lib/xero-ruby/models/accounting/schedule.rb +1 -1
  124. data/lib/xero-ruby/models/accounting/setup.rb +232 -0
  125. data/lib/xero-ruby/models/accounting/tax_component.rb +1 -1
  126. data/lib/xero-ruby/models/accounting/tax_rate.rb +1 -1
  127. data/lib/xero-ruby/models/accounting/tax_rates.rb +1 -1
  128. data/lib/xero-ruby/models/accounting/tax_type.rb +1 -1
  129. data/lib/xero-ruby/models/accounting/ten_ninety_nine_contact.rb +1 -1
  130. data/lib/xero-ruby/models/accounting/time_zone.rb +1 -1
  131. data/lib/xero-ruby/models/accounting/tracking_categories.rb +1 -1
  132. data/lib/xero-ruby/models/accounting/tracking_category.rb +1 -1
  133. data/lib/xero-ruby/models/accounting/tracking_option.rb +9 -9
  134. data/lib/xero-ruby/models/accounting/tracking_options.rb +1 -1
  135. data/lib/xero-ruby/models/accounting/user.rb +1 -1
  136. data/lib/xero-ruby/models/accounting/users.rb +1 -1
  137. data/lib/xero-ruby/models/accounting/validation_error.rb +1 -1
  138. data/lib/xero-ruby/models/assets/asset.rb +12 -2
  139. data/lib/xero-ruby/models/assets/asset_status.rb +1 -1
  140. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +1 -1
  141. data/lib/xero-ruby/models/assets/asset_type.rb +1 -1
  142. data/lib/xero-ruby/models/assets/assets.rb +1 -1
  143. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +1 -1
  144. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +1 -1
  145. data/lib/xero-ruby/models/assets/error.rb +1 -1
  146. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +1 -1
  147. data/lib/xero-ruby/models/assets/pagination.rb +1 -1
  148. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +1 -1
  149. data/lib/xero-ruby/models/assets/setting.rb +1 -1
  150. data/lib/xero-ruby/models/files/association.rb +238 -0
  151. data/lib/xero-ruby/models/files/file_object.rb +278 -0
  152. data/lib/xero-ruby/models/files/file_response204.rb +208 -0
  153. data/lib/xero-ruby/models/files/files.rb +240 -0
  154. data/lib/xero-ruby/models/files/folder.rb +248 -0
  155. data/lib/xero-ruby/models/files/folders.rb +210 -0
  156. data/lib/xero-ruby/models/files/inline_object.rb +238 -0
  157. data/lib/xero-ruby/models/files/object_group.rb +46 -0
  158. data/lib/xero-ruby/models/files/object_type.rb +90 -0
  159. data/lib/xero-ruby/models/files/user.rb +253 -0
  160. data/lib/xero-ruby/models/payroll_au/account.rb +238 -0
  161. data/lib/xero-ruby/models/payroll_au/account_type.rb +58 -0
  162. data/lib/xero-ruby/models/payroll_au/allowance_type.rb +42 -0
  163. data/lib/xero-ruby/models/payroll_au/api_exception.rb +229 -0
  164. data/lib/xero-ruby/models/payroll_au/bank_account.rb +258 -0
  165. data/lib/xero-ruby/models/payroll_au/calendar_type.rb +41 -0
  166. data/lib/xero-ruby/models/payroll_au/deduction_line.rb +258 -0
  167. data/lib/xero-ruby/models/payroll_au/deduction_type.rb +340 -0
  168. data/lib/xero-ruby/models/payroll_au/deduction_type_calculation_type.rb +38 -0
  169. data/lib/xero-ruby/models/payroll_au/earnings_line.rb +293 -0
  170. data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +398 -0
  171. data/lib/xero-ruby/models/payroll_au/earnings_rate_calculation_type.rb +38 -0
  172. data/lib/xero-ruby/models/payroll_au/earnings_type.rb +44 -0
  173. data/lib/xero-ruby/models/payroll_au/employee.rb +571 -0
  174. data/lib/xero-ruby/models/payroll_au/employee_status.rb +37 -0
  175. data/lib/xero-ruby/models/payroll_au/employees.rb +210 -0
  176. data/lib/xero-ruby/models/payroll_au/employment_basis.rb +40 -0
  177. data/lib/xero-ruby/models/payroll_au/employment_termination_payment_type.rb +37 -0
  178. data/lib/xero-ruby/models/payroll_au/entitlement_final_pay_payout_type.rb +37 -0
  179. data/lib/xero-ruby/models/payroll_au/home_address.rb +263 -0
  180. data/lib/xero-ruby/models/payroll_au/leave_accrual_line.rb +228 -0
  181. data/lib/xero-ruby/models/payroll_au/leave_application.rb +302 -0
  182. data/lib/xero-ruby/models/payroll_au/leave_applications.rb +210 -0
  183. data/lib/xero-ruby/models/payroll_au/leave_balance.rb +238 -0
  184. data/lib/xero-ruby/models/payroll_au/leave_earnings_line.rb +228 -0
  185. data/lib/xero-ruby/models/payroll_au/leave_line.rb +278 -0
  186. data/lib/xero-ruby/models/payroll_au/leave_line_calculation_type.rb +40 -0
  187. data/lib/xero-ruby/models/payroll_au/leave_lines.rb +211 -0
  188. data/lib/xero-ruby/models/payroll_au/leave_period.rb +238 -0
  189. data/lib/xero-ruby/models/payroll_au/leave_period_status.rb +37 -0
  190. data/lib/xero-ruby/models/payroll_au/leave_type.rb +303 -0
  191. data/lib/xero-ruby/models/payroll_au/leave_type_contribution_type.rb +39 -0
  192. data/lib/xero-ruby/models/payroll_au/manual_tax_type.rb +40 -0
  193. data/lib/xero-ruby/models/payroll_au/opening_balances.rb +278 -0
  194. data/lib/xero-ruby/models/payroll_au/pay_item.rb +246 -0
  195. data/lib/xero-ruby/models/payroll_au/pay_items.rb +208 -0
  196. data/lib/xero-ruby/models/payroll_au/pay_run.rb +367 -0
  197. data/lib/xero-ruby/models/payroll_au/pay_run_status.rb +37 -0
  198. data/lib/xero-ruby/models/payroll_au/pay_runs.rb +210 -0
  199. data/lib/xero-ruby/models/payroll_au/pay_template.rb +258 -0
  200. data/lib/xero-ruby/models/payroll_au/payment_frequency_type.rb +42 -0
  201. data/lib/xero-ruby/models/payroll_au/payroll_calendar.rb +270 -0
  202. data/lib/xero-ruby/models/payroll_au/payroll_calendars.rb +210 -0
  203. data/lib/xero-ruby/models/payroll_au/payslip.rb +404 -0
  204. data/lib/xero-ruby/models/payroll_au/payslip_lines.rb +294 -0
  205. data/lib/xero-ruby/models/payroll_au/payslip_object.rb +208 -0
  206. data/lib/xero-ruby/models/payroll_au/payslip_summary.rb +318 -0
  207. data/lib/xero-ruby/models/payroll_au/payslips.rb +210 -0
  208. data/lib/xero-ruby/models/payroll_au/rate_type.rb +38 -0
  209. data/lib/xero-ruby/models/payroll_au/reimbursement_line.rb +253 -0
  210. data/lib/xero-ruby/models/payroll_au/reimbursement_lines.rb +211 -0
  211. data/lib/xero-ruby/models/payroll_au/reimbursement_type.rb +263 -0
  212. data/lib/xero-ruby/models/payroll_au/residency_status.rb +38 -0
  213. data/lib/xero-ruby/models/payroll_au/settings.rb +230 -0
  214. data/lib/xero-ruby/models/payroll_au/settings_object.rb +208 -0
  215. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories.rb +219 -0
  216. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_employee_groups.rb +219 -0
  217. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_timesheet_categories.rb +219 -0
  218. data/lib/xero-ruby/models/payroll_au/state.rb +43 -0
  219. data/lib/xero-ruby/models/payroll_au/super_fund.rb +335 -0
  220. data/lib/xero-ruby/models/payroll_au/super_fund_product.rb +238 -0
  221. data/lib/xero-ruby/models/payroll_au/super_fund_products.rb +210 -0
  222. data/lib/xero-ruby/models/payroll_au/super_fund_type.rb +37 -0
  223. data/lib/xero-ruby/models/payroll_au/super_funds.rb +210 -0
  224. data/lib/xero-ruby/models/payroll_au/super_line.rb +278 -0
  225. data/lib/xero-ruby/models/payroll_au/super_membership.rb +238 -0
  226. data/lib/xero-ruby/models/payroll_au/superannuation_calculation_type.rb +38 -0
  227. data/lib/xero-ruby/models/payroll_au/superannuation_contribution_type.rb +39 -0
  228. data/lib/xero-ruby/models/payroll_au/superannuation_line.rb +288 -0
  229. data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +358 -0
  230. data/lib/xero-ruby/models/payroll_au/tax_line.rb +258 -0
  231. data/lib/xero-ruby/models/payroll_au/tfn_exemption_type.rb +39 -0
  232. data/lib/xero-ruby/models/payroll_au/timesheet.rb +307 -0
  233. data/lib/xero-ruby/models/payroll_au/timesheet_line.rb +240 -0
  234. data/lib/xero-ruby/models/payroll_au/timesheet_object.rb +208 -0
  235. data/lib/xero-ruby/models/payroll_au/timesheet_status.rb +40 -0
  236. data/lib/xero-ruby/models/payroll_au/timesheets.rb +210 -0
  237. data/lib/xero-ruby/models/payroll_au/validation_error.rb +208 -0
  238. data/lib/xero-ruby/models/payroll_nz/account.rb +276 -0
  239. data/lib/xero-ruby/models/payroll_nz/accounts.rb +210 -0
  240. data/lib/xero-ruby/models/payroll_nz/address.rb +273 -0
  241. data/lib/xero-ruby/models/payroll_nz/bank_account.rb +329 -0
  242. data/lib/xero-ruby/models/payroll_nz/benefit.rb +369 -0
  243. data/lib/xero-ruby/models/payroll_nz/calendar_type.rb +42 -0
  244. data/lib/xero-ruby/models/payroll_nz/deduction.rb +311 -0
  245. data/lib/xero-ruby/models/payroll_nz/deduction_line.rb +248 -0
  246. data/lib/xero-ruby/models/payroll_nz/deduction_object.rb +228 -0
  247. data/lib/xero-ruby/models/payroll_nz/deductions.rb +230 -0
  248. data/lib/xero-ruby/models/payroll_nz/earnings_line.rb +298 -0
  249. data/lib/xero-ruby/models/payroll_nz/earnings_order.rb +255 -0
  250. data/lib/xero-ruby/models/payroll_nz/earnings_order_object.rb +228 -0
  251. data/lib/xero-ruby/models/payroll_nz/earnings_orders.rb +230 -0
  252. data/lib/xero-ruby/models/payroll_nz/earnings_rate.rb +387 -0
  253. data/lib/xero-ruby/models/payroll_nz/earnings_rate_object.rb +228 -0
  254. data/lib/xero-ruby/models/payroll_nz/earnings_rates.rb +230 -0
  255. data/lib/xero-ruby/models/payroll_nz/earnings_template.rb +258 -0
  256. data/lib/xero-ruby/models/payroll_nz/earnings_template_object.rb +228 -0
  257. data/lib/xero-ruby/models/payroll_nz/employee.rb +374 -0
  258. data/lib/xero-ruby/models/payroll_nz/employee_earnings_templates.rb +230 -0
  259. data/lib/xero-ruby/models/payroll_nz/employee_leave.rb +290 -0
  260. data/lib/xero-ruby/models/payroll_nz/employee_leave_balance.rb +238 -0
  261. data/lib/xero-ruby/models/payroll_nz/employee_leave_balances.rb +230 -0
  262. data/lib/xero-ruby/models/payroll_nz/employee_leave_object.rb +228 -0
  263. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup.rb +268 -0
  264. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup_object.rb +228 -0
  265. data/lib/xero-ruby/models/payroll_nz/employee_leave_type.rb +336 -0
  266. data/lib/xero-ruby/models/payroll_nz/employee_leave_type_object.rb +228 -0
  267. data/lib/xero-ruby/models/payroll_nz/employee_leave_types.rb +230 -0
  268. data/lib/xero-ruby/models/payroll_nz/employee_leaves.rb +230 -0
  269. data/lib/xero-ruby/models/payroll_nz/employee_object.rb +228 -0
  270. data/lib/xero-ruby/models/payroll_nz/employee_opening_balance.rb +238 -0
  271. data/lib/xero-ruby/models/payroll_nz/employee_opening_balances_object.rb +230 -0
  272. data/lib/xero-ruby/models/payroll_nz/employee_pay_template.rb +220 -0
  273. data/lib/xero-ruby/models/payroll_nz/employee_pay_template_object.rb +228 -0
  274. data/lib/xero-ruby/models/payroll_nz/employee_pay_templates.rb +228 -0
  275. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance.rb +280 -0
  276. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance_object.rb +228 -0
  277. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_summary.rb +322 -0
  278. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leaves_summaries.rb +230 -0
  279. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave.rb +419 -0
  280. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave_object.rb +228 -0
  281. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leaves.rb +230 -0
  282. data/lib/xero-ruby/models/payroll_nz/employee_tax.rb +397 -0
  283. data/lib/xero-ruby/models/payroll_nz/employee_tax_object.rb +228 -0
  284. data/lib/xero-ruby/models/payroll_nz/employees.rb +230 -0
  285. data/lib/xero-ruby/models/payroll_nz/employment.rb +228 -0
  286. data/lib/xero-ruby/models/payroll_nz/employment_object.rb +228 -0
  287. data/lib/xero-ruby/models/payroll_nz/gross_earnings_history.rb +218 -0
  288. data/lib/xero-ruby/models/payroll_nz/invalid_field.rb +218 -0
  289. data/lib/xero-ruby/models/payroll_nz/leave_accrual_line.rb +218 -0
  290. data/lib/xero-ruby/models/payroll_nz/leave_earnings_line.rb +298 -0
  291. data/lib/xero-ruby/models/payroll_nz/leave_period.rb +274 -0
  292. data/lib/xero-ruby/models/payroll_nz/leave_periods.rb +230 -0
  293. data/lib/xero-ruby/models/payroll_nz/leave_type.rb +273 -0
  294. data/lib/xero-ruby/models/payroll_nz/leave_type_object.rb +228 -0
  295. data/lib/xero-ruby/models/payroll_nz/leave_types.rb +230 -0
  296. data/lib/xero-ruby/models/payroll_nz/pagination.rb +238 -0
  297. data/lib/xero-ruby/models/payroll_nz/pay_run.rb +371 -0
  298. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar.rb +288 -0
  299. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar_object.rb +228 -0
  300. data/lib/xero-ruby/models/payroll_nz/pay_run_calendars.rb +230 -0
  301. data/lib/xero-ruby/models/payroll_nz/pay_run_object.rb +228 -0
  302. data/lib/xero-ruby/models/payroll_nz/pay_runs.rb +230 -0
  303. data/lib/xero-ruby/models/payroll_nz/pay_slip.rb +557 -0
  304. data/lib/xero-ruby/models/payroll_nz/pay_slip_object.rb +228 -0
  305. data/lib/xero-ruby/models/payroll_nz/pay_slips.rb +230 -0
  306. data/lib/xero-ruby/models/payroll_nz/payment_line.rb +248 -0
  307. data/lib/xero-ruby/models/payroll_nz/payment_method.rb +257 -0
  308. data/lib/xero-ruby/models/payroll_nz/payment_method_object.rb +228 -0
  309. data/lib/xero-ruby/models/payroll_nz/problem.rb +261 -0
  310. data/lib/xero-ruby/models/payroll_nz/reimbursement.rb +364 -0
  311. data/lib/xero-ruby/models/payroll_nz/reimbursement_line.rb +248 -0
  312. data/lib/xero-ruby/models/payroll_nz/reimbursement_object.rb +228 -0
  313. data/lib/xero-ruby/models/payroll_nz/reimbursements.rb +230 -0
  314. data/lib/xero-ruby/models/payroll_nz/salary_and_wage.rb +383 -0
  315. data/lib/xero-ruby/models/payroll_nz/salary_and_wage_object.rb +228 -0
  316. data/lib/xero-ruby/models/payroll_nz/salary_and_wages.rb +230 -0
  317. data/lib/xero-ruby/models/payroll_nz/settings.rb +228 -0
  318. data/lib/xero-ruby/models/payroll_nz/statutory_deduction.rb +248 -0
  319. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_category.rb +46 -0
  320. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_line.rb +238 -0
  321. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_object.rb +228 -0
  322. data/lib/xero-ruby/models/payroll_nz/statutory_deductions.rb +230 -0
  323. data/lib/xero-ruby/models/payroll_nz/superannuation_line.rb +258 -0
  324. data/lib/xero-ruby/models/payroll_nz/superannuation_object.rb +228 -0
  325. data/lib/xero-ruby/models/payroll_nz/superannuations.rb +230 -0
  326. data/lib/xero-ruby/models/payroll_nz/tax_code.rb +54 -0
  327. data/lib/xero-ruby/models/payroll_nz/tax_line.rb +248 -0
  328. data/lib/xero-ruby/models/payroll_nz/tax_settings.rb +294 -0
  329. data/lib/xero-ruby/models/payroll_nz/timesheet.rb +347 -0
  330. data/lib/xero-ruby/models/payroll_nz/timesheet_earnings_line.rb +298 -0
  331. data/lib/xero-ruby/models/payroll_nz/timesheet_line.rb +263 -0
  332. data/lib/xero-ruby/models/payroll_nz/timesheet_line_object.rb +228 -0
  333. data/lib/xero-ruby/models/payroll_nz/timesheet_object.rb +228 -0
  334. data/lib/xero-ruby/models/payroll_nz/timesheets.rb +230 -0
  335. data/lib/xero-ruby/models/payroll_nz/tracking_categories.rb +228 -0
  336. data/lib/xero-ruby/models/payroll_nz/tracking_category.rb +218 -0
  337. data/lib/xero-ruby/models/payroll_uk/account.rb +279 -0
  338. data/lib/xero-ruby/models/payroll_uk/accounts.rb +210 -0
  339. data/lib/xero-ruby/models/payroll_uk/address.rb +263 -0
  340. data/lib/xero-ruby/models/payroll_uk/bank_account.rb +243 -0
  341. data/lib/xero-ruby/models/payroll_uk/benefit.rb +418 -0
  342. data/lib/xero-ruby/models/payroll_uk/benefit_line.rb +248 -0
  343. data/lib/xero-ruby/models/payroll_uk/benefit_object.rb +228 -0
  344. data/lib/xero-ruby/models/payroll_uk/benefits.rb +230 -0
  345. data/lib/xero-ruby/models/payroll_uk/court_order_line.rb +218 -0
  346. data/lib/xero-ruby/models/payroll_uk/deduction.rb +426 -0
  347. data/lib/xero-ruby/models/payroll_uk/deduction_line.rb +238 -0
  348. data/lib/xero-ruby/models/payroll_uk/deduction_object.rb +228 -0
  349. data/lib/xero-ruby/models/payroll_uk/deductions.rb +230 -0
  350. data/lib/xero-ruby/models/payroll_uk/earnings_line.rb +288 -0
  351. data/lib/xero-ruby/models/payroll_uk/earnings_order.rb +255 -0
  352. data/lib/xero-ruby/models/payroll_uk/earnings_order_object.rb +228 -0
  353. data/lib/xero-ruby/models/payroll_uk/earnings_orders.rb +230 -0
  354. data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +387 -0
  355. data/lib/xero-ruby/models/payroll_uk/earnings_rate_object.rb +228 -0
  356. data/lib/xero-ruby/models/payroll_uk/earnings_rates.rb +230 -0
  357. data/lib/xero-ruby/models/payroll_uk/earnings_template.rb +258 -0
  358. data/lib/xero-ruby/models/payroll_uk/earnings_template_object.rb +228 -0
  359. data/lib/xero-ruby/models/payroll_uk/employee.rb +384 -0
  360. data/lib/xero-ruby/models/payroll_uk/employee_leave.rb +290 -0
  361. data/lib/xero-ruby/models/payroll_uk/employee_leave_balance.rb +238 -0
  362. data/lib/xero-ruby/models/payroll_uk/employee_leave_balances.rb +230 -0
  363. data/lib/xero-ruby/models/payroll_uk/employee_leave_object.rb +228 -0
  364. data/lib/xero-ruby/models/payroll_uk/employee_leave_type.rb +306 -0
  365. data/lib/xero-ruby/models/payroll_uk/employee_leave_type_object.rb +228 -0
  366. data/lib/xero-ruby/models/payroll_uk/employee_leave_types.rb +230 -0
  367. data/lib/xero-ruby/models/payroll_uk/employee_leaves.rb +230 -0
  368. data/lib/xero-ruby/models/payroll_uk/employee_object.rb +228 -0
  369. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances.rb +258 -0
  370. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances_object.rb +228 -0
  371. data/lib/xero-ruby/models/payroll_uk/employee_pay_template.rb +220 -0
  372. data/lib/xero-ruby/models/payroll_uk/employee_pay_template_object.rb +228 -0
  373. data/lib/xero-ruby/models/payroll_uk/employee_pay_templates.rb +230 -0
  374. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance.rb +280 -0
  375. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance_object.rb +228 -0
  376. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_summary.rb +322 -0
  377. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leaves_summaries.rb +230 -0
  378. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave.rb +419 -0
  379. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave_object.rb +228 -0
  380. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leaves.rb +230 -0
  381. data/lib/xero-ruby/models/payroll_uk/employee_tax.rb +308 -0
  382. data/lib/xero-ruby/models/payroll_uk/employee_tax_object.rb +228 -0
  383. data/lib/xero-ruby/models/payroll_uk/employees.rb +230 -0
  384. data/lib/xero-ruby/models/payroll_uk/employment.rb +280 -0
  385. data/lib/xero-ruby/models/payroll_uk/employment_object.rb +228 -0
  386. data/lib/xero-ruby/models/payroll_uk/invalid_field.rb +218 -0
  387. data/lib/xero-ruby/models/payroll_uk/leave_accrual_line.rb +218 -0
  388. data/lib/xero-ruby/models/payroll_uk/leave_earnings_line.rb +258 -0
  389. data/lib/xero-ruby/models/payroll_uk/leave_period.rb +274 -0
  390. data/lib/xero-ruby/models/payroll_uk/leave_periods.rb +230 -0
  391. data/lib/xero-ruby/models/payroll_uk/leave_type.rb +293 -0
  392. data/lib/xero-ruby/models/payroll_uk/leave_type_object.rb +228 -0
  393. data/lib/xero-ruby/models/payroll_uk/leave_types.rb +230 -0
  394. data/lib/xero-ruby/models/payroll_uk/pagination.rb +238 -0
  395. data/lib/xero-ruby/models/payroll_uk/pay_run.rb +389 -0
  396. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar.rb +328 -0
  397. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar_object.rb +228 -0
  398. data/lib/xero-ruby/models/payroll_uk/pay_run_calendars.rb +230 -0
  399. data/lib/xero-ruby/models/payroll_uk/pay_run_object.rb +228 -0
  400. data/lib/xero-ruby/models/payroll_uk/pay_runs.rb +230 -0
  401. data/lib/xero-ruby/models/payroll_uk/payment_line.rb +248 -0
  402. data/lib/xero-ruby/models/payroll_uk/payment_method.rb +262 -0
  403. data/lib/xero-ruby/models/payroll_uk/payment_method_object.rb +228 -0
  404. data/lib/xero-ruby/models/payroll_uk/payslip.rb +537 -0
  405. data/lib/xero-ruby/models/payroll_uk/payslip_object.rb +228 -0
  406. data/lib/xero-ruby/models/payroll_uk/payslips.rb +230 -0
  407. data/lib/xero-ruby/models/payroll_uk/problem.rb +261 -0
  408. data/lib/xero-ruby/models/payroll_uk/reimbursement.rb +248 -0
  409. data/lib/xero-ruby/models/payroll_uk/reimbursement_line.rb +228 -0
  410. data/lib/xero-ruby/models/payroll_uk/reimbursement_object.rb +228 -0
  411. data/lib/xero-ruby/models/payroll_uk/reimbursements.rb +230 -0
  412. data/lib/xero-ruby/models/payroll_uk/salary_and_wage.rb +368 -0
  413. data/lib/xero-ruby/models/payroll_uk/salary_and_wage_object.rb +228 -0
  414. data/lib/xero-ruby/models/payroll_uk/salary_and_wages.rb +230 -0
  415. data/lib/xero-ruby/models/payroll_uk/settings.rb +228 -0
  416. data/lib/xero-ruby/models/payroll_uk/statutory_deduction.rb +248 -0
  417. data/lib/xero-ruby/models/payroll_uk/statutory_deduction_category.rb +49 -0
  418. data/lib/xero-ruby/models/payroll_uk/tax_line.rb +258 -0
  419. data/lib/xero-ruby/models/payroll_uk/timesheet.rb +347 -0
  420. data/lib/xero-ruby/models/payroll_uk/timesheet_earnings_line.rb +258 -0
  421. data/lib/xero-ruby/models/payroll_uk/timesheet_line.rb +263 -0
  422. data/lib/xero-ruby/models/payroll_uk/timesheet_line_object.rb +228 -0
  423. data/lib/xero-ruby/models/payroll_uk/timesheet_object.rb +228 -0
  424. data/lib/xero-ruby/models/payroll_uk/timesheets.rb +230 -0
  425. data/lib/xero-ruby/models/payroll_uk/tracking_categories.rb +228 -0
  426. data/lib/xero-ruby/models/payroll_uk/tracking_category.rb +218 -0
  427. data/lib/xero-ruby/models/projects/amount.rb +1 -1
  428. data/lib/xero-ruby/models/projects/charge_type.rb +1 -1
  429. data/lib/xero-ruby/models/projects/currency_code.rb +1 -1
  430. data/lib/xero-ruby/models/projects/error.rb +1 -1
  431. data/lib/xero-ruby/models/projects/pagination.rb +1 -1
  432. data/lib/xero-ruby/models/projects/project.rb +1 -1
  433. data/lib/xero-ruby/models/projects/project_create_or_update.rb +1 -1
  434. data/lib/xero-ruby/models/projects/project_patch.rb +1 -1
  435. data/lib/xero-ruby/models/projects/project_status.rb +1 -1
  436. data/lib/xero-ruby/models/projects/project_user.rb +1 -1
  437. data/lib/xero-ruby/models/projects/project_users.rb +1 -1
  438. data/lib/xero-ruby/models/projects/projects.rb +1 -1
  439. data/lib/xero-ruby/models/projects/task.rb +1 -1
  440. data/lib/xero-ruby/models/projects/task_create_or_update.rb +1 -1
  441. data/lib/xero-ruby/models/projects/tasks.rb +1 -1
  442. data/lib/xero-ruby/models/projects/time_entries.rb +1 -1
  443. data/lib/xero-ruby/models/projects/time_entry.rb +1 -1
  444. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +1 -1
  445. data/lib/xero-ruby/version.rb +2 -2
  446. data/spec/api_client_spec.rb +3 -3
  447. data/spec/files/api/files_api_spec.rb +249 -0
  448. data/spec/files/models/association_spec.rb +59 -0
  449. data/spec/files/models/file_object_spec.rb +83 -0
  450. data/spec/files/models/file_response204_spec.rb +41 -0
  451. data/spec/files/models/files_spec.rb +59 -0
  452. data/spec/files/models/folder_spec.rb +65 -0
  453. data/spec/files/models/folders_spec.rb +41 -0
  454. data/spec/files/models/inline_object_spec.rb +59 -0
  455. data/spec/files/models/object_group_spec.rb +35 -0
  456. data/spec/files/models/object_type_spec.rb +35 -0
  457. data/spec/files/models/user_spec.rb +81 -0
  458. data/spec/payroll_au/api/payroll_au_api_spec.rb +415 -0
  459. data/spec/payroll_au/models/account_spec.rb +59 -0
  460. data/spec/payroll_au/models/account_type_spec.rb +35 -0
  461. data/spec/payroll_au/models/allowance_type_spec.rb +35 -0
  462. data/spec/payroll_au/models/api_exception_spec.rb +53 -0
  463. data/spec/payroll_au/models/bank_account_spec.rb +71 -0
  464. data/spec/payroll_au/models/calendar_type_spec.rb +35 -0
  465. data/spec/payroll_au/models/deduction_line_spec.rb +65 -0
  466. data/spec/payroll_au/models/deduction_type_calculation_type_spec.rb +35 -0
  467. data/spec/payroll_au/models/deduction_type_spec.rb +93 -0
  468. data/spec/payroll_au/models/earnings_line_spec.rb +89 -0
  469. data/spec/payroll_au/models/earnings_rate_calculation_type_spec.rb +35 -0
  470. data/spec/payroll_au/models/earnings_rate_spec.rb +137 -0
  471. data/spec/payroll_au/models/earnings_type_spec.rb +35 -0
  472. data/spec/payroll_au/models/employee_spec.rb +225 -0
  473. data/spec/payroll_au/models/employee_status_spec.rb +35 -0
  474. data/spec/payroll_au/models/employees_spec.rb +41 -0
  475. data/spec/payroll_au/models/employment_basis_spec.rb +35 -0
  476. data/spec/payroll_au/models/employment_termination_payment_type_spec.rb +35 -0
  477. data/spec/payroll_au/models/entitlement_final_pay_payout_type_spec.rb +35 -0
  478. data/spec/payroll_au/models/home_address_spec.rb +71 -0
  479. data/spec/payroll_au/models/leave_accrual_line_spec.rb +53 -0
  480. data/spec/payroll_au/models/leave_application_spec.rb +95 -0
  481. data/spec/payroll_au/models/leave_applications_spec.rb +41 -0
  482. data/spec/payroll_au/models/leave_balance_spec.rb +59 -0
  483. data/spec/payroll_au/models/leave_earnings_line_spec.rb +53 -0
  484. data/spec/payroll_au/models/leave_line_calculation_type_spec.rb +35 -0
  485. data/spec/payroll_au/models/leave_line_spec.rb +83 -0
  486. data/spec/payroll_au/models/leave_lines_spec.rb +41 -0
  487. data/spec/payroll_au/models/leave_period_spec.rb +59 -0
  488. data/spec/payroll_au/models/leave_period_status_spec.rb +35 -0
  489. data/spec/payroll_au/models/leave_type_contribution_type_spec.rb +35 -0
  490. data/spec/payroll_au/models/leave_type_spec.rb +89 -0
  491. data/spec/payroll_au/models/manual_tax_type_spec.rb +35 -0
  492. data/spec/payroll_au/models/opening_balances_spec.rb +77 -0
  493. data/spec/payroll_au/models/pay_item_spec.rb +59 -0
  494. data/spec/payroll_au/models/pay_items_spec.rb +41 -0
  495. data/spec/payroll_au/models/pay_run_spec.rb +131 -0
  496. data/spec/payroll_au/models/pay_run_status_spec.rb +35 -0
  497. data/spec/payroll_au/models/pay_runs_spec.rb +41 -0
  498. data/spec/payroll_au/models/pay_template_spec.rb +65 -0
  499. data/spec/payroll_au/models/payment_frequency_type_spec.rb +35 -0
  500. data/spec/payroll_au/models/payroll_calendar_spec.rb +77 -0
  501. data/spec/payroll_au/models/payroll_calendars_spec.rb +41 -0
  502. data/spec/payroll_au/models/payslip_lines_spec.rb +83 -0
  503. data/spec/payroll_au/models/payslip_object_spec.rb +41 -0
  504. data/spec/payroll_au/models/payslip_spec.rb +149 -0
  505. data/spec/payroll_au/models/payslip_summary_spec.rb +107 -0
  506. data/spec/payroll_au/models/payslips_spec.rb +41 -0
  507. data/spec/payroll_au/models/rate_type_spec.rb +35 -0
  508. data/spec/payroll_au/models/reimbursement_line_spec.rb +59 -0
  509. data/spec/payroll_au/models/reimbursement_lines_spec.rb +41 -0
  510. data/spec/payroll_au/models/reimbursement_type_spec.rb +65 -0
  511. data/spec/payroll_au/models/residency_status_spec.rb +35 -0
  512. data/spec/payroll_au/models/settings_object_spec.rb +41 -0
  513. data/spec/payroll_au/models/settings_spec.rb +53 -0
  514. data/spec/payroll_au/models/settings_tracking_categories_employee_groups_spec.rb +47 -0
  515. data/spec/payroll_au/models/settings_tracking_categories_spec.rb +47 -0
  516. data/spec/payroll_au/models/settings_tracking_categories_timesheet_categories_spec.rb +47 -0
  517. data/spec/payroll_au/models/state_spec.rb +35 -0
  518. data/spec/payroll_au/models/super_fund_product_spec.rb +59 -0
  519. data/spec/payroll_au/models/super_fund_products_spec.rb +41 -0
  520. data/spec/payroll_au/models/super_fund_spec.rb +113 -0
  521. data/spec/payroll_au/models/super_fund_type_spec.rb +35 -0
  522. data/spec/payroll_au/models/super_funds_spec.rb +41 -0
  523. data/spec/payroll_au/models/super_line_spec.rb +83 -0
  524. data/spec/payroll_au/models/super_membership_spec.rb +53 -0
  525. data/spec/payroll_au/models/superannuation_calculation_type_spec.rb +35 -0
  526. data/spec/payroll_au/models/superannuation_contribution_type_spec.rb +35 -0
  527. data/spec/payroll_au/models/superannuation_line_spec.rb +89 -0
  528. data/spec/payroll_au/models/tax_declaration_spec.rb +131 -0
  529. data/spec/payroll_au/models/tax_line_spec.rb +71 -0
  530. data/spec/payroll_au/models/tfn_exemption_type_spec.rb +35 -0
  531. data/spec/payroll_au/models/timesheet_line_spec.rb +59 -0
  532. data/spec/payroll_au/models/timesheet_object_spec.rb +41 -0
  533. data/spec/payroll_au/models/timesheet_spec.rb +89 -0
  534. data/spec/payroll_au/models/timesheet_status_spec.rb +35 -0
  535. data/spec/payroll_au/models/timesheets_spec.rb +41 -0
  536. data/spec/payroll_au/models/validation_error_spec.rb +41 -0
  537. data/spec/payroll_nz/api/payroll_nz_api_spec.rb +886 -0
  538. data/spec/payroll_nz/models/account_spec.rb +63 -0
  539. data/spec/payroll_nz/models/accounts_spec.rb +41 -0
  540. data/spec/payroll_nz/models/address_spec.rb +71 -0
  541. data/spec/payroll_nz/models/bank_account_spec.rb +87 -0
  542. data/spec/payroll_nz/models/benefit_spec.rb +103 -0
  543. data/spec/payroll_nz/models/deduction_line_spec.rb +65 -0
  544. data/spec/payroll_nz/models/deduction_object_spec.rb +53 -0
  545. data/spec/payroll_nz/models/deduction_spec.rb +75 -0
  546. data/spec/payroll_nz/models/deductions_spec.rb +53 -0
  547. data/spec/payroll_nz/models/earnings_line_spec.rb +95 -0
  548. data/spec/payroll_nz/models/earnings_order_object_spec.rb +53 -0
  549. data/spec/payroll_nz/models/earnings_order_spec.rb +65 -0
  550. data/spec/payroll_nz/models/earnings_orders_spec.rb +53 -0
  551. data/spec/payroll_nz/models/earnings_rate_object_spec.rb +53 -0
  552. data/spec/payroll_nz/models/earnings_rate_spec.rb +103 -0
  553. data/spec/payroll_nz/models/earnings_rates_spec.rb +53 -0
  554. data/spec/payroll_nz/models/earnings_template_object_spec.rb +53 -0
  555. data/spec/payroll_nz/models/earnings_template_spec.rb +71 -0
  556. data/spec/payroll_nz/models/employee_earnings_templates_spec.rb +53 -0
  557. data/spec/payroll_nz/models/employee_leave_balance_spec.rb +59 -0
  558. data/spec/payroll_nz/models/employee_leave_balances_spec.rb +53 -0
  559. data/spec/payroll_nz/models/employee_leave_object_spec.rb +53 -0
  560. data/spec/payroll_nz/models/employee_leave_setup_object_spec.rb +53 -0
  561. data/spec/payroll_nz/models/employee_leave_setup_spec.rb +77 -0
  562. data/spec/payroll_nz/models/employee_leave_spec.rb +77 -0
  563. data/spec/payroll_nz/models/employee_leave_type_object_spec.rb +53 -0
  564. data/spec/payroll_nz/models/employee_leave_type_spec.rb +99 -0
  565. data/spec/payroll_nz/models/employee_leave_types_spec.rb +53 -0
  566. data/spec/payroll_nz/models/employee_leaves_spec.rb +53 -0
  567. data/spec/payroll_nz/models/employee_object_spec.rb +53 -0
  568. data/spec/payroll_nz/models/employee_opening_balance_spec.rb +59 -0
  569. data/spec/payroll_nz/models/employee_opening_balances_object_spec.rb +53 -0
  570. data/spec/payroll_nz/models/employee_pay_template_object_spec.rb +53 -0
  571. data/spec/payroll_nz/models/employee_pay_template_spec.rb +47 -0
  572. data/spec/payroll_nz/models/employee_pay_templates_spec.rb +53 -0
  573. data/spec/payroll_nz/models/employee_spec.rb +123 -0
  574. data/spec/payroll_nz/models/employee_statutory_leave_balance_object_spec.rb +53 -0
  575. data/spec/payroll_nz/models/employee_statutory_leave_balance_spec.rb +61 -0
  576. data/spec/payroll_nz/models/employee_statutory_leave_summary_spec.rb +85 -0
  577. data/spec/payroll_nz/models/employee_statutory_leaves_summaries_spec.rb +53 -0
  578. data/spec/payroll_nz/models/employee_statutory_sick_leave_object_spec.rb +53 -0
  579. data/spec/payroll_nz/models/employee_statutory_sick_leave_spec.rb +135 -0
  580. data/spec/payroll_nz/models/employee_statutory_sick_leaves_spec.rb +53 -0
  581. data/spec/payroll_nz/models/employee_tax_object_spec.rb +53 -0
  582. data/spec/payroll_nz/models/employee_tax_spec.rb +135 -0
  583. data/spec/payroll_nz/models/employees_spec.rb +53 -0
  584. data/spec/payroll_nz/models/employment_object_spec.rb +53 -0
  585. data/spec/payroll_nz/models/employment_spec.rb +53 -0
  586. data/spec/payroll_nz/models/gross_earnings_history_spec.rb +47 -0
  587. data/spec/payroll_nz/models/invalid_field_spec.rb +47 -0
  588. data/spec/payroll_nz/models/leave_accrual_line_spec.rb +47 -0
  589. data/spec/payroll_nz/models/leave_earnings_line_spec.rb +95 -0
  590. data/spec/payroll_nz/models/leave_period_spec.rb +63 -0
  591. data/spec/payroll_nz/models/leave_periods_spec.rb +53 -0
  592. data/spec/payroll_nz/models/leave_type_object_spec.rb +53 -0
  593. data/spec/payroll_nz/models/leave_type_spec.rb +71 -0
  594. data/spec/payroll_nz/models/leave_types_spec.rb +53 -0
  595. data/spec/payroll_nz/models/pagination_spec.rb +59 -0
  596. data/spec/payroll_nz/models/pay_run_calendar_object_spec.rb +53 -0
  597. data/spec/payroll_nz/models/pay_run_calendar_spec.rb +81 -0
  598. data/spec/payroll_nz/models/pay_run_calendars_spec.rb +53 -0
  599. data/spec/payroll_nz/models/pay_run_object_spec.rb +53 -0
  600. data/spec/payroll_nz/models/pay_run_spec.rb +119 -0
  601. data/spec/payroll_nz/models/pay_runs_spec.rb +53 -0
  602. data/spec/payroll_nz/models/pay_slip_object_spec.rb +53 -0
  603. data/spec/payroll_nz/models/pay_slip_spec.rb +219 -0
  604. data/spec/payroll_nz/models/pay_slips_spec.rb +53 -0
  605. data/spec/payroll_nz/models/payment_line_spec.rb +65 -0
  606. data/spec/payroll_nz/models/payment_method_object_spec.rb +53 -0
  607. data/spec/payroll_nz/models/payment_method_spec.rb +51 -0
  608. data/spec/payroll_nz/models/problem_spec.rb +71 -0
  609. data/spec/payroll_nz/models/reimbursement_line_spec.rb +65 -0
  610. data/spec/payroll_nz/models/reimbursement_object_spec.rb +53 -0
  611. data/spec/payroll_nz/models/reimbursement_spec.rb +101 -0
  612. data/spec/payroll_nz/models/reimbursements_spec.rb +53 -0
  613. data/spec/payroll_nz/models/salary_and_wage_object_spec.rb +53 -0
  614. data/spec/payroll_nz/models/salary_and_wage_spec.rb +103 -0
  615. data/spec/payroll_nz/models/salary_and_wages_spec.rb +53 -0
  616. data/spec/payroll_nz/models/settings_spec.rb +53 -0
  617. data/spec/payroll_nz/models/statutory_deduction_category_spec.rb +35 -0
  618. data/spec/payroll_nz/models/statutory_deduction_line_spec.rb +59 -0
  619. data/spec/payroll_nz/models/statutory_deduction_object_spec.rb +53 -0
  620. data/spec/payroll_nz/models/statutory_deduction_spec.rb +65 -0
  621. data/spec/payroll_nz/models/statutory_deductions_spec.rb +53 -0
  622. data/spec/payroll_nz/models/superannuation_line_spec.rb +71 -0
  623. data/spec/payroll_nz/models/superannuation_object_spec.rb +53 -0
  624. data/spec/payroll_nz/models/superannuations_spec.rb +53 -0
  625. data/spec/payroll_nz/models/tax_code_spec.rb +35 -0
  626. data/spec/payroll_nz/models/tax_line_spec.rb +65 -0
  627. data/spec/payroll_nz/models/tax_settings_spec.rb +75 -0
  628. data/spec/payroll_nz/models/timesheet_earnings_line_spec.rb +95 -0
  629. data/spec/payroll_nz/models/timesheet_line_object_spec.rb +53 -0
  630. data/spec/payroll_nz/models/timesheet_line_spec.rb +65 -0
  631. data/spec/payroll_nz/models/timesheet_object_spec.rb +53 -0
  632. data/spec/payroll_nz/models/timesheet_spec.rb +93 -0
  633. data/spec/payroll_nz/models/timesheets_spec.rb +53 -0
  634. data/spec/payroll_nz/models/tracking_categories_spec.rb +53 -0
  635. data/spec/payroll_nz/models/tracking_category_spec.rb +47 -0
  636. data/spec/payroll_uk/api/payroll_uk_api_spec.rb +912 -0
  637. data/spec/payroll_uk/models/account_spec.rb +63 -0
  638. data/spec/payroll_uk/models/accounts_spec.rb +41 -0
  639. data/spec/payroll_uk/models/address_spec.rb +65 -0
  640. data/spec/payroll_uk/models/bank_account_spec.rb +53 -0
  641. data/spec/payroll_uk/models/benefit_line_spec.rb +65 -0
  642. data/spec/payroll_uk/models/benefit_object_spec.rb +53 -0
  643. data/spec/payroll_uk/models/benefit_spec.rb +127 -0
  644. data/spec/payroll_uk/models/benefits_spec.rb +53 -0
  645. data/spec/payroll_uk/models/court_order_line_spec.rb +47 -0
  646. data/spec/payroll_uk/models/deduction_line_spec.rb +59 -0
  647. data/spec/payroll_uk/models/deduction_object_spec.rb +53 -0
  648. data/spec/payroll_uk/models/deduction_spec.rb +139 -0
  649. data/spec/payroll_uk/models/deductions_spec.rb +53 -0
  650. data/spec/payroll_uk/models/earnings_line_spec.rb +89 -0
  651. data/spec/payroll_uk/models/earnings_order_object_spec.rb +53 -0
  652. data/spec/payroll_uk/models/earnings_order_spec.rb +65 -0
  653. data/spec/payroll_uk/models/earnings_orders_spec.rb +53 -0
  654. data/spec/payroll_uk/models/earnings_rate_object_spec.rb +53 -0
  655. data/spec/payroll_uk/models/earnings_rate_spec.rb +103 -0
  656. data/spec/payroll_uk/models/earnings_rates_spec.rb +53 -0
  657. data/spec/payroll_uk/models/earnings_template_object_spec.rb +53 -0
  658. data/spec/payroll_uk/models/earnings_template_spec.rb +71 -0
  659. data/spec/payroll_uk/models/employee_leave_balance_spec.rb +59 -0
  660. data/spec/payroll_uk/models/employee_leave_balances_spec.rb +53 -0
  661. data/spec/payroll_uk/models/employee_leave_object_spec.rb +53 -0
  662. data/spec/payroll_uk/models/employee_leave_spec.rb +77 -0
  663. data/spec/payroll_uk/models/employee_leave_type_object_spec.rb +53 -0
  664. data/spec/payroll_uk/models/employee_leave_type_spec.rb +75 -0
  665. data/spec/payroll_uk/models/employee_leave_types_spec.rb +53 -0
  666. data/spec/payroll_uk/models/employee_leaves_spec.rb +53 -0
  667. data/spec/payroll_uk/models/employee_object_spec.rb +53 -0
  668. data/spec/payroll_uk/models/employee_opening_balances_object_spec.rb +53 -0
  669. data/spec/payroll_uk/models/employee_opening_balances_spec.rb +71 -0
  670. data/spec/payroll_uk/models/employee_pay_template_object_spec.rb +53 -0
  671. data/spec/payroll_uk/models/employee_pay_template_spec.rb +47 -0
  672. data/spec/payroll_uk/models/employee_pay_templates_spec.rb +53 -0
  673. data/spec/payroll_uk/models/employee_spec.rb +129 -0
  674. data/spec/payroll_uk/models/employee_statutory_leave_balance_object_spec.rb +53 -0
  675. data/spec/payroll_uk/models/employee_statutory_leave_balance_spec.rb +61 -0
  676. data/spec/payroll_uk/models/employee_statutory_leave_summary_spec.rb +85 -0
  677. data/spec/payroll_uk/models/employee_statutory_leaves_summaries_spec.rb +53 -0
  678. data/spec/payroll_uk/models/employee_statutory_sick_leave_object_spec.rb +53 -0
  679. data/spec/payroll_uk/models/employee_statutory_sick_leave_spec.rb +135 -0
  680. data/spec/payroll_uk/models/employee_statutory_sick_leaves_spec.rb +53 -0
  681. data/spec/payroll_uk/models/employee_tax_object_spec.rb +53 -0
  682. data/spec/payroll_uk/models/employee_tax_spec.rb +101 -0
  683. data/spec/payroll_uk/models/employees_spec.rb +53 -0
  684. data/spec/payroll_uk/models/employment_object_spec.rb +53 -0
  685. data/spec/payroll_uk/models/employment_spec.rb +63 -0
  686. data/spec/payroll_uk/models/invalid_field_spec.rb +47 -0
  687. data/spec/payroll_uk/models/leave_accrual_line_spec.rb +47 -0
  688. data/spec/payroll_uk/models/leave_earnings_line_spec.rb +71 -0
  689. data/spec/payroll_uk/models/leave_period_spec.rb +63 -0
  690. data/spec/payroll_uk/models/leave_periods_spec.rb +53 -0
  691. data/spec/payroll_uk/models/leave_type_object_spec.rb +53 -0
  692. data/spec/payroll_uk/models/leave_type_spec.rb +83 -0
  693. data/spec/payroll_uk/models/leave_types_spec.rb +53 -0
  694. data/spec/payroll_uk/models/pagination_spec.rb +59 -0
  695. data/spec/payroll_uk/models/pay_run_calendar_object_spec.rb +53 -0
  696. data/spec/payroll_uk/models/pay_run_calendar_spec.rb +81 -0
  697. data/spec/payroll_uk/models/pay_run_calendars_spec.rb +53 -0
  698. data/spec/payroll_uk/models/pay_run_object_spec.rb +53 -0
  699. data/spec/payroll_uk/models/pay_run_spec.rb +119 -0
  700. data/spec/payroll_uk/models/pay_runs_spec.rb +53 -0
  701. data/spec/payroll_uk/models/payment_line_spec.rb +65 -0
  702. data/spec/payroll_uk/models/payment_method_object_spec.rb +53 -0
  703. data/spec/payroll_uk/models/payment_method_spec.rb +51 -0
  704. data/spec/payroll_uk/models/payslip_object_spec.rb +53 -0
  705. data/spec/payroll_uk/models/payslip_spec.rb +201 -0
  706. data/spec/payroll_uk/models/payslips_spec.rb +53 -0
  707. data/spec/payroll_uk/models/problem_spec.rb +71 -0
  708. data/spec/payroll_uk/models/reimbursement_line_spec.rb +53 -0
  709. data/spec/payroll_uk/models/reimbursement_object_spec.rb +53 -0
  710. data/spec/payroll_uk/models/reimbursement_spec.rb +59 -0
  711. data/spec/payroll_uk/models/reimbursements_spec.rb +53 -0
  712. data/spec/payroll_uk/models/salary_and_wage_object_spec.rb +53 -0
  713. data/spec/payroll_uk/models/salary_and_wage_spec.rb +97 -0
  714. data/spec/payroll_uk/models/salary_and_wages_spec.rb +53 -0
  715. data/spec/payroll_uk/models/settings_spec.rb +53 -0
  716. data/spec/payroll_uk/models/statutory_deduction_category_spec.rb +35 -0
  717. data/spec/payroll_uk/models/statutory_deduction_spec.rb +65 -0
  718. data/spec/payroll_uk/models/tax_line_spec.rb +71 -0
  719. data/spec/payroll_uk/models/timesheet_earnings_line_spec.rb +71 -0
  720. data/spec/payroll_uk/models/timesheet_line_object_spec.rb +53 -0
  721. data/spec/payroll_uk/models/timesheet_line_spec.rb +65 -0
  722. data/spec/payroll_uk/models/timesheet_object_spec.rb +53 -0
  723. data/spec/payroll_uk/models/timesheet_spec.rb +93 -0
  724. data/spec/payroll_uk/models/timesheets_spec.rb +53 -0
  725. data/spec/payroll_uk/models/tracking_categories_spec.rb +53 -0
  726. data/spec/payroll_uk/models/tracking_category_spec.rb +47 -0
  727. metadata +853 -158
  728. data/CODE_OF_CONDUCT.md +0 -76
  729. data/CONTRIBUTING.md +0 -82
  730. data/Gemfile +0 -9
  731. data/LICENSE +0 -21
  732. data/Rakefile +0 -10
  733. data/build_notes.md +0 -62
  734. data/docs/accounting/Account.md +0 -55
  735. data/docs/accounting/AccountType.md +0 -16
  736. data/docs/accounting/AccountingApi.md +0 -15151
  737. data/docs/accounting/Accounts.md +0 -17
  738. data/docs/accounting/AccountsPayable.md +0 -19
  739. data/docs/accounting/AccountsReceivable.md +0 -19
  740. data/docs/accounting/Address.md +0 -35
  741. data/docs/accounting/Allocation.md +0 -31
  742. data/docs/accounting/Allocations.md +0 -17
  743. data/docs/accounting/Attachment.md +0 -27
  744. data/docs/accounting/Attachments.md +0 -17
  745. data/docs/accounting/Balances.md +0 -19
  746. data/docs/accounting/BankTransaction.md +0 -59
  747. data/docs/accounting/BankTransactions.md +0 -17
  748. data/docs/accounting/BankTransfer.md +0 -37
  749. data/docs/accounting/BankTransfers.md +0 -17
  750. data/docs/accounting/BatchPayment.md +0 -47
  751. data/docs/accounting/BatchPaymentDetails.md +0 -25
  752. data/docs/accounting/BatchPayments.md +0 -17
  753. data/docs/accounting/Bill.md +0 -19
  754. data/docs/accounting/BrandingTheme.md +0 -27
  755. data/docs/accounting/BrandingThemes.md +0 -17
  756. data/docs/accounting/CISOrgSetting.md +0 -21
  757. data/docs/accounting/CISSetting.md +0 -19
  758. data/docs/accounting/CISSettings.md +0 -17
  759. data/docs/accounting/Contact.md +0 -93
  760. data/docs/accounting/ContactGroup.md +0 -23
  761. data/docs/accounting/ContactGroups.md +0 -17
  762. data/docs/accounting/ContactPerson.md +0 -23
  763. data/docs/accounting/Contacts.md +0 -17
  764. data/docs/accounting/CountryCode.md +0 -16
  765. data/docs/accounting/CreditNote.md +0 -67
  766. data/docs/accounting/CreditNotes.md +0 -17
  767. data/docs/accounting/Currencies.md +0 -17
  768. data/docs/accounting/Currency.md +0 -19
  769. data/docs/accounting/CurrencyCode.md +0 -16
  770. data/docs/accounting/Element.md +0 -31
  771. data/docs/accounting/Employee.md +0 -31
  772. data/docs/accounting/Employees.md +0 -17
  773. data/docs/accounting/Error.md +0 -23
  774. data/docs/accounting/ExpenseClaim.md +0 -39
  775. data/docs/accounting/ExpenseClaims.md +0 -17
  776. data/docs/accounting/ExternalLink.md +0 -21
  777. data/docs/accounting/HistoryRecord.md +0 -23
  778. data/docs/accounting/HistoryRecords.md +0 -17
  779. data/docs/accounting/Invoice.md +0 -93
  780. data/docs/accounting/InvoiceReminder.md +0 -17
  781. data/docs/accounting/InvoiceReminders.md +0 -17
  782. data/docs/accounting/Invoices.md +0 -17
  783. data/docs/accounting/Item.md +0 -47
  784. data/docs/accounting/Items.md +0 -17
  785. data/docs/accounting/Journal.md +0 -31
  786. data/docs/accounting/JournalLine.md +0 -39
  787. data/docs/accounting/Journals.md +0 -17
  788. data/docs/accounting/LineAmountTypes.md +0 -16
  789. data/docs/accounting/LineItem.md +0 -41
  790. data/docs/accounting/LineItemTracking.md +0 -23
  791. data/docs/accounting/LinkedTransaction.md +0 -37
  792. data/docs/accounting/LinkedTransactions.md +0 -17
  793. data/docs/accounting/ManualJournal.md +0 -43
  794. data/docs/accounting/ManualJournalLine.md +0 -31
  795. data/docs/accounting/ManualJournals.md +0 -17
  796. data/docs/accounting/OnlineInvoice.md +0 -17
  797. data/docs/accounting/OnlineInvoices.md +0 -17
  798. data/docs/accounting/Organisation.md +0 -81
  799. data/docs/accounting/Organisations.md +0 -17
  800. data/docs/accounting/Overpayment.md +0 -53
  801. data/docs/accounting/Overpayments.md +0 -17
  802. data/docs/accounting/Payment.md +0 -63
  803. data/docs/accounting/PaymentDelete.md +0 -17
  804. data/docs/accounting/PaymentService.md +0 -27
  805. data/docs/accounting/PaymentServices.md +0 -17
  806. data/docs/accounting/PaymentTerm.md +0 -19
  807. data/docs/accounting/PaymentTermType.md +0 -16
  808. data/docs/accounting/Payments.md +0 -17
  809. data/docs/accounting/Phone.md +0 -23
  810. data/docs/accounting/Prepayment.md +0 -53
  811. data/docs/accounting/Prepayments.md +0 -17
  812. data/docs/accounting/Purchase.md +0 -23
  813. data/docs/accounting/PurchaseOrder.md +0 -71
  814. data/docs/accounting/PurchaseOrders.md +0 -17
  815. data/docs/accounting/Quote.md +0 -63
  816. data/docs/accounting/QuoteLineAmountTypes.md +0 -16
  817. data/docs/accounting/QuoteStatusCodes.md +0 -16
  818. data/docs/accounting/Quotes.md +0 -17
  819. data/docs/accounting/Receipt.md +0 -51
  820. data/docs/accounting/Receipts.md +0 -17
  821. data/docs/accounting/RepeatingInvoice.md +0 -47
  822. data/docs/accounting/RepeatingInvoices.md +0 -17
  823. data/docs/accounting/Report.md +0 -29
  824. data/docs/accounting/ReportAttribute.md +0 -19
  825. data/docs/accounting/ReportCell.md +0 -19
  826. data/docs/accounting/ReportFields.md +0 -21
  827. data/docs/accounting/ReportRow.md +0 -21
  828. data/docs/accounting/ReportRows.md +0 -23
  829. data/docs/accounting/ReportWithRow.md +0 -33
  830. data/docs/accounting/ReportWithRows.md +0 -17
  831. data/docs/accounting/Reports.md +0 -17
  832. data/docs/accounting/RequestEmpty.md +0 -17
  833. data/docs/accounting/RowType.md +0 -16
  834. data/docs/accounting/SalesTrackingCategory.md +0 -19
  835. data/docs/accounting/Schedule.md +0 -29
  836. data/docs/accounting/TaxComponent.md +0 -23
  837. data/docs/accounting/TaxRate.md +0 -39
  838. data/docs/accounting/TaxRates.md +0 -17
  839. data/docs/accounting/TaxType.md +0 -16
  840. data/docs/accounting/TenNinetyNineContact.md +0 -59
  841. data/docs/accounting/TimeZone.md +0 -16
  842. data/docs/accounting/TrackingCategories.md +0 -17
  843. data/docs/accounting/TrackingCategory.md +0 -27
  844. data/docs/accounting/TrackingOption.md +0 -23
  845. data/docs/accounting/TrackingOptions.md +0 -17
  846. data/docs/accounting/User.md +0 -29
  847. data/docs/accounting/Users.md +0 -17
  848. data/docs/accounting/ValidationError.md +0 -17
  849. data/docs/assets/Asset.md +0 -45
  850. data/docs/assets/AssetApi.md +0 -438
  851. data/docs/assets/AssetStatus.md +0 -16
  852. data/docs/assets/AssetStatusQueryParam.md +0 -16
  853. data/docs/assets/AssetType.md +0 -29
  854. data/docs/assets/Assets.md +0 -19
  855. data/docs/assets/BookDepreciationDetail.md +0 -29
  856. data/docs/assets/BookDepreciationSetting.md +0 -31
  857. data/docs/assets/Error.md +0 -25
  858. data/docs/assets/FieldValidationErrorsElement.md +0 -27
  859. data/docs/assets/Pagination.md +0 -23
  860. data/docs/assets/ResourceValidationErrorsElement.md +0 -25
  861. data/docs/assets/Setting.md +0 -31
  862. data/docs/projects/Amount.md +0 -19
  863. data/docs/projects/ChargeType.md +0 -16
  864. data/docs/projects/CurrencyCode.md +0 -16
  865. data/docs/projects/Error.md +0 -19
  866. data/docs/projects/Pagination.md +0 -23
  867. data/docs/projects/Project.md +0 -59
  868. data/docs/projects/ProjectApi.md +0 -979
  869. data/docs/projects/ProjectCreateOrUpdate.md +0 -23
  870. data/docs/projects/ProjectPatch.md +0 -17
  871. data/docs/projects/ProjectStatus.md +0 -16
  872. data/docs/projects/ProjectUser.md +0 -21
  873. data/docs/projects/ProjectUsers.md +0 -19
  874. data/docs/projects/Projects.md +0 -19
  875. data/docs/projects/Task.md +0 -45
  876. data/docs/projects/TaskCreateOrUpdate.md +0 -23
  877. data/docs/projects/Tasks.md +0 -19
  878. data/docs/projects/TimeEntries.md +0 -19
  879. data/docs/projects/TimeEntry.md +0 -33
  880. data/docs/projects/TimeEntryCreateOrUpdate.md +0 -25
  881. data/git_push.sh +0 -55
  882. data/xero-ruby.gem +0 -0
  883. data/xero-ruby.gemspec +0 -38
@@ -0,0 +1,228 @@
1
+ =begin
2
+ #Xero Payroll UK
3
+
4
+ #This is the Xero Payroll API for orgs in the UK region.
5
+
6
+ The version of the OpenAPI document: 2.6.0
7
+ Contact: api@xero.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'time'
14
+ require 'date'
15
+
16
+ module XeroRuby::PayrollUk
17
+ require 'bigdecimal'
18
+
19
+ class PaymentMethodObject
20
+
21
+ attr_accessor :pagination
22
+
23
+
24
+ attr_accessor :problem
25
+
26
+
27
+ attr_accessor :payment_method
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ def self.attribute_map
31
+ {
32
+ :'pagination' => :'pagination',
33
+ :'problem' => :'problem',
34
+ :'payment_method' => :'paymentMethod'
35
+ }
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'pagination' => :'Pagination',
42
+ :'problem' => :'Problem',
43
+ :'payment_method' => :'PaymentMethod'
44
+ }
45
+ end
46
+
47
+ # Initializes the object
48
+ # @param [Hash] attributes Model attributes in the form of hash
49
+ def initialize(attributes = {})
50
+ if (!attributes.is_a?(Hash))
51
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::PayrollUk::PaymentMethodObject` initialize method"
52
+ end
53
+
54
+ # check to see if the attribute exists and convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}) { |(k, v), h|
56
+ if (!self.class.attribute_map.key?(k.to_sym))
57
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::PayrollUk::PaymentMethodObject`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
58
+ end
59
+ h[k.to_sym] = v
60
+ }
61
+
62
+ if attributes.key?(:'pagination')
63
+ self.pagination = attributes[:'pagination']
64
+ end
65
+
66
+ if attributes.key?(:'problem')
67
+ self.problem = attributes[:'problem']
68
+ end
69
+
70
+ if attributes.key?(:'payment_method')
71
+ self.payment_method = attributes[:'payment_method']
72
+ end
73
+ end
74
+
75
+ # Show invalid properties with the reasons. Usually used together with valid?
76
+ # @return Array for valid properties with the reasons
77
+ def list_invalid_properties
78
+ invalid_properties = Array.new
79
+ invalid_properties
80
+ end
81
+
82
+ # Check to see if the all the properties in the model are valid
83
+ # @return true if the model is valid
84
+ def valid?
85
+ true
86
+ end
87
+
88
+ # Checks equality by comparing each attribute.
89
+ # @param [Object] Object to be compared
90
+ def ==(o)
91
+ return true if self.equal?(o)
92
+ self.class == o.class &&
93
+ pagination == o.pagination &&
94
+ problem == o.problem &&
95
+ payment_method == o.payment_method
96
+ end
97
+
98
+ # @see the `==` method
99
+ # @param [Object] Object to be compared
100
+ def eql?(o)
101
+ self == o
102
+ end
103
+
104
+ # Calculates hash code according to all attributes.
105
+ # @return [Integer] Hash code
106
+ def hash
107
+ [pagination, problem, payment_method].hash
108
+ end
109
+
110
+ # Builds the object from hash
111
+ # @param [Hash] attributes Model attributes in the form of hash
112
+ # @return [Object] Returns the model itself
113
+ def self.build_from_hash(attributes)
114
+ new.build_from_hash(attributes)
115
+ end
116
+
117
+ # Builds the object from hash
118
+ # @param [Hash] attributes Model attributes in the form of hash
119
+ # @return [Object] Returns the model itself
120
+ def build_from_hash(attributes)
121
+ return nil unless attributes.is_a?(Hash)
122
+ self.class.openapi_types.each_pair do |key, type|
123
+ if type =~ /\AArray<(.*)>/i
124
+ # check to ensure the input is an array given that the attribute
125
+ # is documented as an array but the input is not
126
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
127
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
128
+ end
129
+ elsif !attributes[self.class.attribute_map[key]].nil?
130
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
131
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
132
+ end
133
+
134
+ self
135
+ end
136
+
137
+ # Deserializes the data based on type
138
+ # @param string type Data type
139
+ # @param string value Value to be deserialized
140
+ # @return [Object] Deserialized data
141
+ def _deserialize(type, value)
142
+ case type.to_sym
143
+ when :DateTime
144
+ DateTime.parse(parse_date(value))
145
+ when :Date
146
+ Date.parse(parse_date(value))
147
+ when :String
148
+ value.to_s
149
+ when :Integer
150
+ value.to_i
151
+ when :Float
152
+ value.to_f
153
+ when :BigDecimal
154
+ BigDecimal(value.to_s)
155
+ when :Boolean
156
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
157
+ true
158
+ else
159
+ false
160
+ end
161
+ when :Object
162
+ # generic object (usually a Hash), return directly
163
+ value
164
+ when /\AArray<(?<inner_type>.+)>\z/
165
+ inner_type = Regexp.last_match[:inner_type]
166
+ value.map { |v| _deserialize(inner_type, v) }
167
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
168
+ k_type = Regexp.last_match[:k_type]
169
+ v_type = Regexp.last_match[:v_type]
170
+ {}.tap do |hash|
171
+ value.each do |k, v|
172
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
173
+ end
174
+ end
175
+ else # model
176
+ XeroRuby::PayrollUk.const_get(type).build_from_hash(value)
177
+ end
178
+ end
179
+
180
+ # Returns the string representation of the object
181
+ # @return [String] String presentation of the object
182
+ def to_s
183
+ to_hash.to_s
184
+ end
185
+
186
+ # to_body is an alias to to_hash (backward compatibility)
187
+ # @return [Hash] Returns the object in the form of hash
188
+ def to_body
189
+ to_hash
190
+ end
191
+
192
+ # Returns the object in the form of hash
193
+ # @return [Hash] Returns the object in the form of hash
194
+ def to_hash
195
+ hash = {}
196
+ self.class.attribute_map.each_pair do |attr, param|
197
+ value = self.send(attr)
198
+ next if value.nil?
199
+ hash[param] = _to_hash(value)
200
+ end
201
+ hash
202
+ end
203
+
204
+ # Outputs non-array value in the form of hash
205
+ # For object, use to_hash. Otherwise, just return the value
206
+ # @param [Object] value Any valid value
207
+ # @return [Hash] Returns the value in the form of hash
208
+ def _to_hash(value)
209
+ if value.is_a?(Array)
210
+ value.compact.map { |v| _to_hash(v) }
211
+ elsif value.is_a?(Hash)
212
+ {}.tap do |hash|
213
+ value.each { |k, v| hash[k] = _to_hash(v) }
214
+ end
215
+ elsif value.respond_to? :to_hash
216
+ value.to_hash
217
+ else
218
+ value
219
+ end
220
+ end
221
+
222
+ # customized data_parser
223
+ def parse_date(datestring)
224
+ seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
225
+ return Time.at(seconds_since_epoch).strftime('%Y-%m-%dT%l:%M:%S%z').to_s
226
+ end
227
+ end
228
+ end
@@ -0,0 +1,537 @@
1
+ =begin
2
+ #Xero Payroll UK
3
+
4
+ #This is the Xero Payroll API for orgs in the UK region.
5
+
6
+ The version of the OpenAPI document: 2.6.0
7
+ Contact: api@xero.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'time'
14
+ require 'date'
15
+
16
+ module XeroRuby::PayrollUk
17
+ require 'bigdecimal'
18
+
19
+ class Payslip
20
+ # The Xero identifier for a Payslip
21
+ attr_accessor :pay_slip_id
22
+
23
+ # The Xero identifier for payroll employee
24
+ attr_accessor :employee_id
25
+
26
+ # The Xero identifier for the associated payrun
27
+ attr_accessor :pay_run_id
28
+
29
+ # The date payslip was last updated
30
+ attr_accessor :last_edited
31
+
32
+ # Employee first name
33
+ attr_accessor :first_name
34
+
35
+ # Employee last name
36
+ attr_accessor :last_name
37
+
38
+ # Total earnings before any deductions. Same as gross earnings for UK.
39
+ attr_accessor :total_earnings
40
+
41
+ # Total earnings before any deductions. Same as total earnings for UK.
42
+ attr_accessor :gross_earnings
43
+
44
+ # The employee net pay
45
+ attr_accessor :total_pay
46
+
47
+ # The employer's tax obligation
48
+ attr_accessor :total_employer_taxes
49
+
50
+ # The part of an employee's earnings that is deducted for tax purposes
51
+ attr_accessor :total_employee_taxes
52
+
53
+ # Total amount subtracted from an employee's earnings to reach total pay
54
+ attr_accessor :total_deductions
55
+
56
+ # Total reimbursements are nontaxable payments to an employee used to repay out-of-pocket expenses when the person incurs those expenses through employment
57
+ attr_accessor :total_reimbursements
58
+
59
+ # Total amounts required by law to subtract from the employee's earnings
60
+ attr_accessor :total_court_orders
61
+
62
+ # Benefits (also called fringe benefits, perquisites or perks) are various non-earnings compensations provided to employees in addition to their normal earnings or salaries
63
+ attr_accessor :total_benefits
64
+
65
+ # BACS Service User Number
66
+ attr_accessor :bacs_hash
67
+
68
+ # The payment method code
69
+ attr_accessor :payment_method
70
+ CHEQUE = "Cheque".freeze
71
+ ELECTRONICALLY = "Electronically".freeze
72
+ MANUAL = "Manual".freeze
73
+
74
+
75
+ attr_accessor :earnings_lines
76
+
77
+
78
+ attr_accessor :leave_earnings_lines
79
+
80
+
81
+ attr_accessor :timesheet_earnings_lines
82
+
83
+
84
+ attr_accessor :deduction_lines
85
+
86
+
87
+ attr_accessor :reimbursement_lines
88
+
89
+
90
+ attr_accessor :leave_accrual_lines
91
+
92
+
93
+ attr_accessor :benefit_lines
94
+
95
+
96
+ attr_accessor :payment_lines
97
+
98
+
99
+ attr_accessor :employee_tax_lines
100
+
101
+
102
+ attr_accessor :employer_tax_lines
103
+
104
+
105
+ attr_accessor :court_order_lines
106
+
107
+ class EnumAttributeValidator
108
+ attr_reader :datatype
109
+ attr_reader :allowable_values
110
+
111
+ def initialize(datatype, allowable_values)
112
+ @allowable_values = allowable_values.map do |value|
113
+ case datatype.to_s
114
+ when /Integer/i
115
+ value.to_i
116
+ when /Float/i
117
+ value.to_f
118
+ else
119
+ value
120
+ end
121
+ end
122
+ end
123
+
124
+ def valid?(value)
125
+ !value || allowable_values.include?(value)
126
+ end
127
+ end
128
+
129
+ # Attribute mapping from ruby-style variable name to JSON key.
130
+ def self.attribute_map
131
+ {
132
+ :'pay_slip_id' => :'paySlipID',
133
+ :'employee_id' => :'employeeID',
134
+ :'pay_run_id' => :'payRunID',
135
+ :'last_edited' => :'lastEdited',
136
+ :'first_name' => :'firstName',
137
+ :'last_name' => :'lastName',
138
+ :'total_earnings' => :'totalEarnings',
139
+ :'gross_earnings' => :'grossEarnings',
140
+ :'total_pay' => :'totalPay',
141
+ :'total_employer_taxes' => :'totalEmployerTaxes',
142
+ :'total_employee_taxes' => :'totalEmployeeTaxes',
143
+ :'total_deductions' => :'totalDeductions',
144
+ :'total_reimbursements' => :'totalReimbursements',
145
+ :'total_court_orders' => :'totalCourtOrders',
146
+ :'total_benefits' => :'totalBenefits',
147
+ :'bacs_hash' => :'bacsHash',
148
+ :'payment_method' => :'paymentMethod',
149
+ :'earnings_lines' => :'earningsLines',
150
+ :'leave_earnings_lines' => :'leaveEarningsLines',
151
+ :'timesheet_earnings_lines' => :'timesheetEarningsLines',
152
+ :'deduction_lines' => :'deductionLines',
153
+ :'reimbursement_lines' => :'reimbursementLines',
154
+ :'leave_accrual_lines' => :'leaveAccrualLines',
155
+ :'benefit_lines' => :'benefitLines',
156
+ :'payment_lines' => :'paymentLines',
157
+ :'employee_tax_lines' => :'employeeTaxLines',
158
+ :'employer_tax_lines' => :'employerTaxLines',
159
+ :'court_order_lines' => :'courtOrderLines'
160
+ }
161
+ end
162
+
163
+ # Attribute type mapping.
164
+ def self.openapi_types
165
+ {
166
+ :'pay_slip_id' => :'String',
167
+ :'employee_id' => :'String',
168
+ :'pay_run_id' => :'String',
169
+ :'last_edited' => :'Date',
170
+ :'first_name' => :'String',
171
+ :'last_name' => :'String',
172
+ :'total_earnings' => :'Float',
173
+ :'gross_earnings' => :'Float',
174
+ :'total_pay' => :'Float',
175
+ :'total_employer_taxes' => :'Float',
176
+ :'total_employee_taxes' => :'Float',
177
+ :'total_deductions' => :'Float',
178
+ :'total_reimbursements' => :'Float',
179
+ :'total_court_orders' => :'Float',
180
+ :'total_benefits' => :'Float',
181
+ :'bacs_hash' => :'String',
182
+ :'payment_method' => :'String',
183
+ :'earnings_lines' => :'Array<EarningsLine>',
184
+ :'leave_earnings_lines' => :'Array<LeaveEarningsLine>',
185
+ :'timesheet_earnings_lines' => :'Array<TimesheetEarningsLine>',
186
+ :'deduction_lines' => :'Array<DeductionLine>',
187
+ :'reimbursement_lines' => :'Array<ReimbursementLine>',
188
+ :'leave_accrual_lines' => :'Array<LeaveAccrualLine>',
189
+ :'benefit_lines' => :'Array<BenefitLine>',
190
+ :'payment_lines' => :'Array<PaymentLine>',
191
+ :'employee_tax_lines' => :'Array<TaxLine>',
192
+ :'employer_tax_lines' => :'Array<TaxLine>',
193
+ :'court_order_lines' => :'Array<CourtOrderLine>'
194
+ }
195
+ end
196
+
197
+ # Initializes the object
198
+ # @param [Hash] attributes Model attributes in the form of hash
199
+ def initialize(attributes = {})
200
+ if (!attributes.is_a?(Hash))
201
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::PayrollUk::Payslip` initialize method"
202
+ end
203
+
204
+ # check to see if the attribute exists and convert string to symbol for hash key
205
+ attributes = attributes.each_with_object({}) { |(k, v), h|
206
+ if (!self.class.attribute_map.key?(k.to_sym))
207
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::PayrollUk::Payslip`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
208
+ end
209
+ h[k.to_sym] = v
210
+ }
211
+
212
+ if attributes.key?(:'pay_slip_id')
213
+ self.pay_slip_id = attributes[:'pay_slip_id']
214
+ end
215
+
216
+ if attributes.key?(:'employee_id')
217
+ self.employee_id = attributes[:'employee_id']
218
+ end
219
+
220
+ if attributes.key?(:'pay_run_id')
221
+ self.pay_run_id = attributes[:'pay_run_id']
222
+ end
223
+
224
+ if attributes.key?(:'last_edited')
225
+ self.last_edited = attributes[:'last_edited']
226
+ end
227
+
228
+ if attributes.key?(:'first_name')
229
+ self.first_name = attributes[:'first_name']
230
+ end
231
+
232
+ if attributes.key?(:'last_name')
233
+ self.last_name = attributes[:'last_name']
234
+ end
235
+
236
+ if attributes.key?(:'total_earnings')
237
+ self.total_earnings = attributes[:'total_earnings']
238
+ end
239
+
240
+ if attributes.key?(:'gross_earnings')
241
+ self.gross_earnings = attributes[:'gross_earnings']
242
+ end
243
+
244
+ if attributes.key?(:'total_pay')
245
+ self.total_pay = attributes[:'total_pay']
246
+ end
247
+
248
+ if attributes.key?(:'total_employer_taxes')
249
+ self.total_employer_taxes = attributes[:'total_employer_taxes']
250
+ end
251
+
252
+ if attributes.key?(:'total_employee_taxes')
253
+ self.total_employee_taxes = attributes[:'total_employee_taxes']
254
+ end
255
+
256
+ if attributes.key?(:'total_deductions')
257
+ self.total_deductions = attributes[:'total_deductions']
258
+ end
259
+
260
+ if attributes.key?(:'total_reimbursements')
261
+ self.total_reimbursements = attributes[:'total_reimbursements']
262
+ end
263
+
264
+ if attributes.key?(:'total_court_orders')
265
+ self.total_court_orders = attributes[:'total_court_orders']
266
+ end
267
+
268
+ if attributes.key?(:'total_benefits')
269
+ self.total_benefits = attributes[:'total_benefits']
270
+ end
271
+
272
+ if attributes.key?(:'bacs_hash')
273
+ self.bacs_hash = attributes[:'bacs_hash']
274
+ end
275
+
276
+ if attributes.key?(:'payment_method')
277
+ self.payment_method = attributes[:'payment_method']
278
+ end
279
+
280
+ if attributes.key?(:'earnings_lines')
281
+ if (value = attributes[:'earnings_lines']).is_a?(Array)
282
+ self.earnings_lines = value
283
+ end
284
+ end
285
+
286
+ if attributes.key?(:'leave_earnings_lines')
287
+ if (value = attributes[:'leave_earnings_lines']).is_a?(Array)
288
+ self.leave_earnings_lines = value
289
+ end
290
+ end
291
+
292
+ if attributes.key?(:'timesheet_earnings_lines')
293
+ if (value = attributes[:'timesheet_earnings_lines']).is_a?(Array)
294
+ self.timesheet_earnings_lines = value
295
+ end
296
+ end
297
+
298
+ if attributes.key?(:'deduction_lines')
299
+ if (value = attributes[:'deduction_lines']).is_a?(Array)
300
+ self.deduction_lines = value
301
+ end
302
+ end
303
+
304
+ if attributes.key?(:'reimbursement_lines')
305
+ if (value = attributes[:'reimbursement_lines']).is_a?(Array)
306
+ self.reimbursement_lines = value
307
+ end
308
+ end
309
+
310
+ if attributes.key?(:'leave_accrual_lines')
311
+ if (value = attributes[:'leave_accrual_lines']).is_a?(Array)
312
+ self.leave_accrual_lines = value
313
+ end
314
+ end
315
+
316
+ if attributes.key?(:'benefit_lines')
317
+ if (value = attributes[:'benefit_lines']).is_a?(Array)
318
+ self.benefit_lines = value
319
+ end
320
+ end
321
+
322
+ if attributes.key?(:'payment_lines')
323
+ if (value = attributes[:'payment_lines']).is_a?(Array)
324
+ self.payment_lines = value
325
+ end
326
+ end
327
+
328
+ if attributes.key?(:'employee_tax_lines')
329
+ if (value = attributes[:'employee_tax_lines']).is_a?(Array)
330
+ self.employee_tax_lines = value
331
+ end
332
+ end
333
+
334
+ if attributes.key?(:'employer_tax_lines')
335
+ if (value = attributes[:'employer_tax_lines']).is_a?(Array)
336
+ self.employer_tax_lines = value
337
+ end
338
+ end
339
+
340
+ if attributes.key?(:'court_order_lines')
341
+ if (value = attributes[:'court_order_lines']).is_a?(Array)
342
+ self.court_order_lines = value
343
+ end
344
+ end
345
+ end
346
+
347
+ # Show invalid properties with the reasons. Usually used together with valid?
348
+ # @return Array for valid properties with the reasons
349
+ def list_invalid_properties
350
+ invalid_properties = Array.new
351
+ invalid_properties
352
+ end
353
+
354
+ # Check to see if the all the properties in the model are valid
355
+ # @return true if the model is valid
356
+ def valid?
357
+ payment_method_validator = EnumAttributeValidator.new('String', ["Cheque", "Electronically", "Manual"])
358
+ return false unless payment_method_validator.valid?(@payment_method)
359
+ true
360
+ end
361
+
362
+ # Custom attribute writer method checking allowed values (enum).
363
+ # @param [Object] payment_method Object to be assigned
364
+ def payment_method=(payment_method)
365
+ validator = EnumAttributeValidator.new('String', ["Cheque", "Electronically", "Manual"])
366
+ unless validator.valid?(payment_method)
367
+ fail ArgumentError, "invalid value for \"payment_method\", must be one of #{validator.allowable_values}."
368
+ end
369
+ @payment_method = payment_method
370
+ end
371
+
372
+ # Checks equality by comparing each attribute.
373
+ # @param [Object] Object to be compared
374
+ def ==(o)
375
+ return true if self.equal?(o)
376
+ self.class == o.class &&
377
+ pay_slip_id == o.pay_slip_id &&
378
+ employee_id == o.employee_id &&
379
+ pay_run_id == o.pay_run_id &&
380
+ last_edited == o.last_edited &&
381
+ first_name == o.first_name &&
382
+ last_name == o.last_name &&
383
+ total_earnings == o.total_earnings &&
384
+ gross_earnings == o.gross_earnings &&
385
+ total_pay == o.total_pay &&
386
+ total_employer_taxes == o.total_employer_taxes &&
387
+ total_employee_taxes == o.total_employee_taxes &&
388
+ total_deductions == o.total_deductions &&
389
+ total_reimbursements == o.total_reimbursements &&
390
+ total_court_orders == o.total_court_orders &&
391
+ total_benefits == o.total_benefits &&
392
+ bacs_hash == o.bacs_hash &&
393
+ payment_method == o.payment_method &&
394
+ earnings_lines == o.earnings_lines &&
395
+ leave_earnings_lines == o.leave_earnings_lines &&
396
+ timesheet_earnings_lines == o.timesheet_earnings_lines &&
397
+ deduction_lines == o.deduction_lines &&
398
+ reimbursement_lines == o.reimbursement_lines &&
399
+ leave_accrual_lines == o.leave_accrual_lines &&
400
+ benefit_lines == o.benefit_lines &&
401
+ payment_lines == o.payment_lines &&
402
+ employee_tax_lines == o.employee_tax_lines &&
403
+ employer_tax_lines == o.employer_tax_lines &&
404
+ court_order_lines == o.court_order_lines
405
+ end
406
+
407
+ # @see the `==` method
408
+ # @param [Object] Object to be compared
409
+ def eql?(o)
410
+ self == o
411
+ end
412
+
413
+ # Calculates hash code according to all attributes.
414
+ # @return [Integer] Hash code
415
+ def hash
416
+ [pay_slip_id, employee_id, pay_run_id, last_edited, first_name, last_name, total_earnings, gross_earnings, total_pay, total_employer_taxes, total_employee_taxes, total_deductions, total_reimbursements, total_court_orders, total_benefits, bacs_hash, payment_method, earnings_lines, leave_earnings_lines, timesheet_earnings_lines, deduction_lines, reimbursement_lines, leave_accrual_lines, benefit_lines, payment_lines, employee_tax_lines, employer_tax_lines, court_order_lines].hash
417
+ end
418
+
419
+ # Builds the object from hash
420
+ # @param [Hash] attributes Model attributes in the form of hash
421
+ # @return [Object] Returns the model itself
422
+ def self.build_from_hash(attributes)
423
+ new.build_from_hash(attributes)
424
+ end
425
+
426
+ # Builds the object from hash
427
+ # @param [Hash] attributes Model attributes in the form of hash
428
+ # @return [Object] Returns the model itself
429
+ def build_from_hash(attributes)
430
+ return nil unless attributes.is_a?(Hash)
431
+ self.class.openapi_types.each_pair do |key, type|
432
+ if type =~ /\AArray<(.*)>/i
433
+ # check to ensure the input is an array given that the attribute
434
+ # is documented as an array but the input is not
435
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
436
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
437
+ end
438
+ elsif !attributes[self.class.attribute_map[key]].nil?
439
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
440
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
441
+ end
442
+
443
+ self
444
+ end
445
+
446
+ # Deserializes the data based on type
447
+ # @param string type Data type
448
+ # @param string value Value to be deserialized
449
+ # @return [Object] Deserialized data
450
+ def _deserialize(type, value)
451
+ case type.to_sym
452
+ when :DateTime
453
+ DateTime.parse(parse_date(value))
454
+ when :Date
455
+ Date.parse(parse_date(value))
456
+ when :String
457
+ value.to_s
458
+ when :Integer
459
+ value.to_i
460
+ when :Float
461
+ value.to_f
462
+ when :BigDecimal
463
+ BigDecimal(value.to_s)
464
+ when :Boolean
465
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
466
+ true
467
+ else
468
+ false
469
+ end
470
+ when :Object
471
+ # generic object (usually a Hash), return directly
472
+ value
473
+ when /\AArray<(?<inner_type>.+)>\z/
474
+ inner_type = Regexp.last_match[:inner_type]
475
+ value.map { |v| _deserialize(inner_type, v) }
476
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
477
+ k_type = Regexp.last_match[:k_type]
478
+ v_type = Regexp.last_match[:v_type]
479
+ {}.tap do |hash|
480
+ value.each do |k, v|
481
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
482
+ end
483
+ end
484
+ else # model
485
+ XeroRuby::PayrollUk.const_get(type).build_from_hash(value)
486
+ end
487
+ end
488
+
489
+ # Returns the string representation of the object
490
+ # @return [String] String presentation of the object
491
+ def to_s
492
+ to_hash.to_s
493
+ end
494
+
495
+ # to_body is an alias to to_hash (backward compatibility)
496
+ # @return [Hash] Returns the object in the form of hash
497
+ def to_body
498
+ to_hash
499
+ end
500
+
501
+ # Returns the object in the form of hash
502
+ # @return [Hash] Returns the object in the form of hash
503
+ def to_hash
504
+ hash = {}
505
+ self.class.attribute_map.each_pair do |attr, param|
506
+ value = self.send(attr)
507
+ next if value.nil?
508
+ hash[param] = _to_hash(value)
509
+ end
510
+ hash
511
+ end
512
+
513
+ # Outputs non-array value in the form of hash
514
+ # For object, use to_hash. Otherwise, just return the value
515
+ # @param [Object] value Any valid value
516
+ # @return [Hash] Returns the value in the form of hash
517
+ def _to_hash(value)
518
+ if value.is_a?(Array)
519
+ value.compact.map { |v| _to_hash(v) }
520
+ elsif value.is_a?(Hash)
521
+ {}.tap do |hash|
522
+ value.each { |k, v| hash[k] = _to_hash(v) }
523
+ end
524
+ elsif value.respond_to? :to_hash
525
+ value.to_hash
526
+ else
527
+ value
528
+ end
529
+ end
530
+
531
+ # customized data_parser
532
+ def parse_date(datestring)
533
+ seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
534
+ return Time.at(seconds_since_epoch).strftime('%Y-%m-%dT%l:%M:%S%z').to_s
535
+ end
536
+ end
537
+ end