xero-ruby 2.3.1 → 2.6.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 (451) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +29 -4
  3. data/lib/xero-ruby.rb +10 -1
  4. data/lib/xero-ruby/api/accounting_api.rb +84 -3
  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 +3 -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 +9 -6
  15. data/lib/xero-ruby/models/accounting/account_type.rb +0 -1
  16. data/lib/xero-ruby/models/accounting/accounts.rb +9 -6
  17. data/lib/xero-ruby/models/accounting/accounts_payable.rb +9 -6
  18. data/lib/xero-ruby/models/accounting/accounts_receivable.rb +9 -6
  19. data/lib/xero-ruby/models/accounting/action.rb +9 -6
  20. data/lib/xero-ruby/models/accounting/actions.rb +9 -6
  21. data/lib/xero-ruby/models/accounting/address.rb +11 -9
  22. data/lib/xero-ruby/models/accounting/address_for_organisation.rb +473 -0
  23. data/lib/xero-ruby/models/accounting/allocation.rb +9 -6
  24. data/lib/xero-ruby/models/accounting/allocations.rb +9 -6
  25. data/lib/xero-ruby/models/accounting/attachment.rb +9 -6
  26. data/lib/xero-ruby/models/accounting/attachments.rb +9 -6
  27. data/lib/xero-ruby/models/accounting/balance_details.rb +232 -0
  28. data/lib/xero-ruby/models/accounting/balances.rb +9 -6
  29. data/lib/xero-ruby/models/accounting/bank_transaction.rb +9 -6
  30. data/lib/xero-ruby/models/accounting/bank_transactions.rb +9 -6
  31. data/lib/xero-ruby/models/accounting/bank_transfer.rb +9 -6
  32. data/lib/xero-ruby/models/accounting/bank_transfers.rb +9 -6
  33. data/lib/xero-ruby/models/accounting/batch_payment.rb +14 -11
  34. data/lib/xero-ruby/models/accounting/batch_payment_details.rb +9 -6
  35. data/lib/xero-ruby/models/accounting/batch_payments.rb +9 -6
  36. data/lib/xero-ruby/models/accounting/bill.rb +9 -6
  37. data/lib/xero-ruby/models/accounting/branding_theme.rb +9 -6
  38. data/lib/xero-ruby/models/accounting/branding_themes.rb +9 -6
  39. data/lib/xero-ruby/models/accounting/cis_org_setting.rb +10 -7
  40. data/lib/xero-ruby/models/accounting/cis_setting.rb +10 -7
  41. data/lib/xero-ruby/models/accounting/cis_settings.rb +9 -6
  42. data/lib/xero-ruby/models/accounting/contact.rb +9 -6
  43. data/lib/xero-ruby/models/accounting/contact_group.rb +9 -6
  44. data/lib/xero-ruby/models/accounting/contact_groups.rb +9 -6
  45. data/lib/xero-ruby/models/accounting/contact_person.rb +9 -6
  46. data/lib/xero-ruby/models/accounting/contacts.rb +9 -6
  47. data/lib/xero-ruby/models/accounting/conversion_balances.rb +234 -0
  48. data/lib/xero-ruby/models/accounting/conversion_date.rb +222 -0
  49. data/lib/xero-ruby/models/accounting/country_code.rb +0 -1
  50. data/lib/xero-ruby/models/accounting/credit_note.rb +40 -7
  51. data/lib/xero-ruby/models/accounting/credit_notes.rb +9 -6
  52. data/lib/xero-ruby/models/accounting/currencies.rb +9 -6
  53. data/lib/xero-ruby/models/accounting/currency.rb +9 -6
  54. data/lib/xero-ruby/models/accounting/currency_code.rb +0 -1
  55. data/lib/xero-ruby/models/accounting/element.rb +9 -6
  56. data/lib/xero-ruby/models/accounting/employee.rb +9 -6
  57. data/lib/xero-ruby/models/accounting/employees.rb +9 -6
  58. data/lib/xero-ruby/models/accounting/error.rb +9 -6
  59. data/lib/xero-ruby/models/accounting/expense_claim.rb +9 -6
  60. data/lib/xero-ruby/models/accounting/expense_claims.rb +9 -6
  61. data/lib/xero-ruby/models/accounting/external_link.rb +9 -6
  62. data/lib/xero-ruby/models/accounting/history_record.rb +9 -6
  63. data/lib/xero-ruby/models/accounting/history_records.rb +9 -6
  64. data/lib/xero-ruby/models/accounting/import_summary.rb +222 -0
  65. data/lib/xero-ruby/models/accounting/import_summary_accounts.rb +292 -0
  66. data/lib/xero-ruby/models/accounting/import_summary_object.rb +211 -0
  67. data/lib/xero-ruby/models/accounting/import_summary_organisation.rb +211 -0
  68. data/lib/xero-ruby/models/accounting/invoice.rb +21 -23
  69. data/lib/xero-ruby/models/accounting/invoice_reminder.rb +9 -6
  70. data/lib/xero-ruby/models/accounting/invoice_reminders.rb +9 -6
  71. data/lib/xero-ruby/models/accounting/invoices.rb +9 -6
  72. data/lib/xero-ruby/models/accounting/item.rb +9 -6
  73. data/lib/xero-ruby/models/accounting/items.rb +9 -6
  74. data/lib/xero-ruby/models/accounting/journal.rb +9 -6
  75. data/lib/xero-ruby/models/accounting/journal_line.rb +9 -6
  76. data/lib/xero-ruby/models/accounting/journals.rb +9 -6
  77. data/lib/xero-ruby/models/accounting/line_amount_types.rb +0 -1
  78. data/lib/xero-ruby/models/accounting/line_item.rb +9 -6
  79. data/lib/xero-ruby/models/accounting/line_item_tracking.rb +9 -6
  80. data/lib/xero-ruby/models/accounting/linked_transaction.rb +9 -6
  81. data/lib/xero-ruby/models/accounting/linked_transactions.rb +9 -6
  82. data/lib/xero-ruby/models/accounting/manual_journal.rb +9 -6
  83. data/lib/xero-ruby/models/accounting/manual_journal_line.rb +9 -6
  84. data/lib/xero-ruby/models/accounting/manual_journals.rb +9 -6
  85. data/lib/xero-ruby/models/accounting/online_invoice.rb +9 -6
  86. data/lib/xero-ruby/models/accounting/online_invoices.rb +9 -6
  87. data/lib/xero-ruby/models/accounting/organisation.rb +10 -7
  88. data/lib/xero-ruby/models/accounting/organisations.rb +9 -6
  89. data/lib/xero-ruby/models/accounting/overpayment.rb +9 -6
  90. data/lib/xero-ruby/models/accounting/overpayments.rb +9 -6
  91. data/lib/xero-ruby/models/accounting/payment.rb +9 -6
  92. data/lib/xero-ruby/models/accounting/payment_delete.rb +9 -6
  93. data/lib/xero-ruby/models/accounting/payment_service.rb +9 -6
  94. data/lib/xero-ruby/models/accounting/payment_services.rb +9 -6
  95. data/lib/xero-ruby/models/accounting/payment_term.rb +9 -6
  96. data/lib/xero-ruby/models/accounting/payment_term_type.rb +0 -1
  97. data/lib/xero-ruby/models/accounting/payments.rb +9 -6
  98. data/lib/xero-ruby/models/accounting/phone.rb +9 -6
  99. data/lib/xero-ruby/models/accounting/prepayment.rb +9 -6
  100. data/lib/xero-ruby/models/accounting/prepayments.rb +9 -6
  101. data/lib/xero-ruby/models/accounting/purchase.rb +9 -6
  102. data/lib/xero-ruby/models/accounting/purchase_order.rb +9 -6
  103. data/lib/xero-ruby/models/accounting/purchase_orders.rb +9 -6
  104. data/lib/xero-ruby/models/accounting/quote.rb +9 -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 +9 -6
  108. data/lib/xero-ruby/models/accounting/receipt.rb +9 -6
  109. data/lib/xero-ruby/models/accounting/receipts.rb +9 -6
  110. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +9 -6
  111. data/lib/xero-ruby/models/accounting/repeating_invoices.rb +9 -6
  112. data/lib/xero-ruby/models/accounting/report.rb +9 -6
  113. data/lib/xero-ruby/models/accounting/report_attribute.rb +9 -6
  114. data/lib/xero-ruby/models/accounting/report_cell.rb +9 -6
  115. data/lib/xero-ruby/models/accounting/report_fields.rb +9 -6
  116. data/lib/xero-ruby/models/accounting/report_row.rb +9 -6
  117. data/lib/xero-ruby/models/accounting/report_rows.rb +9 -6
  118. data/lib/xero-ruby/models/accounting/report_with_row.rb +9 -6
  119. data/lib/xero-ruby/models/accounting/report_with_rows.rb +9 -6
  120. data/lib/xero-ruby/models/accounting/reports.rb +9 -6
  121. data/lib/xero-ruby/models/accounting/request_empty.rb +9 -6
  122. data/lib/xero-ruby/models/accounting/row_type.rb +0 -1
  123. data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +9 -6
  124. data/lib/xero-ruby/models/accounting/schedule.rb +9 -6
  125. data/lib/xero-ruby/models/accounting/setup.rb +235 -0
  126. data/lib/xero-ruby/models/accounting/tax_component.rb +9 -6
  127. data/lib/xero-ruby/models/accounting/tax_rate.rb +9 -6
  128. data/lib/xero-ruby/models/accounting/tax_rates.rb +9 -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 +9 -6
  131. data/lib/xero-ruby/models/accounting/time_zone.rb +0 -1
  132. data/lib/xero-ruby/models/accounting/tracking_categories.rb +9 -6
  133. data/lib/xero-ruby/models/accounting/tracking_category.rb +9 -6
  134. data/lib/xero-ruby/models/accounting/tracking_option.rb +9 -6
  135. data/lib/xero-ruby/models/accounting/tracking_options.rb +9 -6
  136. data/lib/xero-ruby/models/accounting/user.rb +9 -6
  137. data/lib/xero-ruby/models/accounting/users.rb +9 -6
  138. data/lib/xero-ruby/models/accounting/validation_error.rb +9 -6
  139. data/lib/xero-ruby/models/assets/asset.rb +20 -7
  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 +9 -6
  143. data/lib/xero-ruby/models/assets/assets.rb +9 -6
  144. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +9 -6
  145. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +9 -6
  146. data/lib/xero-ruby/models/assets/error.rb +9 -6
  147. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +9 -6
  148. data/lib/xero-ruby/models/assets/pagination.rb +9 -6
  149. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +9 -6
  150. data/lib/xero-ruby/models/assets/setting.rb +9 -6
  151. data/lib/xero-ruby/models/files/association.rb +9 -6
  152. data/lib/xero-ruby/models/files/file_object.rb +20 -17
  153. data/lib/xero-ruby/models/files/file_response204.rb +9 -6
  154. data/lib/xero-ruby/models/files/files.rb +9 -6
  155. data/lib/xero-ruby/models/files/folder.rb +9 -6
  156. data/lib/xero-ruby/models/files/folders.rb +9 -6
  157. data/lib/xero-ruby/models/files/inline_object.rb +9 -6
  158. data/lib/xero-ruby/models/files/object_group.rb +0 -1
  159. data/lib/xero-ruby/models/files/object_type.rb +53 -32
  160. data/lib/xero-ruby/models/files/user.rb +32 -94
  161. data/lib/xero-ruby/models/payroll_au/account.rb +9 -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 +9 -6
  165. data/lib/xero-ruby/models/payroll_au/bank_account.rb +9 -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 +9 -6
  168. data/lib/xero-ruby/models/payroll_au/deduction_type.rb +9 -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 +9 -6
  171. data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +9 -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 +9 -6
  175. data/lib/xero-ruby/models/payroll_au/employee_status.rb +0 -1
  176. data/lib/xero-ruby/models/payroll_au/employees.rb +9 -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 +9 -6
  181. data/lib/xero-ruby/models/payroll_au/leave_accrual_line.rb +9 -6
  182. data/lib/xero-ruby/models/payroll_au/leave_application.rb +9 -6
  183. data/lib/xero-ruby/models/payroll_au/leave_applications.rb +9 -6
  184. data/lib/xero-ruby/models/payroll_au/leave_balance.rb +9 -6
  185. data/lib/xero-ruby/models/payroll_au/leave_earnings_line.rb +9 -6
  186. data/lib/xero-ruby/models/payroll_au/leave_line.rb +9 -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 +9 -6
  189. data/lib/xero-ruby/models/payroll_au/leave_period.rb +9 -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 +9 -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 +9 -6
  195. data/lib/xero-ruby/models/payroll_au/pay_item.rb +9 -6
  196. data/lib/xero-ruby/models/payroll_au/pay_items.rb +9 -6
  197. data/lib/xero-ruby/models/payroll_au/pay_run.rb +9 -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 +9 -6
  200. data/lib/xero-ruby/models/payroll_au/pay_template.rb +9 -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 +9 -6
  203. data/lib/xero-ruby/models/payroll_au/payroll_calendars.rb +9 -6
  204. data/lib/xero-ruby/models/payroll_au/payslip.rb +9 -6
  205. data/lib/xero-ruby/models/payroll_au/payslip_lines.rb +9 -6
  206. data/lib/xero-ruby/models/payroll_au/payslip_object.rb +9 -6
  207. data/lib/xero-ruby/models/payroll_au/payslip_summary.rb +9 -6
  208. data/lib/xero-ruby/models/payroll_au/payslips.rb +9 -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 +9 -6
  211. data/lib/xero-ruby/models/payroll_au/reimbursement_lines.rb +9 -6
  212. data/lib/xero-ruby/models/payroll_au/reimbursement_type.rb +9 -6
  213. data/lib/xero-ruby/models/payroll_au/residency_status.rb +0 -1
  214. data/lib/xero-ruby/models/payroll_au/settings.rb +9 -6
  215. data/lib/xero-ruby/models/payroll_au/settings_object.rb +9 -6
  216. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories.rb +9 -6
  217. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_employee_groups.rb +9 -6
  218. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_timesheet_categories.rb +9 -6
  219. data/lib/xero-ruby/models/payroll_au/state.rb +0 -1
  220. data/lib/xero-ruby/models/payroll_au/super_fund.rb +9 -6
  221. data/lib/xero-ruby/models/payroll_au/super_fund_product.rb +9 -6
  222. data/lib/xero-ruby/models/payroll_au/super_fund_products.rb +9 -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 +9 -6
  225. data/lib/xero-ruby/models/payroll_au/super_line.rb +9 -6
  226. data/lib/xero-ruby/models/payroll_au/super_membership.rb +9 -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 +9 -6
  230. data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +9 -6
  231. data/lib/xero-ruby/models/payroll_au/tax_line.rb +9 -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 +9 -6
  234. data/lib/xero-ruby/models/payroll_au/timesheet_line.rb +9 -6
  235. data/lib/xero-ruby/models/payroll_au/timesheet_object.rb +9 -6
  236. data/lib/xero-ruby/models/payroll_au/timesheet_status.rb +0 -1
  237. data/lib/xero-ruby/models/payroll_au/timesheets.rb +9 -6
  238. data/lib/xero-ruby/models/payroll_au/validation_error.rb +9 -6
  239. data/lib/xero-ruby/models/payroll_nz/account.rb +9 -6
  240. data/lib/xero-ruby/models/payroll_nz/accounts.rb +9 -6
  241. data/lib/xero-ruby/models/payroll_nz/address.rb +9 -6
  242. data/lib/xero-ruby/models/payroll_nz/bank_account.rb +9 -6
  243. data/lib/xero-ruby/models/payroll_nz/benefit.rb +9 -6
  244. data/lib/xero-ruby/models/payroll_nz/calendar_type.rb +41 -0
  245. data/lib/xero-ruby/models/payroll_nz/deduction.rb +9 -6
  246. data/lib/xero-ruby/models/payroll_nz/deduction_line.rb +9 -6
  247. data/lib/xero-ruby/models/payroll_nz/deduction_object.rb +9 -6
  248. data/lib/xero-ruby/models/payroll_nz/deductions.rb +9 -6
  249. data/lib/xero-ruby/models/payroll_nz/earnings_line.rb +9 -6
  250. data/lib/xero-ruby/models/payroll_nz/earnings_order.rb +9 -6
  251. data/lib/xero-ruby/models/payroll_nz/earnings_order_object.rb +9 -6
  252. data/lib/xero-ruby/models/payroll_nz/earnings_orders.rb +9 -6
  253. data/lib/xero-ruby/models/payroll_nz/earnings_rate.rb +22 -14
  254. data/lib/xero-ruby/models/payroll_nz/earnings_rate_object.rb +9 -6
  255. data/lib/xero-ruby/models/payroll_nz/earnings_rates.rb +9 -6
  256. data/lib/xero-ruby/models/payroll_nz/earnings_template.rb +9 -6
  257. data/lib/xero-ruby/models/payroll_nz/earnings_template_object.rb +9 -6
  258. data/lib/xero-ruby/models/payroll_nz/employee.rb +9 -6
  259. data/lib/xero-ruby/models/payroll_nz/employee_earnings_templates.rb +9 -6
  260. data/lib/xero-ruby/models/payroll_nz/employee_leave.rb +9 -6
  261. data/lib/xero-ruby/models/payroll_nz/employee_leave_balance.rb +9 -6
  262. data/lib/xero-ruby/models/payroll_nz/employee_leave_balances.rb +9 -6
  263. data/lib/xero-ruby/models/payroll_nz/employee_leave_object.rb +9 -6
  264. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup.rb +9 -6
  265. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup_object.rb +9 -6
  266. data/lib/xero-ruby/models/payroll_nz/employee_leave_type.rb +9 -6
  267. data/lib/xero-ruby/models/payroll_nz/employee_leave_type_object.rb +9 -6
  268. data/lib/xero-ruby/models/payroll_nz/employee_leave_types.rb +9 -6
  269. data/lib/xero-ruby/models/payroll_nz/employee_leaves.rb +9 -6
  270. data/lib/xero-ruby/models/payroll_nz/employee_object.rb +9 -6
  271. data/lib/xero-ruby/models/payroll_nz/employee_opening_balance.rb +9 -6
  272. data/lib/xero-ruby/models/payroll_nz/employee_opening_balances_object.rb +9 -6
  273. data/lib/xero-ruby/models/payroll_nz/employee_pay_template.rb +9 -6
  274. data/lib/xero-ruby/models/payroll_nz/employee_pay_template_object.rb +9 -6
  275. data/lib/xero-ruby/models/payroll_nz/employee_pay_templates.rb +9 -6
  276. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance.rb +9 -6
  277. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance_object.rb +9 -6
  278. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_summary.rb +9 -6
  279. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leaves_summaries.rb +9 -6
  280. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave.rb +9 -6
  281. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave_object.rb +9 -6
  282. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leaves.rb +9 -6
  283. data/lib/xero-ruby/models/payroll_nz/employee_tax.rb +9 -6
  284. data/lib/xero-ruby/models/payroll_nz/employee_tax_object.rb +9 -6
  285. data/lib/xero-ruby/models/payroll_nz/employees.rb +9 -6
  286. data/lib/xero-ruby/models/payroll_nz/employment.rb +9 -6
  287. data/lib/xero-ruby/models/payroll_nz/employment_object.rb +9 -6
  288. data/lib/xero-ruby/models/payroll_nz/gross_earnings_history.rb +9 -6
  289. data/lib/xero-ruby/models/payroll_nz/invalid_field.rb +9 -6
  290. data/lib/xero-ruby/models/payroll_nz/leave_accrual_line.rb +9 -6
  291. data/lib/xero-ruby/models/payroll_nz/leave_earnings_line.rb +9 -6
  292. data/lib/xero-ruby/models/payroll_nz/leave_period.rb +9 -6
  293. data/lib/xero-ruby/models/payroll_nz/leave_periods.rb +9 -6
  294. data/lib/xero-ruby/models/payroll_nz/leave_type.rb +9 -6
  295. data/lib/xero-ruby/models/payroll_nz/leave_type_object.rb +9 -6
  296. data/lib/xero-ruby/models/payroll_nz/leave_types.rb +9 -6
  297. data/lib/xero-ruby/models/payroll_nz/pagination.rb +9 -6
  298. data/lib/xero-ruby/models/payroll_nz/pay_run.rb +11 -26
  299. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar.rb +11 -48
  300. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar_object.rb +9 -6
  301. data/lib/xero-ruby/models/payroll_nz/pay_run_calendars.rb +9 -6
  302. data/lib/xero-ruby/models/payroll_nz/pay_run_object.rb +9 -6
  303. data/lib/xero-ruby/models/payroll_nz/pay_runs.rb +9 -6
  304. data/lib/xero-ruby/models/payroll_nz/pay_slip.rb +9 -6
  305. data/lib/xero-ruby/models/payroll_nz/pay_slip_object.rb +9 -6
  306. data/lib/xero-ruby/models/payroll_nz/pay_slips.rb +9 -6
  307. data/lib/xero-ruby/models/payroll_nz/payment_line.rb +9 -6
  308. data/lib/xero-ruby/models/payroll_nz/payment_method.rb +9 -11
  309. data/lib/xero-ruby/models/payroll_nz/payment_method_object.rb +9 -6
  310. data/lib/xero-ruby/models/payroll_nz/problem.rb +9 -6
  311. data/lib/xero-ruby/models/payroll_nz/reimbursement.rb +9 -6
  312. data/lib/xero-ruby/models/payroll_nz/reimbursement_line.rb +9 -6
  313. data/lib/xero-ruby/models/payroll_nz/reimbursement_object.rb +9 -6
  314. data/lib/xero-ruby/models/payroll_nz/reimbursements.rb +9 -6
  315. data/lib/xero-ruby/models/payroll_nz/salary_and_wage.rb +10 -12
  316. data/lib/xero-ruby/models/payroll_nz/salary_and_wage_object.rb +9 -6
  317. data/lib/xero-ruby/models/payroll_nz/salary_and_wages.rb +9 -6
  318. data/lib/xero-ruby/models/payroll_nz/settings.rb +9 -6
  319. data/lib/xero-ruby/models/payroll_nz/statutory_deduction.rb +9 -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 +9 -6
  322. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_object.rb +9 -6
  323. data/lib/xero-ruby/models/payroll_nz/statutory_deductions.rb +9 -6
  324. data/lib/xero-ruby/models/payroll_nz/superannuation_line.rb +9 -6
  325. data/lib/xero-ruby/models/payroll_nz/superannuation_object.rb +9 -6
  326. data/lib/xero-ruby/models/payroll_nz/superannuations.rb +9 -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 +9 -6
  329. data/lib/xero-ruby/models/payroll_nz/tax_settings.rb +10 -7
  330. data/lib/xero-ruby/models/payroll_nz/timesheet.rb +9 -6
  331. data/lib/xero-ruby/models/payroll_nz/timesheet_earnings_line.rb +9 -6
  332. data/lib/xero-ruby/models/payroll_nz/timesheet_line.rb +9 -6
  333. data/lib/xero-ruby/models/payroll_nz/timesheet_line_object.rb +9 -6
  334. data/lib/xero-ruby/models/payroll_nz/timesheet_object.rb +9 -6
  335. data/lib/xero-ruby/models/payroll_nz/timesheets.rb +9 -6
  336. data/lib/xero-ruby/models/payroll_nz/tracking_categories.rb +9 -6
  337. data/lib/xero-ruby/models/payroll_nz/tracking_category.rb +9 -6
  338. data/lib/xero-ruby/models/payroll_uk/account.rb +9 -6
  339. data/lib/xero-ruby/models/payroll_uk/accounts.rb +9 -6
  340. data/lib/xero-ruby/models/payroll_uk/address.rb +9 -6
  341. data/lib/xero-ruby/models/payroll_uk/bank_account.rb +9 -6
  342. data/lib/xero-ruby/models/payroll_uk/benefit.rb +9 -6
  343. data/lib/xero-ruby/models/payroll_uk/benefit_line.rb +9 -6
  344. data/lib/xero-ruby/models/payroll_uk/benefit_object.rb +9 -6
  345. data/lib/xero-ruby/models/payroll_uk/benefits.rb +9 -6
  346. data/lib/xero-ruby/models/payroll_uk/court_order_line.rb +9 -6
  347. data/lib/xero-ruby/models/payroll_uk/deduction.rb +9 -6
  348. data/lib/xero-ruby/models/payroll_uk/deduction_line.rb +9 -6
  349. data/lib/xero-ruby/models/payroll_uk/deduction_object.rb +9 -6
  350. data/lib/xero-ruby/models/payroll_uk/deductions.rb +9 -6
  351. data/lib/xero-ruby/models/payroll_uk/earnings_line.rb +9 -6
  352. data/lib/xero-ruby/models/payroll_uk/earnings_order.rb +9 -6
  353. data/lib/xero-ruby/models/payroll_uk/earnings_order_object.rb +9 -6
  354. data/lib/xero-ruby/models/payroll_uk/earnings_orders.rb +9 -6
  355. data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +9 -6
  356. data/lib/xero-ruby/models/payroll_uk/earnings_rate_object.rb +9 -6
  357. data/lib/xero-ruby/models/payroll_uk/earnings_rates.rb +9 -6
  358. data/lib/xero-ruby/models/payroll_uk/earnings_template.rb +9 -6
  359. data/lib/xero-ruby/models/payroll_uk/earnings_template_object.rb +9 -6
  360. data/lib/xero-ruby/models/payroll_uk/employee.rb +9 -6
  361. data/lib/xero-ruby/models/payroll_uk/employee_leave.rb +9 -6
  362. data/lib/xero-ruby/models/payroll_uk/employee_leave_balance.rb +9 -6
  363. data/lib/xero-ruby/models/payroll_uk/employee_leave_balances.rb +9 -6
  364. data/lib/xero-ruby/models/payroll_uk/employee_leave_object.rb +9 -6
  365. data/lib/xero-ruby/models/payroll_uk/employee_leave_type.rb +9 -6
  366. data/lib/xero-ruby/models/payroll_uk/employee_leave_type_object.rb +9 -6
  367. data/lib/xero-ruby/models/payroll_uk/employee_leave_types.rb +9 -6
  368. data/lib/xero-ruby/models/payroll_uk/employee_leaves.rb +9 -6
  369. data/lib/xero-ruby/models/payroll_uk/employee_object.rb +9 -6
  370. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances.rb +9 -6
  371. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances_object.rb +9 -6
  372. data/lib/xero-ruby/models/payroll_uk/employee_pay_template.rb +9 -6
  373. data/lib/xero-ruby/models/payroll_uk/employee_pay_template_object.rb +9 -6
  374. data/lib/xero-ruby/models/payroll_uk/employee_pay_templates.rb +9 -6
  375. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance.rb +9 -6
  376. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance_object.rb +9 -6
  377. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_summary.rb +9 -6
  378. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leaves_summaries.rb +9 -6
  379. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave.rb +9 -6
  380. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave_object.rb +9 -6
  381. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leaves.rb +9 -6
  382. data/lib/xero-ruby/models/payroll_uk/employee_tax.rb +9 -6
  383. data/lib/xero-ruby/models/payroll_uk/employee_tax_object.rb +9 -6
  384. data/lib/xero-ruby/models/payroll_uk/employees.rb +9 -6
  385. data/lib/xero-ruby/models/payroll_uk/employment.rb +9 -6
  386. data/lib/xero-ruby/models/payroll_uk/employment_object.rb +9 -6
  387. data/lib/xero-ruby/models/payroll_uk/invalid_field.rb +9 -6
  388. data/lib/xero-ruby/models/payroll_uk/leave_accrual_line.rb +9 -6
  389. data/lib/xero-ruby/models/payroll_uk/leave_earnings_line.rb +9 -6
  390. data/lib/xero-ruby/models/payroll_uk/leave_period.rb +9 -6
  391. data/lib/xero-ruby/models/payroll_uk/leave_periods.rb +9 -6
  392. data/lib/xero-ruby/models/payroll_uk/leave_type.rb +9 -6
  393. data/lib/xero-ruby/models/payroll_uk/leave_type_object.rb +9 -6
  394. data/lib/xero-ruby/models/payroll_uk/leave_types.rb +9 -6
  395. data/lib/xero-ruby/models/payroll_uk/pagination.rb +9 -6
  396. data/lib/xero-ruby/models/payroll_uk/pay_run.rb +9 -6
  397. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar.rb +9 -6
  398. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar_object.rb +9 -6
  399. data/lib/xero-ruby/models/payroll_uk/pay_run_calendars.rb +9 -6
  400. data/lib/xero-ruby/models/payroll_uk/pay_run_object.rb +9 -6
  401. data/lib/xero-ruby/models/payroll_uk/pay_runs.rb +9 -6
  402. data/lib/xero-ruby/models/payroll_uk/payment_line.rb +9 -6
  403. data/lib/xero-ruby/models/payroll_uk/payment_method.rb +9 -6
  404. data/lib/xero-ruby/models/payroll_uk/payment_method_object.rb +9 -6
  405. data/lib/xero-ruby/models/payroll_uk/payslip.rb +22 -7
  406. data/lib/xero-ruby/models/payroll_uk/payslip_object.rb +9 -6
  407. data/lib/xero-ruby/models/payroll_uk/payslips.rb +9 -6
  408. data/lib/xero-ruby/models/payroll_uk/problem.rb +9 -6
  409. data/lib/xero-ruby/models/payroll_uk/reimbursement.rb +9 -6
  410. data/lib/xero-ruby/models/payroll_uk/reimbursement_line.rb +9 -6
  411. data/lib/xero-ruby/models/payroll_uk/reimbursement_object.rb +9 -6
  412. data/lib/xero-ruby/models/payroll_uk/reimbursements.rb +9 -6
  413. data/lib/xero-ruby/models/payroll_uk/salary_and_wage.rb +9 -6
  414. data/lib/xero-ruby/models/payroll_uk/salary_and_wage_object.rb +9 -6
  415. data/lib/xero-ruby/models/payroll_uk/salary_and_wages.rb +9 -6
  416. data/lib/xero-ruby/models/payroll_uk/settings.rb +9 -6
  417. data/lib/xero-ruby/models/payroll_uk/statutory_deduction.rb +9 -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 +9 -6
  420. data/lib/xero-ruby/models/payroll_uk/timesheet.rb +9 -6
  421. data/lib/xero-ruby/models/payroll_uk/timesheet_earnings_line.rb +9 -6
  422. data/lib/xero-ruby/models/payroll_uk/timesheet_line.rb +9 -6
  423. data/lib/xero-ruby/models/payroll_uk/timesheet_line_object.rb +9 -6
  424. data/lib/xero-ruby/models/payroll_uk/timesheet_object.rb +9 -6
  425. data/lib/xero-ruby/models/payroll_uk/timesheets.rb +9 -6
  426. data/lib/xero-ruby/models/payroll_uk/tracking_categories.rb +9 -6
  427. data/lib/xero-ruby/models/payroll_uk/tracking_category.rb +9 -6
  428. data/lib/xero-ruby/models/projects/amount.rb +9 -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 +9 -6
  432. data/lib/xero-ruby/models/projects/pagination.rb +9 -6
  433. data/lib/xero-ruby/models/projects/project.rb +9 -6
  434. data/lib/xero-ruby/models/projects/project_create_or_update.rb +9 -6
  435. data/lib/xero-ruby/models/projects/project_patch.rb +9 -6
  436. data/lib/xero-ruby/models/projects/project_status.rb +0 -1
  437. data/lib/xero-ruby/models/projects/project_user.rb +9 -6
  438. data/lib/xero-ruby/models/projects/project_users.rb +9 -6
  439. data/lib/xero-ruby/models/projects/projects.rb +9 -6
  440. data/lib/xero-ruby/models/projects/task.rb +9 -6
  441. data/lib/xero-ruby/models/projects/task_create_or_update.rb +9 -6
  442. data/lib/xero-ruby/models/projects/tasks.rb +9 -6
  443. data/lib/xero-ruby/models/projects/time_entries.rb +9 -6
  444. data/lib/xero-ruby/models/projects/time_entry.rb +9 -6
  445. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +9 -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 +70 -0
  451. metadata +19 -5
