xero-ruby 2.7.1 → 2.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (406) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +45 -40
  3. data/lib/xero-ruby.rb +1 -1
  4. data/lib/xero-ruby/api/accounting_api.rb +570 -346
  5. data/lib/xero-ruby/api/asset_api.rb +12 -6
  6. data/lib/xero-ruby/api/files_api.rb +158 -32
  7. data/lib/xero-ruby/api/payroll_au_api.rb +58 -29
  8. data/lib/xero-ruby/api/payroll_nz_api.rb +136 -68
  9. data/lib/xero-ruby/api/payroll_uk_api.rb +146 -82
  10. data/lib/xero-ruby/api/project_api.rb +26 -13
  11. data/lib/xero-ruby/api_client.rb +48 -8
  12. data/lib/xero-ruby/configuration.rb +14 -1
  13. data/lib/xero-ruby/models/accounting/account.rb +1 -1
  14. data/lib/xero-ruby/models/accounting/accounts.rb +1 -1
  15. data/lib/xero-ruby/models/accounting/accounts_payable.rb +1 -1
  16. data/lib/xero-ruby/models/accounting/accounts_receivable.rb +1 -1
  17. data/lib/xero-ruby/models/accounting/action.rb +1 -1
  18. data/lib/xero-ruby/models/accounting/actions.rb +1 -1
  19. data/lib/xero-ruby/models/accounting/address.rb +1 -1
  20. data/lib/xero-ruby/models/accounting/address_for_organisation.rb +1 -1
  21. data/lib/xero-ruby/models/accounting/allocation.rb +1 -1
  22. data/lib/xero-ruby/models/accounting/allocations.rb +1 -1
  23. data/lib/xero-ruby/models/accounting/attachment.rb +1 -1
  24. data/lib/xero-ruby/models/accounting/attachments.rb +1 -1
  25. data/lib/xero-ruby/models/accounting/balance_details.rb +1 -1
  26. data/lib/xero-ruby/models/accounting/balances.rb +1 -1
  27. data/lib/xero-ruby/models/accounting/bank_transaction.rb +1 -1
  28. data/lib/xero-ruby/models/accounting/bank_transactions.rb +1 -1
  29. data/lib/xero-ruby/models/accounting/bank_transfer.rb +1 -1
  30. data/lib/xero-ruby/models/accounting/bank_transfers.rb +1 -1
  31. data/lib/xero-ruby/models/accounting/batch_payment.rb +17 -5
  32. data/lib/xero-ruby/models/accounting/batch_payment_details.rb +1 -1
  33. data/lib/xero-ruby/models/accounting/batch_payments.rb +1 -1
  34. data/lib/xero-ruby/models/accounting/bill.rb +1 -1
  35. data/lib/xero-ruby/models/accounting/branding_theme.rb +1 -1
  36. data/lib/xero-ruby/models/accounting/branding_themes.rb +1 -1
  37. data/lib/xero-ruby/models/accounting/cis_org_setting.rb +1 -1
  38. data/lib/xero-ruby/models/accounting/cis_org_settings.rb +1 -1
  39. data/lib/xero-ruby/models/accounting/cis_setting.rb +1 -1
  40. data/lib/xero-ruby/models/accounting/cis_settings.rb +1 -1
  41. data/lib/xero-ruby/models/accounting/contact.rb +1 -1
  42. data/lib/xero-ruby/models/accounting/contact_group.rb +1 -1
  43. data/lib/xero-ruby/models/accounting/contact_groups.rb +1 -1
  44. data/lib/xero-ruby/models/accounting/contact_person.rb +1 -1
  45. data/lib/xero-ruby/models/accounting/contacts.rb +1 -1
  46. data/lib/xero-ruby/models/accounting/conversion_balances.rb +1 -1
  47. data/lib/xero-ruby/models/accounting/conversion_date.rb +1 -1
  48. data/lib/xero-ruby/models/accounting/credit_note.rb +1 -1
  49. data/lib/xero-ruby/models/accounting/credit_notes.rb +1 -1
  50. data/lib/xero-ruby/models/accounting/currencies.rb +1 -1
  51. data/lib/xero-ruby/models/accounting/currency.rb +1 -1
  52. data/lib/xero-ruby/models/accounting/element.rb +1 -1
  53. data/lib/xero-ruby/models/accounting/employee.rb +1 -1
  54. data/lib/xero-ruby/models/accounting/employees.rb +1 -1
  55. data/lib/xero-ruby/models/accounting/error.rb +1 -1
  56. data/lib/xero-ruby/models/accounting/expense_claim.rb +1 -1
  57. data/lib/xero-ruby/models/accounting/expense_claims.rb +1 -1
  58. data/lib/xero-ruby/models/accounting/external_link.rb +1 -1
  59. data/lib/xero-ruby/models/accounting/history_record.rb +1 -1
  60. data/lib/xero-ruby/models/accounting/history_records.rb +1 -1
  61. data/lib/xero-ruby/models/accounting/import_summary.rb +1 -1
  62. data/lib/xero-ruby/models/accounting/import_summary_accounts.rb +9 -9
  63. data/lib/xero-ruby/models/accounting/import_summary_object.rb +1 -1
  64. data/lib/xero-ruby/models/accounting/import_summary_organisation.rb +1 -1
  65. data/lib/xero-ruby/models/accounting/invoice.rb +1 -1
  66. data/lib/xero-ruby/models/accounting/invoice_reminder.rb +1 -1
  67. data/lib/xero-ruby/models/accounting/invoice_reminders.rb +1 -1
  68. data/lib/xero-ruby/models/accounting/invoices.rb +1 -1
  69. data/lib/xero-ruby/models/accounting/item.rb +1 -1
  70. data/lib/xero-ruby/models/accounting/items.rb +1 -1
  71. data/lib/xero-ruby/models/accounting/journal.rb +1 -1
  72. data/lib/xero-ruby/models/accounting/journal_line.rb +1 -1
  73. data/lib/xero-ruby/models/accounting/journals.rb +1 -1
  74. data/lib/xero-ruby/models/accounting/line_item.rb +1 -1
  75. data/lib/xero-ruby/models/accounting/line_item_tracking.rb +1 -1
  76. data/lib/xero-ruby/models/accounting/linked_transaction.rb +1 -1
  77. data/lib/xero-ruby/models/accounting/linked_transactions.rb +1 -1
  78. data/lib/xero-ruby/models/accounting/manual_journal.rb +1 -1
  79. data/lib/xero-ruby/models/accounting/manual_journal_line.rb +1 -1
  80. data/lib/xero-ruby/models/accounting/manual_journals.rb +1 -1
  81. data/lib/xero-ruby/models/accounting/online_invoice.rb +1 -1
  82. data/lib/xero-ruby/models/accounting/online_invoices.rb +1 -1
  83. data/lib/xero-ruby/models/accounting/organisation.rb +1 -1
  84. data/lib/xero-ruby/models/accounting/organisations.rb +1 -1
  85. data/lib/xero-ruby/models/accounting/overpayment.rb +1 -1
  86. data/lib/xero-ruby/models/accounting/overpayments.rb +1 -1
  87. data/lib/xero-ruby/models/accounting/payment.rb +1 -1
  88. data/lib/xero-ruby/models/accounting/payment_delete.rb +1 -1
  89. data/lib/xero-ruby/models/accounting/payment_service.rb +1 -1
  90. data/lib/xero-ruby/models/accounting/payment_services.rb +1 -1
  91. data/lib/xero-ruby/models/accounting/payment_term.rb +1 -1
  92. data/lib/xero-ruby/models/accounting/payments.rb +1 -1
  93. data/lib/xero-ruby/models/accounting/phone.rb +1 -1
  94. data/lib/xero-ruby/models/accounting/prepayment.rb +1 -1
  95. data/lib/xero-ruby/models/accounting/prepayments.rb +1 -1
  96. data/lib/xero-ruby/models/accounting/purchase.rb +1 -1
  97. data/lib/xero-ruby/models/accounting/purchase_order.rb +1 -1
  98. data/lib/xero-ruby/models/accounting/purchase_orders.rb +1 -1
  99. data/lib/xero-ruby/models/accounting/quote.rb +1 -1
  100. data/lib/xero-ruby/models/accounting/quotes.rb +1 -1
  101. data/lib/xero-ruby/models/accounting/receipt.rb +1 -1
  102. data/lib/xero-ruby/models/accounting/receipts.rb +1 -1
  103. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +1 -1
  104. data/lib/xero-ruby/models/accounting/repeating_invoices.rb +1 -1
  105. data/lib/xero-ruby/models/accounting/report.rb +1 -1
  106. data/lib/xero-ruby/models/accounting/report_attribute.rb +1 -1
  107. data/lib/xero-ruby/models/accounting/report_cell.rb +1 -1
  108. data/lib/xero-ruby/models/accounting/report_fields.rb +1 -1
  109. data/lib/xero-ruby/models/accounting/report_row.rb +1 -1
  110. data/lib/xero-ruby/models/accounting/report_rows.rb +1 -1
  111. data/lib/xero-ruby/models/accounting/report_with_row.rb +1 -1
  112. data/lib/xero-ruby/models/accounting/report_with_rows.rb +1 -1
  113. data/lib/xero-ruby/models/accounting/reports.rb +1 -1
  114. data/lib/xero-ruby/models/accounting/request_empty.rb +1 -1
  115. data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +1 -1
  116. data/lib/xero-ruby/models/accounting/schedule.rb +1 -1
  117. data/lib/xero-ruby/models/accounting/setup.rb +1 -1
  118. data/lib/xero-ruby/models/accounting/tax_component.rb +1 -1
  119. data/lib/xero-ruby/models/accounting/tax_rate.rb +1 -1
  120. data/lib/xero-ruby/models/accounting/tax_rates.rb +1 -1
  121. data/lib/xero-ruby/models/accounting/ten_ninety_nine_contact.rb +1 -1
  122. data/lib/xero-ruby/models/accounting/tracking_categories.rb +1 -1
  123. data/lib/xero-ruby/models/accounting/tracking_category.rb +1 -1
  124. data/lib/xero-ruby/models/accounting/tracking_option.rb +1 -1
  125. data/lib/xero-ruby/models/accounting/tracking_options.rb +1 -1
  126. data/lib/xero-ruby/models/accounting/user.rb +1 -1
  127. data/lib/xero-ruby/models/accounting/users.rb +1 -1
  128. data/lib/xero-ruby/models/accounting/validation_error.rb +1 -1
  129. data/lib/xero-ruby/models/assets/asset.rb +1 -1
  130. data/lib/xero-ruby/models/assets/asset_type.rb +1 -1
  131. data/lib/xero-ruby/models/assets/assets.rb +1 -1
  132. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +1 -1
  133. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +1 -1
  134. data/lib/xero-ruby/models/assets/error.rb +1 -1
  135. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +1 -1
  136. data/lib/xero-ruby/models/assets/pagination.rb +1 -1
  137. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +1 -1
  138. data/lib/xero-ruby/models/assets/setting.rb +1 -1
  139. data/lib/xero-ruby/models/files/association.rb +1 -1
  140. data/lib/xero-ruby/models/files/file_object.rb +1 -1
  141. data/lib/xero-ruby/models/files/files.rb +1 -1
  142. data/lib/xero-ruby/models/files/folder.rb +1 -1
  143. data/lib/xero-ruby/models/files/folders.rb +1 -1
  144. data/lib/xero-ruby/models/files/{inline_object.rb → upload_object.rb} +19 -4
  145. data/lib/xero-ruby/models/files/user.rb +1 -1
  146. data/lib/xero-ruby/models/payroll_au/account.rb +1 -1
  147. data/lib/xero-ruby/models/payroll_au/api_exception.rb +1 -1
  148. data/lib/xero-ruby/models/payroll_au/bank_account.rb +1 -1
  149. data/lib/xero-ruby/models/payroll_au/deduction_line.rb +1 -6
  150. data/lib/xero-ruby/models/payroll_au/deduction_type.rb +1 -1
  151. data/lib/xero-ruby/models/payroll_au/earnings_line.rb +1 -1
  152. data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +1 -1
  153. data/lib/xero-ruby/models/payroll_au/employee.rb +1 -1
  154. data/lib/xero-ruby/models/payroll_au/employees.rb +1 -1
  155. data/lib/xero-ruby/models/payroll_au/home_address.rb +1 -1
  156. data/lib/xero-ruby/models/payroll_au/leave_accrual_line.rb +1 -1
  157. data/lib/xero-ruby/models/payroll_au/leave_application.rb +1 -1
  158. data/lib/xero-ruby/models/payroll_au/leave_applications.rb +1 -1
  159. data/lib/xero-ruby/models/payroll_au/leave_balance.rb +1 -1
  160. data/lib/xero-ruby/models/payroll_au/leave_earnings_line.rb +1 -1
  161. data/lib/xero-ruby/models/payroll_au/leave_line.rb +1 -1
  162. data/lib/xero-ruby/models/payroll_au/leave_lines.rb +1 -1
  163. data/lib/xero-ruby/models/payroll_au/leave_period.rb +1 -1
  164. data/lib/xero-ruby/models/payroll_au/leave_type.rb +1 -1
  165. data/lib/xero-ruby/models/payroll_au/opening_balances.rb +1 -1
  166. data/lib/xero-ruby/models/payroll_au/pay_item.rb +1 -1
  167. data/lib/xero-ruby/models/payroll_au/pay_items.rb +1 -1
  168. data/lib/xero-ruby/models/payroll_au/pay_run.rb +1 -1
  169. data/lib/xero-ruby/models/payroll_au/pay_runs.rb +1 -1
  170. data/lib/xero-ruby/models/payroll_au/pay_template.rb +1 -1
  171. data/lib/xero-ruby/models/payroll_au/payroll_calendar.rb +1 -1
  172. data/lib/xero-ruby/models/payroll_au/payroll_calendars.rb +1 -1
  173. data/lib/xero-ruby/models/payroll_au/payslip.rb +1 -1
  174. data/lib/xero-ruby/models/payroll_au/payslip_lines.rb +1 -1
  175. data/lib/xero-ruby/models/payroll_au/payslip_object.rb +1 -1
  176. data/lib/xero-ruby/models/payroll_au/payslip_summary.rb +1 -1
  177. data/lib/xero-ruby/models/payroll_au/payslips.rb +1 -1
  178. data/lib/xero-ruby/models/payroll_au/reimbursement_line.rb +1 -1
  179. data/lib/xero-ruby/models/payroll_au/reimbursement_lines.rb +1 -1
  180. data/lib/xero-ruby/models/payroll_au/reimbursement_type.rb +1 -1
  181. data/lib/xero-ruby/models/payroll_au/settings.rb +1 -1
  182. data/lib/xero-ruby/models/payroll_au/settings_object.rb +1 -1
  183. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories.rb +1 -1
  184. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_employee_groups.rb +1 -1
  185. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_timesheet_categories.rb +1 -1
  186. data/lib/xero-ruby/models/payroll_au/super_fund.rb +1 -1
  187. data/lib/xero-ruby/models/payroll_au/super_fund_product.rb +1 -1
  188. data/lib/xero-ruby/models/payroll_au/super_fund_products.rb +1 -1
  189. data/lib/xero-ruby/models/payroll_au/super_funds.rb +1 -1
  190. data/lib/xero-ruby/models/payroll_au/super_line.rb +1 -1
  191. data/lib/xero-ruby/models/payroll_au/super_membership.rb +1 -1
  192. data/lib/xero-ruby/models/payroll_au/superannuation_line.rb +1 -1
  193. data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +1 -1
  194. data/lib/xero-ruby/models/payroll_au/tax_line.rb +1 -1
  195. data/lib/xero-ruby/models/payroll_au/timesheet.rb +1 -1
  196. data/lib/xero-ruby/models/payroll_au/timesheet_line.rb +1 -1
  197. data/lib/xero-ruby/models/payroll_au/timesheet_object.rb +1 -1
  198. data/lib/xero-ruby/models/payroll_au/timesheets.rb +1 -1
  199. data/lib/xero-ruby/models/payroll_au/validation_error.rb +1 -1
  200. data/lib/xero-ruby/models/payroll_nz/account.rb +1 -1
  201. data/lib/xero-ruby/models/payroll_nz/accounts.rb +1 -1
  202. data/lib/xero-ruby/models/payroll_nz/address.rb +1 -1
  203. data/lib/xero-ruby/models/payroll_nz/bank_account.rb +1 -1
  204. data/lib/xero-ruby/models/payroll_nz/benefit.rb +1 -1
  205. data/lib/xero-ruby/models/payroll_nz/deduction.rb +1 -1
  206. data/lib/xero-ruby/models/payroll_nz/deduction_line.rb +1 -1
  207. data/lib/xero-ruby/models/payroll_nz/deduction_object.rb +1 -1
  208. data/lib/xero-ruby/models/payroll_nz/deductions.rb +1 -1
  209. data/lib/xero-ruby/models/payroll_nz/earnings_line.rb +1 -1
  210. data/lib/xero-ruby/models/payroll_nz/earnings_order.rb +1 -1
  211. data/lib/xero-ruby/models/payroll_nz/earnings_order_object.rb +1 -1
  212. data/lib/xero-ruby/models/payroll_nz/earnings_orders.rb +1 -1
  213. data/lib/xero-ruby/models/payroll_nz/earnings_rate.rb +1 -1
  214. data/lib/xero-ruby/models/payroll_nz/earnings_rate_object.rb +1 -1
  215. data/lib/xero-ruby/models/payroll_nz/earnings_rates.rb +1 -1
  216. data/lib/xero-ruby/models/payroll_nz/earnings_template.rb +1 -1
  217. data/lib/xero-ruby/models/payroll_nz/earnings_template_object.rb +1 -1
  218. data/lib/xero-ruby/models/payroll_nz/employee.rb +1 -1
  219. data/lib/xero-ruby/models/payroll_nz/employee_earnings_templates.rb +1 -1
  220. data/lib/xero-ruby/models/payroll_nz/employee_leave.rb +1 -1
  221. data/lib/xero-ruby/models/payroll_nz/employee_leave_balance.rb +1 -1
  222. data/lib/xero-ruby/models/payroll_nz/employee_leave_balances.rb +1 -1
  223. data/lib/xero-ruby/models/payroll_nz/employee_leave_object.rb +1 -1
  224. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup.rb +1 -1
  225. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup_object.rb +1 -1
  226. data/lib/xero-ruby/models/payroll_nz/employee_leave_type.rb +1 -1
  227. data/lib/xero-ruby/models/payroll_nz/employee_leave_type_object.rb +1 -1
  228. data/lib/xero-ruby/models/payroll_nz/employee_leave_types.rb +1 -1
  229. data/lib/xero-ruby/models/payroll_nz/employee_leaves.rb +1 -1
  230. data/lib/xero-ruby/models/payroll_nz/employee_object.rb +1 -1
  231. data/lib/xero-ruby/models/payroll_nz/employee_opening_balance.rb +1 -1
  232. data/lib/xero-ruby/models/payroll_nz/employee_opening_balances_object.rb +1 -1
  233. data/lib/xero-ruby/models/payroll_nz/employee_pay_template.rb +1 -1
  234. data/lib/xero-ruby/models/payroll_nz/employee_pay_template_object.rb +1 -1
  235. data/lib/xero-ruby/models/payroll_nz/employee_pay_templates.rb +1 -1
  236. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance.rb +1 -1
  237. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance_object.rb +1 -1
  238. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_summary.rb +1 -1
  239. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leaves_summaries.rb +1 -1
  240. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave.rb +1 -1
  241. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave_object.rb +1 -1
  242. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leaves.rb +1 -1
  243. data/lib/xero-ruby/models/payroll_nz/employee_tax.rb +1 -1
  244. data/lib/xero-ruby/models/payroll_nz/employee_tax_object.rb +1 -1
  245. data/lib/xero-ruby/models/payroll_nz/employees.rb +1 -1
  246. data/lib/xero-ruby/models/payroll_nz/employment.rb +1 -1
  247. data/lib/xero-ruby/models/payroll_nz/employment_object.rb +1 -1
  248. data/lib/xero-ruby/models/payroll_nz/gross_earnings_history.rb +1 -1
  249. data/lib/xero-ruby/models/payroll_nz/invalid_field.rb +1 -1
  250. data/lib/xero-ruby/models/payroll_nz/leave_accrual_line.rb +1 -1
  251. data/lib/xero-ruby/models/payroll_nz/leave_earnings_line.rb +1 -1
  252. data/lib/xero-ruby/models/payroll_nz/leave_period.rb +1 -1
  253. data/lib/xero-ruby/models/payroll_nz/leave_periods.rb +1 -1
  254. data/lib/xero-ruby/models/payroll_nz/leave_type.rb +1 -1
  255. data/lib/xero-ruby/models/payroll_nz/leave_type_object.rb +1 -1
  256. data/lib/xero-ruby/models/payroll_nz/leave_types.rb +1 -1
  257. data/lib/xero-ruby/models/payroll_nz/pagination.rb +1 -1
  258. data/lib/xero-ruby/models/payroll_nz/pay_run.rb +1 -1
  259. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar.rb +1 -1
  260. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar_object.rb +1 -1
  261. data/lib/xero-ruby/models/payroll_nz/pay_run_calendars.rb +1 -1
  262. data/lib/xero-ruby/models/payroll_nz/pay_run_object.rb +1 -1
  263. data/lib/xero-ruby/models/payroll_nz/pay_runs.rb +1 -1
  264. data/lib/xero-ruby/models/payroll_nz/pay_slip.rb +1 -1
  265. data/lib/xero-ruby/models/payroll_nz/pay_slip_object.rb +1 -1
  266. data/lib/xero-ruby/models/payroll_nz/pay_slips.rb +1 -1
  267. data/lib/xero-ruby/models/payroll_nz/payment_line.rb +1 -1
  268. data/lib/xero-ruby/models/payroll_nz/payment_method.rb +1 -1
  269. data/lib/xero-ruby/models/payroll_nz/payment_method_object.rb +1 -1
  270. data/lib/xero-ruby/models/payroll_nz/problem.rb +1 -1
  271. data/lib/xero-ruby/models/payroll_nz/reimbursement.rb +1 -1
  272. data/lib/xero-ruby/models/payroll_nz/reimbursement_line.rb +1 -1
  273. data/lib/xero-ruby/models/payroll_nz/reimbursement_object.rb +1 -1
  274. data/lib/xero-ruby/models/payroll_nz/reimbursements.rb +1 -1
  275. data/lib/xero-ruby/models/payroll_nz/salary_and_wage.rb +4 -3
  276. data/lib/xero-ruby/models/payroll_nz/salary_and_wage_object.rb +1 -1
  277. data/lib/xero-ruby/models/payroll_nz/salary_and_wages.rb +1 -1
  278. data/lib/xero-ruby/models/payroll_nz/settings.rb +1 -1
  279. data/lib/xero-ruby/models/payroll_nz/statutory_deduction.rb +1 -1
  280. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_line.rb +1 -1
  281. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_object.rb +1 -1
  282. data/lib/xero-ruby/models/payroll_nz/statutory_deductions.rb +1 -1
  283. data/lib/xero-ruby/models/payroll_nz/superannuation_line.rb +1 -1
  284. data/lib/xero-ruby/models/payroll_nz/superannuation_object.rb +1 -1
  285. data/lib/xero-ruby/models/payroll_nz/superannuations.rb +1 -1
  286. data/lib/xero-ruby/models/payroll_nz/tax_line.rb +1 -1
  287. data/lib/xero-ruby/models/payroll_nz/tax_settings.rb +1 -1
  288. data/lib/xero-ruby/models/payroll_nz/timesheet.rb +4 -3
  289. data/lib/xero-ruby/models/payroll_nz/timesheet_earnings_line.rb +1 -1
  290. data/lib/xero-ruby/models/payroll_nz/timesheet_line.rb +1 -1
  291. data/lib/xero-ruby/models/payroll_nz/timesheet_line_object.rb +1 -1
  292. data/lib/xero-ruby/models/payroll_nz/timesheet_object.rb +1 -1
  293. data/lib/xero-ruby/models/payroll_nz/timesheets.rb +1 -1
  294. data/lib/xero-ruby/models/payroll_nz/tracking_categories.rb +1 -1
  295. data/lib/xero-ruby/models/payroll_nz/tracking_category.rb +1 -1
  296. data/lib/xero-ruby/models/payroll_uk/account.rb +1 -1
  297. data/lib/xero-ruby/models/payroll_uk/accounts.rb +1 -1
  298. data/lib/xero-ruby/models/payroll_uk/address.rb +1 -1
  299. data/lib/xero-ruby/models/payroll_uk/bank_account.rb +1 -1
  300. data/lib/xero-ruby/models/payroll_uk/benefit.rb +1 -1
  301. data/lib/xero-ruby/models/payroll_uk/benefit_line.rb +1 -1
  302. data/lib/xero-ruby/models/payroll_uk/benefit_object.rb +1 -1
  303. data/lib/xero-ruby/models/payroll_uk/benefits.rb +1 -1
  304. data/lib/xero-ruby/models/payroll_uk/court_order_line.rb +1 -1
  305. data/lib/xero-ruby/models/payroll_uk/deduction.rb +1 -1
  306. data/lib/xero-ruby/models/payroll_uk/deduction_line.rb +1 -1
  307. data/lib/xero-ruby/models/payroll_uk/deduction_object.rb +1 -1
  308. data/lib/xero-ruby/models/payroll_uk/deductions.rb +1 -1
  309. data/lib/xero-ruby/models/payroll_uk/earnings_line.rb +1 -1
  310. data/lib/xero-ruby/models/payroll_uk/earnings_order.rb +1 -1
  311. data/lib/xero-ruby/models/payroll_uk/earnings_order_object.rb +1 -1
  312. data/lib/xero-ruby/models/payroll_uk/earnings_orders.rb +1 -1
  313. data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +1 -1
  314. data/lib/xero-ruby/models/payroll_uk/earnings_rate_object.rb +1 -1
  315. data/lib/xero-ruby/models/payroll_uk/earnings_rates.rb +1 -1
  316. data/lib/xero-ruby/models/payroll_uk/earnings_template.rb +1 -1
  317. data/lib/xero-ruby/models/payroll_uk/earnings_template_object.rb +1 -1
  318. data/lib/xero-ruby/models/payroll_uk/employee.rb +1 -1
  319. data/lib/xero-ruby/models/payroll_uk/employee_leave.rb +1 -1
  320. data/lib/xero-ruby/models/payroll_uk/employee_leave_balance.rb +1 -1
  321. data/lib/xero-ruby/models/payroll_uk/employee_leave_balances.rb +1 -1
  322. data/lib/xero-ruby/models/payroll_uk/employee_leave_object.rb +1 -1
  323. data/lib/xero-ruby/models/payroll_uk/employee_leave_type.rb +1 -1
  324. data/lib/xero-ruby/models/payroll_uk/employee_leave_type_object.rb +1 -1
  325. data/lib/xero-ruby/models/payroll_uk/employee_leave_types.rb +1 -1
  326. data/lib/xero-ruby/models/payroll_uk/employee_leaves.rb +1 -1
  327. data/lib/xero-ruby/models/payroll_uk/employee_object.rb +1 -1
  328. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances.rb +1 -1
  329. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances_object.rb +1 -1
  330. data/lib/xero-ruby/models/payroll_uk/employee_pay_template.rb +1 -1
  331. data/lib/xero-ruby/models/payroll_uk/employee_pay_template_object.rb +1 -1
  332. data/lib/xero-ruby/models/payroll_uk/employee_pay_templates.rb +1 -1
  333. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance.rb +1 -1
  334. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance_object.rb +1 -1
  335. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_summary.rb +1 -1
  336. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leaves_summaries.rb +1 -1
  337. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave.rb +1 -1
  338. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave_object.rb +1 -1
  339. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leaves.rb +1 -1
  340. data/lib/xero-ruby/models/payroll_uk/employee_tax.rb +1 -1
  341. data/lib/xero-ruby/models/payroll_uk/employee_tax_object.rb +1 -1
  342. data/lib/xero-ruby/models/payroll_uk/employees.rb +1 -1
  343. data/lib/xero-ruby/models/payroll_uk/employment.rb +1 -1
  344. data/lib/xero-ruby/models/payroll_uk/employment_object.rb +1 -1
  345. data/lib/xero-ruby/models/payroll_uk/invalid_field.rb +1 -1
  346. data/lib/xero-ruby/models/payroll_uk/leave_accrual_line.rb +1 -1
  347. data/lib/xero-ruby/models/payroll_uk/leave_earnings_line.rb +1 -1
  348. data/lib/xero-ruby/models/payroll_uk/leave_period.rb +1 -1
  349. data/lib/xero-ruby/models/payroll_uk/leave_periods.rb +1 -1
  350. data/lib/xero-ruby/models/payroll_uk/leave_type.rb +1 -1
  351. data/lib/xero-ruby/models/payroll_uk/leave_type_object.rb +1 -1
  352. data/lib/xero-ruby/models/payroll_uk/leave_types.rb +1 -1
  353. data/lib/xero-ruby/models/payroll_uk/pagination.rb +1 -1
  354. data/lib/xero-ruby/models/payroll_uk/pay_run.rb +1 -1
  355. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar.rb +1 -1
  356. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar_object.rb +1 -1
  357. data/lib/xero-ruby/models/payroll_uk/pay_run_calendars.rb +1 -1
  358. data/lib/xero-ruby/models/payroll_uk/pay_run_object.rb +1 -1
  359. data/lib/xero-ruby/models/payroll_uk/pay_runs.rb +1 -1
  360. data/lib/xero-ruby/models/payroll_uk/payment_line.rb +1 -1
  361. data/lib/xero-ruby/models/payroll_uk/payment_method.rb +1 -1
  362. data/lib/xero-ruby/models/payroll_uk/payment_method_object.rb +1 -1
  363. data/lib/xero-ruby/models/payroll_uk/payslip.rb +1 -1
  364. data/lib/xero-ruby/models/payroll_uk/payslip_object.rb +1 -1
  365. data/lib/xero-ruby/models/payroll_uk/payslips.rb +1 -1
  366. data/lib/xero-ruby/models/payroll_uk/problem.rb +1 -1
  367. data/lib/xero-ruby/models/payroll_uk/reimbursement.rb +1 -1
  368. data/lib/xero-ruby/models/payroll_uk/reimbursement_line.rb +1 -1
  369. data/lib/xero-ruby/models/payroll_uk/reimbursement_object.rb +1 -1
  370. data/lib/xero-ruby/models/payroll_uk/reimbursements.rb +1 -1
  371. data/lib/xero-ruby/models/payroll_uk/salary_and_wage.rb +4 -3
  372. data/lib/xero-ruby/models/payroll_uk/salary_and_wage_object.rb +1 -1
  373. data/lib/xero-ruby/models/payroll_uk/salary_and_wages.rb +1 -1
  374. data/lib/xero-ruby/models/payroll_uk/settings.rb +1 -1
  375. data/lib/xero-ruby/models/payroll_uk/statutory_deduction.rb +1 -1
  376. data/lib/xero-ruby/models/payroll_uk/tax_line.rb +1 -1
  377. data/lib/xero-ruby/models/payroll_uk/timesheet.rb +1 -1
  378. data/lib/xero-ruby/models/payroll_uk/timesheet_earnings_line.rb +1 -1
  379. data/lib/xero-ruby/models/payroll_uk/timesheet_line.rb +1 -1
  380. data/lib/xero-ruby/models/payroll_uk/timesheet_line_object.rb +1 -1
  381. data/lib/xero-ruby/models/payroll_uk/timesheet_object.rb +1 -1
  382. data/lib/xero-ruby/models/payroll_uk/timesheets.rb +1 -1
  383. data/lib/xero-ruby/models/payroll_uk/tracking_categories.rb +1 -1
  384. data/lib/xero-ruby/models/payroll_uk/tracking_category.rb +1 -1
  385. data/lib/xero-ruby/models/projects/amount.rb +1 -1
  386. data/lib/xero-ruby/models/projects/error.rb +1 -1
  387. data/lib/xero-ruby/models/projects/pagination.rb +1 -1
  388. data/lib/xero-ruby/models/projects/project.rb +1 -1
  389. data/lib/xero-ruby/models/projects/project_create_or_update.rb +1 -1
  390. data/lib/xero-ruby/models/projects/project_patch.rb +1 -1
  391. data/lib/xero-ruby/models/projects/project_user.rb +1 -1
  392. data/lib/xero-ruby/models/projects/project_users.rb +1 -1
  393. data/lib/xero-ruby/models/projects/projects.rb +1 -1
  394. data/lib/xero-ruby/models/projects/task.rb +1 -1
  395. data/lib/xero-ruby/models/projects/task_create_or_update.rb +1 -1
  396. data/lib/xero-ruby/models/projects/tasks.rb +1 -1
  397. data/lib/xero-ruby/models/projects/time_entries.rb +1 -1
  398. data/lib/xero-ruby/models/projects/time_entry.rb +1 -1
  399. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +1 -1
  400. data/lib/xero-ruby/version.rb +2 -2
  401. data/spec/api_client_spec.rb +95 -3
  402. data/spec/api_error_spec.rb +1 -1
  403. data/spec/configuration_spec.rb +17 -0
  404. data/spec/files/models/inline_object_spec.rb +3 -3
  405. data/spec/helper_methods_spec.rb +4 -4
  406. metadata +3 -3
