xero-ruby 2.7.1 → 2.9.1

Sign up to get free protection for your applications and to get access to all the features.
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