@@ -0,0 +1,222 @@
1
+ =begin
2
+ #Accounting API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ Contact: api@xero.com
7
+ Generated by: https://openapi-generator.tech
8
+ OpenAPI Generator version: 4.3.1
9
+
10
+ =end
11
+
12
+ require 'time'
13
+ require 'date'
14
+
15
+ module XeroRuby::Accounting
16
+ # The date when the organisation starts using Xero
17
+ require 'bigdecimal'
18
+
19
+ class ConversionDate
20
+ # The month the organisation starts using Xero. Value is an integer between 1 and 12
21
+ attr_accessor :month
22
+
23
+ # The year the organisation starts using Xero. Value is an integer greater than 2006
24
+ attr_accessor :year
25
+
26
+ # Attribute mapping from ruby-style variable name to JSON key.
27
+ def self.attribute_map
28
+ {
29
+ :'month' => :'Month',
30
+ :'year' => :'Year'
31
+ }
32
+ end
33
+
34
+ # Attribute type mapping.
35
+ def self.openapi_types
36
+ {
37
+ :'month' => :'Integer',
38
+ :'year' => :'Integer'
39
+ }
40
+ end
41
+
42
+ # Initializes the object
43
+ # @param [Hash] attributes Model attributes in the form of hash
44
+ def initialize(attributes = {})
45
+ if (!attributes.is_a?(Hash))
46
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::ConversionDate` initialize method"
47
+ end
48
+
49
+ # check to see if the attribute exists and convert string to symbol for hash key
50
+ attributes = attributes.each_with_object({}) { |(k, v), h|
51
+ if (!self.class.attribute_map.key?(k.to_sym))
52
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::ConversionDate`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
53
+ end
54
+ h[k.to_sym] = v
55
+ }
56
+
57
+ if attributes.key?(:'month')
58
+ self.month = attributes[:'month']
59
+ end
60
+
61
+ if attributes.key?(:'year')
62
+ self.year = attributes[:'year']
63
+ end
64
+ end
65
+
66
+ # Show invalid properties with the reasons. Usually used together with valid?
67
+ # @return Array for valid properties with the reasons
68
+ def list_invalid_properties
69
+ invalid_properties = Array.new
70
+ invalid_properties
71
+ end
72
+
73
+ # Check to see if the all the properties in the model are valid
74
+ # @return true if the model is valid
75
+ def valid?
76
+ true
77
+ end
78
+
79
+ # Checks equality by comparing each attribute.
80
+ # @param [Object] Object to be compared
81
+ def ==(o)
82
+ return true if self.equal?(o)
83
+ self.class == o.class &&
84
+ month == o.month &&
85
+ year == o.year
86
+ end
87
+
88
+ # @see the `==` method
89
+ # @param [Object] Object to be compared
90
+ def eql?(o)
91
+ self == o
92
+ end
93
+
94
+ # Calculates hash code according to all attributes.
95
+ # @return [Integer] Hash code
96
+ def hash
97
+ [month, year].hash
98
+ end
99
+
100
+ # Builds the object from hash
101
+ # @param [Hash] attributes Model attributes in the form of hash
102
+ # @return [Object] Returns the model itself
103
+ def self.build_from_hash(attributes)
104
+ new.build_from_hash(attributes)
105
+ end
106
+
107
+ # Builds the object from hash
108
+ # @param [Hash] attributes Model attributes in the form of hash
109
+ # @return [Object] Returns the model itself
110
+ def build_from_hash(attributes)
111
+ return nil unless attributes.is_a?(Hash)
112
+ self.class.openapi_types.each_pair do |key, type|
113
+ if type =~ /\AArray<(.*)>/i
114
+ # check to ensure the input is an array given that the attribute
115
+ # is documented as an array but the input is not
116
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
117
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
118
+ end
119
+ elsif !attributes[self.class.attribute_map[key]].nil?
120
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
121
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
122
+ end
123
+
124
+ self
125
+ end
126
+
127
+ # Deserializes the data based on type
128
+ # @param string type Data type
129
+ # @param string value Value to be deserialized
130
+ # @return [Object] Deserialized data
131
+ def _deserialize(type, value)
132
+ case type.to_sym
133
+ when :DateTime
134
+ DateTime.parse(parse_date(value))
135
+ when :Date
136
+ Date.parse(parse_date(value))
137
+ when :String
138
+ value.to_s
139
+ when :Integer
140
+ value.to_i
141
+ when :Float
142
+ value.to_f
143
+ when :BigDecimal
144
+ BigDecimal(value.to_s)
145
+ when :Boolean
146
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
147
+ true
148
+ else
149
+ false
150
+ end
151
+ when :Object
152
+ # generic object (usually a Hash), return directly
153
+ value
154
+ when /\AArray<(?<inner_type>.+)>\z/
155
+ inner_type = Regexp.last_match[:inner_type]
156
+ value.map { |v| _deserialize(inner_type, v) }
157
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
158
+ k_type = Regexp.last_match[:k_type]
159
+ v_type = Regexp.last_match[:v_type]
160
+ {}.tap do |hash|
161
+ value.each do |k, v|
162
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
163
+ end
164
+ end
165
+ else # model
166
+ XeroRuby::Accounting.const_get(type).build_from_hash(value)
167
+ end
168
+ end
169
+
170
+ # Returns the string representation of the object
171
+ # @return [String] String presentation of the object
172
+ def to_s
173
+ to_hash.to_s
174
+ end
175
+
176
+ # to_body is an alias to to_hash (backward compatibility)
177
+ # @return [Hash] Returns the object in the form of hash
178
+ def to_body
179
+ to_hash
180
+ end
181
+
182
+ # Returns the object in the form of hash
183
+ # @return [Hash] Returns the object in the form of hash
184
+ def to_hash(downcase: true)
185
+ hash = {}
186
+ self.class.attribute_map.each_pair do |attr, param|
187
+ value = self.send(attr)
188
+ next if value.nil?
189
+ key = downcase ? attr : param
190
+ hash[key] = _to_hash(value)
191
+ end
192
+ hash
193
+ end
194
+
195
+ # Outputs non-array value in the form of hash
196
+ # For object, use to_hash. Otherwise, just return the value
197
+ # @param [Object] value Any valid value
198
+ # @return [Hash] Returns the value in the form of hash
199
+ def _to_hash(value)
200
+ if value.is_a?(Array)
201
+ value.compact.map { |v| _to_hash(v) }
202
+ elsif value.is_a?(Hash)
203
+ {}.tap do |hash|
204
+ value.each { |k, v| hash[k] = _to_hash(v) }
205
+ end
206
+ elsif value.respond_to? :to_hash
207
+ value.to_hash
208
+ else
209
+ value
210
+ end
211
+ end
212
+
213
+ def parse_date(datestring)
214
+ if datestring.include?('Date')
215
+ seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
216
+ Time.at(seconds_since_epoch).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
217
+ else # handle date 'types' for small subset of payroll API's
218
+ Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
219
+ end
220
+ end
221
+ end
222
+ 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.4.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -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.4.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -28,6 +27,9 @@ module XeroRuby::Accounting
28
27
  # The date the credit note is issued YYYY-MM-DD. If the Date element is not specified then it will default to the current date based on the timezone setting of the organisation