@@ -31,7 +31,8 @@ module XeroRuby
31
31
  # @param project_create_or_update [ProjectCreateOrUpdate] Create a new project with ProjectCreateOrUpdate object
32
32
  # @param [Hash] opts the optional parameters
33
33
  # @return [Array<(Project, Integer, Hash)>] Project data, response status code and response headers
34
- def create_project_with_http_info(xero_tenant_id, project_create_or_update, opts = {})
34
+ def create_project_with_http_info(xero_tenant_id, project_create_or_update, options = {})
35
+ opts = options.dup
35
36
  if @api_client.config.debugging
36
37
  @api_client.config.logger.debug 'Calling API: ProjectApi.create_project ...'
37
38
  end
@@ -111,7 +112,8 @@ module XeroRuby
111
112
  # @param time_entry_create_or_update [TimeEntryCreateOrUpdate] The time entry object you are creating
112
113
  # @param [Hash] opts the optional parameters
113
114
  # @return [Array<(TimeEntry, Integer, Hash)>] TimeEntry data, response status code and response headers
114
- def create_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_create_or_update, opts = {})
115
+ def create_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_create_or_update, options = {})
116
+ opts = options.dup
115
117
  if @api_client.config.debugging
116
118
  @api_client.config.logger.debug 'Calling API: ProjectApi.create_time_entry ...'
