xero-ruby 2.2.2 → 2.4.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 (1028) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +93 -49
  3. data/docs/accounting/AccountingApi.md +1752 -1590
  4. data/docs/accounting/Action.md +19 -0
  5. data/docs/accounting/Actions.md +17 -0
  6. data/docs/accounting/BalanceDetails.md +21 -0
  7. data/docs/accounting/ConversionBalances.md +21 -0
  8. data/docs/accounting/ConversionDate.md +19 -0
  9. data/docs/accounting/CreditNote.md +2 -0
  10. data/docs/accounting/ExpenseClaim.md +1 -1
  11. data/docs/accounting/ImportSummary.md +19 -0
  12. data/docs/accounting/ImportSummaryAccounts.md +33 -0
  13. data/docs/accounting/ImportSummaryObject.md +17 -0
  14. data/docs/accounting/ImportSummaryOrganisation.md +17 -0
  15. data/docs/accounting/Invoice.md +2 -0
  16. data/docs/accounting/Setup.md +21 -0
  17. data/docs/accounting/TrackingOption.md +3 -3
  18. data/docs/assets/Asset.md +2 -0
  19. data/docs/assets/AssetApi.md +30 -42
  20. data/docs/files/Association.md +23 -0
  21. data/docs/files/FileObject.md +31 -0
  22. data/docs/files/FileResponse204.md +17 -0
  23. data/docs/files/Files.md +23 -0
  24. data/docs/files/FilesApi.md +1116 -0
  25. data/docs/files/Folder.md +25 -0
  26. data/docs/files/Folders.md +17 -0
  27. data/docs/files/InlineObject.md +23 -0
  28. data/docs/files/ObjectGroup.md +16 -0
  29. data/docs/files/ObjectType.md +16 -0
  30. data/docs/files/User.md +25 -0
  31. data/docs/payroll_au/APIException.md +21 -0
  32. data/docs/payroll_au/Account.md +23 -0
  33. data/docs/payroll_au/AccountType.md +16 -0
  34. data/docs/payroll_au/AllowanceType.md +16 -0
  35. data/docs/payroll_au/BankAccount.md +27 -0
  36. data/docs/payroll_au/CalendarType.md +16 -0
  37. data/docs/payroll_au/DeductionLine.md +25 -0
  38. data/docs/payroll_au/DeductionType.md +33 -0
  39. data/docs/payroll_au/DeductionTypeCalculationType.md +16 -0
  40. data/docs/payroll_au/EarningsLine.md +33 -0
  41. data/docs/payroll_au/EarningsRate.md +49 -0
  42. data/docs/payroll_au/EarningsRateCalculationType.md +16 -0
  43. data/docs/payroll_au/EarningsType.md +16 -0
  44. data/docs/payroll_au/Employee.md +77 -0
  45. data/docs/payroll_au/EmployeeStatus.md +16 -0
  46. data/docs/payroll_au/Employees.md +17 -0
  47. data/docs/payroll_au/EmploymentBasis.md +16 -0
  48. data/docs/payroll_au/EmploymentTerminationPaymentType.md +16 -0
  49. data/docs/payroll_au/EntitlementFinalPayPayoutType.md +16 -0
  50. data/docs/payroll_au/HomeAddress.md +27 -0
  51. data/docs/payroll_au/LeaveAccrualLine.md +21 -0
  52. data/docs/payroll_au/LeaveApplication.md +35 -0
  53. data/docs/payroll_au/LeaveApplications.md +17 -0
  54. data/docs/payroll_au/LeaveBalance.md +23 -0
  55. data/docs/payroll_au/LeaveEarningsLine.md +21 -0
  56. data/docs/payroll_au/LeaveLine.md +31 -0
  57. data/docs/payroll_au/LeaveLineCalculationType.md +16 -0
  58. data/docs/payroll_au/LeaveLines.md +17 -0
  59. data/docs/payroll_au/LeavePeriod.md +23 -0
  60. data/docs/payroll_au/LeavePeriodStatus.md +16 -0
  61. data/docs/payroll_au/LeaveType.md +33 -0
  62. data/docs/payroll_au/LeaveTypeContributionType.md +16 -0
  63. data/docs/payroll_au/ManualTaxType.md +16 -0
  64. data/docs/payroll_au/OpeningBalances.md +29 -0
  65. data/docs/payroll_au/PayItem.md +23 -0
  66. data/docs/payroll_au/PayItems.md +17 -0
  67. data/docs/payroll_au/PayRun.md +47 -0
  68. data/docs/payroll_au/PayRunStatus.md +16 -0
  69. data/docs/payroll_au/PayRuns.md +17 -0
  70. data/docs/payroll_au/PayTemplate.md +25 -0
  71. data/docs/payroll_au/PaymentFrequencyType.md +16 -0
  72. data/docs/payroll_au/PayrollAuApi.md +2018 -0
  73. data/docs/payroll_au/PayrollCalendar.md +29 -0
  74. data/docs/payroll_au/PayrollCalendars.md +17 -0
  75. data/docs/payroll_au/Payslip.md +53 -0
  76. data/docs/payroll_au/PayslipLines.md +31 -0
  77. data/docs/payroll_au/PayslipObject.md +17 -0
  78. data/docs/payroll_au/PayslipSummary.md +39 -0
  79. data/docs/payroll_au/Payslips.md +17 -0
  80. data/docs/payroll_au/RateType.md +16 -0
  81. data/docs/payroll_au/ReimbursementLine.md +23 -0
  82. data/docs/payroll_au/ReimbursementLines.md +17 -0
  83. data/docs/payroll_au/ReimbursementType.md +25 -0
  84. data/docs/payroll_au/ResidencyStatus.md +16 -0
  85. data/docs/payroll_au/Settings.md +21 -0
  86. data/docs/payroll_au/SettingsObject.md +17 -0
  87. data/docs/payroll_au/SettingsTrackingCategories.md +19 -0
  88. data/docs/payroll_au/SettingsTrackingCategoriesEmployeeGroups.md +19 -0
  89. data/docs/payroll_au/SettingsTrackingCategoriesTimesheetCategories.md +19 -0
  90. data/docs/payroll_au/State.md +16 -0
  91. data/docs/payroll_au/SuperFund.md +41 -0
  92. data/docs/payroll_au/SuperFundProduct.md +23 -0
  93. data/docs/payroll_au/SuperFundProducts.md +17 -0
  94. data/docs/payroll_au/SuperFundType.md +16 -0
  95. data/docs/payroll_au/SuperFunds.md +17 -0
  96. data/docs/payroll_au/SuperLine.md +31 -0
  97. data/docs/payroll_au/SuperMembership.md +21 -0
  98. data/docs/payroll_au/SuperannuationCalculationType.md +16 -0
  99. data/docs/payroll_au/SuperannuationContributionType.md +16 -0
  100. data/docs/payroll_au/SuperannuationLine.md +33 -0
  101. data/docs/payroll_au/TFNExemptionType.md +16 -0
  102. data/docs/payroll_au/TaxDeclaration.md +47 -0
  103. data/docs/payroll_au/TaxLine.md +27 -0
  104. data/docs/payroll_au/Timesheet.md +33 -0
  105. data/docs/payroll_au/TimesheetLine.md +23 -0
  106. data/docs/payroll_au/TimesheetObject.md +17 -0
  107. data/docs/payroll_au/TimesheetStatus.md +16 -0
  108. data/docs/payroll_au/Timesheets.md +17 -0
  109. data/docs/payroll_au/ValidationError.md +17 -0
  110. data/docs/payroll_nz/Account.md +23 -0
  111. data/docs/payroll_nz/Accounts.md +17 -0
  112. data/docs/payroll_nz/Address.md +27 -0
  113. data/docs/payroll_nz/BankAccount.md +31 -0
  114. data/docs/payroll_nz/Benefit.md +35 -0
  115. data/docs/payroll_nz/CalendarType.md +16 -0
  116. data/docs/payroll_nz/Deduction.md +27 -0
  117. data/docs/payroll_nz/DeductionLine.md +25 -0
  118. data/docs/payroll_nz/DeductionObject.md +21 -0
  119. data/docs/payroll_nz/Deductions.md +21 -0
  120. data/docs/payroll_nz/EarningsLine.md +35 -0
  121. data/docs/payroll_nz/EarningsOrder.md +25 -0
  122. data/docs/payroll_nz/EarningsOrderObject.md +21 -0
  123. data/docs/payroll_nz/EarningsOrders.md +21 -0
  124. data/docs/payroll_nz/EarningsRate.md +35 -0
  125. data/docs/payroll_nz/EarningsRateObject.md +21 -0
  126. data/docs/payroll_nz/EarningsRates.md +21 -0
  127. data/docs/payroll_nz/EarningsTemplate.md +27 -0
  128. data/docs/payroll_nz/EarningsTemplateObject.md +21 -0
  129. data/docs/payroll_nz/Employee.md +43 -0
  130. data/docs/payroll_nz/EmployeeEarningsTemplates.md +21 -0
  131. data/docs/payroll_nz/EmployeeLeave.md +29 -0
  132. data/docs/payroll_nz/EmployeeLeaveBalance.md +23 -0
  133. data/docs/payroll_nz/EmployeeLeaveBalances.md +21 -0
  134. data/docs/payroll_nz/EmployeeLeaveObject.md +21 -0
  135. data/docs/payroll_nz/EmployeeLeaveSetup.md +29 -0
  136. data/docs/payroll_nz/EmployeeLeaveSetupObject.md +21 -0
  137. data/docs/payroll_nz/EmployeeLeaveType.md +35 -0
  138. data/docs/payroll_nz/EmployeeLeaveTypeObject.md +21 -0
  139. data/docs/payroll_nz/EmployeeLeaveTypes.md +21 -0
  140. data/docs/payroll_nz/EmployeeLeaves.md +21 -0
  141. data/docs/payroll_nz/EmployeeObject.md +21 -0
  142. data/docs/payroll_nz/EmployeeOpeningBalance.md +23 -0
  143. data/docs/payroll_nz/EmployeeOpeningBalancesObject.md +21 -0
  144. data/docs/payroll_nz/EmployeePayTemplate.md +19 -0
  145. data/docs/payroll_nz/EmployeePayTemplateObject.md +21 -0
  146. data/docs/payroll_nz/EmployeePayTemplates.md +21 -0
  147. data/docs/payroll_nz/EmployeeStatutoryLeaveBalance.md +21 -0
  148. data/docs/payroll_nz/EmployeeStatutoryLeaveBalanceObject.md +21 -0
  149. data/docs/payroll_nz/EmployeeStatutoryLeaveSummary.md +29 -0
  150. data/docs/payroll_nz/EmployeeStatutoryLeavesSummaries.md +21 -0
  151. data/docs/payroll_nz/EmployeeStatutorySickLeave.md +47 -0
  152. data/docs/payroll_nz/EmployeeStatutorySickLeaveObject.md +21 -0
  153. data/docs/payroll_nz/EmployeeStatutorySickLeaves.md +21 -0
  154. data/docs/payroll_nz/EmployeeTax.md +47 -0
  155. data/docs/payroll_nz/EmployeeTaxObject.md +21 -0
  156. data/docs/payroll_nz/Employees.md +21 -0
  157. data/docs/payroll_nz/Employment.md +21 -0
  158. data/docs/payroll_nz/EmploymentObject.md +21 -0
  159. data/docs/payroll_nz/GrossEarningsHistory.md +19 -0
  160. data/docs/payroll_nz/InvalidField.md +19 -0
  161. data/docs/payroll_nz/LeaveAccrualLine.md +19 -0
  162. data/docs/payroll_nz/LeaveEarningsLine.md +35 -0
  163. data/docs/payroll_nz/LeavePeriod.md +23 -0
  164. data/docs/payroll_nz/LeavePeriods.md +21 -0
  165. data/docs/payroll_nz/LeaveType.md +27 -0
  166. data/docs/payroll_nz/LeaveTypeObject.md +21 -0
  167. data/docs/payroll_nz/LeaveTypes.md +21 -0
  168. data/docs/payroll_nz/Pagination.md +23 -0
  169. data/docs/payroll_nz/PayRun.md +39 -0
  170. data/docs/payroll_nz/PayRunCalendar.md +29 -0
  171. data/docs/payroll_nz/PayRunCalendarObject.md +21 -0
  172. data/docs/payroll_nz/PayRunCalendars.md +21 -0
  173. data/docs/payroll_nz/PayRunObject.md +21 -0
  174. data/docs/payroll_nz/PayRuns.md +21 -0
  175. data/docs/payroll_nz/PaySlip.md +75 -0
  176. data/docs/payroll_nz/PaySlipObject.md +21 -0
  177. data/docs/payroll_nz/PaySlips.md +21 -0
  178. data/docs/payroll_nz/PaymentLine.md +25 -0
  179. data/docs/payroll_nz/PaymentMethod.md +19 -0
  180. data/docs/payroll_nz/PaymentMethodObject.md +21 -0
  181. data/docs/payroll_nz/PayrollNzApi.md +4544 -0
  182. data/docs/payroll_nz/Problem.md +27 -0
  183. data/docs/payroll_nz/Reimbursement.md +33 -0
  184. data/docs/payroll_nz/ReimbursementLine.md +25 -0
  185. data/docs/payroll_nz/ReimbursementObject.md +21 -0
  186. data/docs/payroll_nz/Reimbursements.md +21 -0
  187. data/docs/payroll_nz/SalaryAndWage.md +35 -0
  188. data/docs/payroll_nz/SalaryAndWageObject.md +21 -0
  189. data/docs/payroll_nz/SalaryAndWages.md +21 -0
  190. data/docs/payroll_nz/Settings.md +21 -0
  191. data/docs/payroll_nz/StatutoryDeduction.md +25 -0
  192. data/docs/payroll_nz/StatutoryDeductionCategory.md +16 -0
  193. data/docs/payroll_nz/StatutoryDeductionLine.md +23 -0
  194. data/docs/payroll_nz/StatutoryDeductionObject.md +21 -0
  195. data/docs/payroll_nz/StatutoryDeductions.md +21 -0
  196. data/docs/payroll_nz/SuperannuationLine.md +27 -0
  197. data/docs/payroll_nz/SuperannuationObject.md +21 -0
  198. data/docs/payroll_nz/Superannuations.md +21 -0
  199. data/docs/payroll_nz/TaxCode.md +16 -0
  200. data/docs/payroll_nz/TaxLine.md +25 -0
  201. data/docs/payroll_nz/TaxSettings.md +27 -0
  202. data/docs/payroll_nz/Timesheet.md +33 -0
  203. data/docs/payroll_nz/TimesheetEarningsLine.md +35 -0
  204. data/docs/payroll_nz/TimesheetLine.md +25 -0
  205. data/docs/payroll_nz/TimesheetLineObject.md +21 -0
  206. data/docs/payroll_nz/TimesheetObject.md +21 -0
  207. data/docs/payroll_nz/Timesheets.md +21 -0
  208. data/docs/payroll_nz/TrackingCategories.md +21 -0
  209. data/docs/payroll_nz/TrackingCategory.md +19 -0
  210. data/docs/payroll_uk/Account.md +23 -0
  211. data/docs/payroll_uk/Accounts.md +17 -0
  212. data/docs/payroll_uk/Address.md +25 -0
  213. data/docs/payroll_uk/BankAccount.md +21 -0
  214. data/docs/payroll_uk/Benefit.md +43 -0
  215. data/docs/payroll_uk/BenefitLine.md +25 -0
  216. data/docs/payroll_uk/BenefitObject.md +21 -0
  217. data/docs/payroll_uk/Benefits.md +21 -0
  218. data/docs/payroll_uk/CourtOrderLine.md +19 -0
  219. data/docs/payroll_uk/Deduction.md +47 -0
  220. data/docs/payroll_uk/DeductionLine.md +23 -0
  221. data/docs/payroll_uk/DeductionObject.md +21 -0
  222. data/docs/payroll_uk/Deductions.md +21 -0
  223. data/docs/payroll_uk/EarningsLine.md +33 -0
  224. data/docs/payroll_uk/EarningsOrder.md +25 -0
  225. data/docs/payroll_uk/EarningsOrderObject.md +21 -0
  226. data/docs/payroll_uk/EarningsOrders.md +21 -0
  227. data/docs/payroll_uk/EarningsRate.md +35 -0
  228. data/docs/payroll_uk/EarningsRateObject.md +21 -0
  229. data/docs/payroll_uk/EarningsRates.md +21 -0
  230. data/docs/payroll_uk/EarningsTemplate.md +27 -0
  231. data/docs/payroll_uk/EarningsTemplateObject.md +21 -0
  232. data/docs/payroll_uk/Employee.md +45 -0
  233. data/docs/payroll_uk/EmployeeLeave.md +29 -0
  234. data/docs/payroll_uk/EmployeeLeaveBalance.md +23 -0
  235. data/docs/payroll_uk/EmployeeLeaveBalances.md +21 -0
  236. data/docs/payroll_uk/EmployeeLeaveObject.md +21 -0
  237. data/docs/payroll_uk/EmployeeLeaveType.md +27 -0
  238. data/docs/payroll_uk/EmployeeLeaveTypeObject.md +21 -0
  239. data/docs/payroll_uk/EmployeeLeaveTypes.md +21 -0
  240. data/docs/payroll_uk/EmployeeLeaves.md +21 -0
  241. data/docs/payroll_uk/EmployeeObject.md +21 -0
  242. data/docs/payroll_uk/EmployeeOpeningBalances.md +27 -0
  243. data/docs/payroll_uk/EmployeeOpeningBalancesObject.md +21 -0
  244. data/docs/payroll_uk/EmployeePayTemplate.md +19 -0
  245. data/docs/payroll_uk/EmployeePayTemplateObject.md +21 -0
  246. data/docs/payroll_uk/EmployeePayTemplates.md +21 -0
  247. data/docs/payroll_uk/EmployeeStatutoryLeaveBalance.md +21 -0
  248. data/docs/payroll_uk/EmployeeStatutoryLeaveBalanceObject.md +21 -0
  249. data/docs/payroll_uk/EmployeeStatutoryLeaveSummary.md +29 -0
  250. data/docs/payroll_uk/EmployeeStatutoryLeavesSummaries.md +21 -0
  251. data/docs/payroll_uk/EmployeeStatutorySickLeave.md +47 -0
  252. data/docs/payroll_uk/EmployeeStatutorySickLeaveObject.md +21 -0
  253. data/docs/payroll_uk/EmployeeStatutorySickLeaves.md +21 -0
  254. data/docs/payroll_uk/EmployeeTax.md +37 -0
  255. data/docs/payroll_uk/EmployeeTaxObject.md +21 -0
  256. data/docs/payroll_uk/Employees.md +21 -0
  257. data/docs/payroll_uk/Employment.md +23 -0
  258. data/docs/payroll_uk/EmploymentObject.md +21 -0
  259. data/docs/payroll_uk/InvalidField.md +19 -0
  260. data/docs/payroll_uk/LeaveAccrualLine.md +19 -0
  261. data/docs/payroll_uk/LeaveEarningsLine.md +27 -0
  262. data/docs/payroll_uk/LeavePeriod.md +23 -0
  263. data/docs/payroll_uk/LeavePeriods.md +21 -0
  264. data/docs/payroll_uk/LeaveType.md +31 -0
  265. data/docs/payroll_uk/LeaveTypeObject.md +21 -0
  266. data/docs/payroll_uk/LeaveTypes.md +21 -0
  267. data/docs/payroll_uk/Pagination.md +23 -0
  268. data/docs/payroll_uk/PayRun.md +39 -0
  269. data/docs/payroll_uk/PayRunCalendar.md +29 -0
  270. data/docs/payroll_uk/PayRunCalendarObject.md +21 -0
  271. data/docs/payroll_uk/PayRunCalendars.md +21 -0
  272. data/docs/payroll_uk/PayRunObject.md +21 -0
  273. data/docs/payroll_uk/PayRuns.md +21 -0
  274. data/docs/payroll_uk/PaymentLine.md +25 -0
  275. data/docs/payroll_uk/PaymentMethod.md +19 -0
  276. data/docs/payroll_uk/PaymentMethodObject.md +21 -0
  277. data/docs/payroll_uk/PayrollUkApi.md +4683 -0
  278. data/docs/payroll_uk/Payslip.md +71 -0
  279. data/docs/payroll_uk/PayslipObject.md +21 -0
  280. data/docs/payroll_uk/Payslips.md +21 -0
  281. data/docs/payroll_uk/Problem.md +27 -0
  282. data/docs/payroll_uk/Reimbursement.md +23 -0
  283. data/docs/payroll_uk/ReimbursementLine.md +21 -0
  284. data/docs/payroll_uk/ReimbursementObject.md +21 -0
  285. data/docs/payroll_uk/Reimbursements.md +21 -0
  286. data/docs/payroll_uk/SalaryAndWage.md +33 -0
  287. data/docs/payroll_uk/SalaryAndWageObject.md +21 -0
  288. data/docs/payroll_uk/SalaryAndWages.md +21 -0
  289. data/docs/payroll_uk/Settings.md +21 -0
  290. data/docs/payroll_uk/StatutoryDeduction.md +25 -0
  291. data/docs/payroll_uk/StatutoryDeductionCategory.md +16 -0
  292. data/docs/payroll_uk/TaxLine.md +27 -0
  293. data/docs/payroll_uk/Timesheet.md +33 -0
  294. data/docs/payroll_uk/TimesheetEarningsLine.md +27 -0
  295. data/docs/payroll_uk/TimesheetLine.md +25 -0
  296. data/docs/payroll_uk/TimesheetLineObject.md +21 -0
  297. data/docs/payroll_uk/TimesheetObject.md +21 -0
  298. data/docs/payroll_uk/Timesheets.md +21 -0
  299. data/docs/payroll_uk/TrackingCategories.md +21 -0
  300. data/docs/payroll_uk/TrackingCategory.md +19 -0
  301. data/docs/projects/ProjectApi.md +69 -92
  302. data/lib/xero-ruby.rb +292 -1
  303. data/lib/xero-ruby/api/accounting_api.rb +1061 -336
  304. data/lib/xero-ruby/api/asset_api.rb +7 -9
  305. data/lib/xero-ruby/api/files_api.rb +1271 -0
  306. data/lib/xero-ruby/api/payroll_au_api.rb +2254 -0
  307. data/lib/xero-ruby/api/payroll_nz_api.rb +5261 -0
  308. data/lib/xero-ruby/api/payroll_uk_api.rb +5404 -0
  309. data/lib/xero-ruby/api/project_api.rb +17 -16
  310. data/lib/xero-ruby/api_client.rb +41 -31
  311. data/lib/xero-ruby/api_error.rb +1 -1
  312. data/lib/xero-ruby/configuration.rb +9 -1
  313. data/lib/xero-ruby/models/accounting/account.rb +3 -2
  314. data/lib/xero-ruby/models/accounting/account_type.rb +1 -1
  315. data/lib/xero-ruby/models/accounting/accounts.rb +2 -2
  316. data/lib/xero-ruby/models/accounting/accounts_payable.rb +2 -2
  317. data/lib/xero-ruby/models/accounting/accounts_receivable.rb +2 -2
  318. data/lib/xero-ruby/models/accounting/action.rb +254 -0
  319. data/lib/xero-ruby/models/accounting/actions.rb +210 -0
  320. data/lib/xero-ruby/models/accounting/address.rb +2 -2
  321. data/lib/xero-ruby/models/accounting/allocation.rb +2 -2
  322. data/lib/xero-ruby/models/accounting/allocations.rb +2 -2
  323. data/lib/xero-ruby/models/accounting/attachment.rb +2 -2
  324. data/lib/xero-ruby/models/accounting/attachments.rb +2 -2
  325. data/lib/xero-ruby/models/accounting/balance_details.rb +229 -0
  326. data/lib/xero-ruby/models/accounting/balances.rb +2 -2
  327. data/lib/xero-ruby/models/accounting/bank_transaction.rb +2 -2
  328. data/lib/xero-ruby/models/accounting/bank_transactions.rb +2 -2
  329. data/lib/xero-ruby/models/accounting/bank_transfer.rb +2 -2
  330. data/lib/xero-ruby/models/accounting/bank_transfers.rb +2 -2
  331. data/lib/xero-ruby/models/accounting/batch_payment.rb +7 -7
  332. data/lib/xero-ruby/models/accounting/batch_payment_details.rb +2 -17
  333. data/lib/xero-ruby/models/accounting/batch_payments.rb +2 -2
  334. data/lib/xero-ruby/models/accounting/bill.rb +2 -2
  335. data/lib/xero-ruby/models/accounting/branding_theme.rb +2 -2
  336. data/lib/xero-ruby/models/accounting/branding_themes.rb +2 -2
  337. data/lib/xero-ruby/models/accounting/cis_org_setting.rb +2 -2
  338. data/lib/xero-ruby/models/accounting/cis_setting.rb +2 -2
  339. data/lib/xero-ruby/models/accounting/cis_settings.rb +2 -2
  340. data/lib/xero-ruby/models/accounting/contact.rb +2 -2
  341. data/lib/xero-ruby/models/accounting/contact_group.rb +2 -2
  342. data/lib/xero-ruby/models/accounting/contact_groups.rb +2 -2
  343. data/lib/xero-ruby/models/accounting/contact_person.rb +2 -2
  344. data/lib/xero-ruby/models/accounting/contacts.rb +2 -2
  345. data/lib/xero-ruby/models/accounting/conversion_balances.rb +231 -0
  346. data/lib/xero-ruby/models/accounting/conversion_date.rb +219 -0
  347. data/lib/xero-ruby/models/accounting/country_code.rb +1 -1
  348. data/lib/xero-ruby/models/accounting/credit_note.rb +13 -3
  349. data/lib/xero-ruby/models/accounting/credit_notes.rb +2 -2
  350. data/lib/xero-ruby/models/accounting/currencies.rb +2 -2
  351. data/lib/xero-ruby/models/accounting/currency.rb +2 -2
  352. data/lib/xero-ruby/models/accounting/currency_code.rb +5 -3
  353. data/lib/xero-ruby/models/accounting/element.rb +2 -2
  354. data/lib/xero-ruby/models/accounting/employee.rb +2 -2
  355. data/lib/xero-ruby/models/accounting/employees.rb +2 -2
  356. data/lib/xero-ruby/models/accounting/error.rb +2 -2
  357. data/lib/xero-ruby/models/accounting/expense_claim.rb +3 -3
  358. data/lib/xero-ruby/models/accounting/expense_claims.rb +2 -2
  359. data/lib/xero-ruby/models/accounting/external_link.rb +2 -2
  360. data/lib/xero-ruby/models/accounting/history_record.rb +2 -2
  361. data/lib/xero-ruby/models/accounting/history_records.rb +2 -2
  362. data/lib/xero-ruby/models/accounting/import_summary.rb +219 -0
  363. data/lib/xero-ruby/models/accounting/import_summary_accounts.rb +289 -0
  364. data/lib/xero-ruby/models/accounting/import_summary_object.rb +208 -0
  365. data/lib/xero-ruby/models/accounting/import_summary_organisation.rb +208 -0
  366. data/lib/xero-ruby/models/accounting/invoice.rb +13 -3
  367. data/lib/xero-ruby/models/accounting/invoice_reminder.rb +2 -2
  368. data/lib/xero-ruby/models/accounting/invoice_reminders.rb +2 -2
  369. data/lib/xero-ruby/models/accounting/invoices.rb +2 -2
  370. data/lib/xero-ruby/models/accounting/item.rb +2 -2
  371. data/lib/xero-ruby/models/accounting/items.rb +2 -2
  372. data/lib/xero-ruby/models/accounting/journal.rb +2 -2
  373. data/lib/xero-ruby/models/accounting/journal_line.rb +2 -2
  374. data/lib/xero-ruby/models/accounting/journals.rb +2 -2
  375. data/lib/xero-ruby/models/accounting/line_amount_types.rb +1 -1
  376. data/lib/xero-ruby/models/accounting/line_item.rb +2 -2
  377. data/lib/xero-ruby/models/accounting/line_item_tracking.rb +2 -2
  378. data/lib/xero-ruby/models/accounting/linked_transaction.rb +2 -2
  379. data/lib/xero-ruby/models/accounting/linked_transactions.rb +2 -2
  380. data/lib/xero-ruby/models/accounting/manual_journal.rb +2 -2
  381. data/lib/xero-ruby/models/accounting/manual_journal_line.rb +2 -2
  382. data/lib/xero-ruby/models/accounting/manual_journals.rb +2 -2
  383. data/lib/xero-ruby/models/accounting/online_invoice.rb +2 -2
  384. data/lib/xero-ruby/models/accounting/online_invoices.rb +2 -2
  385. data/lib/xero-ruby/models/accounting/organisation.rb +4 -2
  386. data/lib/xero-ruby/models/accounting/organisations.rb +2 -2
  387. data/lib/xero-ruby/models/accounting/overpayment.rb +2 -2
  388. data/lib/xero-ruby/models/accounting/overpayments.rb +2 -2
  389. data/lib/xero-ruby/models/accounting/payment.rb +2 -2
  390. data/lib/xero-ruby/models/accounting/payment_delete.rb +2 -2
  391. data/lib/xero-ruby/models/accounting/payment_service.rb +2 -2
  392. data/lib/xero-ruby/models/accounting/payment_services.rb +2 -2
  393. data/lib/xero-ruby/models/accounting/payment_term.rb +2 -2
  394. data/lib/xero-ruby/models/accounting/payment_term_type.rb +1 -1
  395. data/lib/xero-ruby/models/accounting/payments.rb +2 -2
  396. data/lib/xero-ruby/models/accounting/phone.rb +2 -2
  397. data/lib/xero-ruby/models/accounting/prepayment.rb +2 -2
  398. data/lib/xero-ruby/models/accounting/prepayments.rb +2 -2
  399. data/lib/xero-ruby/models/accounting/purchase.rb +2 -2
  400. data/lib/xero-ruby/models/accounting/purchase_order.rb +2 -2
  401. data/lib/xero-ruby/models/accounting/purchase_orders.rb +2 -2
  402. data/lib/xero-ruby/models/accounting/quote.rb +2 -2
  403. data/lib/xero-ruby/models/accounting/quote_line_amount_types.rb +1 -1
  404. data/lib/xero-ruby/models/accounting/quote_status_codes.rb +1 -1
  405. data/lib/xero-ruby/models/accounting/quotes.rb +2 -2
  406. data/lib/xero-ruby/models/accounting/receipt.rb +2 -2
  407. data/lib/xero-ruby/models/accounting/receipts.rb +2 -2
  408. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +2 -2
  409. data/lib/xero-ruby/models/accounting/repeating_invoices.rb +2 -2
  410. data/lib/xero-ruby/models/accounting/report.rb +2 -2
  411. data/lib/xero-ruby/models/accounting/report_attribute.rb +2 -2
  412. data/lib/xero-ruby/models/accounting/report_cell.rb +2 -2
  413. data/lib/xero-ruby/models/accounting/report_fields.rb +2 -2
  414. data/lib/xero-ruby/models/accounting/report_row.rb +2 -2
  415. data/lib/xero-ruby/models/accounting/report_rows.rb +2 -2
  416. data/lib/xero-ruby/models/accounting/report_with_row.rb +2 -2
  417. data/lib/xero-ruby/models/accounting/report_with_rows.rb +2 -2
  418. data/lib/xero-ruby/models/accounting/reports.rb +2 -2
  419. data/lib/xero-ruby/models/accounting/request_empty.rb +2 -2
  420. data/lib/xero-ruby/models/accounting/row_type.rb +1 -1
  421. data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +2 -2
  422. data/lib/xero-ruby/models/accounting/schedule.rb +2 -2
  423. data/lib/xero-ruby/models/accounting/setup.rb +232 -0
  424. data/lib/xero-ruby/models/accounting/tax_component.rb +2 -2
  425. data/lib/xero-ruby/models/accounting/tax_rate.rb +2 -2
  426. data/lib/xero-ruby/models/accounting/tax_rates.rb +2 -2
  427. data/lib/xero-ruby/models/accounting/tax_type.rb +1 -1
  428. data/lib/xero-ruby/models/accounting/ten_ninety_nine_contact.rb +2 -2
  429. data/lib/xero-ruby/models/accounting/time_zone.rb +1 -1
  430. data/lib/xero-ruby/models/accounting/tracking_categories.rb +2 -2
  431. data/lib/xero-ruby/models/accounting/tracking_category.rb +2 -2
  432. data/lib/xero-ruby/models/accounting/tracking_option.rb +10 -10
  433. data/lib/xero-ruby/models/accounting/tracking_options.rb +2 -2
  434. data/lib/xero-ruby/models/accounting/user.rb +2 -2
  435. data/lib/xero-ruby/models/accounting/users.rb +2 -2
  436. data/lib/xero-ruby/models/accounting/validation_error.rb +2 -2
  437. data/lib/xero-ruby/models/assets/asset.rb +13 -3
  438. data/lib/xero-ruby/models/assets/asset_status.rb +1 -1
  439. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +1 -1
  440. data/lib/xero-ruby/models/assets/asset_type.rb +2 -2
  441. data/lib/xero-ruby/models/assets/assets.rb +2 -2
  442. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +2 -2
  443. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +2 -2
  444. data/lib/xero-ruby/models/assets/error.rb +2 -2
  445. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +2 -2
  446. data/lib/xero-ruby/models/assets/pagination.rb +2 -2
  447. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +2 -2
  448. data/lib/xero-ruby/models/assets/setting.rb +2 -2
  449. data/lib/xero-ruby/models/files/association.rb +238 -0
  450. data/lib/xero-ruby/models/files/file_object.rb +278 -0
  451. data/lib/xero-ruby/models/files/file_response204.rb +208 -0
  452. data/lib/xero-ruby/models/files/files.rb +240 -0
  453. data/lib/xero-ruby/models/files/folder.rb +248 -0
  454. data/lib/xero-ruby/models/files/folders.rb +210 -0
  455. data/lib/xero-ruby/models/files/inline_object.rb +238 -0
  456. data/lib/xero-ruby/models/files/object_group.rb +46 -0
  457. data/lib/xero-ruby/models/files/object_type.rb +90 -0
  458. data/lib/xero-ruby/models/files/user.rb +253 -0
  459. data/lib/xero-ruby/models/payroll_au/account.rb +238 -0
  460. data/lib/xero-ruby/models/payroll_au/account_type.rb +58 -0
  461. data/lib/xero-ruby/models/payroll_au/allowance_type.rb +42 -0
  462. data/lib/xero-ruby/models/payroll_au/api_exception.rb +229 -0
  463. data/lib/xero-ruby/models/payroll_au/bank_account.rb +258 -0
  464. data/lib/xero-ruby/models/payroll_au/calendar_type.rb +41 -0
  465. data/lib/xero-ruby/models/payroll_au/deduction_line.rb +258 -0
  466. data/lib/xero-ruby/models/payroll_au/deduction_type.rb +340 -0
  467. data/lib/xero-ruby/models/payroll_au/deduction_type_calculation_type.rb +38 -0
  468. data/lib/xero-ruby/models/payroll_au/earnings_line.rb +293 -0
  469. data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +398 -0
  470. data/lib/xero-ruby/models/payroll_au/earnings_rate_calculation_type.rb +38 -0
  471. data/lib/xero-ruby/models/payroll_au/earnings_type.rb +44 -0
  472. data/lib/xero-ruby/models/payroll_au/employee.rb +571 -0
  473. data/lib/xero-ruby/models/payroll_au/employee_status.rb +37 -0
  474. data/lib/xero-ruby/models/payroll_au/employees.rb +210 -0
  475. data/lib/xero-ruby/models/payroll_au/employment_basis.rb +40 -0
  476. data/lib/xero-ruby/models/payroll_au/employment_termination_payment_type.rb +37 -0
  477. data/lib/xero-ruby/models/payroll_au/entitlement_final_pay_payout_type.rb +37 -0
  478. data/lib/xero-ruby/models/payroll_au/home_address.rb +263 -0
  479. data/lib/xero-ruby/models/payroll_au/leave_accrual_line.rb +228 -0
  480. data/lib/xero-ruby/models/payroll_au/leave_application.rb +302 -0
  481. data/lib/xero-ruby/models/payroll_au/leave_applications.rb +210 -0
  482. data/lib/xero-ruby/models/payroll_au/leave_balance.rb +238 -0
  483. data/lib/xero-ruby/models/payroll_au/leave_earnings_line.rb +228 -0
  484. data/lib/xero-ruby/models/payroll_au/leave_line.rb +278 -0
  485. data/lib/xero-ruby/models/payroll_au/leave_line_calculation_type.rb +40 -0
  486. data/lib/xero-ruby/models/payroll_au/leave_lines.rb +211 -0
  487. data/lib/xero-ruby/models/payroll_au/leave_period.rb +238 -0
  488. data/lib/xero-ruby/models/payroll_au/leave_period_status.rb +37 -0
  489. data/lib/xero-ruby/models/payroll_au/leave_type.rb +303 -0
  490. data/lib/xero-ruby/models/payroll_au/leave_type_contribution_type.rb +39 -0
  491. data/lib/xero-ruby/models/payroll_au/manual_tax_type.rb +40 -0
  492. data/lib/xero-ruby/models/payroll_au/opening_balances.rb +278 -0
  493. data/lib/xero-ruby/models/payroll_au/pay_item.rb +246 -0
  494. data/lib/xero-ruby/models/payroll_au/pay_items.rb +208 -0
  495. data/lib/xero-ruby/models/payroll_au/pay_run.rb +367 -0
  496. data/lib/xero-ruby/models/payroll_au/pay_run_status.rb +37 -0
  497. data/lib/xero-ruby/models/payroll_au/pay_runs.rb +210 -0
  498. data/lib/xero-ruby/models/payroll_au/pay_template.rb +258 -0
  499. data/lib/xero-ruby/models/payroll_au/payment_frequency_type.rb +42 -0
  500. data/lib/xero-ruby/models/payroll_au/payroll_calendar.rb +270 -0
  501. data/lib/xero-ruby/models/payroll_au/payroll_calendars.rb +210 -0
  502. data/lib/xero-ruby/models/payroll_au/payslip.rb +404 -0
  503. data/lib/xero-ruby/models/payroll_au/payslip_lines.rb +294 -0
  504. data/lib/xero-ruby/models/payroll_au/payslip_object.rb +208 -0
  505. data/lib/xero-ruby/models/payroll_au/payslip_summary.rb +318 -0
  506. data/lib/xero-ruby/models/payroll_au/payslips.rb +210 -0
  507. data/lib/xero-ruby/models/payroll_au/rate_type.rb +38 -0
  508. data/lib/xero-ruby/models/payroll_au/reimbursement_line.rb +253 -0
  509. data/lib/xero-ruby/models/payroll_au/reimbursement_lines.rb +211 -0
  510. data/lib/xero-ruby/models/payroll_au/reimbursement_type.rb +263 -0
  511. data/lib/xero-ruby/models/payroll_au/residency_status.rb +38 -0
  512. data/lib/xero-ruby/models/payroll_au/settings.rb +230 -0
  513. data/lib/xero-ruby/models/payroll_au/settings_object.rb +208 -0
  514. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories.rb +219 -0
  515. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_employee_groups.rb +219 -0
  516. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_timesheet_categories.rb +219 -0
  517. data/lib/xero-ruby/models/payroll_au/state.rb +43 -0
  518. data/lib/xero-ruby/models/payroll_au/super_fund.rb +335 -0
  519. data/lib/xero-ruby/models/payroll_au/super_fund_product.rb +238 -0
  520. data/lib/xero-ruby/models/payroll_au/super_fund_products.rb +210 -0
  521. data/lib/xero-ruby/models/payroll_au/super_fund_type.rb +37 -0
  522. data/lib/xero-ruby/models/payroll_au/super_funds.rb +210 -0
  523. data/lib/xero-ruby/models/payroll_au/super_line.rb +278 -0
  524. data/lib/xero-ruby/models/payroll_au/super_membership.rb +238 -0
  525. data/lib/xero-ruby/models/payroll_au/superannuation_calculation_type.rb +38 -0
  526. data/lib/xero-ruby/models/payroll_au/superannuation_contribution_type.rb +39 -0
  527. data/lib/xero-ruby/models/payroll_au/superannuation_line.rb +288 -0
  528. data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +358 -0
  529. data/lib/xero-ruby/models/payroll_au/tax_line.rb +258 -0
  530. data/lib/xero-ruby/models/payroll_au/tfn_exemption_type.rb +39 -0
  531. data/lib/xero-ruby/models/payroll_au/timesheet.rb +307 -0
  532. data/lib/xero-ruby/models/payroll_au/timesheet_line.rb +240 -0
  533. data/lib/xero-ruby/models/payroll_au/timesheet_object.rb +208 -0
  534. data/lib/xero-ruby/models/payroll_au/timesheet_status.rb +40 -0
  535. data/lib/xero-ruby/models/payroll_au/timesheets.rb +210 -0
  536. data/lib/xero-ruby/models/payroll_au/validation_error.rb +208 -0
  537. data/lib/xero-ruby/models/payroll_nz/account.rb +276 -0
  538. data/lib/xero-ruby/models/payroll_nz/accounts.rb +210 -0
  539. data/lib/xero-ruby/models/payroll_nz/address.rb +273 -0
  540. data/lib/xero-ruby/models/payroll_nz/bank_account.rb +329 -0
  541. data/lib/xero-ruby/models/payroll_nz/benefit.rb +369 -0
  542. data/lib/xero-ruby/models/payroll_nz/calendar_type.rb +42 -0
  543. data/lib/xero-ruby/models/payroll_nz/deduction.rb +311 -0
  544. data/lib/xero-ruby/models/payroll_nz/deduction_line.rb +248 -0
  545. data/lib/xero-ruby/models/payroll_nz/deduction_object.rb +228 -0
  546. data/lib/xero-ruby/models/payroll_nz/deductions.rb +230 -0
  547. data/lib/xero-ruby/models/payroll_nz/earnings_line.rb +298 -0
  548. data/lib/xero-ruby/models/payroll_nz/earnings_order.rb +255 -0
  549. data/lib/xero-ruby/models/payroll_nz/earnings_order_object.rb +228 -0
  550. data/lib/xero-ruby/models/payroll_nz/earnings_orders.rb +230 -0
  551. data/lib/xero-ruby/models/payroll_nz/earnings_rate.rb +387 -0
  552. data/lib/xero-ruby/models/payroll_nz/earnings_rate_object.rb +228 -0
  553. data/lib/xero-ruby/models/payroll_nz/earnings_rates.rb +230 -0
  554. data/lib/xero-ruby/models/payroll_nz/earnings_template.rb +258 -0
  555. data/lib/xero-ruby/models/payroll_nz/earnings_template_object.rb +228 -0
  556. data/lib/xero-ruby/models/payroll_nz/employee.rb +374 -0
  557. data/lib/xero-ruby/models/payroll_nz/employee_earnings_templates.rb +230 -0
  558. data/lib/xero-ruby/models/payroll_nz/employee_leave.rb +290 -0
  559. data/lib/xero-ruby/models/payroll_nz/employee_leave_balance.rb +238 -0
  560. data/lib/xero-ruby/models/payroll_nz/employee_leave_balances.rb +230 -0
  561. data/lib/xero-ruby/models/payroll_nz/employee_leave_object.rb +228 -0
  562. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup.rb +268 -0
  563. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup_object.rb +228 -0
  564. data/lib/xero-ruby/models/payroll_nz/employee_leave_type.rb +336 -0
  565. data/lib/xero-ruby/models/payroll_nz/employee_leave_type_object.rb +228 -0
  566. data/lib/xero-ruby/models/payroll_nz/employee_leave_types.rb +230 -0
  567. data/lib/xero-ruby/models/payroll_nz/employee_leaves.rb +230 -0
  568. data/lib/xero-ruby/models/payroll_nz/employee_object.rb +228 -0
  569. data/lib/xero-ruby/models/payroll_nz/employee_opening_balance.rb +238 -0
  570. data/lib/xero-ruby/models/payroll_nz/employee_opening_balances_object.rb +230 -0
  571. data/lib/xero-ruby/models/payroll_nz/employee_pay_template.rb +220 -0
  572. data/lib/xero-ruby/models/payroll_nz/employee_pay_template_object.rb +228 -0
  573. data/lib/xero-ruby/models/payroll_nz/employee_pay_templates.rb +228 -0
  574. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance.rb +280 -0
  575. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance_object.rb +228 -0
  576. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_summary.rb +322 -0
  577. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leaves_summaries.rb +230 -0
  578. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave.rb +419 -0
  579. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave_object.rb +228 -0
  580. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leaves.rb +230 -0
  581. data/lib/xero-ruby/models/payroll_nz/employee_tax.rb +397 -0
  582. data/lib/xero-ruby/models/payroll_nz/employee_tax_object.rb +228 -0
  583. data/lib/xero-ruby/models/payroll_nz/employees.rb +230 -0
  584. data/lib/xero-ruby/models/payroll_nz/employment.rb +228 -0
  585. data/lib/xero-ruby/models/payroll_nz/employment_object.rb +228 -0
  586. data/lib/xero-ruby/models/payroll_nz/gross_earnings_history.rb +218 -0
  587. data/lib/xero-ruby/models/payroll_nz/invalid_field.rb +218 -0
  588. data/lib/xero-ruby/models/payroll_nz/leave_accrual_line.rb +218 -0
  589. data/lib/xero-ruby/models/payroll_nz/leave_earnings_line.rb +298 -0
  590. data/lib/xero-ruby/models/payroll_nz/leave_period.rb +274 -0
  591. data/lib/xero-ruby/models/payroll_nz/leave_periods.rb +230 -0
  592. data/lib/xero-ruby/models/payroll_nz/leave_type.rb +273 -0
  593. data/lib/xero-ruby/models/payroll_nz/leave_type_object.rb +228 -0
  594. data/lib/xero-ruby/models/payroll_nz/leave_types.rb +230 -0
  595. data/lib/xero-ruby/models/payroll_nz/pagination.rb +238 -0
  596. data/lib/xero-ruby/models/payroll_nz/pay_run.rb +371 -0
  597. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar.rb +288 -0
  598. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar_object.rb +228 -0
  599. data/lib/xero-ruby/models/payroll_nz/pay_run_calendars.rb +230 -0
  600. data/lib/xero-ruby/models/payroll_nz/pay_run_object.rb +228 -0
  601. data/lib/xero-ruby/models/payroll_nz/pay_runs.rb +230 -0
  602. data/lib/xero-ruby/models/payroll_nz/pay_slip.rb +557 -0
  603. data/lib/xero-ruby/models/payroll_nz/pay_slip_object.rb +228 -0
  604. data/lib/xero-ruby/models/payroll_nz/pay_slips.rb +230 -0
  605. data/lib/xero-ruby/models/payroll_nz/payment_line.rb +248 -0
  606. data/lib/xero-ruby/models/payroll_nz/payment_method.rb +257 -0
  607. data/lib/xero-ruby/models/payroll_nz/payment_method_object.rb +228 -0
  608. data/lib/xero-ruby/models/payroll_nz/problem.rb +261 -0
  609. data/lib/xero-ruby/models/payroll_nz/reimbursement.rb +364 -0
  610. data/lib/xero-ruby/models/payroll_nz/reimbursement_line.rb +248 -0
  611. data/lib/xero-ruby/models/payroll_nz/reimbursement_object.rb +228 -0
  612. data/lib/xero-ruby/models/payroll_nz/reimbursements.rb +230 -0
  613. data/lib/xero-ruby/models/payroll_nz/salary_and_wage.rb +383 -0
  614. data/lib/xero-ruby/models/payroll_nz/salary_and_wage_object.rb +228 -0
  615. data/lib/xero-ruby/models/payroll_nz/salary_and_wages.rb +230 -0
  616. data/lib/xero-ruby/models/payroll_nz/settings.rb +228 -0
  617. data/lib/xero-ruby/models/payroll_nz/statutory_deduction.rb +248 -0
  618. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_category.rb +46 -0
  619. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_line.rb +238 -0
  620. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_object.rb +228 -0
  621. data/lib/xero-ruby/models/payroll_nz/statutory_deductions.rb +230 -0
  622. data/lib/xero-ruby/models/payroll_nz/superannuation_line.rb +258 -0
  623. data/lib/xero-ruby/models/payroll_nz/superannuation_object.rb +228 -0
  624. data/lib/xero-ruby/models/payroll_nz/superannuations.rb +230 -0
  625. data/lib/xero-ruby/models/payroll_nz/tax_code.rb +54 -0
  626. data/lib/xero-ruby/models/payroll_nz/tax_line.rb +248 -0
  627. data/lib/xero-ruby/models/payroll_nz/tax_settings.rb +294 -0
  628. data/lib/xero-ruby/models/payroll_nz/timesheet.rb +347 -0
  629. data/lib/xero-ruby/models/payroll_nz/timesheet_earnings_line.rb +298 -0
  630. data/lib/xero-ruby/models/payroll_nz/timesheet_line.rb +263 -0
  631. data/lib/xero-ruby/models/payroll_nz/timesheet_line_object.rb +228 -0
  632. data/lib/xero-ruby/models/payroll_nz/timesheet_object.rb +228 -0
  633. data/lib/xero-ruby/models/payroll_nz/timesheets.rb +230 -0
  634. data/lib/xero-ruby/models/payroll_nz/tracking_categories.rb +228 -0
  635. data/lib/xero-ruby/models/payroll_nz/tracking_category.rb +218 -0
  636. data/lib/xero-ruby/models/payroll_uk/account.rb +279 -0
  637. data/lib/xero-ruby/models/payroll_uk/accounts.rb +210 -0
  638. data/lib/xero-ruby/models/payroll_uk/address.rb +263 -0
  639. data/lib/xero-ruby/models/payroll_uk/bank_account.rb +243 -0
  640. data/lib/xero-ruby/models/payroll_uk/benefit.rb +418 -0
  641. data/lib/xero-ruby/models/payroll_uk/benefit_line.rb +248 -0
  642. data/lib/xero-ruby/models/payroll_uk/benefit_object.rb +228 -0
  643. data/lib/xero-ruby/models/payroll_uk/benefits.rb +230 -0
  644. data/lib/xero-ruby/models/payroll_uk/court_order_line.rb +218 -0
  645. data/lib/xero-ruby/models/payroll_uk/deduction.rb +426 -0
  646. data/lib/xero-ruby/models/payroll_uk/deduction_line.rb +238 -0
  647. data/lib/xero-ruby/models/payroll_uk/deduction_object.rb +228 -0
  648. data/lib/xero-ruby/models/payroll_uk/deductions.rb +230 -0
  649. data/lib/xero-ruby/models/payroll_uk/earnings_line.rb +288 -0
  650. data/lib/xero-ruby/models/payroll_uk/earnings_order.rb +255 -0
  651. data/lib/xero-ruby/models/payroll_uk/earnings_order_object.rb +228 -0
  652. data/lib/xero-ruby/models/payroll_uk/earnings_orders.rb +230 -0
  653. data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +387 -0
  654. data/lib/xero-ruby/models/payroll_uk/earnings_rate_object.rb +228 -0
  655. data/lib/xero-ruby/models/payroll_uk/earnings_rates.rb +230 -0
  656. data/lib/xero-ruby/models/payroll_uk/earnings_template.rb +258 -0
  657. data/lib/xero-ruby/models/payroll_uk/earnings_template_object.rb +228 -0
  658. data/lib/xero-ruby/models/payroll_uk/employee.rb +384 -0
  659. data/lib/xero-ruby/models/payroll_uk/employee_leave.rb +290 -0
  660. data/lib/xero-ruby/models/payroll_uk/employee_leave_balance.rb +238 -0
  661. data/lib/xero-ruby/models/payroll_uk/employee_leave_balances.rb +230 -0
  662. data/lib/xero-ruby/models/payroll_uk/employee_leave_object.rb +228 -0
  663. data/lib/xero-ruby/models/payroll_uk/employee_leave_type.rb +306 -0
  664. data/lib/xero-ruby/models/payroll_uk/employee_leave_type_object.rb +228 -0
  665. data/lib/xero-ruby/models/payroll_uk/employee_leave_types.rb +230 -0
  666. data/lib/xero-ruby/models/payroll_uk/employee_leaves.rb +230 -0
  667. data/lib/xero-ruby/models/payroll_uk/employee_object.rb +228 -0
  668. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances.rb +258 -0
  669. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances_object.rb +228 -0
  670. data/lib/xero-ruby/models/payroll_uk/employee_pay_template.rb +220 -0
  671. data/lib/xero-ruby/models/payroll_uk/employee_pay_template_object.rb +228 -0
  672. data/lib/xero-ruby/models/payroll_uk/employee_pay_templates.rb +230 -0
  673. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance.rb +280 -0
  674. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance_object.rb +228 -0
  675. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_summary.rb +322 -0
  676. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leaves_summaries.rb +230 -0
  677. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave.rb +419 -0
  678. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave_object.rb +228 -0
  679. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leaves.rb +230 -0
  680. data/lib/xero-ruby/models/payroll_uk/employee_tax.rb +308 -0
  681. data/lib/xero-ruby/models/payroll_uk/employee_tax_object.rb +228 -0
  682. data/lib/xero-ruby/models/payroll_uk/employees.rb +230 -0
  683. data/lib/xero-ruby/models/payroll_uk/employment.rb +280 -0
  684. data/lib/xero-ruby/models/payroll_uk/employment_object.rb +228 -0
  685. data/lib/xero-ruby/models/payroll_uk/invalid_field.rb +218 -0
  686. data/lib/xero-ruby/models/payroll_uk/leave_accrual_line.rb +218 -0
  687. data/lib/xero-ruby/models/payroll_uk/leave_earnings_line.rb +258 -0
  688. data/lib/xero-ruby/models/payroll_uk/leave_period.rb +274 -0
  689. data/lib/xero-ruby/models/payroll_uk/leave_periods.rb +230 -0
  690. data/lib/xero-ruby/models/payroll_uk/leave_type.rb +293 -0
  691. data/lib/xero-ruby/models/payroll_uk/leave_type_object.rb +228 -0
  692. data/lib/xero-ruby/models/payroll_uk/leave_types.rb +230 -0
  693. data/lib/xero-ruby/models/payroll_uk/pagination.rb +238 -0
  694. data/lib/xero-ruby/models/payroll_uk/pay_run.rb +389 -0
  695. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar.rb +328 -0
  696. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar_object.rb +228 -0
  697. data/lib/xero-ruby/models/payroll_uk/pay_run_calendars.rb +230 -0
  698. data/lib/xero-ruby/models/payroll_uk/pay_run_object.rb +228 -0
  699. data/lib/xero-ruby/models/payroll_uk/pay_runs.rb +230 -0
  700. data/lib/xero-ruby/models/payroll_uk/payment_line.rb +248 -0
  701. data/lib/xero-ruby/models/payroll_uk/payment_method.rb +262 -0
  702. data/lib/xero-ruby/models/payroll_uk/payment_method_object.rb +228 -0
  703. data/lib/xero-ruby/models/payroll_uk/payslip.rb +537 -0
  704. data/lib/xero-ruby/models/payroll_uk/payslip_object.rb +228 -0
  705. data/lib/xero-ruby/models/payroll_uk/payslips.rb +230 -0
  706. data/lib/xero-ruby/models/payroll_uk/problem.rb +261 -0
  707. data/lib/xero-ruby/models/payroll_uk/reimbursement.rb +248 -0
  708. data/lib/xero-ruby/models/payroll_uk/reimbursement_line.rb +228 -0
  709. data/lib/xero-ruby/models/payroll_uk/reimbursement_object.rb +228 -0
  710. data/lib/xero-ruby/models/payroll_uk/reimbursements.rb +230 -0
  711. data/lib/xero-ruby/models/payroll_uk/salary_and_wage.rb +368 -0
  712. data/lib/xero-ruby/models/payroll_uk/salary_and_wage_object.rb +228 -0
  713. data/lib/xero-ruby/models/payroll_uk/salary_and_wages.rb +230 -0
  714. data/lib/xero-ruby/models/payroll_uk/settings.rb +228 -0
  715. data/lib/xero-ruby/models/payroll_uk/statutory_deduction.rb +248 -0
  716. data/lib/xero-ruby/models/payroll_uk/statutory_deduction_category.rb +49 -0
  717. data/lib/xero-ruby/models/payroll_uk/tax_line.rb +258 -0
  718. data/lib/xero-ruby/models/payroll_uk/timesheet.rb +347 -0
  719. data/lib/xero-ruby/models/payroll_uk/timesheet_earnings_line.rb +258 -0
  720. data/lib/xero-ruby/models/payroll_uk/timesheet_line.rb +263 -0
  721. data/lib/xero-ruby/models/payroll_uk/timesheet_line_object.rb +228 -0
  722. data/lib/xero-ruby/models/payroll_uk/timesheet_object.rb +228 -0
  723. data/lib/xero-ruby/models/payroll_uk/timesheets.rb +230 -0
  724. data/lib/xero-ruby/models/payroll_uk/tracking_categories.rb +228 -0
  725. data/lib/xero-ruby/models/payroll_uk/tracking_category.rb +218 -0
  726. data/lib/xero-ruby/models/projects/amount.rb +2 -2
  727. data/lib/xero-ruby/models/projects/charge_type.rb +1 -1
  728. data/lib/xero-ruby/models/projects/currency_code.rb +1 -1
  729. data/lib/xero-ruby/models/projects/error.rb +2 -2
  730. data/lib/xero-ruby/models/projects/pagination.rb +2 -2
  731. data/lib/xero-ruby/models/projects/project.rb +2 -2
  732. data/lib/xero-ruby/models/projects/project_create_or_update.rb +2 -2
  733. data/lib/xero-ruby/models/projects/project_patch.rb +2 -2
  734. data/lib/xero-ruby/models/projects/project_status.rb +1 -1
  735. data/lib/xero-ruby/models/projects/project_user.rb +2 -2
  736. data/lib/xero-ruby/models/projects/project_users.rb +2 -2
  737. data/lib/xero-ruby/models/projects/projects.rb +2 -2
  738. data/lib/xero-ruby/models/projects/task.rb +2 -2
  739. data/lib/xero-ruby/models/projects/task_create_or_update.rb +2 -2
  740. data/lib/xero-ruby/models/projects/tasks.rb +2 -2
  741. data/lib/xero-ruby/models/projects/time_entries.rb +2 -2
  742. data/lib/xero-ruby/models/projects/time_entry.rb +2 -2
  743. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +2 -2
  744. data/lib/xero-ruby/version.rb +2 -2
  745. data/spec/api_client_spec.rb +3 -3
  746. data/spec/files/api/files_api_spec.rb +249 -0
  747. data/spec/files/models/association_spec.rb +59 -0
  748. data/spec/files/models/file_object_spec.rb +83 -0
  749. data/spec/files/models/file_response204_spec.rb +41 -0
  750. data/spec/files/models/files_spec.rb +59 -0
  751. data/spec/files/models/folder_spec.rb +65 -0
  752. data/spec/files/models/folders_spec.rb +41 -0
  753. data/spec/files/models/inline_object_spec.rb +59 -0
  754. data/spec/files/models/object_group_spec.rb +35 -0
  755. data/spec/files/models/object_type_spec.rb +35 -0
  756. data/spec/files/models/user_spec.rb +81 -0
  757. data/spec/payroll_au/api/payroll_au_api_spec.rb +415 -0
  758. data/spec/payroll_au/models/account_spec.rb +59 -0
  759. data/spec/payroll_au/models/account_type_spec.rb +35 -0
  760. data/spec/payroll_au/models/allowance_type_spec.rb +35 -0
  761. data/spec/payroll_au/models/api_exception_spec.rb +53 -0
  762. data/spec/payroll_au/models/bank_account_spec.rb +71 -0
  763. data/spec/payroll_au/models/calendar_type_spec.rb +35 -0
  764. data/spec/payroll_au/models/deduction_line_spec.rb +65 -0
  765. data/spec/payroll_au/models/deduction_type_calculation_type_spec.rb +35 -0
  766. data/spec/payroll_au/models/deduction_type_spec.rb +93 -0
  767. data/spec/payroll_au/models/earnings_line_spec.rb +89 -0
  768. data/spec/payroll_au/models/earnings_rate_calculation_type_spec.rb +35 -0
  769. data/spec/payroll_au/models/earnings_rate_spec.rb +137 -0
  770. data/spec/payroll_au/models/earnings_type_spec.rb +35 -0
  771. data/spec/payroll_au/models/employee_spec.rb +225 -0
  772. data/spec/payroll_au/models/employee_status_spec.rb +35 -0
  773. data/spec/payroll_au/models/employees_spec.rb +41 -0
  774. data/spec/payroll_au/models/employment_basis_spec.rb +35 -0
  775. data/spec/payroll_au/models/employment_termination_payment_type_spec.rb +35 -0
  776. data/spec/payroll_au/models/entitlement_final_pay_payout_type_spec.rb +35 -0
  777. data/spec/payroll_au/models/home_address_spec.rb +71 -0
  778. data/spec/payroll_au/models/leave_accrual_line_spec.rb +53 -0
  779. data/spec/payroll_au/models/leave_application_spec.rb +95 -0
  780. data/spec/payroll_au/models/leave_applications_spec.rb +41 -0
  781. data/spec/payroll_au/models/leave_balance_spec.rb +59 -0
  782. data/spec/payroll_au/models/leave_earnings_line_spec.rb +53 -0
  783. data/spec/payroll_au/models/leave_line_calculation_type_spec.rb +35 -0
  784. data/spec/payroll_au/models/leave_line_spec.rb +83 -0
  785. data/spec/payroll_au/models/leave_lines_spec.rb +41 -0
  786. data/spec/payroll_au/models/leave_period_spec.rb +59 -0
  787. data/spec/payroll_au/models/leave_period_status_spec.rb +35 -0
  788. data/spec/payroll_au/models/leave_type_contribution_type_spec.rb +35 -0
  789. data/spec/payroll_au/models/leave_type_spec.rb +89 -0
  790. data/spec/payroll_au/models/manual_tax_type_spec.rb +35 -0
  791. data/spec/payroll_au/models/opening_balances_spec.rb +77 -0
  792. data/spec/payroll_au/models/pay_item_spec.rb +59 -0
  793. data/spec/payroll_au/models/pay_items_spec.rb +41 -0
  794. data/spec/payroll_au/models/pay_run_spec.rb +131 -0
  795. data/spec/payroll_au/models/pay_run_status_spec.rb +35 -0
  796. data/spec/payroll_au/models/pay_runs_spec.rb +41 -0
  797. data/spec/payroll_au/models/pay_template_spec.rb +65 -0
  798. data/spec/payroll_au/models/payment_frequency_type_spec.rb +35 -0
  799. data/spec/payroll_au/models/payroll_calendar_spec.rb +77 -0
  800. data/spec/payroll_au/models/payroll_calendars_spec.rb +41 -0
  801. data/spec/payroll_au/models/payslip_lines_spec.rb +83 -0
  802. data/spec/payroll_au/models/payslip_object_spec.rb +41 -0
  803. data/spec/payroll_au/models/payslip_spec.rb +149 -0
  804. data/spec/payroll_au/models/payslip_summary_spec.rb +107 -0
  805. data/spec/payroll_au/models/payslips_spec.rb +41 -0
  806. data/spec/payroll_au/models/rate_type_spec.rb +35 -0
  807. data/spec/payroll_au/models/reimbursement_line_spec.rb +59 -0
  808. data/spec/payroll_au/models/reimbursement_lines_spec.rb +41 -0
  809. data/spec/payroll_au/models/reimbursement_type_spec.rb +65 -0
  810. data/spec/payroll_au/models/residency_status_spec.rb +35 -0
  811. data/spec/payroll_au/models/settings_object_spec.rb +41 -0
  812. data/spec/payroll_au/models/settings_spec.rb +53 -0
  813. data/spec/payroll_au/models/settings_tracking_categories_employee_groups_spec.rb +47 -0
  814. data/spec/payroll_au/models/settings_tracking_categories_spec.rb +47 -0
  815. data/spec/payroll_au/models/settings_tracking_categories_timesheet_categories_spec.rb +47 -0
  816. data/spec/payroll_au/models/state_spec.rb +35 -0
  817. data/spec/payroll_au/models/super_fund_product_spec.rb +59 -0
  818. data/spec/payroll_au/models/super_fund_products_spec.rb +41 -0
  819. data/spec/payroll_au/models/super_fund_spec.rb +113 -0
  820. data/spec/payroll_au/models/super_fund_type_spec.rb +35 -0
  821. data/spec/payroll_au/models/super_funds_spec.rb +41 -0
  822. data/spec/payroll_au/models/super_line_spec.rb +83 -0
  823. data/spec/payroll_au/models/super_membership_spec.rb +53 -0
  824. data/spec/payroll_au/models/superannuation_calculation_type_spec.rb +35 -0
  825. data/spec/payroll_au/models/superannuation_contribution_type_spec.rb +35 -0
  826. data/spec/payroll_au/models/superannuation_line_spec.rb +89 -0
  827. data/spec/payroll_au/models/tax_declaration_spec.rb +131 -0
  828. data/spec/payroll_au/models/tax_line_spec.rb +71 -0
  829. data/spec/payroll_au/models/tfn_exemption_type_spec.rb +35 -0
  830. data/spec/payroll_au/models/timesheet_line_spec.rb +59 -0
  831. data/spec/payroll_au/models/timesheet_object_spec.rb +41 -0
  832. data/spec/payroll_au/models/timesheet_spec.rb +89 -0
  833. data/spec/payroll_au/models/timesheet_status_spec.rb +35 -0
  834. data/spec/payroll_au/models/timesheets_spec.rb +41 -0
  835. data/spec/payroll_au/models/validation_error_spec.rb +41 -0
  836. data/spec/payroll_nz/api/payroll_nz_api_spec.rb +886 -0
  837. data/spec/payroll_nz/models/account_spec.rb +63 -0
  838. data/spec/payroll_nz/models/accounts_spec.rb +41 -0
  839. data/spec/payroll_nz/models/address_spec.rb +71 -0
  840. data/spec/payroll_nz/models/bank_account_spec.rb +87 -0
  841. data/spec/payroll_nz/models/benefit_spec.rb +103 -0
  842. data/spec/payroll_nz/models/deduction_line_spec.rb +65 -0
  843. data/spec/payroll_nz/models/deduction_object_spec.rb +53 -0
  844. data/spec/payroll_nz/models/deduction_spec.rb +75 -0
  845. data/spec/payroll_nz/models/deductions_spec.rb +53 -0
  846. data/spec/payroll_nz/models/earnings_line_spec.rb +95 -0
  847. data/spec/payroll_nz/models/earnings_order_object_spec.rb +53 -0
  848. data/spec/payroll_nz/models/earnings_order_spec.rb +65 -0
  849. data/spec/payroll_nz/models/earnings_orders_spec.rb +53 -0
  850. data/spec/payroll_nz/models/earnings_rate_object_spec.rb +53 -0
  851. data/spec/payroll_nz/models/earnings_rate_spec.rb +103 -0
  852. data/spec/payroll_nz/models/earnings_rates_spec.rb +53 -0
  853. data/spec/payroll_nz/models/earnings_template_object_spec.rb +53 -0
  854. data/spec/payroll_nz/models/earnings_template_spec.rb +71 -0
  855. data/spec/payroll_nz/models/employee_earnings_templates_spec.rb +53 -0
  856. data/spec/payroll_nz/models/employee_leave_balance_spec.rb +59 -0
  857. data/spec/payroll_nz/models/employee_leave_balances_spec.rb +53 -0
  858. data/spec/payroll_nz/models/employee_leave_object_spec.rb +53 -0
  859. data/spec/payroll_nz/models/employee_leave_setup_object_spec.rb +53 -0
  860. data/spec/payroll_nz/models/employee_leave_setup_spec.rb +77 -0
  861. data/spec/payroll_nz/models/employee_leave_spec.rb +77 -0
  862. data/spec/payroll_nz/models/employee_leave_type_object_spec.rb +53 -0
  863. data/spec/payroll_nz/models/employee_leave_type_spec.rb +99 -0
  864. data/spec/payroll_nz/models/employee_leave_types_spec.rb +53 -0
  865. data/spec/payroll_nz/models/employee_leaves_spec.rb +53 -0
  866. data/spec/payroll_nz/models/employee_object_spec.rb +53 -0
  867. data/spec/payroll_nz/models/employee_opening_balance_spec.rb +59 -0
  868. data/spec/payroll_nz/models/employee_opening_balances_object_spec.rb +53 -0
  869. data/spec/payroll_nz/models/employee_pay_template_object_spec.rb +53 -0
  870. data/spec/payroll_nz/models/employee_pay_template_spec.rb +47 -0
  871. data/spec/payroll_nz/models/employee_pay_templates_spec.rb +53 -0
  872. data/spec/payroll_nz/models/employee_spec.rb +123 -0
  873. data/spec/payroll_nz/models/employee_statutory_leave_balance_object_spec.rb +53 -0
  874. data/spec/payroll_nz/models/employee_statutory_leave_balance_spec.rb +61 -0
  875. data/spec/payroll_nz/models/employee_statutory_leave_summary_spec.rb +85 -0
  876. data/spec/payroll_nz/models/employee_statutory_leaves_summaries_spec.rb +53 -0
  877. data/spec/payroll_nz/models/employee_statutory_sick_leave_object_spec.rb +53 -0
  878. data/spec/payroll_nz/models/employee_statutory_sick_leave_spec.rb +135 -0
  879. data/spec/payroll_nz/models/employee_statutory_sick_leaves_spec.rb +53 -0
  880. data/spec/payroll_nz/models/employee_tax_object_spec.rb +53 -0
  881. data/spec/payroll_nz/models/employee_tax_spec.rb +135 -0
  882. data/spec/payroll_nz/models/employees_spec.rb +53 -0
  883. data/spec/payroll_nz/models/employment_object_spec.rb +53 -0
  884. data/spec/payroll_nz/models/employment_spec.rb +53 -0
  885. data/spec/payroll_nz/models/gross_earnings_history_spec.rb +47 -0
  886. data/spec/payroll_nz/models/invalid_field_spec.rb +47 -0
  887. data/spec/payroll_nz/models/leave_accrual_line_spec.rb +47 -0
  888. data/spec/payroll_nz/models/leave_earnings_line_spec.rb +95 -0
  889. data/spec/payroll_nz/models/leave_period_spec.rb +63 -0
  890. data/spec/payroll_nz/models/leave_periods_spec.rb +53 -0
  891. data/spec/payroll_nz/models/leave_type_object_spec.rb +53 -0
  892. data/spec/payroll_nz/models/leave_type_spec.rb +71 -0
  893. data/spec/payroll_nz/models/leave_types_spec.rb +53 -0
  894. data/spec/payroll_nz/models/pagination_spec.rb +59 -0
  895. data/spec/payroll_nz/models/pay_run_calendar_object_spec.rb +53 -0
  896. data/spec/payroll_nz/models/pay_run_calendar_spec.rb +81 -0
  897. data/spec/payroll_nz/models/pay_run_calendars_spec.rb +53 -0
  898. data/spec/payroll_nz/models/pay_run_object_spec.rb +53 -0
  899. data/spec/payroll_nz/models/pay_run_spec.rb +119 -0
  900. data/spec/payroll_nz/models/pay_runs_spec.rb +53 -0
  901. data/spec/payroll_nz/models/pay_slip_object_spec.rb +53 -0
  902. data/spec/payroll_nz/models/pay_slip_spec.rb +219 -0
  903. data/spec/payroll_nz/models/pay_slips_spec.rb +53 -0
  904. data/spec/payroll_nz/models/payment_line_spec.rb +65 -0
  905. data/spec/payroll_nz/models/payment_method_object_spec.rb +53 -0
  906. data/spec/payroll_nz/models/payment_method_spec.rb +51 -0
  907. data/spec/payroll_nz/models/problem_spec.rb +71 -0
  908. data/spec/payroll_nz/models/reimbursement_line_spec.rb +65 -0
  909. data/spec/payroll_nz/models/reimbursement_object_spec.rb +53 -0
  910. data/spec/payroll_nz/models/reimbursement_spec.rb +101 -0
  911. data/spec/payroll_nz/models/reimbursements_spec.rb +53 -0
  912. data/spec/payroll_nz/models/salary_and_wage_object_spec.rb +53 -0
  913. data/spec/payroll_nz/models/salary_and_wage_spec.rb +103 -0
  914. data/spec/payroll_nz/models/salary_and_wages_spec.rb +53 -0
  915. data/spec/payroll_nz/models/settings_spec.rb +53 -0
  916. data/spec/payroll_nz/models/statutory_deduction_category_spec.rb +35 -0
  917. data/spec/payroll_nz/models/statutory_deduction_line_spec.rb +59 -0
  918. data/spec/payroll_nz/models/statutory_deduction_object_spec.rb +53 -0
  919. data/spec/payroll_nz/models/statutory_deduction_spec.rb +65 -0
  920. data/spec/payroll_nz/models/statutory_deductions_spec.rb +53 -0
  921. data/spec/payroll_nz/models/superannuation_line_spec.rb +71 -0
  922. data/spec/payroll_nz/models/superannuation_object_spec.rb +53 -0
  923. data/spec/payroll_nz/models/superannuations_spec.rb +53 -0
  924. data/spec/payroll_nz/models/tax_code_spec.rb +35 -0
  925. data/spec/payroll_nz/models/tax_line_spec.rb +65 -0
  926. data/spec/payroll_nz/models/tax_settings_spec.rb +75 -0
  927. data/spec/payroll_nz/models/timesheet_earnings_line_spec.rb +95 -0
  928. data/spec/payroll_nz/models/timesheet_line_object_spec.rb +53 -0
  929. data/spec/payroll_nz/models/timesheet_line_spec.rb +65 -0
  930. data/spec/payroll_nz/models/timesheet_object_spec.rb +53 -0
  931. data/spec/payroll_nz/models/timesheet_spec.rb +93 -0
  932. data/spec/payroll_nz/models/timesheets_spec.rb +53 -0
  933. data/spec/payroll_nz/models/tracking_categories_spec.rb +53 -0
  934. data/spec/payroll_nz/models/tracking_category_spec.rb +47 -0
  935. data/spec/payroll_uk/api/payroll_uk_api_spec.rb +912 -0
  936. data/spec/payroll_uk/models/account_spec.rb +63 -0
  937. data/spec/payroll_uk/models/accounts_spec.rb +41 -0
  938. data/spec/payroll_uk/models/address_spec.rb +65 -0
  939. data/spec/payroll_uk/models/bank_account_spec.rb +53 -0
  940. data/spec/payroll_uk/models/benefit_line_spec.rb +65 -0
  941. data/spec/payroll_uk/models/benefit_object_spec.rb +53 -0
  942. data/spec/payroll_uk/models/benefit_spec.rb +127 -0
  943. data/spec/payroll_uk/models/benefits_spec.rb +53 -0
  944. data/spec/payroll_uk/models/court_order_line_spec.rb +47 -0
  945. data/spec/payroll_uk/models/deduction_line_spec.rb +59 -0
  946. data/spec/payroll_uk/models/deduction_object_spec.rb +53 -0
  947. data/spec/payroll_uk/models/deduction_spec.rb +139 -0
  948. data/spec/payroll_uk/models/deductions_spec.rb +53 -0
  949. data/spec/payroll_uk/models/earnings_line_spec.rb +89 -0
  950. data/spec/payroll_uk/models/earnings_order_object_spec.rb +53 -0
  951. data/spec/payroll_uk/models/earnings_order_spec.rb +65 -0
  952. data/spec/payroll_uk/models/earnings_orders_spec.rb +53 -0
  953. data/spec/payroll_uk/models/earnings_rate_object_spec.rb +53 -0
  954. data/spec/payroll_uk/models/earnings_rate_spec.rb +103 -0
  955. data/spec/payroll_uk/models/earnings_rates_spec.rb +53 -0
  956. data/spec/payroll_uk/models/earnings_template_object_spec.rb +53 -0
  957. data/spec/payroll_uk/models/earnings_template_spec.rb +71 -0
  958. data/spec/payroll_uk/models/employee_leave_balance_spec.rb +59 -0
  959. data/spec/payroll_uk/models/employee_leave_balances_spec.rb +53 -0
  960. data/spec/payroll_uk/models/employee_leave_object_spec.rb +53 -0
  961. data/spec/payroll_uk/models/employee_leave_spec.rb +77 -0
  962. data/spec/payroll_uk/models/employee_leave_type_object_spec.rb +53 -0
  963. data/spec/payroll_uk/models/employee_leave_type_spec.rb +75 -0
  964. data/spec/payroll_uk/models/employee_leave_types_spec.rb +53 -0
  965. data/spec/payroll_uk/models/employee_leaves_spec.rb +53 -0
  966. data/spec/payroll_uk/models/employee_object_spec.rb +53 -0
  967. data/spec/payroll_uk/models/employee_opening_balances_object_spec.rb +53 -0
  968. data/spec/payroll_uk/models/employee_opening_balances_spec.rb +71 -0
  969. data/spec/payroll_uk/models/employee_pay_template_object_spec.rb +53 -0
  970. data/spec/payroll_uk/models/employee_pay_template_spec.rb +47 -0
  971. data/spec/payroll_uk/models/employee_pay_templates_spec.rb +53 -0
  972. data/spec/payroll_uk/models/employee_spec.rb +129 -0
  973. data/spec/payroll_uk/models/employee_statutory_leave_balance_object_spec.rb +53 -0
  974. data/spec/payroll_uk/models/employee_statutory_leave_balance_spec.rb +61 -0
  975. data/spec/payroll_uk/models/employee_statutory_leave_summary_spec.rb +85 -0
  976. data/spec/payroll_uk/models/employee_statutory_leaves_summaries_spec.rb +53 -0
  977. data/spec/payroll_uk/models/employee_statutory_sick_leave_object_spec.rb +53 -0
  978. data/spec/payroll_uk/models/employee_statutory_sick_leave_spec.rb +135 -0
  979. data/spec/payroll_uk/models/employee_statutory_sick_leaves_spec.rb +53 -0
  980. data/spec/payroll_uk/models/employee_tax_object_spec.rb +53 -0
  981. data/spec/payroll_uk/models/employee_tax_spec.rb +101 -0
  982. data/spec/payroll_uk/models/employees_spec.rb +53 -0
  983. data/spec/payroll_uk/models/employment_object_spec.rb +53 -0
  984. data/spec/payroll_uk/models/employment_spec.rb +63 -0
  985. data/spec/payroll_uk/models/invalid_field_spec.rb +47 -0
  986. data/spec/payroll_uk/models/leave_accrual_line_spec.rb +47 -0
  987. data/spec/payroll_uk/models/leave_earnings_line_spec.rb +71 -0
  988. data/spec/payroll_uk/models/leave_period_spec.rb +63 -0
  989. data/spec/payroll_uk/models/leave_periods_spec.rb +53 -0
  990. data/spec/payroll_uk/models/leave_type_object_spec.rb +53 -0
  991. data/spec/payroll_uk/models/leave_type_spec.rb +83 -0
  992. data/spec/payroll_uk/models/leave_types_spec.rb +53 -0
  993. data/spec/payroll_uk/models/pagination_spec.rb +59 -0
  994. data/spec/payroll_uk/models/pay_run_calendar_object_spec.rb +53 -0
  995. data/spec/payroll_uk/models/pay_run_calendar_spec.rb +81 -0
  996. data/spec/payroll_uk/models/pay_run_calendars_spec.rb +53 -0
  997. data/spec/payroll_uk/models/pay_run_object_spec.rb +53 -0
  998. data/spec/payroll_uk/models/pay_run_spec.rb +119 -0
  999. data/spec/payroll_uk/models/pay_runs_spec.rb +53 -0
  1000. data/spec/payroll_uk/models/payment_line_spec.rb +65 -0
  1001. data/spec/payroll_uk/models/payment_method_object_spec.rb +53 -0
  1002. data/spec/payroll_uk/models/payment_method_spec.rb +51 -0
  1003. data/spec/payroll_uk/models/payslip_object_spec.rb +53 -0
  1004. data/spec/payroll_uk/models/payslip_spec.rb +201 -0
  1005. data/spec/payroll_uk/models/payslips_spec.rb +53 -0
  1006. data/spec/payroll_uk/models/problem_spec.rb +71 -0
  1007. data/spec/payroll_uk/models/reimbursement_line_spec.rb +53 -0
  1008. data/spec/payroll_uk/models/reimbursement_object_spec.rb +53 -0
  1009. data/spec/payroll_uk/models/reimbursement_spec.rb +59 -0
  1010. data/spec/payroll_uk/models/reimbursements_spec.rb +53 -0
  1011. data/spec/payroll_uk/models/salary_and_wage_object_spec.rb +53 -0
  1012. data/spec/payroll_uk/models/salary_and_wage_spec.rb +97 -0
  1013. data/spec/payroll_uk/models/salary_and_wages_spec.rb +53 -0
  1014. data/spec/payroll_uk/models/settings_spec.rb +53 -0
  1015. data/spec/payroll_uk/models/statutory_deduction_category_spec.rb +35 -0
  1016. data/spec/payroll_uk/models/statutory_deduction_spec.rb +65 -0
  1017. data/spec/payroll_uk/models/tax_line_spec.rb +71 -0
  1018. data/spec/payroll_uk/models/timesheet_earnings_line_spec.rb +71 -0
  1019. data/spec/payroll_uk/models/timesheet_line_object_spec.rb +53 -0
  1020. data/spec/payroll_uk/models/timesheet_line_spec.rb +65 -0
  1021. data/spec/payroll_uk/models/timesheet_object_spec.rb +53 -0
  1022. data/spec/payroll_uk/models/timesheet_spec.rb +93 -0
  1023. data/spec/payroll_uk/models/timesheets_spec.rb +53 -0
  1024. data/spec/payroll_uk/models/tracking_categories_spec.rb +53 -0
  1025. data/spec/payroll_uk/models/tracking_category_spec.rb +47 -0
  1026. data/xero-ruby.gem +0 -0
  1027. data/xero-ruby.gemspec +1 -1
  1028. metadata +1144 -2
