xero-ruby 2.4.1 → 2.6.2

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 (451) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +34 -5
  3. data/lib/xero-ruby.rb +1 -1
  4. data/lib/xero-ruby/api/accounting_api.rb +6 -1
  5. data/lib/xero-ruby/api/asset_api.rb +0 -1
  6. data/lib/xero-ruby/api/files_api.rb +0 -1
  7. data/lib/xero-ruby/api/payroll_au_api.rb +0 -1
  8. data/lib/xero-ruby/api/payroll_nz_api.rb +0 -1
  9. data/lib/xero-ruby/api/payroll_uk_api.rb +0 -1
  10. data/lib/xero-ruby/api/project_api.rb +0 -1
  11. data/lib/xero-ruby/api_client.rb +34 -27
  12. data/lib/xero-ruby/api_error.rb +3 -3
  13. data/lib/xero-ruby/configuration.rb +0 -1
  14. data/lib/xero-ruby/models/accounting/account.rb +14 -7
  15. data/lib/xero-ruby/models/accounting/account_type.rb +0 -1
  16. data/lib/xero-ruby/models/accounting/accounts.rb +14 -6
  17. data/lib/xero-ruby/models/accounting/accounts_payable.rb +14 -6
  18. data/lib/xero-ruby/models/accounting/accounts_receivable.rb +14 -6
  19. data/lib/xero-ruby/models/accounting/action.rb +14 -6
  20. data/lib/xero-ruby/models/accounting/actions.rb +14 -6
  21. data/lib/xero-ruby/models/accounting/address.rb +16 -9
  22. data/lib/xero-ruby/models/accounting/address_for_organisation.rb +478 -0
  23. data/lib/xero-ruby/models/accounting/allocation.rb +14 -6
  24. data/lib/xero-ruby/models/accounting/allocations.rb +14 -6
  25. data/lib/xero-ruby/models/accounting/attachment.rb +14 -6
  26. data/lib/xero-ruby/models/accounting/attachments.rb +14 -6
  27. data/lib/xero-ruby/models/accounting/balance_details.rb +14 -6
  28. data/lib/xero-ruby/models/accounting/balances.rb +14 -6
  29. data/lib/xero-ruby/models/accounting/bank_transaction.rb +14 -6
  30. data/lib/xero-ruby/models/accounting/bank_transactions.rb +14 -6
  31. data/lib/xero-ruby/models/accounting/bank_transfer.rb +14 -6
  32. data/lib/xero-ruby/models/accounting/bank_transfers.rb +14 -6
  33. data/lib/xero-ruby/models/accounting/batch_payment.rb +14 -6
  34. data/lib/xero-ruby/models/accounting/batch_payment_details.rb +14 -6
  35. data/lib/xero-ruby/models/accounting/batch_payments.rb +14 -6
  36. data/lib/xero-ruby/models/accounting/bill.rb +14 -6
  37. data/lib/xero-ruby/models/accounting/branding_theme.rb +14 -6
  38. data/lib/xero-ruby/models/accounting/branding_themes.rb +14 -6
  39. data/lib/xero-ruby/models/accounting/cis_org_setting.rb +15 -7
  40. data/lib/xero-ruby/models/accounting/cis_setting.rb +15 -7
  41. data/lib/xero-ruby/models/accounting/cis_settings.rb +14 -6
  42. data/lib/xero-ruby/models/accounting/contact.rb +14 -6
  43. data/lib/xero-ruby/models/accounting/contact_group.rb +14 -6
  44. data/lib/xero-ruby/models/accounting/contact_groups.rb +14 -6
  45. data/lib/xero-ruby/models/accounting/contact_person.rb +14 -6
  46. data/lib/xero-ruby/models/accounting/contacts.rb +14 -6
  47. data/lib/xero-ruby/models/accounting/conversion_balances.rb +14 -6
  48. data/lib/xero-ruby/models/accounting/conversion_date.rb +14 -6
  49. data/lib/xero-ruby/models/accounting/country_code.rb +0 -1
  50. data/lib/xero-ruby/models/accounting/credit_note.rb +35 -7
  51. data/lib/xero-ruby/models/accounting/credit_notes.rb +14 -6
  52. data/lib/xero-ruby/models/accounting/currencies.rb +14 -6
  53. data/lib/xero-ruby/models/accounting/currency.rb +14 -6
  54. data/lib/xero-ruby/models/accounting/currency_code.rb +0 -1
  55. data/lib/xero-ruby/models/accounting/element.rb +14 -6
  56. data/lib/xero-ruby/models/accounting/employee.rb +14 -6
  57. data/lib/xero-ruby/models/accounting/employees.rb +14 -6
  58. data/lib/xero-ruby/models/accounting/error.rb +14 -6
  59. data/lib/xero-ruby/models/accounting/expense_claim.rb +14 -6
  60. data/lib/xero-ruby/models/accounting/expense_claims.rb +14 -6
  61. data/lib/xero-ruby/models/accounting/external_link.rb +14 -6
  62. data/lib/xero-ruby/models/accounting/history_record.rb +14 -6
  63. data/lib/xero-ruby/models/accounting/history_records.rb +14 -6
  64. data/lib/xero-ruby/models/accounting/import_summary.rb +14 -6
  65. data/lib/xero-ruby/models/accounting/import_summary_accounts.rb +14 -6
  66. data/lib/xero-ruby/models/accounting/import_summary_object.rb +14 -6
  67. data/lib/xero-ruby/models/accounting/import_summary_organisation.rb +14 -6
  68. data/lib/xero-ruby/models/accounting/invoice.rb +26 -23
  69. data/lib/xero-ruby/models/accounting/invoice_reminder.rb +14 -6
  70. data/lib/xero-ruby/models/accounting/invoice_reminders.rb +14 -6
  71. data/lib/xero-ruby/models/accounting/invoices.rb +14 -6
  72. data/lib/xero-ruby/models/accounting/item.rb +14 -6
  73. data/lib/xero-ruby/models/accounting/items.rb +14 -6
  74. data/lib/xero-ruby/models/accounting/journal.rb +14 -6
  75. data/lib/xero-ruby/models/accounting/journal_line.rb +14 -6
  76. data/lib/xero-ruby/models/accounting/journals.rb +14 -6
  77. data/lib/xero-ruby/models/accounting/line_amount_types.rb +0 -1
  78. data/lib/xero-ruby/models/accounting/line_item.rb +14 -6
  79. data/lib/xero-ruby/models/accounting/line_item_tracking.rb +14 -6
  80. data/lib/xero-ruby/models/accounting/linked_transaction.rb +14 -6
  81. data/lib/xero-ruby/models/accounting/linked_transactions.rb +14 -6
  82. data/lib/xero-ruby/models/accounting/manual_journal.rb +14 -6
  83. data/lib/xero-ruby/models/accounting/manual_journal_line.rb +14 -6
  84. data/lib/xero-ruby/models/accounting/manual_journals.rb +14 -6
  85. data/lib/xero-ruby/models/accounting/online_invoice.rb +14 -6
  86. data/lib/xero-ruby/models/accounting/online_invoices.rb +14 -6
  87. data/lib/xero-ruby/models/accounting/organisation.rb +15 -9
  88. data/lib/xero-ruby/models/accounting/organisations.rb +14 -6
  89. data/lib/xero-ruby/models/accounting/overpayment.rb +14 -6
  90. data/lib/xero-ruby/models/accounting/overpayments.rb +14 -6
  91. data/lib/xero-ruby/models/accounting/payment.rb +14 -6
  92. data/lib/xero-ruby/models/accounting/payment_delete.rb +14 -6
  93. data/lib/xero-ruby/models/accounting/payment_service.rb +14 -6
  94. data/lib/xero-ruby/models/accounting/payment_services.rb +14 -6
  95. data/lib/xero-ruby/models/accounting/payment_term.rb +14 -6
  96. data/lib/xero-ruby/models/accounting/payment_term_type.rb +0 -1
  97. data/lib/xero-ruby/models/accounting/payments.rb +14 -6
  98. data/lib/xero-ruby/models/accounting/phone.rb +14 -6
  99. data/lib/xero-ruby/models/accounting/prepayment.rb +14 -6
  100. data/lib/xero-ruby/models/accounting/prepayments.rb +14 -6
  101. data/lib/xero-ruby/models/accounting/purchase.rb +14 -6
  102. data/lib/xero-ruby/models/accounting/purchase_order.rb +14 -6
  103. data/lib/xero-ruby/models/accounting/purchase_orders.rb +14 -6
  104. data/lib/xero-ruby/models/accounting/quote.rb +14 -6
  105. data/lib/xero-ruby/models/accounting/quote_line_amount_types.rb +0 -1
  106. data/lib/xero-ruby/models/accounting/quote_status_codes.rb +0 -1
  107. data/lib/xero-ruby/models/accounting/quotes.rb +14 -6
  108. data/lib/xero-ruby/models/accounting/receipt.rb +14 -6
  109. data/lib/xero-ruby/models/accounting/receipts.rb +14 -6
  110. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +14 -6
  111. data/lib/xero-ruby/models/accounting/repeating_invoices.rb +14 -6
  112. data/lib/xero-ruby/models/accounting/report.rb +14 -6
  113. data/lib/xero-ruby/models/accounting/report_attribute.rb +14 -6
  114. data/lib/xero-ruby/models/accounting/report_cell.rb +14 -6
  115. data/lib/xero-ruby/models/accounting/report_fields.rb +14 -6
  116. data/lib/xero-ruby/models/accounting/report_row.rb +14 -6
  117. data/lib/xero-ruby/models/accounting/report_rows.rb +14 -6
  118. data/lib/xero-ruby/models/accounting/report_with_row.rb +14 -6
  119. data/lib/xero-ruby/models/accounting/report_with_rows.rb +14 -6
  120. data/lib/xero-ruby/models/accounting/reports.rb +14 -6
  121. data/lib/xero-ruby/models/accounting/request_empty.rb +14 -6
  122. data/lib/xero-ruby/models/accounting/row_type.rb +0 -1
  123. data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +14 -6
  124. data/lib/xero-ruby/models/accounting/schedule.rb +14 -6
  125. data/lib/xero-ruby/models/accounting/setup.rb +14 -6
  126. data/lib/xero-ruby/models/accounting/tax_component.rb +14 -6
  127. data/lib/xero-ruby/models/accounting/tax_rate.rb +14 -6
  128. data/lib/xero-ruby/models/accounting/tax_rates.rb +14 -6
  129. data/lib/xero-ruby/models/accounting/tax_type.rb +0 -1
  130. data/lib/xero-ruby/models/accounting/ten_ninety_nine_contact.rb +14 -6
  131. data/lib/xero-ruby/models/accounting/time_zone.rb +0 -1
  132. data/lib/xero-ruby/models/accounting/tracking_categories.rb +14 -6
  133. data/lib/xero-ruby/models/accounting/tracking_category.rb +14 -6
  134. data/lib/xero-ruby/models/accounting/tracking_option.rb +14 -6
  135. data/lib/xero-ruby/models/accounting/tracking_options.rb +14 -6
  136. data/lib/xero-ruby/models/accounting/user.rb +14 -6
  137. data/lib/xero-ruby/models/accounting/users.rb +14 -6
  138. data/lib/xero-ruby/models/accounting/validation_error.rb +14 -6
  139. data/lib/xero-ruby/models/assets/asset.rb +14 -6
  140. data/lib/xero-ruby/models/assets/asset_status.rb +0 -1
  141. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +0 -1
  142. data/lib/xero-ruby/models/assets/asset_type.rb +14 -6
  143. data/lib/xero-ruby/models/assets/assets.rb +14 -6
  144. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +14 -6
  145. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +14 -6
  146. data/lib/xero-ruby/models/assets/error.rb +14 -6
  147. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +14 -6
  148. data/lib/xero-ruby/models/assets/pagination.rb +14 -6
  149. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +14 -6
  150. data/lib/xero-ruby/models/assets/setting.rb +14 -6
  151. data/lib/xero-ruby/models/files/association.rb +14 -6
  152. data/lib/xero-ruby/models/files/file_object.rb +14 -6
  153. data/lib/xero-ruby/models/files/file_response204.rb +14 -6
  154. data/lib/xero-ruby/models/files/files.rb +14 -6
  155. data/lib/xero-ruby/models/files/folder.rb +14 -6
  156. data/lib/xero-ruby/models/files/folders.rb +14 -6
  157. data/lib/xero-ruby/models/files/inline_object.rb +14 -6
  158. data/lib/xero-ruby/models/files/object_group.rb +0 -1
  159. data/lib/xero-ruby/models/files/object_type.rb +0 -1
  160. data/lib/xero-ruby/models/files/user.rb +14 -6
  161. data/lib/xero-ruby/models/payroll_au/account.rb +14 -6
  162. data/lib/xero-ruby/models/payroll_au/account_type.rb +0 -1
  163. data/lib/xero-ruby/models/payroll_au/allowance_type.rb +0 -1
  164. data/lib/xero-ruby/models/payroll_au/api_exception.rb +14 -6
  165. data/lib/xero-ruby/models/payroll_au/bank_account.rb +14 -6
  166. data/lib/xero-ruby/models/payroll_au/calendar_type.rb +0 -1
  167. data/lib/xero-ruby/models/payroll_au/deduction_line.rb +14 -6
  168. data/lib/xero-ruby/models/payroll_au/deduction_type.rb +14 -6
  169. data/lib/xero-ruby/models/payroll_au/deduction_type_calculation_type.rb +0 -1
  170. data/lib/xero-ruby/models/payroll_au/earnings_line.rb +14 -6
  171. data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +14 -6
  172. data/lib/xero-ruby/models/payroll_au/earnings_rate_calculation_type.rb +0 -1
  173. data/lib/xero-ruby/models/payroll_au/earnings_type.rb +1 -1
  174. data/lib/xero-ruby/models/payroll_au/employee.rb +14 -6
  175. data/lib/xero-ruby/models/payroll_au/employee_status.rb +0 -1
  176. data/lib/xero-ruby/models/payroll_au/employees.rb +14 -6
  177. data/lib/xero-ruby/models/payroll_au/employment_basis.rb +0 -1
  178. data/lib/xero-ruby/models/payroll_au/employment_termination_payment_type.rb +0 -1
  179. data/lib/xero-ruby/models/payroll_au/entitlement_final_pay_payout_type.rb +0 -1
  180. data/lib/xero-ruby/models/payroll_au/home_address.rb +14 -6
  181. data/lib/xero-ruby/models/payroll_au/leave_accrual_line.rb +14 -6
  182. data/lib/xero-ruby/models/payroll_au/leave_application.rb +14 -6
  183. data/lib/xero-ruby/models/payroll_au/leave_applications.rb +14 -6
  184. data/lib/xero-ruby/models/payroll_au/leave_balance.rb +14 -6
  185. data/lib/xero-ruby/models/payroll_au/leave_earnings_line.rb +14 -6
  186. data/lib/xero-ruby/models/payroll_au/leave_line.rb +14 -6
  187. data/lib/xero-ruby/models/payroll_au/leave_line_calculation_type.rb +0 -1
  188. data/lib/xero-ruby/models/payroll_au/leave_lines.rb +14 -6
  189. data/lib/xero-ruby/models/payroll_au/leave_period.rb +14 -6
  190. data/lib/xero-ruby/models/payroll_au/leave_period_status.rb +0 -1
  191. data/lib/xero-ruby/models/payroll_au/leave_type.rb +14 -6
  192. data/lib/xero-ruby/models/payroll_au/leave_type_contribution_type.rb +0 -1
  193. data/lib/xero-ruby/models/payroll_au/manual_tax_type.rb +0 -1
  194. data/lib/xero-ruby/models/payroll_au/opening_balances.rb +14 -6
  195. data/lib/xero-ruby/models/payroll_au/pay_item.rb +14 -6
  196. data/lib/xero-ruby/models/payroll_au/pay_items.rb +14 -6
  197. data/lib/xero-ruby/models/payroll_au/pay_run.rb +14 -6
  198. data/lib/xero-ruby/models/payroll_au/pay_run_status.rb +0 -1
  199. data/lib/xero-ruby/models/payroll_au/pay_runs.rb +14 -6
  200. data/lib/xero-ruby/models/payroll_au/pay_template.rb +14 -6
  201. data/lib/xero-ruby/models/payroll_au/payment_frequency_type.rb +0 -1
  202. data/lib/xero-ruby/models/payroll_au/payroll_calendar.rb +14 -6
  203. data/lib/xero-ruby/models/payroll_au/payroll_calendars.rb +14 -6
  204. data/lib/xero-ruby/models/payroll_au/payslip.rb +14 -6
  205. data/lib/xero-ruby/models/payroll_au/payslip_lines.rb +14 -6
  206. data/lib/xero-ruby/models/payroll_au/payslip_object.rb +14 -6
  207. data/lib/xero-ruby/models/payroll_au/payslip_summary.rb +14 -6
  208. data/lib/xero-ruby/models/payroll_au/payslips.rb +14 -6
  209. data/lib/xero-ruby/models/payroll_au/rate_type.rb +0 -1
  210. data/lib/xero-ruby/models/payroll_au/reimbursement_line.rb +14 -6
  211. data/lib/xero-ruby/models/payroll_au/reimbursement_lines.rb +14 -6
  212. data/lib/xero-ruby/models/payroll_au/reimbursement_type.rb +14 -6
  213. data/lib/xero-ruby/models/payroll_au/residency_status.rb +0 -1
  214. data/lib/xero-ruby/models/payroll_au/settings.rb +14 -6
  215. data/lib/xero-ruby/models/payroll_au/settings_object.rb +14 -6
  216. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories.rb +14 -6
  217. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_employee_groups.rb +14 -6
  218. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_timesheet_categories.rb +14 -6
  219. data/lib/xero-ruby/models/payroll_au/state.rb +0 -1
  220. data/lib/xero-ruby/models/payroll_au/super_fund.rb +14 -6
  221. data/lib/xero-ruby/models/payroll_au/super_fund_product.rb +14 -6
  222. data/lib/xero-ruby/models/payroll_au/super_fund_products.rb +14 -6
  223. data/lib/xero-ruby/models/payroll_au/super_fund_type.rb +0 -1
  224. data/lib/xero-ruby/models/payroll_au/super_funds.rb +14 -6
  225. data/lib/xero-ruby/models/payroll_au/super_line.rb +14 -6
  226. data/lib/xero-ruby/models/payroll_au/super_membership.rb +14 -6
  227. data/lib/xero-ruby/models/payroll_au/superannuation_calculation_type.rb +0 -1
  228. data/lib/xero-ruby/models/payroll_au/superannuation_contribution_type.rb +0 -1
  229. data/lib/xero-ruby/models/payroll_au/superannuation_line.rb +14 -6
  230. data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +14 -6
  231. data/lib/xero-ruby/models/payroll_au/tax_line.rb +14 -6
  232. data/lib/xero-ruby/models/payroll_au/tfn_exemption_type.rb +0 -1
  233. data/lib/xero-ruby/models/payroll_au/timesheet.rb +14 -6
  234. data/lib/xero-ruby/models/payroll_au/timesheet_line.rb +14 -6
  235. data/lib/xero-ruby/models/payroll_au/timesheet_object.rb +14 -6
  236. data/lib/xero-ruby/models/payroll_au/timesheet_status.rb +0 -1
  237. data/lib/xero-ruby/models/payroll_au/timesheets.rb +14 -6
  238. data/lib/xero-ruby/models/payroll_au/validation_error.rb +14 -6
  239. data/lib/xero-ruby/models/payroll_nz/account.rb +14 -6
  240. data/lib/xero-ruby/models/payroll_nz/accounts.rb +14 -6
  241. data/lib/xero-ruby/models/payroll_nz/address.rb +14 -6
  242. data/lib/xero-ruby/models/payroll_nz/bank_account.rb +14 -6
  243. data/lib/xero-ruby/models/payroll_nz/benefit.rb +14 -6
  244. data/lib/xero-ruby/models/payroll_nz/calendar_type.rb +0 -1
  245. data/lib/xero-ruby/models/payroll_nz/deduction.rb +14 -6
  246. data/lib/xero-ruby/models/payroll_nz/deduction_line.rb +14 -6
  247. data/lib/xero-ruby/models/payroll_nz/deduction_object.rb +14 -6
  248. data/lib/xero-ruby/models/payroll_nz/deductions.rb +14 -6
  249. data/lib/xero-ruby/models/payroll_nz/earnings_line.rb +14 -6
  250. data/lib/xero-ruby/models/payroll_nz/earnings_order.rb +14 -6
  251. data/lib/xero-ruby/models/payroll_nz/earnings_order_object.rb +14 -6
  252. data/lib/xero-ruby/models/payroll_nz/earnings_orders.rb +14 -6
  253. data/lib/xero-ruby/models/payroll_nz/earnings_rate.rb +14 -6
  254. data/lib/xero-ruby/models/payroll_nz/earnings_rate_object.rb +14 -6
  255. data/lib/xero-ruby/models/payroll_nz/earnings_rates.rb +14 -6
  256. data/lib/xero-ruby/models/payroll_nz/earnings_template.rb +14 -6
  257. data/lib/xero-ruby/models/payroll_nz/earnings_template_object.rb +14 -6
  258. data/lib/xero-ruby/models/payroll_nz/employee.rb +14 -6
  259. data/lib/xero-ruby/models/payroll_nz/employee_earnings_templates.rb +14 -6
  260. data/lib/xero-ruby/models/payroll_nz/employee_leave.rb +14 -6
  261. data/lib/xero-ruby/models/payroll_nz/employee_leave_balance.rb +14 -6
  262. data/lib/xero-ruby/models/payroll_nz/employee_leave_balances.rb +14 -6
  263. data/lib/xero-ruby/models/payroll_nz/employee_leave_object.rb +14 -6
  264. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup.rb +14 -6
  265. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup_object.rb +14 -6
  266. data/lib/xero-ruby/models/payroll_nz/employee_leave_type.rb +14 -6
  267. data/lib/xero-ruby/models/payroll_nz/employee_leave_type_object.rb +14 -6
  268. data/lib/xero-ruby/models/payroll_nz/employee_leave_types.rb +14 -6
  269. data/lib/xero-ruby/models/payroll_nz/employee_leaves.rb +14 -6
  270. data/lib/xero-ruby/models/payroll_nz/employee_object.rb +14 -6
  271. data/lib/xero-ruby/models/payroll_nz/employee_opening_balance.rb +14 -6
  272. data/lib/xero-ruby/models/payroll_nz/employee_opening_balances_object.rb +14 -6
  273. data/lib/xero-ruby/models/payroll_nz/employee_pay_template.rb +14 -6
  274. data/lib/xero-ruby/models/payroll_nz/employee_pay_template_object.rb +14 -6
  275. data/lib/xero-ruby/models/payroll_nz/employee_pay_templates.rb +14 -6
  276. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance.rb +14 -6
  277. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance_object.rb +14 -6
  278. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_summary.rb +14 -6
  279. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leaves_summaries.rb +14 -6
  280. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave.rb +14 -6
  281. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave_object.rb +14 -6
  282. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leaves.rb +14 -6
  283. data/lib/xero-ruby/models/payroll_nz/employee_tax.rb +14 -6
  284. data/lib/xero-ruby/models/payroll_nz/employee_tax_object.rb +14 -6
  285. data/lib/xero-ruby/models/payroll_nz/employees.rb +14 -6
  286. data/lib/xero-ruby/models/payroll_nz/employment.rb +14 -6
  287. data/lib/xero-ruby/models/payroll_nz/employment_object.rb +14 -6
  288. data/lib/xero-ruby/models/payroll_nz/gross_earnings_history.rb +14 -6
  289. data/lib/xero-ruby/models/payroll_nz/invalid_field.rb +14 -6
  290. data/lib/xero-ruby/models/payroll_nz/leave_accrual_line.rb +14 -6
  291. data/lib/xero-ruby/models/payroll_nz/leave_earnings_line.rb +14 -6
  292. data/lib/xero-ruby/models/payroll_nz/leave_period.rb +14 -6
  293. data/lib/xero-ruby/models/payroll_nz/leave_periods.rb +14 -6
  294. data/lib/xero-ruby/models/payroll_nz/leave_type.rb +14 -6
  295. data/lib/xero-ruby/models/payroll_nz/leave_type_object.rb +14 -6
  296. data/lib/xero-ruby/models/payroll_nz/leave_types.rb +14 -6
  297. data/lib/xero-ruby/models/payroll_nz/pagination.rb +14 -6
  298. data/lib/xero-ruby/models/payroll_nz/pay_run.rb +14 -6
  299. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar.rb +14 -6
  300. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar_object.rb +14 -6
  301. data/lib/xero-ruby/models/payroll_nz/pay_run_calendars.rb +14 -6
  302. data/lib/xero-ruby/models/payroll_nz/pay_run_object.rb +14 -6
  303. data/lib/xero-ruby/models/payroll_nz/pay_runs.rb +14 -6
  304. data/lib/xero-ruby/models/payroll_nz/pay_slip.rb +14 -6
  305. data/lib/xero-ruby/models/payroll_nz/pay_slip_object.rb +14 -6
  306. data/lib/xero-ruby/models/payroll_nz/pay_slips.rb +14 -6
  307. data/lib/xero-ruby/models/payroll_nz/payment_line.rb +14 -6
  308. data/lib/xero-ruby/models/payroll_nz/payment_method.rb +14 -6
  309. data/lib/xero-ruby/models/payroll_nz/payment_method_object.rb +14 -6
  310. data/lib/xero-ruby/models/payroll_nz/problem.rb +14 -6
  311. data/lib/xero-ruby/models/payroll_nz/reimbursement.rb +14 -6
  312. data/lib/xero-ruby/models/payroll_nz/reimbursement_line.rb +14 -6
  313. data/lib/xero-ruby/models/payroll_nz/reimbursement_object.rb +14 -6
  314. data/lib/xero-ruby/models/payroll_nz/reimbursements.rb +14 -6
  315. data/lib/xero-ruby/models/payroll_nz/salary_and_wage.rb +15 -7
  316. data/lib/xero-ruby/models/payroll_nz/salary_and_wage_object.rb +14 -6
  317. data/lib/xero-ruby/models/payroll_nz/salary_and_wages.rb +14 -6
  318. data/lib/xero-ruby/models/payroll_nz/settings.rb +14 -6
  319. data/lib/xero-ruby/models/payroll_nz/statutory_deduction.rb +14 -6
  320. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_category.rb +0 -1
  321. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_line.rb +14 -6
  322. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_object.rb +14 -6
  323. data/lib/xero-ruby/models/payroll_nz/statutory_deductions.rb +14 -6
  324. data/lib/xero-ruby/models/payroll_nz/superannuation_line.rb +14 -6
  325. data/lib/xero-ruby/models/payroll_nz/superannuation_object.rb +14 -6
  326. data/lib/xero-ruby/models/payroll_nz/superannuations.rb +14 -6
  327. data/lib/xero-ruby/models/payroll_nz/tax_code.rb +0 -1
  328. data/lib/xero-ruby/models/payroll_nz/tax_line.rb +14 -6
  329. data/lib/xero-ruby/models/payroll_nz/tax_settings.rb +14 -6
  330. data/lib/xero-ruby/models/payroll_nz/timesheet.rb +14 -6
  331. data/lib/xero-ruby/models/payroll_nz/timesheet_earnings_line.rb +14 -6
  332. data/lib/xero-ruby/models/payroll_nz/timesheet_line.rb +14 -6
  333. data/lib/xero-ruby/models/payroll_nz/timesheet_line_object.rb +14 -6
  334. data/lib/xero-ruby/models/payroll_nz/timesheet_object.rb +14 -6
  335. data/lib/xero-ruby/models/payroll_nz/timesheets.rb +14 -6
  336. data/lib/xero-ruby/models/payroll_nz/tracking_categories.rb +14 -6
  337. data/lib/xero-ruby/models/payroll_nz/tracking_category.rb +14 -6
  338. data/lib/xero-ruby/models/payroll_uk/account.rb +14 -6
  339. data/lib/xero-ruby/models/payroll_uk/accounts.rb +14 -6
  340. data/lib/xero-ruby/models/payroll_uk/address.rb +14 -6
  341. data/lib/xero-ruby/models/payroll_uk/bank_account.rb +14 -6
  342. data/lib/xero-ruby/models/payroll_uk/benefit.rb +14 -6
  343. data/lib/xero-ruby/models/payroll_uk/benefit_line.rb +14 -6
  344. data/lib/xero-ruby/models/payroll_uk/benefit_object.rb +14 -6
  345. data/lib/xero-ruby/models/payroll_uk/benefits.rb +14 -6
  346. data/lib/xero-ruby/models/payroll_uk/court_order_line.rb +14 -6
  347. data/lib/xero-ruby/models/payroll_uk/deduction.rb +14 -6
  348. data/lib/xero-ruby/models/payroll_uk/deduction_line.rb +14 -6
  349. data/lib/xero-ruby/models/payroll_uk/deduction_object.rb +14 -6
  350. data/lib/xero-ruby/models/payroll_uk/deductions.rb +14 -6
  351. data/lib/xero-ruby/models/payroll_uk/earnings_line.rb +14 -6
  352. data/lib/xero-ruby/models/payroll_uk/earnings_order.rb +14 -6
  353. data/lib/xero-ruby/models/payroll_uk/earnings_order_object.rb +14 -6
  354. data/lib/xero-ruby/models/payroll_uk/earnings_orders.rb +14 -6
  355. data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +14 -6
  356. data/lib/xero-ruby/models/payroll_uk/earnings_rate_object.rb +14 -6
  357. data/lib/xero-ruby/models/payroll_uk/earnings_rates.rb +14 -6
  358. data/lib/xero-ruby/models/payroll_uk/earnings_template.rb +14 -6
  359. data/lib/xero-ruby/models/payroll_uk/earnings_template_object.rb +14 -6
  360. data/lib/xero-ruby/models/payroll_uk/employee.rb +14 -6
  361. data/lib/xero-ruby/models/payroll_uk/employee_leave.rb +14 -6
  362. data/lib/xero-ruby/models/payroll_uk/employee_leave_balance.rb +14 -6
  363. data/lib/xero-ruby/models/payroll_uk/employee_leave_balances.rb +14 -6
  364. data/lib/xero-ruby/models/payroll_uk/employee_leave_object.rb +14 -6
  365. data/lib/xero-ruby/models/payroll_uk/employee_leave_type.rb +14 -6
  366. data/lib/xero-ruby/models/payroll_uk/employee_leave_type_object.rb +14 -6
  367. data/lib/xero-ruby/models/payroll_uk/employee_leave_types.rb +14 -6
  368. data/lib/xero-ruby/models/payroll_uk/employee_leaves.rb +14 -6
  369. data/lib/xero-ruby/models/payroll_uk/employee_object.rb +14 -6
  370. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances.rb +14 -6
  371. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances_object.rb +14 -6
  372. data/lib/xero-ruby/models/payroll_uk/employee_pay_template.rb +14 -6
  373. data/lib/xero-ruby/models/payroll_uk/employee_pay_template_object.rb +14 -6
  374. data/lib/xero-ruby/models/payroll_uk/employee_pay_templates.rb +14 -6
  375. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance.rb +14 -6
  376. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance_object.rb +14 -6
  377. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_summary.rb +14 -6
  378. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leaves_summaries.rb +14 -6
  379. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave.rb +14 -6
  380. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave_object.rb +14 -6
  381. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leaves.rb +14 -6
  382. data/lib/xero-ruby/models/payroll_uk/employee_tax.rb +14 -6
  383. data/lib/xero-ruby/models/payroll_uk/employee_tax_object.rb +14 -6
  384. data/lib/xero-ruby/models/payroll_uk/employees.rb +14 -6
  385. data/lib/xero-ruby/models/payroll_uk/employment.rb +14 -6
  386. data/lib/xero-ruby/models/payroll_uk/employment_object.rb +14 -6
  387. data/lib/xero-ruby/models/payroll_uk/invalid_field.rb +14 -6
  388. data/lib/xero-ruby/models/payroll_uk/leave_accrual_line.rb +14 -6
  389. data/lib/xero-ruby/models/payroll_uk/leave_earnings_line.rb +14 -6
  390. data/lib/xero-ruby/models/payroll_uk/leave_period.rb +14 -6
  391. data/lib/xero-ruby/models/payroll_uk/leave_periods.rb +14 -6
  392. data/lib/xero-ruby/models/payroll_uk/leave_type.rb +14 -6
  393. data/lib/xero-ruby/models/payroll_uk/leave_type_object.rb +14 -6
  394. data/lib/xero-ruby/models/payroll_uk/leave_types.rb +14 -6
  395. data/lib/xero-ruby/models/payroll_uk/pagination.rb +14 -6
  396. data/lib/xero-ruby/models/payroll_uk/pay_run.rb +14 -6
  397. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar.rb +14 -6
  398. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar_object.rb +14 -6
  399. data/lib/xero-ruby/models/payroll_uk/pay_run_calendars.rb +14 -6
  400. data/lib/xero-ruby/models/payroll_uk/pay_run_object.rb +14 -6
  401. data/lib/xero-ruby/models/payroll_uk/pay_runs.rb +14 -6
  402. data/lib/xero-ruby/models/payroll_uk/payment_line.rb +14 -6
  403. data/lib/xero-ruby/models/payroll_uk/payment_method.rb +14 -6
  404. data/lib/xero-ruby/models/payroll_uk/payment_method_object.rb +14 -6
  405. data/lib/xero-ruby/models/payroll_uk/payslip.rb +14 -6
  406. data/lib/xero-ruby/models/payroll_uk/payslip_object.rb +14 -6
  407. data/lib/xero-ruby/models/payroll_uk/payslips.rb +14 -6
  408. data/lib/xero-ruby/models/payroll_uk/problem.rb +14 -6
  409. data/lib/xero-ruby/models/payroll_uk/reimbursement.rb +14 -6
  410. data/lib/xero-ruby/models/payroll_uk/reimbursement_line.rb +14 -6
  411. data/lib/xero-ruby/models/payroll_uk/reimbursement_object.rb +14 -6
  412. data/lib/xero-ruby/models/payroll_uk/reimbursements.rb +14 -6
  413. data/lib/xero-ruby/models/payroll_uk/salary_and_wage.rb +14 -6
  414. data/lib/xero-ruby/models/payroll_uk/salary_and_wage_object.rb +14 -6
  415. data/lib/xero-ruby/models/payroll_uk/salary_and_wages.rb +14 -6
  416. data/lib/xero-ruby/models/payroll_uk/settings.rb +14 -6
  417. data/lib/xero-ruby/models/payroll_uk/statutory_deduction.rb +14 -6
  418. data/lib/xero-ruby/models/payroll_uk/statutory_deduction_category.rb +0 -1
  419. data/lib/xero-ruby/models/payroll_uk/tax_line.rb +14 -6
  420. data/lib/xero-ruby/models/payroll_uk/timesheet.rb +14 -6
  421. data/lib/xero-ruby/models/payroll_uk/timesheet_earnings_line.rb +14 -6
  422. data/lib/xero-ruby/models/payroll_uk/timesheet_line.rb +14 -6
  423. data/lib/xero-ruby/models/payroll_uk/timesheet_line_object.rb +14 -6
  424. data/lib/xero-ruby/models/payroll_uk/timesheet_object.rb +14 -6
  425. data/lib/xero-ruby/models/payroll_uk/timesheets.rb +14 -6
  426. data/lib/xero-ruby/models/payroll_uk/tracking_categories.rb +14 -6
  427. data/lib/xero-ruby/models/payroll_uk/tracking_category.rb +14 -6
  428. data/lib/xero-ruby/models/projects/amount.rb +14 -6
  429. data/lib/xero-ruby/models/projects/charge_type.rb +0 -1
  430. data/lib/xero-ruby/models/projects/currency_code.rb +0 -1
  431. data/lib/xero-ruby/models/projects/error.rb +14 -6
  432. data/lib/xero-ruby/models/projects/pagination.rb +14 -6
  433. data/lib/xero-ruby/models/projects/project.rb +14 -6
  434. data/lib/xero-ruby/models/projects/project_create_or_update.rb +14 -6
  435. data/lib/xero-ruby/models/projects/project_patch.rb +14 -6
  436. data/lib/xero-ruby/models/projects/project_status.rb +0 -1
  437. data/lib/xero-ruby/models/projects/project_user.rb +14 -6
  438. data/lib/xero-ruby/models/projects/project_users.rb +14 -6
  439. data/lib/xero-ruby/models/projects/projects.rb +14 -6
  440. data/lib/xero-ruby/models/projects/task.rb +14 -6
  441. data/lib/xero-ruby/models/projects/task_create_or_update.rb +14 -6
  442. data/lib/xero-ruby/models/projects/tasks.rb +14 -6
  443. data/lib/xero-ruby/models/projects/time_entries.rb +14 -6
  444. data/lib/xero-ruby/models/projects/time_entry.rb +14 -6
  445. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +14 -6
  446. data/lib/xero-ruby/version.rb +2 -2
  447. data/spec/api_client_spec.rb +101 -13
  448. data/spec/api_error_spec.rb +45 -0
  449. data/spec/configuration_spec.rb +9 -16
  450. data/spec/helper_methods_spec.rb +82 -0
  451. metadata +10 -5