29
28
  attr_accessor :date
30
29
 
30
+ # Date invoice is due – YYYY-MM-DD
31
+ attr_accessor :due_date
32
+
31
33
  # See Credit Note Status Codes
32
34
  attr_accessor :status
33
35
  DRAFT = "DRAFT".freeze
@@ -52,6 +54,12 @@ module XeroRuby::Accounting
52
54
  # The total of the Credit Note(subtotal + total tax)
53
55
  attr_accessor :total
54
56
 
57
+ # CIS deduction for UK contractors
58
+ attr_accessor :cis_deduction
59
+
60
+ # CIS Deduction rate for the organisation
61
+ attr_accessor :cis_rate
62
+
55
63
  # UTC timestamp of last update to the credit note
56
64
  attr_accessor :updated_date_utc
57
65
 
@@ -131,12 +139,15 @@ module XeroRuby::Accounting
131
139
  :'type' => :'Type',
132
140
  :'contact' => :'Contact',
133
141
  :'date' => :'Date',
142
+ :'due_date' => :'DueDate',
134
143
  :'status' => :'Status',
135
144
  :'line_amount_types' => :'LineAmountTypes',
136
145
  :'line_items' => :'LineItems',
137
146
  :'sub_total' => :'SubTotal',
138
147
  :'total_tax' => :'TotalTax',