117
119
  end
@@ -195,7 +197,8 @@ module XeroRuby
195
197
  # @param time_entry_id [String] You can specify an individual task by appending the id to the endpoint
196
198
  # @param [Hash] opts the optional parameters
197
199
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
198
- def delete_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_id, opts = {})
200
+ def delete_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_id, options = {})
201
+ opts = options.dup
199
202
  if @api_client.config.debugging
200
203
  @api_client.config.logger.debug 'Calling API: ProjectApi.delete_time_entry ...'
201
204
  end
@@ -273,7 +276,8 @@ module XeroRuby
273
276
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
274
277
  # @param [Hash] opts the optional parameters
275
278
  # @return [Array<(Project, Integer, Hash)>] Project data, response status code and response headers
276
- def get_project_with_http_info(xero_tenant_id, project_id, opts = {})
279
+ def get_project_with_http_info(xero_tenant_id, project_id, options = {})
280
+ opts = options.dup
277
281
  if @api_client.config.debugging
278
282
  @api_client.config.logger.debug 'Calling API: ProjectApi.get_project ...'
279
283
  end
@@ -351,7 +355,8 @@ module XeroRuby
351
355
  # @option opts [Integer] :page set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.
352
356
  # @option opts [Integer] :page_size Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.
353
357
  # @return [Array<(ProjectUsers, Integer, Hash)>] ProjectUsers data, response status code and response headers