@@ -3,7 +3,6 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.6.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -230,16 +229,22 @@ module XeroRuby::Accounting
230
229
 
231
230
  # Returns the object in the form of hash
232
231
  # @return [Hash] Returns the object in the form of hash
233
- def to_hash
232
+ def to_hash(downcase: false)
234
233
  hash = {}
235
234
  self.class.attribute_map.each_pair do |attr, param|
236
235
  value = self.send(attr)
237
236
  next if value.nil?
238
- hash[param] = _to_hash(value)
237
+ key = downcase ? attr : param
238
+ hash[key] = _to_hash(value)
239
239
  end
240
240
  hash
241
241
  end
242
242
 
243
+ # Returns the object in the form of hash with snake_case
244
+ def attributes
245
+ to_hash(downcase: true)
246
+ end
247
+
243
248
  # Outputs non-array value in the form of hash
244
249
  # For object, use to_hash. Otherwise, just return the value
245
250
  # @param [Object] value Any valid value
@@ -258,10 +263,13 @@ module XeroRuby::Accounting
258
263
  end
259
264
  end
260
265
 
261
- # customized data_parser
262
266
  def parse_date(datestring)
263
- seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
264
- return Time.at(seconds_since_epoch).strftime('%Y-%m-%dT%l:%M:%S%z').to_s
267
+ if datestring.include?('Date')
268
+ seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
269
+ Time.at(seconds_since_epoch).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
270
+ else # handle date 'types' for small subset of payroll API's
271
+ Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
272
+ end
265
273
  end