139
148
  :'total' => :'Total',
149
+ :'cis_deduction' => :'CISDeduction',
150
+ :'cis_rate' => :'CISRate',
140
151
  :'updated_date_utc' => :'UpdatedDateUTC',
141
152
  :'currency_code' => :'CurrencyCode',
142
153
  :'fully_paid_on_date' => :'FullyPaidOnDate',
@@ -163,12 +174,15 @@ module XeroRuby::Accounting
163
174
  :'type' => :'String',
164
175
  :'contact' => :'Contact',
165
176
  :'date' => :'Date',
177
+ :'due_date' => :'Date',
166
178
  :'status' => :'String',
167
179
  :'line_amount_types' => :'LineAmountTypes',
168
180
  :'line_items' => :'Array<LineItem>',
169
181
  :'sub_total' => :'BigDecimal',
170
182
  :'total_tax' => :'BigDecimal',
171
183
  :'total' => :'BigDecimal',
184
+ :'cis_deduction' => :'BigDecimal',
185
+ :'cis_rate' => :'BigDecimal',
172
186
  :'updated_date_utc' => :'DateTime',
173
187
  :'currency_code' => :'CurrencyCode',
174
188
  :'fully_paid_on_date' => :'Date',
@@ -216,6 +230,10 @@ module XeroRuby::Accounting
216
230
  self.date = attributes[:'date']