354
- def get_project_users_with_http_info(xero_tenant_id, opts = {})
358
+ def get_project_users_with_http_info(xero_tenant_id, options = {})
359
+ opts = options.dup
355
360
  if @api_client.config.debugging
356
361
  @api_client.config.logger.debug 'Calling API: ProjectApi.get_project_users ...'
357
362
  end
@@ -441,7 +446,8 @@ module XeroRuby
441
446
  # @option opts [Integer] :page set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.
442
447
  # @option opts [Integer] :page_size Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.
443
448
  # @return [Array<(Projects, Integer, Hash)>] Projects data, response status code and response headers
444
- def get_projects_with_http_info(xero_tenant_id, opts = {})
449
+ def get_projects_with_http_info(xero_tenant_id, options = {})
450
+ opts = options.dup
445
451
  if @api_client.config.debugging
446
452
  @api_client.config.logger.debug 'Calling API: ProjectApi.get_projects ...'
447
453
  end
@@ -528,7 +534,8 @@ module XeroRuby
528
534
  # @param task_id [String] You can specify an individual task by appending the taskId to the endpoint, i.e. GET https://.../tasks/{taskID}
529
535
  # @param [Hash] opts the optional parameters
530
536
  # @return [Array<(Task, Integer, Hash)>] Task data, response status code and response headers