266
274
  end
267
275
  end
@@ -3,7 +3,6 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.6.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -201,16 +200,22 @@ module XeroRuby::Accounting
201
200
 
202
201
  # Returns the object in the form of hash
203
202
  # @return [Hash] Returns the object in the form of hash
204
- def to_hash
203
+ def to_hash(downcase: false)
205
204
  hash = {}
206
205
  self.class.attribute_map.each_pair do |attr, param|
207
206
  value = self.send(attr)
208
207
  next if value.nil?
209
- hash[param] = _to_hash(value)
208
+ key = downcase ? attr : param
209
+ hash[key] = _to_hash(value)
210
210
  end
211
211
  hash
212
212
  end
213
213
 
214
+ # Returns the object in the form of hash with snake_case
215
+ def attributes
216
+ to_hash(downcase: true)
217
+ end
218
+
214
219
  # Outputs non-array value in the form of hash
215
220
  # For object, use to_hash. Otherwise, just return the value
216
221
  # @param [Object] value Any valid value
@@ -229,10 +234,13 @@ module XeroRuby::Accounting
229
234
  end
230
235
  end
231
236
 
232
- # customized data_parser
233
237
  def parse_date(datestring)
234
- seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
235
- return Time.at(seconds_since_epoch).strftime('%Y-%m-%dT%l:%M:%S%z').to_s
238
+ if datestring.include?('Date')
239
+ seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
240
+ Time.at(seconds_since_epoch).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
241
+ else # handle date 'types' for small subset of payroll API's
242
+ Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
243
+ end
236
244
  end