217
231
  end
218
232
 
233
+ if attributes.key?(:'due_date')
234
+ self.due_date = attributes[:'due_date']
235
+ end
236
+
219
237
  if attributes.key?(:'status')
220
238
  self.status = attributes[:'status']
221
239
  end
@@ -242,6 +260,14 @@ module XeroRuby::Accounting
242
260
  self.total = attributes[:'total']
243
261
  end
244
262
 
263
+ if attributes.key?(:'cis_deduction')
264
+ self.cis_deduction = attributes[:'cis_deduction']
265
+ end
266
+
267
+ if attributes.key?(:'cis_rate')
268
+ self.cis_rate = attributes[:'cis_rate']
269
+ end
270
+
245
271
  if attributes.key?(:'updated_date_utc')
246
272
  self.updated_date_utc = attributes[:'updated_date_utc']
247
273
  end
@@ -366,12 +392,15 @@ module XeroRuby::Accounting
366
392
  type == o.type &&
367
393
  contact == o.contact &&
368
394
  date == o.date &&
395
+ due_date == o.due_date &&
369
396
  status == o.status &&
370
397
  line_amount_types == o.line_amount_types &&
371
398
  line_items == o.line_items &&
372
399
  sub_total == o.sub_total &&
373
400
  total_tax == o.total_tax &&