531
- def get_task_with_http_info(xero_tenant_id, project_id, task_id, opts = {})
537
+ def get_task_with_http_info(xero_tenant_id, project_id, task_id, options = {})
538
+ opts = options.dup
532
539
  if @api_client.config.debugging
533
540
  @api_client.config.logger.debug 'Calling API: ProjectApi.get_task ...'
534
541
  end
@@ -616,7 +623,8 @@ module XeroRuby
616
623
  # @option opts [String] :task_ids taskIdsSearch for all tasks that match a comma separated list of taskIds, i.e. GET https://.../tasks?taskIds&#x3D;{taskID},{taskID}
617
624
  # @option opts [ChargeType] :charge_type
618
625
  # @return [Array<(Tasks, Integer, Hash)>] Tasks data, response status code and response headers
619
- def get_tasks_with_http_info(xero_tenant_id, project_id, opts = {})
626
+ def get_tasks_with_http_info(xero_tenant_id, project_id, options = {})
627
+ opts = options.dup
620
628
  if @api_client.config.debugging
621
629
  @api_client.config.logger.debug 'Calling API: ProjectApi.get_tasks ...'
622
630
  end
@@ -716,7 +724,8 @@ module XeroRuby
716
724
  # @option opts [DateTime] :date_after_utc ISO 8601 UTC date. Finds all time entries on or after this date filtered on the &#x60;dateUtc&#x60; field.