237
245
  end
238
246
  end
@@ -3,7 +3,6 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.6.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -173,16 +172,22 @@ module XeroRuby::Accounting
173
172
 
174
173
  # Returns the object in the form of hash
175
174
  # @return [Hash] Returns the object in the form of hash
176
- def to_hash
175
+ def to_hash(downcase: false)
177
176
  hash = {}
178
177
  self.class.attribute_map.each_pair do |attr, param|
179
178
  value = self.send(attr)
180
179
  next if value.nil?
181
- hash[param] = _to_hash(value)
180
+ key = downcase ? attr : param
181
+ hash[key] = _to_hash(value)
182
182
  end
183
183
  hash
184
184
  end
185
185
 
186
+ # Returns the object in the form of hash with snake_case
187
+ def attributes
188
+ to_hash(downcase: true)
189
+ end
190
+
186
191
  # Outputs non-array value in the form of hash
187
192
  # For object, use to_hash. Otherwise, just return the value
188
193
  # @param [Object] value Any valid value
@@ -201,10 +206,13 @@ module XeroRuby::Accounting
201
206
  end
202
207
  end
203
208
 
204
- # customized data_parser
205
209
  def parse_date(datestring)
206
- seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
207
- return Time.at(seconds_since_epoch).strftime('%Y-%m-%dT%l:%M:%S%z').to_s
210
+ if datestring.include?('Date')
211
+ seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
212
+ Time.at(seconds_since_epoch).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
213
+ else # handle date 'types' for small subset of payroll API's
214
+ Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
215
+ end
208
216
  end