@@ -0,0 +1,329 @@
1
+ =begin
2
+ #Xero Payroll NZ
3
+
4
+ #This is the Xero Payroll API for orgs in the NZ 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::PayrollNz
17
+ require 'bigdecimal'
18
+
19
+ class BankAccount
20
+ # Bank account name (max length = 32)
21
+ attr_accessor :account_name
22
+
23
+ # Bank account number (digits only; max length = 8)
24
+ attr_accessor :account_number
25
+
26
+ # Bank account sort code (6 digits)
27
+ attr_accessor :sort_code
28
+
29
+ # Particulars that appear on the statement.
30
+ attr_accessor :particulars
31
+
32
+ # Code of a transaction that appear on the statement.
33
+ attr_accessor :code
34
+
35
+ # Dollar amount of a transaction.
36
+ attr_accessor :dollar_amount
37
+
38
+ # Statement Text/reference for a transaction that appear on the statement.
39
+ attr_accessor :reference
40
+
41
+ # Calculation type for the transaction can be 'Fixed Amount' or 'Balance'
42
+ attr_accessor :calculation_type
43
+ FIXED_AMOUNT = "FixedAmount".freeze
44
+ BALANCE = "Balance".freeze
45
+
46
+ class EnumAttributeValidator
47
+ attr_reader :datatype
48
+ attr_reader :allowable_values
49
+
50
+ def initialize(datatype, allowable_values)
51
+ @allowable_values = allowable_values.map do |value|
52
+ case datatype.to_s
53
+ when /Integer/i
54
+ value.to_i
55
+ when /Float/i
56
+ value.to_f
57
+ else
58
+ value
59
+ end
60
+ end
61
+ end
62
+
63
+ def valid?(value)
64
+ !value || allowable_values.include?(value)
65
+ end
66
+ end
67
+
68
+ # Attribute mapping from ruby-style variable name to JSON key.
69
+ def self.attribute_map
70
+ {
71
+ :'account_name' => :'accountName',
72
+ :'account_number' => :'accountNumber',
73
+ :'sort_code' => :'sortCode',
74
+ :'particulars' => :'particulars',
75
+ :'code' => :'code',
76
+ :'dollar_amount' => :'dollarAmount',
77
+ :'reference' => :'reference',
78
+ :'calculation_type' => :'calculationType'
79
+ }
80
+ end
81
+
82
+ # Attribute type mapping.
83
+ def self.openapi_types
84
+ {
85
+ :'account_name' => :'String',
86
+ :'account_number' => :'String',
87
+ :'sort_code' => :'String',
88
+ :'particulars' => :'String',
89
+ :'code' => :'String',
90
+ :'dollar_amount' => :'BigDecimal',
91
+ :'reference' => :'String',
92
+ :'calculation_type' => :'String'
93
+ }
94
+ end
95
+
96
+ # Initializes the object
97
+ # @param [Hash] attributes Model attributes in the form of hash
98
+ def initialize(attributes = {})
99
+ if (!attributes.is_a?(Hash))
100
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::PayrollNz::BankAccount` initialize method"
101
+ end
102
+
103
+ # check to see if the attribute exists and convert string to symbol for hash key
104
+ attributes = attributes.each_with_object({}) { |(k, v), h|
105
+ if (!self.class.attribute_map.key?(k.to_sym))
106
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::PayrollNz::BankAccount`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
107
+ end
108
+ h[k.to_sym] = v
109
+ }
110
+
111
+ if attributes.key?(:'account_name')
112
+ self.account_name = attributes[:'account_name']
113
+ end
114
+
115
+ if attributes.key?(:'account_number')
116
+ self.account_number = attributes[:'account_number']
117
+ end
118
+
119
+ if attributes.key?(:'sort_code')
120
+ self.sort_code = attributes[:'sort_code']
121
+ end
122
+
123
+ if attributes.key?(:'particulars')
124
+ self.particulars = attributes[:'particulars']
125
+ end
126
+
127
+ if attributes.key?(:'code')
128
+ self.code = attributes[:'code']
129
+ end
130
+
131
+ if attributes.key?(:'dollar_amount')
132
+ self.dollar_amount = attributes[:'dollar_amount']
133
+ end
134
+
135
+ if attributes.key?(:'reference')
136
+ self.reference = attributes[:'reference']
137
+ end
138
+
139
+ if attributes.key?(:'calculation_type')
140
+ self.calculation_type = attributes[:'calculation_type']
141
+ end
142
+ end
143
+
144
+ # Show invalid properties with the reasons. Usually used together with valid?
145
+ # @return Array for valid properties with the reasons
146
+ def list_invalid_properties
147
+ invalid_properties = Array.new
148
+ if @account_name.nil?
149
+ invalid_properties.push('invalid value for "account_name", account_name cannot be nil.')
150
+ end
151
+
152
+ if @account_number.nil?
153
+ invalid_properties.push('invalid value for "account_number", account_number cannot be nil.')
154
+ end
155
+
156
+ if @sort_code.nil?
157
+ invalid_properties.push('invalid value for "sort_code", sort_code cannot be nil.')
158
+ end
159
+
160
+ invalid_properties
161
+ end
162
+
163
+ # Check to see if the all the properties in the model are valid
164
+ # @return true if the model is valid
165
+ def valid?
166
+ return false if @account_name.nil?
167
+ return false if @account_number.nil?
168
+ return false if @sort_code.nil?
169
+ calculation_type_validator = EnumAttributeValidator.new('String', ["FixedAmount", "Balance"])
170
+ return false unless calculation_type_validator.valid?(@calculation_type)
171
+ true
172
+ end
173
+
174
+ # Custom attribute writer method checking allowed values (enum).
175
+ # @param [Object] calculation_type Object to be assigned
176
+ def calculation_type=(calculation_type)
177
+ validator = EnumAttributeValidator.new('String', ["FixedAmount", "Balance"])
178
+ unless validator.valid?(calculation_type)
179
+ fail ArgumentError, "invalid value for \"calculation_type\", must be one of #{validator.allowable_values}."
180
+ end
181
+ @calculation_type = calculation_type
182
+ end
183
+
184
+ # Checks equality by comparing each attribute.
185
+ # @param [Object] Object to be compared
186
+ def ==(o)
187
+ return true if self.equal?(o)
188
+ self.class == o.class &&
189
+ account_name == o.account_name &&
190
+ account_number == o.account_number &&
191
+ sort_code == o.sort_code &&
192
+ particulars == o.particulars &&
193
+ code == o.code &&
194
+ dollar_amount == o.dollar_amount &&
195
+ reference == o.reference &&
196
+ calculation_type == o.calculation_type
197
+ end
198
+
199
+ # @see the `==` method
200
+ # @param [Object] Object to be compared
201
+ def eql?(o)
202
+ self == o
203
+ end
204
+
205
+ # Calculates hash code according to all attributes.
206
+ # @return [Integer] Hash code
207
+ def hash
208
+ [account_name, account_number, sort_code, particulars, code, dollar_amount, reference, calculation_type].hash
209
+ end
210
+
211
+ # Builds the object from hash
212
+ # @param [Hash] attributes Model attributes in the form of hash
213
+ # @return [Object] Returns the model itself
214
+ def self.build_from_hash(attributes)
215
+ new.build_from_hash(attributes)
216
+ end
217
+
218
+ # Builds the object from hash
219
+ # @param [Hash] attributes Model attributes in the form of hash
220
+ # @return [Object] Returns the model itself
221
+ def build_from_hash(attributes)
222
+ return nil unless attributes.is_a?(Hash)
223
+ self.class.openapi_types.each_pair do |key, type|
224
+ if type =~ /\AArray<(.*)>/i
225
+ # check to ensure the input is an array given that the attribute
226
+ # is documented as an array but the input is not
227
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
228
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
229
+ end
230
+ elsif !attributes[self.class.attribute_map[key]].nil?
231
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
232
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
233
+ end
234
+
235
+ self
236
+ end
237
+
238
+ # Deserializes the data based on type
239
+ # @param string type Data type
240
+ # @param string value Value to be deserialized
241
+ # @return [Object] Deserialized data
242
+ def _deserialize(type, value)
243
+ case type.to_sym
244
+ when :DateTime
245
+ DateTime.parse(parse_date(value))
246
+ when :Date
247
+ Date.parse(parse_date(value))
248
+ when :String
249
+ value.to_s
250
+ when :Integer
251
+ value.to_i
252
+ when :Float
253
+ value.to_f
254
+ when :BigDecimal
255
+ BigDecimal(value.to_s)
256
+ when :Boolean
257
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
258
+ true
259
+ else
260
+ false
261
+ end
262
+ when :Object
263
+ # generic object (usually a Hash), return directly
264
+ value
265
+ when /\AArray<(?<inner_type>.+)>\z/
266
+ inner_type = Regexp.last_match[:inner_type]
267
+ value.map { |v| _deserialize(inner_type, v) }
268
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
269
+ k_type = Regexp.last_match[:k_type]
270
+ v_type = Regexp.last_match[:v_type]
271
+ {}.tap do |hash|
272
+ value.each do |k, v|
273
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
274
+ end
275
+ end
276
+ else # model
277
+ XeroRuby::PayrollNz.const_get(type).build_from_hash(value)
278
+ end
279
+ end
280
+
281
+ # Returns the string representation of the object
282
+ # @return [String] String presentation of the object
283
+ def to_s
284
+ to_hash.to_s
285
+ end
286
+
287
+ # to_body is an alias to to_hash (backward compatibility)
288
+ # @return [Hash] Returns the object in the form of hash
289
+ def to_body
290
+ to_hash
291
+ end
292
+
293
+ # Returns the object in the form of hash
294
+ # @return [Hash] Returns the object in the form of hash
295
+ def to_hash
296
+ hash = {}
297
+ self.class.attribute_map.each_pair do |attr, param|
298
+ value = self.send(attr)
299
+ next if value.nil?
300
+ hash[param] = _to_hash(value)
301
+ end
302
+ hash
303
+ end
304
+
305
+ # Outputs non-array value in the form of hash
306
+ # For object, use to_hash. Otherwise, just return the value
307
+ # @param [Object] value Any valid value
308
+ # @return [Hash] Returns the value in the form of hash
309
+ def _to_hash(value)
310
+ if value.is_a?(Array)
311
+ value.compact.map { |v| _to_hash(v) }
312
+ elsif value.is_a?(Hash)
313
+ {}.tap do |hash|
314
+ value.each { |k, v| hash[k] = _to_hash(v) }
315
+ end
316
+ elsif value.respond_to? :to_hash
317
+ value.to_hash
318
+ else
319
+ value
320
+ end
321
+ end
322
+
323
+ # customized data_parser
324
+ def parse_date(datestring)
325
+ seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
326
+ return Time.at(seconds_since_epoch).strftime('%Y-%m-%dT%l:%M:%S%z').to_s
327
+ end
328
+ end
329
+ end
@@ -0,0 +1,369 @@
1
+ =begin
2
+ #Xero Payroll NZ
3
+
4
+ #This is the Xero Payroll API for orgs in the NZ 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::PayrollNz
17
+ require 'bigdecimal'
18
+
19
+ class Benefit
20
+ # The Xero identifier for superannuation
21
+ attr_accessor :id
22
+
23
+ # Name of the superannuations
24
+ attr_accessor :name
25
+
26
+ # Superannuations Category type
27
+ attr_accessor :category
28
+ KIWI_SAVER = "KiwiSaver".freeze
29
+ COMPLYING_FUND = "ComplyingFund".freeze
30
+ OTHER = "Other".freeze
31
+
32
+ # Xero identifier for Liability Account
33
+ attr_accessor :liability_account_id
34
+
35
+ # Xero identifier for Expense Account
36
+ attr_accessor :expense_account_id
37
+
38
+ # Calculation Type of the superannuation either FixedAmount or PercentageOfTaxableEarnings
39
+ attr_accessor :calculation_type_nz
40
+ FIXED_AMOUNT = "FixedAmount".freeze
41
+ PERCENTAGE_OF_TAXABLE_EARNINGS = "PercentageOfTaxableEarnings".freeze
42
+
43
+ # Standard amount of the superannuation
44
+ attr_accessor :standard_amount
45
+
46
+ # Percentage of Taxable Earnings of the superannuation
47
+ attr_accessor :percentage
48
+
49
+ # Company Maximum amount of the superannuation
50
+ attr_accessor :company_max
51
+
52
+ # Identifier of a record is active or not.
53
+ attr_accessor :current_record
54
+
55
+ class EnumAttributeValidator
56
+ attr_reader :datatype
57
+ attr_reader :allowable_values
58
+
59
+ def initialize(datatype, allowable_values)
60
+ @allowable_values = allowable_values.map do |value|
61
+ case datatype.to_s
62
+ when /Integer/i
63
+ value.to_i
64
+ when /Float/i
65
+ value.to_f
66
+ else
67
+ value
68
+ end
69
+ end
70
+ end
71
+
72
+ def valid?(value)
73
+ !value || allowable_values.include?(value)
74
+ end
75
+ end
76
+
77
+ # Attribute mapping from ruby-style variable name to JSON key.
78
+ def self.attribute_map
79
+ {
80
+ :'id' => :'id',
81
+ :'name' => :'name',
82
+ :'category' => :'category',
83
+ :'liability_account_id' => :'liabilityAccountId',
84
+ :'expense_account_id' => :'expenseAccountId',
85
+ :'calculation_type_nz' => :'calculationTypeNZ',
86
+ :'standard_amount' => :'standardAmount',
87
+ :'percentage' => :'percentage',
88
+ :'company_max' => :'companyMax',
89
+ :'current_record' => :'currentRecord'
90
+ }
91
+ end
92
+
93
+ # Attribute type mapping.
94
+ def self.openapi_types
95
+ {
96
+ :'id' => :'String',
97
+ :'name' => :'String',
98
+ :'category' => :'String',
99
+ :'liability_account_id' => :'String',
100
+ :'expense_account_id' => :'String',
101
+ :'calculation_type_nz' => :'String',
102
+ :'standard_amount' => :'BigDecimal',
103
+ :'percentage' => :'BigDecimal',
104
+ :'company_max' => :'BigDecimal',
105
+ :'current_record' => :'Boolean'
106
+ }
107
+ end
108
+
109
+ # Initializes the object
110
+ # @param [Hash] attributes Model attributes in the form of hash
111
+ def initialize(attributes = {})
112
+ if (!attributes.is_a?(Hash))
113
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::PayrollNz::Benefit` initialize method"
114
+ end
115
+
116
+ # check to see if the attribute exists and convert string to symbol for hash key
117
+ attributes = attributes.each_with_object({}) { |(k, v), h|
118
+ if (!self.class.attribute_map.key?(k.to_sym))
119
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::PayrollNz::Benefit`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
120
+ end
121
+ h[k.to_sym] = v
122
+ }
123
+
124
+ if attributes.key?(:'id')
125
+ self.id = attributes[:'id']
126
+ end
127
+
128
+ if attributes.key?(:'name')
129
+ self.name = attributes[:'name']
130
+ end
131
+
132
+ if attributes.key?(:'category')
133
+ self.category = attributes[:'category']
134
+ end
135
+
136
+ if attributes.key?(:'liability_account_id')
137
+ self.liability_account_id = attributes[:'liability_account_id']
138
+ end
139
+
140
+ if attributes.key?(:'expense_account_id')
141
+ self.expense_account_id = attributes[:'expense_account_id']
142
+ end
143
+
144
+ if attributes.key?(:'calculation_type_nz')
145
+ self.calculation_type_nz = attributes[:'calculation_type_nz']
146
+ end
147
+
148
+ if attributes.key?(:'standard_amount')
149
+ self.standard_amount = attributes[:'standard_amount']
150
+ end
151
+
152
+ if attributes.key?(:'percentage')
153
+ self.percentage = attributes[:'percentage']
154
+ end
155
+
156
+ if attributes.key?(:'company_max')
157
+ self.company_max = attributes[:'company_max']
158
+ end
159
+
160
+ if attributes.key?(:'current_record')
161
+ self.current_record = attributes[:'current_record']
162
+ end
163
+ end
164
+
165
+ # Show invalid properties with the reasons. Usually used together with valid?
166
+ # @return Array for valid properties with the reasons
167
+ def list_invalid_properties
168
+ invalid_properties = Array.new
169
+ if @name.nil?
170
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
171
+ end
172
+
173
+ if @category.nil?
174
+ invalid_properties.push('invalid value for "category", category cannot be nil.')
175
+ end
176
+
177
+ if @liability_account_id.nil?
178
+ invalid_properties.push('invalid value for "liability_account_id", liability_account_id cannot be nil.')
179
+ end
180
+
181
+ if @expense_account_id.nil?
182
+ invalid_properties.push('invalid value for "expense_account_id", expense_account_id cannot be nil.')
183
+ end
184
+
185
+ invalid_properties
186
+ end
187
+
188
+ # Check to see if the all the properties in the model are valid
189
+ # @return true if the model is valid
190
+ def valid?
191
+ return false if @name.nil?
192
+ return false if @category.nil?
193
+ category_validator = EnumAttributeValidator.new('String', ["KiwiSaver", "ComplyingFund", "Other"])
194
+ return false unless category_validator.valid?(@category)
195
+ return false if @liability_account_id.nil?
196
+ return false if @expense_account_id.nil?
197
+ calculation_type_nz_validator = EnumAttributeValidator.new('String', ["FixedAmount", "PercentageOfTaxableEarnings"])
198
+ return false unless calculation_type_nz_validator.valid?(@calculation_type_nz)
199
+ true
200
+ end
201
+
202
+ # Custom attribute writer method checking allowed values (enum).
203
+ # @param [Object] category Object to be assigned
204
+ def category=(category)
205
+ validator = EnumAttributeValidator.new('String', ["KiwiSaver", "ComplyingFund", "Other"])
206
+ unless validator.valid?(category)
207
+ fail ArgumentError, "invalid value for \"category\", must be one of #{validator.allowable_values}."
208
+ end
209
+ @category = category
210
+ end
211
+
212
+ # Custom attribute writer method checking allowed values (enum).
213
+ # @param [Object] calculation_type_nz Object to be assigned
214
+ def calculation_type_nz=(calculation_type_nz)
215
+ validator = EnumAttributeValidator.new('String', ["FixedAmount", "PercentageOfTaxableEarnings"])
216
+ unless validator.valid?(calculation_type_nz)
217
+ fail ArgumentError, "invalid value for \"calculation_type_nz\", must be one of #{validator.allowable_values}."
218
+ end
219
+ @calculation_type_nz = calculation_type_nz
220
+ end
221
+
222
+ # Checks equality by comparing each attribute.
223
+ # @param [Object] Object to be compared
224
+ def ==(o)
225
+ return true if self.equal?(o)
226
+ self.class == o.class &&
227
+ id == o.id &&
228
+ name == o.name &&
229
+ category == o.category &&
230
+ liability_account_id == o.liability_account_id &&
231
+ expense_account_id == o.expense_account_id &&
232
+ calculation_type_nz == o.calculation_type_nz &&
233
+ standard_amount == o.standard_amount &&
234
+ percentage == o.percentage &&
235
+ company_max == o.company_max &&
236
+ current_record == o.current_record
237
+ end
238
+
239
+ # @see the `==` method
240
+ # @param [Object] Object to be compared
241
+ def eql?(o)
242
+ self == o
243
+ end
244
+
245
+ # Calculates hash code according to all attributes.
246
+ # @return [Integer] Hash code
247
+ def hash
248
+ [id, name, category, liability_account_id, expense_account_id, calculation_type_nz, standard_amount, percentage, company_max, current_record].hash
249
+ end
250
+
251
+ # Builds the object from hash
252
+ # @param [Hash] attributes Model attributes in the form of hash
253
+ # @return [Object] Returns the model itself
254
+ def self.build_from_hash(attributes)
255
+ new.build_from_hash(attributes)
256
+ end
257
+
258
+ # Builds the object from hash
259
+ # @param [Hash] attributes Model attributes in the form of hash
260
+ # @return [Object] Returns the model itself
261
+ def build_from_hash(attributes)
262
+ return nil unless attributes.is_a?(Hash)
263
+ self.class.openapi_types.each_pair do |key, type|
264
+ if type =~ /\AArray<(.*)>/i
265
+ # check to ensure the input is an array given that the attribute
266
+ # is documented as an array but the input is not
267
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
268
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
269
+ end
270
+ elsif !attributes[self.class.attribute_map[key]].nil?
271
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
272
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
273
+ end
274
+
275
+ self
276
+ end
277
+
278
+ # Deserializes the data based on type
279
+ # @param string type Data type
280
+ # @param string value Value to be deserialized
281
+ # @return [Object] Deserialized data
282
+ def _deserialize(type, value)
283
+ case type.to_sym
284
+ when :DateTime
285
+ DateTime.parse(parse_date(value))
286
+ when :Date
287
+ Date.parse(parse_date(value))
288
+ when :String
289
+ value.to_s
290
+ when :Integer
291
+ value.to_i
292
+ when :Float
293
+ value.to_f
294
+ when :BigDecimal
295
+ BigDecimal(value.to_s)
296
+ when :Boolean
297
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
298
+ true
299
+ else
300
+ false
301
+ end
302
+ when :Object
303
+ # generic object (usually a Hash), return directly
304
+ value
305
+ when /\AArray<(?<inner_type>.+)>\z/
306
+ inner_type = Regexp.last_match[:inner_type]
307
+ value.map { |v| _deserialize(inner_type, v) }
308
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
309
+ k_type = Regexp.last_match[:k_type]
310
+ v_type = Regexp.last_match[:v_type]
311
+ {}.tap do |hash|
312
+ value.each do |k, v|
313
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
314
+ end
315
+ end
316
+ else # model
317
+ XeroRuby::PayrollNz.const_get(type).build_from_hash(value)
318
+ end
319
+ end
320
+
321
+ # Returns the string representation of the object
322
+ # @return [String] String presentation of the object
323
+ def to_s
324
+ to_hash.to_s
325
+ end
326
+
327
+ # to_body is an alias to to_hash (backward compatibility)
328
+ # @return [Hash] Returns the object in the form of hash
329
+ def to_body
330
+ to_hash
331
+ end
332
+
333
+ # Returns the object in the form of hash
334
+ # @return [Hash] Returns the object in the form of hash
335
+ def to_hash
336
+ hash = {}
337
+ self.class.attribute_map.each_pair do |attr, param|
338
+ value = self.send(attr)
339
+ next if value.nil?
340
+ hash[param] = _to_hash(value)
341
+ end
342
+ hash
343
+ end
344
+
345
+ # Outputs non-array value in the form of hash
346
+ # For object, use to_hash. Otherwise, just return the value
347
+ # @param [Object] value Any valid value
348
+ # @return [Hash] Returns the value in the form of hash
349
+ def _to_hash(value)
350
+ if value.is_a?(Array)
351
+ value.compact.map { |v| _to_hash(v) }
352
+ elsif value.is_a?(Hash)
353
+ {}.tap do |hash|
354
+ value.each { |k, v| hash[k] = _to_hash(v) }
355
+ end
356
+ elsif value.respond_to? :to_hash
357
+ value.to_hash
358
+ else
359
+ value
360
+ end
361
+ end
362
+
363
+ # customized data_parser
364
+ def parse_date(datestring)
365
+ seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
366
+ return Time.at(seconds_since_epoch).strftime('%Y-%m-%dT%l:%M:%S%z').to_s
367
+ end
368
+ end
369
+ end