717
725
  # @option opts [DateTime] :date_before_utc ISO 8601 UTC date. Finds all time entries on or before this date filtered on the &#x60;dateUtc&#x60; field.
718
726
  # @return [Array<(TimeEntries, Integer, Hash)>] TimeEntries data, response status code and response headers
719
- def get_time_entries_with_http_info(xero_tenant_id, project_id, opts = {})
727
+ def get_time_entries_with_http_info(xero_tenant_id, project_id, options = {})
728
+ opts = options.dup
720
729
  if @api_client.config.debugging
721
730
  @api_client.config.logger.debug 'Calling API: ProjectApi.get_time_entries ...'
722
731
  end
@@ -804,7 +813,8 @@ module XeroRuby
804
813
  # @param time_entry_id [String] You can specify an individual time entry by appending the id to the endpoint
805
814
  # @param [Hash] opts the optional parameters
806
815
  # @return [Array<(TimeEntry, Integer, Hash)>] TimeEntry data, response status code and response headers
807
- def get_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_id, opts = {})
816
+ def get_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_id, options = {})
817
+ opts = options.dup
808
818
  if @api_client.config.debugging
809
819
  @api_client.config.logger.debug 'Calling API: ProjectApi.get_time_entry ...'
810
820
  end
@@ -886,7 +896,8 @@ module XeroRuby
886
896
  # @param project_patch [ProjectPatch] Update the status of an existing Project