209
217
  end
210
218
  end
@@ -3,7 +3,6 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.6.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -182,16 +181,22 @@ module XeroRuby::Accounting
182
181
 
183
182
  # Returns the object in the form of hash
184
183
  # @return [Hash] Returns the object in the form of hash
185
- def to_hash
184
+ def to_hash(downcase: false)
186
185
  hash = {}
187
186
  self.class.attribute_map.each_pair do |attr, param|
188
187
  value = self.send(attr)
189
188
  next if value.nil?
190
- hash[param] = _to_hash(value)
189
+ key = downcase ? attr : param
190
+ hash[key] = _to_hash(value)
191
191
  end
192
192
  hash
193
193
  end
194
194
 
195
+ # Returns the object in the form of hash with snake_case
196
+ def attributes
197
+ to_hash(downcase: true)
198
+ end
199
+
195
200
  # Outputs non-array value in the form of hash
196
201
  # For object, use to_hash. Otherwise, just return the value
197
202
  # @param [Object] value Any valid value
@@ -210,10 +215,13 @@ module XeroRuby::Accounting
210
215
  end
211
216
  end
212
217
 
213
- # customized data_parser
214
218
  def parse_date(datestring)
215
- seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
216
- return Time.at(seconds_since_epoch).strftime('%Y-%m-%dT%l:%M:%S%z').to_s
219
+ if datestring.include?('Date')
220
+ seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
221
+ Time.at(seconds_since_epoch).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
222
+ else # handle date 'types' for small subset of payroll API's
223
+ Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
224
+ end
217
225
  end