374
401
  total == o.total &&
402
+ cis_deduction == o.cis_deduction &&
403
+ cis_rate == o.cis_rate &&
375
404
  updated_date_utc == o.updated_date_utc &&
376
405
  currency_code == o.currency_code &&
377
406
  fully_paid_on_date == o.fully_paid_on_date &&
@@ -400,7 +429,7 @@ module XeroRuby::Accounting
400
429
  # Calculates hash code according to all attributes.
401
430
  # @return [Integer] Hash code
402
431
  def hash
403
- [type, contact, date, status, line_amount_types, line_items, sub_total, total_tax, total, updated_date_utc, currency_code, fully_paid_on_date, credit_note_id, credit_note_number, reference, sent_to_contact, currency_rate, remaining_credit, allocations, applied_amount, payments, branding_theme_id, status_attribute_string, has_attachments, has_errors, validation_errors].hash
432
+ [type, contact, date, due_date, status, line_amount_types, line_items, sub_total, total_tax, total, cis_deduction, cis_rate, updated_date_utc, currency_code, fully_paid_on_date, credit_note_id, credit_note_number, reference, sent_to_contact, currency_rate, remaining_credit, allocations, applied_amount, payments, branding_theme_id, status_attribute_string, has_attachments, has_errors, validation_errors].hash
404
433
  end