887
897
  # @param [Hash] opts the optional parameters
888
898
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
889
- def patch_project_with_http_info(xero_tenant_id, project_id, project_patch, opts = {})
899
+ def patch_project_with_http_info(xero_tenant_id, project_id, project_patch, options = {})
900
+ opts = options.dup
890
901
  if @api_client.config.debugging
891
902
  @api_client.config.logger.debug 'Calling API: ProjectApi.patch_project ...'
892
903
  end
@@ -970,7 +981,8 @@ module XeroRuby
970
981
  # @param project_create_or_update [ProjectCreateOrUpdate] Request of type ProjectCreateOrUpdate
971
982
  # @param [Hash] opts the optional parameters
972
983
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
973
- def update_project_with_http_info(xero_tenant_id, project_id, project_create_or_update, opts = {})
984
+ def update_project_with_http_info(xero_tenant_id, project_id, project_create_or_update, options = {})
985
+ opts = options.dup
974
986
  if @api_client.config.debugging
975
987
  @api_client.config.logger.debug 'Calling API: ProjectApi.update_project ...'
976
988
  end
@@ -1056,7 +1068,8 @@ module XeroRuby
1056
1068
  # @param time_entry_create_or_update [TimeEntryCreateOrUpdate] The time entry object you are updating
1057
1069
  # @param [Hash] opts the optional parameters
1058
1070
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1059
- def update_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_id, time_entry_create_or_update, opts = {})
1071
+ def update_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_id, time_entry_create_or_update, options = {})
1072
+ opts = options.dup
1060
1073
  if @api_client.config.debugging
1061
1074
  @api_client.config.logger.debug 'Calling API: ProjectApi.update_time_entry ...'
1062
1075
  end
@@ -16,6 +16,7 @@ require 'tempfile'
16
16
  require 'find'
17
17
  require 'faraday'
18
18
  require 'base64'
19
+ require 'cgi'
19
20
 
20
21
  module XeroRuby
21
22
  class ApiClient
@@ -31,13 +32,15 @@ module XeroRuby
31
32
 
32
33
  # Initializes the ApiClient
33
34
  # @option config [Configuration] Configuration for initializing the object, default to Configuration.default
34
- def initialize(config: Configuration.default, credentials: {})
35
+ def initialize(config: {}, credentials: {})
35
36
  @client_id = credentials[:client_id]
36
37
  @client_secret = credentials[:client_secret]
37
38
  @redirect_uri = credentials[:redirect_uri]
38
39
  @scopes = credentials[:scopes]
39
40
  @state = credentials[:state]
40
- @config = config
41
+ default_config = Configuration.default.clone
42
+ @config = append_to_default_config(default_config, config)
43
+
41
44
  @user_agent = "xero-ruby-#{VERSION}"
42
45
  @default_headers = {
43
46
  'Content-Type' => 'application/json',
@@ -45,8 +48,14 @@ module XeroRuby
45
48
  }
46
49
  end
47
50
 
51
+ def append_to_default_config(default_config, user_config)
52
+ config = default_config
53
+ user_config.each{|k,v| config.send("#{k}=", v)}
54
+ config
55
+ end
56
+
48
57
  def authorization_url
49
- url = "#{@config.login_url}?response_type=code&client_id=#{@client_id}&redirect_uri=#{@redirect_uri}&scope=#{@scopes}"
58
+ url = "#{@config.login_url}?response_type=code&client_id=#{@client_id}&redirect_uri=#{@redirect_uri}&scope=#{CGI.escape(@scopes)}"
50
59
  url << "&state=#{@state}" if @state
51
60
  return url
52
61
  end
@@ -88,22 +97,32 @@ module XeroRuby
88
97
 
89
98
  # Token Helpers
90
99
  def token_set
91
- XeroRuby.configure.token_set
100
+ @config.token_set
92
101
  end
93
102
 
94
103
  def access_token
95
- XeroRuby.configure.access_token
104
+ @config.access_token
105
+ end
106
+
107
+ def id_token
108
+ @config.id_token
96
109
  end
97
110
 
98
111
  def set_token_set(token_set)
99
112
  # helper to set the token_set on a client once the user
100
113
  # has a valid token set ( access_token & refresh_token )
101
- XeroRuby.configure.token_set = token_set
114
+ @config.token_set = token_set
102
115
  set_access_token(token_set['access_token'])
103
116
  end
104
117
 
105
118
  def set_access_token(access_token)
106
- XeroRuby.configure.access_token = access_token
119
+ # puts "access_token -> #{access_token}"
120
+ @config.access_token = access_token
121
+ # puts "@config.access_token -> #{@config.access_token}"
122
+ end
123
+
124
+ def set_id_token(id_token)
125
+ @config.id_token = id_token
107
126
  end
108
127
 
109
128
  def get_token_set_from_callback(params)
@@ -174,7 +193,26 @@ module XeroRuby
174
193
  :client_key => @config.ssl_client_key
175
194
  }
176
195
 
177
- connection = Faraday.new(:url => config.base_url, :ssl => ssl_options) do |conn|
196
+ case api_client
197
+ when "AccountingApi"
198
+ method_base_url = @config.accounting_url
199
+ when "AssetApi"
200
+ method_base_url = @config.asset_url
201
+ when "FilesApi"
202
+ method_base_url = @config.files_url
203
+ when "PayrollAuApi"
204
+ method_base_url = @config.payroll_au_url
205
+ when "PayrollNzApi"
206
+ method_base_url = @config.payroll_nz_url
207
+ when "PayrollUkApi"
208
+ method_base_url = @config.payroll_uk_url
209
+ when "ProjectApi"
210
+ method_base_url = @config.project_url
211
+ else
212
+ method_base_url = @config.accounting_url
213
+ end
214
+
215
+ connection = Faraday.new(:url => method_base_url, :ssl => ssl_options) do |conn|
178
216
  conn.basic_auth(config.username, config.password)
179
217
  if opts[:header_params]["Content-Type"] == "multipart/form-data"
180
218
  conn.request :multipart