218
226
  end
219
227
  end
@@ -3,7 +3,6 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.6.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -252,16 +251,22 @@ module XeroRuby::Accounting
252
251
 
253
252
  # Returns the object in the form of hash
254
253
  # @return [Hash] Returns the object in the form of hash
255
- def to_hash
254
+ def to_hash(downcase: false)
256
255
  hash = {}
257
256
  self.class.attribute_map.each_pair do |attr, param|
258
257
  value = self.send(attr)
259
258
  next if value.nil?
260
- hash[param] = _to_hash(value)
259
+ key = downcase ? attr : param
260
+ hash[key] = _to_hash(value)
261
261
  end
262
262
  hash
263
263
  end
264
264
 
265
+ # Returns the object in the form of hash with snake_case
266
+ def attributes
267
+ to_hash(downcase: true)
268
+ end
269
+
265
270
  # Outputs non-array value in the form of hash
266
271
  # For object, use to_hash. Otherwise, just return the value
267
272
  # @param [Object] value Any valid value
@@ -280,10 +285,13 @@ module XeroRuby::Accounting
280
285
  end
281
286
  end
282
287
 
283
- # customized data_parser
284
288
  def parse_date(datestring)
285
- seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
286
- return Time.at(seconds_since_epoch).strftime('%Y-%m-%dT%l:%M:%S%z').to_s
289
+ if datestring.include?('Date')
290
+ seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
291
+ Time.at(seconds_since_epoch).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
292
+ else # handle date 'types' for small subset of payroll API's
293
+ Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
294
+ end
287
295
  end