405
434
 
406
435
  # Builds the object from hash
@@ -487,12 +516,13 @@ module XeroRuby::Accounting
487
516
 
488
517
  # Returns the object in the form of hash
489
518
  # @return [Hash] Returns the object in the form of hash
490
- def to_hash
519
+ def to_hash(downcase: true)
491
520
  hash = {}
492
521
  self.class.attribute_map.each_pair do |attr, param|
493
522
  value = self.send(attr)
494
523
  next if value.nil?
495
- hash[param] = _to_hash(value)
524
+ key = downcase ? attr : param
525
+ hash[key] = _to_hash(value)
496
526
  end
497
527
  hash
498
528
  end
@@ -515,10 +545,13 @@ module XeroRuby::Accounting
515
545
  end
516
546
  end
517
547
 
518
- # customized data_parser
519
548
  def parse_date(datestring)
520
- seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
521
- return Time.at(seconds_since_epoch).strftime('%Y-%m-%dT%l:%M:%S%z').to_s
549
+ if datestring.include?('Date')
550
+ seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
551
+ Time.at(seconds_since_epoch).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
552
+ else # handle date 'types' for small subset of payroll API's
553
+ Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
554
+ end
522
555
  end
523
556
  end
524
557
  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.4.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -173,12 +172,13 @@ 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: true)
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
@@ -201,10 +201,13 @@ module XeroRuby::Accounting
201
201
  end
202
202
  end
203
203
 
204
- # customized data_parser
205
204
  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
205
+ if datestring.include?('Date')
206
+ seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
207
+ Time.at(seconds_since_epoch).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
208
+ else # handle date 'types' for small subset of payroll API's
209
+ Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
210
+ end
208
211
  end
209
212
  end
210
213
  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.4.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -173,12 +172,13 @@ 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: true)
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
@@ -201,10 +201,13 @@ module XeroRuby::Accounting
201
201
  end
202
202
  end
203
203
 
204
- # customized data_parser
205
204
  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
205
+ if datestring.include?('Date')
206
+ seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i / 1000.0
207
+ Time.at(seconds_since_epoch).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
208
+ else # handle date 'types' for small subset of payroll API's
209
+ Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
210
+ end
208
211
  end
209
212
  end
210
213
  end