@@ -257,6 +295,8 @@ module XeroRuby
257
295
  end
258
296
  end
259
297
  request.headers = header_params
298
+ timeout = @config.timeout
299
+ request.options.timeout = timeout if timeout > 0
260
300
  request.body = req_body
261
301
  request.url url
262
302
  request.params = query_params
@@ -60,8 +60,11 @@ module XeroRuby
60
60
  # @return [String]
61
61
  attr_accessor :password
62
62
 
63
- # Defines the access token (Bearer) used with OAuth2.
63
+ # Defines the access token (Bearer) used with OAuth2 authorization
64
64
  attr_accessor :access_token
65
+
66
+ # Defines OpenID Connect id_token containing Xero user authentication detail
67
+ attr_accessor :id_token
65
68
 
66
69
  # Defines the token set used with OAuth2. May include id/access/refresh token & other meta info.
67
70
  attr_accessor :token_set
@@ -146,6 +149,8 @@ module XeroRuby
146
149
  @payroll_au_url = 'https://api.xero.com/payroll.xro/1.0/'
147
150
  @payroll_nz_url = 'https://api.xero.com/payroll.xro/2.0/'
148
151
  @payroll_uk_url = 'https://api.xero.com/payroll.xro/2.0/'
152
+ @access_token = nil
153
+ @id_token = nil
149
154
  @api_key = {}
150
155
  @api_key_prefix = {}
151
156
  @timeout = 0
@@ -191,6 +196,14 @@ module XeroRuby
191
196
  def base_url=(api_url)
192
197
  @base_url = api_url
193
198
  end
199
+
200
+ def access_token=(access_token)
201
+ @access_token = access_token
202
+ end
203
+
204
+ def id_token=(id_token)
205
+ @id_token = id_token
206
+ end
194
207
 
195
208
  # Gets API key (with prefix if set).
196
209
  # @param [String] param_name the parameter name of API key auth
@@ -495,7 +495,7 @@ module XeroRuby::Accounting
495
495
  end
496
496
 
497
497
  # Returns the object in the form of hash with snake_case
498
- def attributes
498
+ def to_attributes
499
499
  to_hash(downcase: true)
500
500
  end
501
501
 
@@ -184,7 +184,7 @@ module XeroRuby::Accounting
184
184
  end
185
185
 
186
186
  # Returns the object in the form of hash with snake_case
187
- def attributes
187
+ def to_attributes
188
188
  to_hash(downcase: true)
189
189
  end
190
190
 
@@ -192,7 +192,7 @@ module XeroRuby::Accounting
192
192
  end
193
193
 
194
194
  # Returns the object in the form of hash with snake_case
195
- def attributes
195
+ def to_attributes
196
196
  to_hash(downcase: true)
197
197
  end
198
198
 
@@ -192,7 +192,7 @@ module XeroRuby::Accounting
192
192
  end
193
193
 
194
194
  # Returns the object in the form of hash with snake_case
195
- def attributes
195
+ def to_attributes
196
196
  to_hash(downcase: true)
197
197
  end
198
198
 
@@ -228,7 +228,7 @@ module XeroRuby::Accounting
228
228
  end
229
229
 
230
230
  # Returns the object in the form of hash with snake_case
231
- def attributes
231
+ def to_attributes
232
232
  to_hash(downcase: true)
233
233
  end
234
234
 
@@ -184,7 +184,7 @@ module XeroRuby::Accounting
184
184
  end
185
185
 
186
186
  # Returns the object in the form of hash with snake_case
187
- def attributes
187
+ def to_attributes
188
188
  to_hash(downcase: true)
189
189
  end
190
190
 
@@ -443,7 +443,7 @@ module XeroRuby::Accounting
443
443
  end
444
444
 
445
445
  # Returns the object in the form of hash with snake_case
446
- def attributes
446
+ def to_attributes
447
447
  to_hash(downcase: true)
448
448
  end
449
449
 
@@ -444,7 +444,7 @@ module XeroRuby::Accounting
444
444
  end
445
445
 
446
446
  # Returns the object in the form of hash with snake_case
447
- def attributes
447
+ def to_attributes
448
448
  to_hash(downcase: true)
449
449
  end
450
450
 
@@ -269,7 +269,7 @@ module XeroRuby::Accounting
269
269
  end
270
270
 
271
271
  # Returns the object in the form of hash with snake_case
272
- def attributes
272
+ def to_attributes
273
273
  to_hash(downcase: true)
274
274
  end
275
275
 
@@ -184,7 +184,7 @@ module XeroRuby::Accounting
184
184
  end
185
185
 
186
186
  # Returns the object in the form of hash with snake_case
187
- def attributes
187
+ def to_attributes
188
188
  to_hash(downcase: true)
189
189
  end
190
190
 
@@ -232,7 +232,7 @@ module XeroRuby::Accounting
232
232
  end
233
233
 
234
234
  # Returns the object in the form of hash with snake_case
235
- def attributes
235
+ def to_attributes
236
236
  to_hash(downcase: true)
237
237
  end
238
238
 
@@ -184,7 +184,7 @@ module XeroRuby::Accounting
184
184
  end
185
185
 
186
186
  # Returns the object in the form of hash with snake_case
187
- def attributes
187
+ def to_attributes
188
188
  to_hash(downcase: true)
189
189
  end
190
190
 
@@ -203,7 +203,7 @@ module XeroRuby::Accounting
203
203
  end
204
204
 
205
205
  # Returns the object in the form of hash with snake_case
206
- def attributes
206
+ def to_attributes
207
207
  to_hash(downcase: true)
208
208
  end
209
209
 
@@ -193,7 +193,7 @@ module XeroRuby::Accounting
193
193
  end
194
194
 
195
195
  # Returns the object in the form of hash with snake_case
196
- def attributes
196
+ def to_attributes
197
197
  to_hash(downcase: true)
198
198
  end
199
199
 
@@ -470,7 +470,7 @@ module XeroRuby::Accounting
470
470
  end
471
471
 
472
472
  # Returns the object in the form of hash with snake_case
473
- def attributes
473
+ def to_attributes
474
474
  to_hash(downcase: true)
475
475
  end
476
476
 
@@ -184,7 +184,7 @@ module XeroRuby::Accounting
184
184
  end
185
185
 
186
186
  # Returns the object in the form of hash with snake_case
187
- def attributes
187
+ def to_attributes
188
188
  to_hash(downcase: true)
189
189
  end
190
190
 
@@ -301,7 +301,7 @@ module XeroRuby::Accounting
301
301
  end
302
302
 
303
303
  # Returns the object in the form of hash with snake_case
304
- def attributes
304
+ def to_attributes
305
305
  to_hash(downcase: true)
306
306
  end
307
307