288
296
  end
289
297
  end
@@ -3,7 +3,6 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.6.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -171,16 +170,22 @@ module XeroRuby::Accounting
171
170
 
172
171
  # Returns the object in the form of hash
173
172
  # @return [Hash] Returns the object in the form of hash
174
- def to_hash
173
+ def to_hash(downcase: false)
175
174
  hash = {}
176
175
  self.class.attribute_map.each_pair do |attr, param|
177
176
  value = self.send(attr)
178
177
  next if value.nil?
179
- hash[param] = _to_hash(value)
178
+ key = downcase ? attr : param
179
+ hash[key] = _to_hash(value)
180
180
  end
181
181
  hash
182
182
  end
183
183
 
184
+ # Returns the object in the form of hash with snake_case
185
+ def attributes
186
+ to_hash(downcase: true)
187
+ end
188
+
184
189
  # Outputs non-array value in the form of hash
185
190
  # For object, use to_hash. Otherwise, just return the value
186
191
  # @param [Object] value Any valid value
@@ -199,10 +204,13 @@ module XeroRuby::Accounting
199
204
  end
200
205
  end
201
206
 
202
- # customized data_parser
203
207
  def parse_date(datestring)
204
- seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
205
- return Time.at(seconds_since_epoch).strftime('%Y-%m-%dT%l:%M:%S%z').to_s
208
+ if datestring.include?('Date')
209
+ seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
210
+ Time.at(seconds_since_epoch).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
211
+ else # handle date 'types' for small subset of payroll API's
212
+ Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
213
+ end
206
214
  end
207
215
  end
208
216
  end
@@ -3,7 +3,6 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.6.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -171,16 +170,22 @@ module XeroRuby::Accounting
171
170
 
172
171
  # Returns the object in the form of hash
173
172
  # @return [Hash] Returns the object in the form of hash
174
- def to_hash
173
+ def to_hash(downcase: false)
175
174
  hash = {}
176
175
  self.class.attribute_map.each_pair do |attr, param|
177
176
  value = self.send(attr)
178
177
  next if value.nil?
179
- hash[param] = _to_hash(value)
178
+ key = downcase ? attr : param
179
+ hash[key] = _to_hash(value)
180
180
  end
181
181
  hash
182
182
  end
183
183
 
184
+ # Returns the object in the form of hash with snake_case
185
+ def attributes
186
+ to_hash(downcase: true)
187
+ end
188
+
184
189
  # Outputs non-array value in the form of hash
185
190
  # For object, use to_hash. Otherwise, just return the value
186
191
  # @param [Object] value Any valid value
@@ -199,10 +204,13 @@ module XeroRuby::Accounting
199
204
  end
200
205
  end
201
206
 
202
- # customized data_parser
203
207
  def parse_date(datestring)
204
- seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
205
- return Time.at(seconds_since_epoch).strftime('%Y-%m-%dT%l:%M:%S%z').to_s
208
+ if datestring.include?('Date')
209
+ seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
210
+ Time.at(seconds_since_epoch).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
211
+ else # handle date 'types' for small subset of payroll API's
212
+ Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
213
+ end
206
214
  end
207
215
  end
208
216
  end
@@ -3,7 +3,6 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.6.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -46,7 +45,7 @@ module XeroRuby::Accounting
46
45
  # ACCREC – Unique alpha numeric code identifying invoice (when missing will auto-generate from your Organisation Invoice Settings) (max length = 255)
47
46
  attr_accessor :invoice_number
48
47
 
49
- # ACCREC only – additional reference number (max length = 255)
48
+ # ACCREC only – additional reference number
50
49
  attr_accessor :reference
51
50
 
52
51
  # See BrandingThemes
@@ -82,6 +81,9 @@ module XeroRuby::Accounting
82
81
  # CIS deduction for UK contractors
83
82
  attr_accessor :cis_deduction
84
83
 
84
+ # CIS Deduction rate for the organisation
85
+ attr_accessor :cis_rate
86
+
85
87
  # Total of invoice excluding taxes
86
88
  attr_accessor :sub_total
87
89
 
@@ -190,6 +192,7 @@ module XeroRuby::Accounting
190
192
  :'expected_payment_date' => :'ExpectedPaymentDate',
191
193
  :'planned_payment_date' => :'PlannedPaymentDate',
192
194
  :'cis_deduction' => :'CISDeduction',
195
+ :'cis_rate' => :'CISRate',
193
196
  :'sub_total' => :'SubTotal',
194
197
  :'total_tax' => :'TotalTax',
195
198
  :'total' => :'Total',
@@ -235,6 +238,7 @@ module XeroRuby::Accounting
235
238
  :'expected_payment_date' => :'Date',
236
239
  :'planned_payment_date' => :'Date',
237
240
  :'cis_deduction' => :'BigDecimal',
241
+ :'cis_rate' => :'BigDecimal',
238
242
  :'sub_total' => :'BigDecimal',
239
243
  :'total_tax' => :'BigDecimal',
240
244
  :'total' => :'BigDecimal',
@@ -345,6 +349,10 @@ module XeroRuby::Accounting
345
349
  self.cis_deduction = attributes[:'cis_deduction']
346
350
  end
347
351
 
352
+ if attributes.key?(:'cis_rate')
353
+ self.cis_rate = attributes[:'cis_rate']
354
+ end
355
+
348
356
  if attributes.key?(:'sub_total')
349
357
  self.sub_total = attributes[:'sub_total']
350
358
  end
@@ -460,10 +468,6 @@ module XeroRuby::Accounting
460
468
  invalid_properties.push('invalid value for "invoice_number", the character length must be smaller than or equal to 255.')
461
469
  end
462
470
 
463
- if !@reference.nil? && @reference.to_s.length > 255
464
- invalid_properties.push('invalid value for "reference", the character length must be smaller than or equal to 255.')
465
- end
466
-
467
471
  invalid_properties
468
472
  end
469
473
 
@@ -473,7 +477,6 @@ module XeroRuby::Accounting
473
477
  type_validator = EnumAttributeValidator.new('String', ["ACCPAY", "ACCPAYCREDIT", "APOVERPAYMENT", "APPREPAYMENT", "ACCREC", "ACCRECCREDIT", "AROVERPAYMENT", "ARPREPAYMENT"])
474
478
  return false unless type_validator.valid?(@type)
475
479
  return false if !@invoice_number.nil? && @invoice_number.to_s.length > 255
476
- return false if !@reference.nil? && @reference.to_s.length > 255
477
480
  status_validator = EnumAttributeValidator.new('String', ["DRAFT", "SUBMITTED", "DELETED", "AUTHORISED", "PAID", "VOIDED"])
478
481
  return false unless status_validator.valid?(@status)
479
482
  true
@@ -499,16 +502,6 @@ module XeroRuby::Accounting
499
502
  @invoice_number = invoice_number
500
503
  end
501
504
 
502
- # Custom attribute writer method with validation
503
- # @param [Object] reference Value to be assigned
504
- def reference=(reference)
505
- if !reference.nil? && reference.to_s.length > 255
506
- fail ArgumentError, 'invalid value for "reference", the character length must be smaller than or equal to 255.'
507
- end
508
-
509
- @reference = reference
510
- end
511
-
512
505
  # Custom attribute writer method checking allowed values (enum).
513
506
  # @param [Object] status Object to be assigned
514
507
  def status=(status)
@@ -541,6 +534,7 @@ module XeroRuby::Accounting
541
534
  expected_payment_date == o.expected_payment_date &&
542
535
  planned_payment_date == o.planned_payment_date &&
543
536
  cis_deduction == o.cis_deduction &&
537
+ cis_rate == o.cis_rate &&
544
538
  sub_total == o.sub_total &&
545
539
  total_tax == o.total_tax &&
546
540
  total == o.total &&
@@ -574,7 +568,7 @@ module XeroRuby::Accounting
574
568
  # Calculates hash code according to all attributes.
575
569
  # @return [Integer] Hash code
576
570
  def hash
577
- [type, contact, line_items, date, due_date, line_amount_types, invoice_number, reference, branding_theme_id, url, currency_code, currency_rate, status, sent_to_contact, expected_payment_date, planned_payment_date, cis_deduction, sub_total, total_tax, total, total_discount, invoice_id, repeating_invoice_id, has_attachments, is_discounted, payments, prepayments, overpayments, amount_due, amount_paid, fully_paid_on_date, amount_credited, updated_date_utc, credit_notes, attachments, has_errors, status_attribute_string, validation_errors, warnings].hash
571
+ [type, contact, line_items, date, due_date, line_amount_types, invoice_number, reference, branding_theme_id, url, currency_code, currency_rate, status, sent_to_contact, expected_payment_date, planned_payment_date, cis_deduction, cis_rate, sub_total, total_tax, total, total_discount, invoice_id, repeating_invoice_id, has_attachments, is_discounted, payments, prepayments, overpayments, amount_due, amount_paid, fully_paid_on_date, amount_credited, updated_date_utc, credit_notes, attachments, has_errors, status_attribute_string, validation_errors, warnings].hash
578
572
  end
579
573
 
580
574
  # Builds the object from hash
@@ -661,16 +655,22 @@ module XeroRuby::Accounting
661
655
 
662
656
  # Returns the object in the form of hash
663
657
  # @return [Hash] Returns the object in the form of hash
664
- def to_hash
658
+ def to_hash(downcase: false)
665
659
  hash = {}
666
660
  self.class.attribute_map.each_pair do |attr, param|
667
661
  value = self.send(attr)
668
662
  next if value.nil?
669
- hash[param] = _to_hash(value)
663
+ key = downcase ? attr : param
664
+ hash[key] = _to_hash(value)
670
665
  end
671
666
  hash
672
667
  end
673
668
 
669
+ # Returns the object in the form of hash with snake_case
670
+ def attributes
671
+ to_hash(downcase: true)
672
+ end
673
+
674
674
  # Outputs non-array value in the form of hash
675
675
  # For object, use to_hash. Otherwise, just return the value
676
676
  # @param [Object] value Any valid value
@@ -689,10 +689,13 @@ module XeroRuby::Accounting
689
689
  end
690
690
  end
691
691
 
692
- # customized data_parser
693
692
  def parse_date(datestring)
694
- seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
695
- return Time.at(seconds_since_epoch).strftime('%Y-%m-%dT%l:%M:%S%z').to_s
693
+ if datestring.include?('Date')
694
+ seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
695
+ Time.at(seconds_since_epoch).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
696
+ else # handle date 'types' for small subset of payroll API's
697
+ Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
698
+ end
696
699
  end
697
700
  end
698
701
  end