xero-ruby 2.3.1 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +29 -4
  3. data/lib/xero-ruby.rb +10 -1
  4. data/lib/xero-ruby/api/accounting_api.rb +84 -3
  5. data/lib/xero-ruby/api/asset_api.rb +0 -1
  6. data/lib/xero-ruby/api/files_api.rb +0 -1
  7. data/lib/xero-ruby/api/payroll_au_api.rb +0 -1
  8. data/lib/xero-ruby/api/payroll_nz_api.rb +0 -1
  9. data/lib/xero-ruby/api/payroll_uk_api.rb +0 -1
  10. data/lib/xero-ruby/api/project_api.rb +3 -1
  11. data/lib/xero-ruby/api_client.rb +34 -27
  12. data/lib/xero-ruby/api_error.rb +3 -3
  13. data/lib/xero-ruby/configuration.rb +0 -1
  14. data/lib/xero-ruby/models/accounting/account.rb +9 -6
  15. data/lib/xero-ruby/models/accounting/account_type.rb +0 -1
  16. data/lib/xero-ruby/models/accounting/accounts.rb +9 -6
  17. data/lib/xero-ruby/models/accounting/accounts_payable.rb +9 -6
  18. data/lib/xero-ruby/models/accounting/accounts_receivable.rb +9 -6
  19. data/lib/xero-ruby/models/accounting/action.rb +9 -6
  20. data/lib/xero-ruby/models/accounting/actions.rb +9 -6
  21. data/lib/xero-ruby/models/accounting/address.rb +11 -9
  22. data/lib/xero-ruby/models/accounting/address_for_organisation.rb +473 -0
  23. data/lib/xero-ruby/models/accounting/allocation.rb +9 -6
  24. data/lib/xero-ruby/models/accounting/allocations.rb +9 -6
  25. data/lib/xero-ruby/models/accounting/attachment.rb +9 -6
  26. data/lib/xero-ruby/models/accounting/attachments.rb +9 -6
  27. data/lib/xero-ruby/models/accounting/balance_details.rb +232 -0
  28. data/lib/xero-ruby/models/accounting/balances.rb +9 -6
  29. data/lib/xero-ruby/models/accounting/bank_transaction.rb +9 -6
  30. data/lib/xero-ruby/models/accounting/bank_transactions.rb +9 -6
  31. data/lib/xero-ruby/models/accounting/bank_transfer.rb +9 -6
  32. data/lib/xero-ruby/models/accounting/bank_transfers.rb +9 -6
  33. data/lib/xero-ruby/models/accounting/batch_payment.rb +14 -11
  34. data/lib/xero-ruby/models/accounting/batch_payment_details.rb +9 -6
  35. data/lib/xero-ruby/models/accounting/batch_payments.rb +9 -6
  36. data/lib/xero-ruby/models/accounting/bill.rb +9 -6
  37. data/lib/xero-ruby/models/accounting/branding_theme.rb +9 -6
  38. data/lib/xero-ruby/models/accounting/branding_themes.rb +9 -6
  39. data/lib/xero-ruby/models/accounting/cis_org_setting.rb +10 -7
  40. data/lib/xero-ruby/models/accounting/cis_setting.rb +10 -7
  41. data/lib/xero-ruby/models/accounting/cis_settings.rb +9 -6
  42. data/lib/xero-ruby/models/accounting/contact.rb +9 -6
  43. data/lib/xero-ruby/models/accounting/contact_group.rb +9 -6
  44. data/lib/xero-ruby/models/accounting/contact_groups.rb +9 -6
  45. data/lib/xero-ruby/models/accounting/contact_person.rb +9 -6
  46. data/lib/xero-ruby/models/accounting/contacts.rb +9 -6
  47. data/lib/xero-ruby/models/accounting/conversion_balances.rb +234 -0
  48. data/lib/xero-ruby/models/accounting/conversion_date.rb +222 -0
  49. data/lib/xero-ruby/models/accounting/country_code.rb +0 -1
  50. data/lib/xero-ruby/models/accounting/credit_note.rb +40 -7
  51. data/lib/xero-ruby/models/accounting/credit_notes.rb +9 -6
  52. data/lib/xero-ruby/models/accounting/currencies.rb +9 -6
  53. data/lib/xero-ruby/models/accounting/currency.rb +9 -6
  54. data/lib/xero-ruby/models/accounting/currency_code.rb +0 -1
  55. data/lib/xero-ruby/models/accounting/element.rb +9 -6
  56. data/lib/xero-ruby/models/accounting/employee.rb +9 -6
  57. data/lib/xero-ruby/models/accounting/employees.rb +9 -6
  58. data/lib/xero-ruby/models/accounting/error.rb +9 -6
  59. data/lib/xero-ruby/models/accounting/expense_claim.rb +9 -6
  60. data/lib/xero-ruby/models/accounting/expense_claims.rb +9 -6
  61. data/lib/xero-ruby/models/accounting/external_link.rb +9 -6
  62. data/lib/xero-ruby/models/accounting/history_record.rb +9 -6
  63. data/lib/xero-ruby/models/accounting/history_records.rb +9 -6
  64. data/lib/xero-ruby/models/accounting/import_summary.rb +222 -0
  65. data/lib/xero-ruby/models/accounting/import_summary_accounts.rb +292 -0
  66. data/lib/xero-ruby/models/accounting/import_summary_object.rb +211 -0
  67. data/lib/xero-ruby/models/accounting/import_summary_organisation.rb +211 -0
  68. data/lib/xero-ruby/models/accounting/invoice.rb +21 -23
  69. data/lib/xero-ruby/models/accounting/invoice_reminder.rb +9 -6
  70. data/lib/xero-ruby/models/accounting/invoice_reminders.rb +9 -6
  71. data/lib/xero-ruby/models/accounting/invoices.rb +9 -6
  72. data/lib/xero-ruby/models/accounting/item.rb +9 -6
  73. data/lib/xero-ruby/models/accounting/items.rb +9 -6
  74. data/lib/xero-ruby/models/accounting/journal.rb +9 -6
  75. data/lib/xero-ruby/models/accounting/journal_line.rb +9 -6
  76. data/lib/xero-ruby/models/accounting/journals.rb +9 -6
  77. data/lib/xero-ruby/models/accounting/line_amount_types.rb +0 -1
  78. data/lib/xero-ruby/models/accounting/line_item.rb +9 -6
  79. data/lib/xero-ruby/models/accounting/line_item_tracking.rb +9 -6
  80. data/lib/xero-ruby/models/accounting/linked_transaction.rb +9 -6
  81. data/lib/xero-ruby/models/accounting/linked_transactions.rb +9 -6
  82. data/lib/xero-ruby/models/accounting/manual_journal.rb +9 -6
  83. data/lib/xero-ruby/models/accounting/manual_journal_line.rb +9 -6
  84. data/lib/xero-ruby/models/accounting/manual_journals.rb +9 -6
  85. data/lib/xero-ruby/models/accounting/online_invoice.rb +9 -6
  86. data/lib/xero-ruby/models/accounting/online_invoices.rb +9 -6
  87. data/lib/xero-ruby/models/accounting/organisation.rb +10 -7
  88. data/lib/xero-ruby/models/accounting/organisations.rb +9 -6
  89. data/lib/xero-ruby/models/accounting/overpayment.rb +9 -6
  90. data/lib/xero-ruby/models/accounting/overpayments.rb +9 -6
  91. data/lib/xero-ruby/models/accounting/payment.rb +9 -6
  92. data/lib/xero-ruby/models/accounting/payment_delete.rb +9 -6
  93. data/lib/xero-ruby/models/accounting/payment_service.rb +9 -6
  94. data/lib/xero-ruby/models/accounting/payment_services.rb +9 -6
  95. data/lib/xero-ruby/models/accounting/payment_term.rb +9 -6
  96. data/lib/xero-ruby/models/accounting/payment_term_type.rb +0 -1
  97. data/lib/xero-ruby/models/accounting/payments.rb +9 -6
  98. data/lib/xero-ruby/models/accounting/phone.rb +9 -6
  99. data/lib/xero-ruby/models/accounting/prepayment.rb +9 -6
  100. data/lib/xero-ruby/models/accounting/prepayments.rb +9 -6
  101. data/lib/xero-ruby/models/accounting/purchase.rb +9 -6
  102. data/lib/xero-ruby/models/accounting/purchase_order.rb +9 -6
  103. data/lib/xero-ruby/models/accounting/purchase_orders.rb +9 -6
  104. data/lib/xero-ruby/models/accounting/quote.rb +9 -6
  105. data/lib/xero-ruby/models/accounting/quote_line_amount_types.rb +0 -1
  106. data/lib/xero-ruby/models/accounting/quote_status_codes.rb +0 -1
  107. data/lib/xero-ruby/models/accounting/quotes.rb +9 -6
  108. data/lib/xero-ruby/models/accounting/receipt.rb +9 -6
  109. data/lib/xero-ruby/models/accounting/receipts.rb +9 -6
  110. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +9 -6
  111. data/lib/xero-ruby/models/accounting/repeating_invoices.rb +9 -6
  112. data/lib/xero-ruby/models/accounting/report.rb +9 -6
  113. data/lib/xero-ruby/models/accounting/report_attribute.rb +9 -6
  114. data/lib/xero-ruby/models/accounting/report_cell.rb +9 -6
  115. data/lib/xero-ruby/models/accounting/report_fields.rb +9 -6
  116. data/lib/xero-ruby/models/accounting/report_row.rb +9 -6
  117. data/lib/xero-ruby/models/accounting/report_rows.rb +9 -6
  118. data/lib/xero-ruby/models/accounting/report_with_row.rb +9 -6
  119. data/lib/xero-ruby/models/accounting/report_with_rows.rb +9 -6
  120. data/lib/xero-ruby/models/accounting/reports.rb +9 -6
  121. data/lib/xero-ruby/models/accounting/request_empty.rb +9 -6
  122. data/lib/xero-ruby/models/accounting/row_type.rb +0 -1
  123. data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +9 -6
  124. data/lib/xero-ruby/models/accounting/schedule.rb +9 -6
  125. data/lib/xero-ruby/models/accounting/setup.rb +235 -0
  126. data/lib/xero-ruby/models/accounting/tax_component.rb +9 -6
  127. data/lib/xero-ruby/models/accounting/tax_rate.rb +9 -6
  128. data/lib/xero-ruby/models/accounting/tax_rates.rb +9 -6
  129. data/lib/xero-ruby/models/accounting/tax_type.rb +0 -1
  130. data/lib/xero-ruby/models/accounting/ten_ninety_nine_contact.rb +9 -6
  131. data/lib/xero-ruby/models/accounting/time_zone.rb +0 -1
  132. data/lib/xero-ruby/models/accounting/tracking_categories.rb +9 -6
  133. data/lib/xero-ruby/models/accounting/tracking_category.rb +9 -6
  134. data/lib/xero-ruby/models/accounting/tracking_option.rb +9 -6
  135. data/lib/xero-ruby/models/accounting/tracking_options.rb +9 -6
  136. data/lib/xero-ruby/models/accounting/user.rb +9 -6
  137. data/lib/xero-ruby/models/accounting/users.rb +9 -6
  138. data/lib/xero-ruby/models/accounting/validation_error.rb +9 -6
  139. data/lib/xero-ruby/models/assets/asset.rb +20 -7
  140. data/lib/xero-ruby/models/assets/asset_status.rb +0 -1
  141. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +0 -1
  142. data/lib/xero-ruby/models/assets/asset_type.rb +9 -6
  143. data/lib/xero-ruby/models/assets/assets.rb +9 -6
  144. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +9 -6
  145. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +9 -6
  146. data/lib/xero-ruby/models/assets/error.rb +9 -6
  147. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +9 -6
  148. data/lib/xero-ruby/models/assets/pagination.rb +9 -6
  149. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +9 -6
  150. data/lib/xero-ruby/models/assets/setting.rb +9 -6
  151. data/lib/xero-ruby/models/files/association.rb +9 -6
  152. data/lib/xero-ruby/models/files/file_object.rb +20 -17
  153. data/lib/xero-ruby/models/files/file_response204.rb +9 -6
  154. data/lib/xero-ruby/models/files/files.rb +9 -6
  155. data/lib/xero-ruby/models/files/folder.rb +9 -6
  156. data/lib/xero-ruby/models/files/folders.rb +9 -6
  157. data/lib/xero-ruby/models/files/inline_object.rb +9 -6
  158. data/lib/xero-ruby/models/files/object_group.rb +0 -1
  159. data/lib/xero-ruby/models/files/object_type.rb +53 -32
  160. data/lib/xero-ruby/models/files/user.rb +32 -94
  161. data/lib/xero-ruby/models/payroll_au/account.rb +9 -6
  162. data/lib/xero-ruby/models/payroll_au/account_type.rb +0 -1
  163. data/lib/xero-ruby/models/payroll_au/allowance_type.rb +0 -1
  164. data/lib/xero-ruby/models/payroll_au/api_exception.rb +9 -6
  165. data/lib/xero-ruby/models/payroll_au/bank_account.rb +9 -6
  166. data/lib/xero-ruby/models/payroll_au/calendar_type.rb +0 -1
  167. data/lib/xero-ruby/models/payroll_au/deduction_line.rb +9 -6
  168. data/lib/xero-ruby/models/payroll_au/deduction_type.rb +9 -6
  169. data/lib/xero-ruby/models/payroll_au/deduction_type_calculation_type.rb +0 -1
  170. data/lib/xero-ruby/models/payroll_au/earnings_line.rb +9 -6
  171. data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +9 -6
  172. data/lib/xero-ruby/models/payroll_au/earnings_rate_calculation_type.rb +0 -1
  173. data/lib/xero-ruby/models/payroll_au/earnings_type.rb +1 -1
  174. data/lib/xero-ruby/models/payroll_au/employee.rb +9 -6
  175. data/lib/xero-ruby/models/payroll_au/employee_status.rb +0 -1
  176. data/lib/xero-ruby/models/payroll_au/employees.rb +9 -6
  177. data/lib/xero-ruby/models/payroll_au/employment_basis.rb +0 -1
  178. data/lib/xero-ruby/models/payroll_au/employment_termination_payment_type.rb +0 -1
  179. data/lib/xero-ruby/models/payroll_au/entitlement_final_pay_payout_type.rb +0 -1
  180. data/lib/xero-ruby/models/payroll_au/home_address.rb +9 -6
  181. data/lib/xero-ruby/models/payroll_au/leave_accrual_line.rb +9 -6
  182. data/lib/xero-ruby/models/payroll_au/leave_application.rb +9 -6
  183. data/lib/xero-ruby/models/payroll_au/leave_applications.rb +9 -6
  184. data/lib/xero-ruby/models/payroll_au/leave_balance.rb +9 -6
  185. data/lib/xero-ruby/models/payroll_au/leave_earnings_line.rb +9 -6
  186. data/lib/xero-ruby/models/payroll_au/leave_line.rb +9 -6
  187. data/lib/xero-ruby/models/payroll_au/leave_line_calculation_type.rb +0 -1
  188. data/lib/xero-ruby/models/payroll_au/leave_lines.rb +9 -6
  189. data/lib/xero-ruby/models/payroll_au/leave_period.rb +9 -6
  190. data/lib/xero-ruby/models/payroll_au/leave_period_status.rb +0 -1
  191. data/lib/xero-ruby/models/payroll_au/leave_type.rb +9 -6
  192. data/lib/xero-ruby/models/payroll_au/leave_type_contribution_type.rb +0 -1
  193. data/lib/xero-ruby/models/payroll_au/manual_tax_type.rb +0 -1
  194. data/lib/xero-ruby/models/payroll_au/opening_balances.rb +9 -6
  195. data/lib/xero-ruby/models/payroll_au/pay_item.rb +9 -6
  196. data/lib/xero-ruby/models/payroll_au/pay_items.rb +9 -6
  197. data/lib/xero-ruby/models/payroll_au/pay_run.rb +9 -6
  198. data/lib/xero-ruby/models/payroll_au/pay_run_status.rb +0 -1
  199. data/lib/xero-ruby/models/payroll_au/pay_runs.rb +9 -6
  200. data/lib/xero-ruby/models/payroll_au/pay_template.rb +9 -6
  201. data/lib/xero-ruby/models/payroll_au/payment_frequency_type.rb +0 -1
  202. data/lib/xero-ruby/models/payroll_au/payroll_calendar.rb +9 -6
  203. data/lib/xero-ruby/models/payroll_au/payroll_calendars.rb +9 -6
  204. data/lib/xero-ruby/models/payroll_au/payslip.rb +9 -6
  205. data/lib/xero-ruby/models/payroll_au/payslip_lines.rb +9 -6
  206. data/lib/xero-ruby/models/payroll_au/payslip_object.rb +9 -6
  207. data/lib/xero-ruby/models/payroll_au/payslip_summary.rb +9 -6
  208. data/lib/xero-ruby/models/payroll_au/payslips.rb +9 -6
  209. data/lib/xero-ruby/models/payroll_au/rate_type.rb +0 -1
  210. data/lib/xero-ruby/models/payroll_au/reimbursement_line.rb +9 -6
  211. data/lib/xero-ruby/models/payroll_au/reimbursement_lines.rb +9 -6
  212. data/lib/xero-ruby/models/payroll_au/reimbursement_type.rb +9 -6
  213. data/lib/xero-ruby/models/payroll_au/residency_status.rb +0 -1
  214. data/lib/xero-ruby/models/payroll_au/settings.rb +9 -6
  215. data/lib/xero-ruby/models/payroll_au/settings_object.rb +9 -6
  216. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories.rb +9 -6
  217. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_employee_groups.rb +9 -6
  218. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_timesheet_categories.rb +9 -6
  219. data/lib/xero-ruby/models/payroll_au/state.rb +0 -1
  220. data/lib/xero-ruby/models/payroll_au/super_fund.rb +9 -6
  221. data/lib/xero-ruby/models/payroll_au/super_fund_product.rb +9 -6
  222. data/lib/xero-ruby/models/payroll_au/super_fund_products.rb +9 -6
  223. data/lib/xero-ruby/models/payroll_au/super_fund_type.rb +0 -1
  224. data/lib/xero-ruby/models/payroll_au/super_funds.rb +9 -6
  225. data/lib/xero-ruby/models/payroll_au/super_line.rb +9 -6
  226. data/lib/xero-ruby/models/payroll_au/super_membership.rb +9 -6
  227. data/lib/xero-ruby/models/payroll_au/superannuation_calculation_type.rb +0 -1
  228. data/lib/xero-ruby/models/payroll_au/superannuation_contribution_type.rb +0 -1
  229. data/lib/xero-ruby/models/payroll_au/superannuation_line.rb +9 -6
  230. data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +9 -6
  231. data/lib/xero-ruby/models/payroll_au/tax_line.rb +9 -6
  232. data/lib/xero-ruby/models/payroll_au/tfn_exemption_type.rb +0 -1
  233. data/lib/xero-ruby/models/payroll_au/timesheet.rb +9 -6
  234. data/lib/xero-ruby/models/payroll_au/timesheet_line.rb +9 -6
  235. data/lib/xero-ruby/models/payroll_au/timesheet_object.rb +9 -6
  236. data/lib/xero-ruby/models/payroll_au/timesheet_status.rb +0 -1
  237. data/lib/xero-ruby/models/payroll_au/timesheets.rb +9 -6
  238. data/lib/xero-ruby/models/payroll_au/validation_error.rb +9 -6
  239. data/lib/xero-ruby/models/payroll_nz/account.rb +9 -6
  240. data/lib/xero-ruby/models/payroll_nz/accounts.rb +9 -6
  241. data/lib/xero-ruby/models/payroll_nz/address.rb +9 -6
  242. data/lib/xero-ruby/models/payroll_nz/bank_account.rb +9 -6
  243. data/lib/xero-ruby/models/payroll_nz/benefit.rb +9 -6
  244. data/lib/xero-ruby/models/payroll_nz/calendar_type.rb +41 -0
  245. data/lib/xero-ruby/models/payroll_nz/deduction.rb +9 -6
  246. data/lib/xero-ruby/models/payroll_nz/deduction_line.rb +9 -6
  247. data/lib/xero-ruby/models/payroll_nz/deduction_object.rb +9 -6
  248. data/lib/xero-ruby/models/payroll_nz/deductions.rb +9 -6
  249. data/lib/xero-ruby/models/payroll_nz/earnings_line.rb +9 -6
  250. data/lib/xero-ruby/models/payroll_nz/earnings_order.rb +9 -6
  251. data/lib/xero-ruby/models/payroll_nz/earnings_order_object.rb +9 -6
  252. data/lib/xero-ruby/models/payroll_nz/earnings_orders.rb +9 -6
  253. data/lib/xero-ruby/models/payroll_nz/earnings_rate.rb +22 -14
  254. data/lib/xero-ruby/models/payroll_nz/earnings_rate_object.rb +9 -6
  255. data/lib/xero-ruby/models/payroll_nz/earnings_rates.rb +9 -6
  256. data/lib/xero-ruby/models/payroll_nz/earnings_template.rb +9 -6
  257. data/lib/xero-ruby/models/payroll_nz/earnings_template_object.rb +9 -6
  258. data/lib/xero-ruby/models/payroll_nz/employee.rb +9 -6
  259. data/lib/xero-ruby/models/payroll_nz/employee_earnings_templates.rb +9 -6
  260. data/lib/xero-ruby/models/payroll_nz/employee_leave.rb +9 -6
  261. data/lib/xero-ruby/models/payroll_nz/employee_leave_balance.rb +9 -6
  262. data/lib/xero-ruby/models/payroll_nz/employee_leave_balances.rb +9 -6
  263. data/lib/xero-ruby/models/payroll_nz/employee_leave_object.rb +9 -6
  264. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup.rb +9 -6
  265. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup_object.rb +9 -6
  266. data/lib/xero-ruby/models/payroll_nz/employee_leave_type.rb +9 -6
  267. data/lib/xero-ruby/models/payroll_nz/employee_leave_type_object.rb +9 -6
  268. data/lib/xero-ruby/models/payroll_nz/employee_leave_types.rb +9 -6
  269. data/lib/xero-ruby/models/payroll_nz/employee_leaves.rb +9 -6
  270. data/lib/xero-ruby/models/payroll_nz/employee_object.rb +9 -6
  271. data/lib/xero-ruby/models/payroll_nz/employee_opening_balance.rb +9 -6
  272. data/lib/xero-ruby/models/payroll_nz/employee_opening_balances_object.rb +9 -6
  273. data/lib/xero-ruby/models/payroll_nz/employee_pay_template.rb +9 -6
  274. data/lib/xero-ruby/models/payroll_nz/employee_pay_template_object.rb +9 -6
  275. data/lib/xero-ruby/models/payroll_nz/employee_pay_templates.rb +9 -6
  276. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance.rb +9 -6
  277. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance_object.rb +9 -6
  278. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_summary.rb +9 -6
  279. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leaves_summaries.rb +9 -6
  280. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave.rb +9 -6
  281. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave_object.rb +9 -6
  282. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leaves.rb +9 -6
  283. data/lib/xero-ruby/models/payroll_nz/employee_tax.rb +9 -6
  284. data/lib/xero-ruby/models/payroll_nz/employee_tax_object.rb +9 -6
  285. data/lib/xero-ruby/models/payroll_nz/employees.rb +9 -6
  286. data/lib/xero-ruby/models/payroll_nz/employment.rb +9 -6
  287. data/lib/xero-ruby/models/payroll_nz/employment_object.rb +9 -6
  288. data/lib/xero-ruby/models/payroll_nz/gross_earnings_history.rb +9 -6
  289. data/lib/xero-ruby/models/payroll_nz/invalid_field.rb +9 -6
  290. data/lib/xero-ruby/models/payroll_nz/leave_accrual_line.rb +9 -6
  291. data/lib/xero-ruby/models/payroll_nz/leave_earnings_line.rb +9 -6
  292. data/lib/xero-ruby/models/payroll_nz/leave_period.rb +9 -6
  293. data/lib/xero-ruby/models/payroll_nz/leave_periods.rb +9 -6
  294. data/lib/xero-ruby/models/payroll_nz/leave_type.rb +9 -6
  295. data/lib/xero-ruby/models/payroll_nz/leave_type_object.rb +9 -6
  296. data/lib/xero-ruby/models/payroll_nz/leave_types.rb +9 -6
  297. data/lib/xero-ruby/models/payroll_nz/pagination.rb +9 -6
  298. data/lib/xero-ruby/models/payroll_nz/pay_run.rb +11 -26
  299. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar.rb +11 -48
  300. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar_object.rb +9 -6
  301. data/lib/xero-ruby/models/payroll_nz/pay_run_calendars.rb +9 -6
  302. data/lib/xero-ruby/models/payroll_nz/pay_run_object.rb +9 -6
  303. data/lib/xero-ruby/models/payroll_nz/pay_runs.rb +9 -6
  304. data/lib/xero-ruby/models/payroll_nz/pay_slip.rb +9 -6
  305. data/lib/xero-ruby/models/payroll_nz/pay_slip_object.rb +9 -6
  306. data/lib/xero-ruby/models/payroll_nz/pay_slips.rb +9 -6
  307. data/lib/xero-ruby/models/payroll_nz/payment_line.rb +9 -6
  308. data/lib/xero-ruby/models/payroll_nz/payment_method.rb +9 -11
  309. data/lib/xero-ruby/models/payroll_nz/payment_method_object.rb +9 -6
  310. data/lib/xero-ruby/models/payroll_nz/problem.rb +9 -6
  311. data/lib/xero-ruby/models/payroll_nz/reimbursement.rb +9 -6
  312. data/lib/xero-ruby/models/payroll_nz/reimbursement_line.rb +9 -6
  313. data/lib/xero-ruby/models/payroll_nz/reimbursement_object.rb +9 -6
  314. data/lib/xero-ruby/models/payroll_nz/reimbursements.rb +9 -6
  315. data/lib/xero-ruby/models/payroll_nz/salary_and_wage.rb +10 -12
  316. data/lib/xero-ruby/models/payroll_nz/salary_and_wage_object.rb +9 -6
  317. data/lib/xero-ruby/models/payroll_nz/salary_and_wages.rb +9 -6
  318. data/lib/xero-ruby/models/payroll_nz/settings.rb +9 -6
  319. data/lib/xero-ruby/models/payroll_nz/statutory_deduction.rb +9 -6
  320. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_category.rb +0 -1
  321. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_line.rb +9 -6
  322. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_object.rb +9 -6
  323. data/lib/xero-ruby/models/payroll_nz/statutory_deductions.rb +9 -6
  324. data/lib/xero-ruby/models/payroll_nz/superannuation_line.rb +9 -6
  325. data/lib/xero-ruby/models/payroll_nz/superannuation_object.rb +9 -6
  326. data/lib/xero-ruby/models/payroll_nz/superannuations.rb +9 -6
  327. data/lib/xero-ruby/models/payroll_nz/tax_code.rb +0 -1
  328. data/lib/xero-ruby/models/payroll_nz/tax_line.rb +9 -6
  329. data/lib/xero-ruby/models/payroll_nz/tax_settings.rb +10 -7
  330. data/lib/xero-ruby/models/payroll_nz/timesheet.rb +9 -6
  331. data/lib/xero-ruby/models/payroll_nz/timesheet_earnings_line.rb +9 -6
  332. data/lib/xero-ruby/models/payroll_nz/timesheet_line.rb +9 -6
  333. data/lib/xero-ruby/models/payroll_nz/timesheet_line_object.rb +9 -6
  334. data/lib/xero-ruby/models/payroll_nz/timesheet_object.rb +9 -6
  335. data/lib/xero-ruby/models/payroll_nz/timesheets.rb +9 -6
  336. data/lib/xero-ruby/models/payroll_nz/tracking_categories.rb +9 -6
  337. data/lib/xero-ruby/models/payroll_nz/tracking_category.rb +9 -6
  338. data/lib/xero-ruby/models/payroll_uk/account.rb +9 -6
  339. data/lib/xero-ruby/models/payroll_uk/accounts.rb +9 -6
  340. data/lib/xero-ruby/models/payroll_uk/address.rb +9 -6
  341. data/lib/xero-ruby/models/payroll_uk/bank_account.rb +9 -6
  342. data/lib/xero-ruby/models/payroll_uk/benefit.rb +9 -6
  343. data/lib/xero-ruby/models/payroll_uk/benefit_line.rb +9 -6
  344. data/lib/xero-ruby/models/payroll_uk/benefit_object.rb +9 -6
  345. data/lib/xero-ruby/models/payroll_uk/benefits.rb +9 -6
  346. data/lib/xero-ruby/models/payroll_uk/court_order_line.rb +9 -6
  347. data/lib/xero-ruby/models/payroll_uk/deduction.rb +9 -6
  348. data/lib/xero-ruby/models/payroll_uk/deduction_line.rb +9 -6
  349. data/lib/xero-ruby/models/payroll_uk/deduction_object.rb +9 -6
  350. data/lib/xero-ruby/models/payroll_uk/deductions.rb +9 -6
  351. data/lib/xero-ruby/models/payroll_uk/earnings_line.rb +9 -6
  352. data/lib/xero-ruby/models/payroll_uk/earnings_order.rb +9 -6
  353. data/lib/xero-ruby/models/payroll_uk/earnings_order_object.rb +9 -6
  354. data/lib/xero-ruby/models/payroll_uk/earnings_orders.rb +9 -6
  355. data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +9 -6
  356. data/lib/xero-ruby/models/payroll_uk/earnings_rate_object.rb +9 -6
  357. data/lib/xero-ruby/models/payroll_uk/earnings_rates.rb +9 -6
  358. data/lib/xero-ruby/models/payroll_uk/earnings_template.rb +9 -6
  359. data/lib/xero-ruby/models/payroll_uk/earnings_template_object.rb +9 -6
  360. data/lib/xero-ruby/models/payroll_uk/employee.rb +9 -6
  361. data/lib/xero-ruby/models/payroll_uk/employee_leave.rb +9 -6
  362. data/lib/xero-ruby/models/payroll_uk/employee_leave_balance.rb +9 -6
  363. data/lib/xero-ruby/models/payroll_uk/employee_leave_balances.rb +9 -6
  364. data/lib/xero-ruby/models/payroll_uk/employee_leave_object.rb +9 -6
  365. data/lib/xero-ruby/models/payroll_uk/employee_leave_type.rb +9 -6
  366. data/lib/xero-ruby/models/payroll_uk/employee_leave_type_object.rb +9 -6
  367. data/lib/xero-ruby/models/payroll_uk/employee_leave_types.rb +9 -6
  368. data/lib/xero-ruby/models/payroll_uk/employee_leaves.rb +9 -6
  369. data/lib/xero-ruby/models/payroll_uk/employee_object.rb +9 -6
  370. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances.rb +9 -6
  371. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances_object.rb +9 -6
  372. data/lib/xero-ruby/models/payroll_uk/employee_pay_template.rb +9 -6
  373. data/lib/xero-ruby/models/payroll_uk/employee_pay_template_object.rb +9 -6
  374. data/lib/xero-ruby/models/payroll_uk/employee_pay_templates.rb +9 -6
  375. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance.rb +9 -6
  376. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance_object.rb +9 -6
  377. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_summary.rb +9 -6
  378. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leaves_summaries.rb +9 -6
  379. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave.rb +9 -6
  380. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave_object.rb +9 -6
  381. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leaves.rb +9 -6
  382. data/lib/xero-ruby/models/payroll_uk/employee_tax.rb +9 -6
  383. data/lib/xero-ruby/models/payroll_uk/employee_tax_object.rb +9 -6
  384. data/lib/xero-ruby/models/payroll_uk/employees.rb +9 -6
  385. data/lib/xero-ruby/models/payroll_uk/employment.rb +9 -6
  386. data/lib/xero-ruby/models/payroll_uk/employment_object.rb +9 -6
  387. data/lib/xero-ruby/models/payroll_uk/invalid_field.rb +9 -6
  388. data/lib/xero-ruby/models/payroll_uk/leave_accrual_line.rb +9 -6
  389. data/lib/xero-ruby/models/payroll_uk/leave_earnings_line.rb +9 -6
  390. data/lib/xero-ruby/models/payroll_uk/leave_period.rb +9 -6
  391. data/lib/xero-ruby/models/payroll_uk/leave_periods.rb +9 -6
  392. data/lib/xero-ruby/models/payroll_uk/leave_type.rb +9 -6
  393. data/lib/xero-ruby/models/payroll_uk/leave_type_object.rb +9 -6
  394. data/lib/xero-ruby/models/payroll_uk/leave_types.rb +9 -6
  395. data/lib/xero-ruby/models/payroll_uk/pagination.rb +9 -6
  396. data/lib/xero-ruby/models/payroll_uk/pay_run.rb +9 -6
  397. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar.rb +9 -6
  398. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar_object.rb +9 -6
  399. data/lib/xero-ruby/models/payroll_uk/pay_run_calendars.rb +9 -6
  400. data/lib/xero-ruby/models/payroll_uk/pay_run_object.rb +9 -6
  401. data/lib/xero-ruby/models/payroll_uk/pay_runs.rb +9 -6
  402. data/lib/xero-ruby/models/payroll_uk/payment_line.rb +9 -6
  403. data/lib/xero-ruby/models/payroll_uk/payment_method.rb +9 -6
  404. data/lib/xero-ruby/models/payroll_uk/payment_method_object.rb +9 -6
  405. data/lib/xero-ruby/models/payroll_uk/payslip.rb +22 -7
  406. data/lib/xero-ruby/models/payroll_uk/payslip_object.rb +9 -6
  407. data/lib/xero-ruby/models/payroll_uk/payslips.rb +9 -6
  408. data/lib/xero-ruby/models/payroll_uk/problem.rb +9 -6
  409. data/lib/xero-ruby/models/payroll_uk/reimbursement.rb +9 -6
  410. data/lib/xero-ruby/models/payroll_uk/reimbursement_line.rb +9 -6
  411. data/lib/xero-ruby/models/payroll_uk/reimbursement_object.rb +9 -6
  412. data/lib/xero-ruby/models/payroll_uk/reimbursements.rb +9 -6
  413. data/lib/xero-ruby/models/payroll_uk/salary_and_wage.rb +9 -6
  414. data/lib/xero-ruby/models/payroll_uk/salary_and_wage_object.rb +9 -6
  415. data/lib/xero-ruby/models/payroll_uk/salary_and_wages.rb +9 -6
  416. data/lib/xero-ruby/models/payroll_uk/settings.rb +9 -6
  417. data/lib/xero-ruby/models/payroll_uk/statutory_deduction.rb +9 -6
  418. data/lib/xero-ruby/models/payroll_uk/statutory_deduction_category.rb +0 -1
  419. data/lib/xero-ruby/models/payroll_uk/tax_line.rb +9 -6
  420. data/lib/xero-ruby/models/payroll_uk/timesheet.rb +9 -6
  421. data/lib/xero-ruby/models/payroll_uk/timesheet_earnings_line.rb +9 -6
  422. data/lib/xero-ruby/models/payroll_uk/timesheet_line.rb +9 -6
  423. data/lib/xero-ruby/models/payroll_uk/timesheet_line_object.rb +9 -6
  424. data/lib/xero-ruby/models/payroll_uk/timesheet_object.rb +9 -6
  425. data/lib/xero-ruby/models/payroll_uk/timesheets.rb +9 -6
  426. data/lib/xero-ruby/models/payroll_uk/tracking_categories.rb +9 -6
  427. data/lib/xero-ruby/models/payroll_uk/tracking_category.rb +9 -6
  428. data/lib/xero-ruby/models/projects/amount.rb +9 -6
  429. data/lib/xero-ruby/models/projects/charge_type.rb +0 -1
  430. data/lib/xero-ruby/models/projects/currency_code.rb +0 -1
  431. data/lib/xero-ruby/models/projects/error.rb +9 -6
  432. data/lib/xero-ruby/models/projects/pagination.rb +9 -6
  433. data/lib/xero-ruby/models/projects/project.rb +9 -6
  434. data/lib/xero-ruby/models/projects/project_create_or_update.rb +9 -6
  435. data/lib/xero-ruby/models/projects/project_patch.rb +9 -6
  436. data/lib/xero-ruby/models/projects/project_status.rb +0 -1
  437. data/lib/xero-ruby/models/projects/project_user.rb +9 -6
  438. data/lib/xero-ruby/models/projects/project_users.rb +9 -6
  439. data/lib/xero-ruby/models/projects/projects.rb +9 -6
  440. data/lib/xero-ruby/models/projects/task.rb +9 -6
  441. data/lib/xero-ruby/models/projects/task_create_or_update.rb +9 -6
  442. data/lib/xero-ruby/models/projects/tasks.rb +9 -6
  443. data/lib/xero-ruby/models/projects/time_entries.rb +9 -6
  444. data/lib/xero-ruby/models/projects/time_entry.rb +9 -6
  445. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +9 -6
  446. data/lib/xero-ruby/version.rb +2 -2
  447. data/spec/api_client_spec.rb +101 -13
  448. data/spec/api_error_spec.rb +45 -0
  449. data/spec/configuration_spec.rb +9 -16
  450. data/spec/helper_methods_spec.rb +70 -0
  451. metadata +19 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 27699a618c553b30814d155cc208eb69643173ee2a165a31412d62288dbbb2fa
4
- data.tar.gz: 8ad9d483a375baaaa01dbab76c882bb14ec51b5363148e7e25159753e994ac9f
3
+ metadata.gz: e31ff3c90718184423dc2c2e4eaeb4ce2bc068b3ebad4c94017703e8ecd87e71
4
+ data.tar.gz: 5d831820660d5eae61a43a1f2c8cfd3ce40a3cbe1721697f657b5b61dc7bea36
5
5
  SHA512:
6
- metadata.gz: 54a5162180d95e0ac0042f83d8626e432ce71ff3bace82a2d675133af6b468f1435810f937029fbf7aedaec31e1813ff13cfc943422cfebcf6445361eef66ac5
7
- data.tar.gz: 5260248c63f8dc58821e06450c6d708ae3ffcc60bafd1943326e7ba0bf0057e7c47e5c7f74a4e4f9913856147834b8d341dbbb652d1f171a5143d47901280ce8
6
+ metadata.gz: d283c2e0c4f92da33f7bc16665f4ef67570e5f7eadac0ac80d024b57667845df702d7d71be5664c0118b52d3040c18fc3e16363652fe20f69867ffee79afc5ed
7
+ data.tar.gz: 65cb61a5b45cbada2376223aa4eef5eb00a161f258b8a07d68556bfa210f7ee982cda44144fecfb3af98b91a3d84ec5f50063e5ab740861d4a2c107d8a991a81
data/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # xero-ruby
2
2
  Xero Ruby SDK for OAuth 2.0 generated from [Xero API OpenAPI Spec](https://github.com/XeroAPI/Xero-OpenAPI).
3
3
 
4
- [![RubyGem](https://img.shields.io/badge/xero--ruby%20gem-v0.2.4-brightgreen)](https://rubygems.org/gems/xero-ruby)
4
+ [![RubyGem](https://img.shields.io/badge/xero--ruby%20gem-v2.6.0-brightgreen)](https://rubygems.org/gems/xero-ruby)
5
5
 
6
6
  # Documentation
7
- Xero Ruby SDK supports Xero's OAuth2.0 authentication and supports the following Xero API sets.
7
+ Xero Ruby SDK supports Xero's OAuth2.0 authentication and the following Xero API sets.
8
8
 
9
9
  ## API Client Docs
10
10
  * [Accounting Api Docs](/docs/accounting/AccountingApi.md)
@@ -61,7 +61,8 @@ creds = {
61
61
  client_id: ENV['CLIENT_ID'],
62
62
  client_secret: ENV['CLIENT_SECRET'],
63
63
  redirect_uri: ENV['REDIRECT_URI'],
64
- scopes: ENV['SCOPES']
64
+ scopes: ENV['SCOPES'],
65
+ state: "this-can-be-a-custom-state-parameter" # optional
65
66
  }
66
67
  xero_client ||= XeroRuby::ApiClient.new(credentials: creds)
67
68
  ```
@@ -86,6 +87,9 @@ In your callback route catch, calling `get_token_set_from_callback` will exchang
86
87
  token_set = xero_client.get_token_set_from_callback(params)
87
88
 
88
89
  # save token_set JSON in a datastore in relation to the user authentication
90
+
91
+ puts params['state']
92
+ => "this-can-be-a-custom-state-parameter"
89
93
  ```
90
94
 
91
95
  ## Making API calls once you have a token_set
@@ -327,4 +331,25 @@ xero_client.accounting_api.get_bank_transfers(tenant_id, opts).bank_transfers
327
331
  ## Sample App
328
332
  The best resource to understanding how to best leverage this SDK is the sample applications showing all the features of the gem.
329
333
  > https://github.com/XeroAPI/xero-ruby-oauth2-starter (Sinatra - simple getting started)
330
- > https://github.com/XeroAPI/xero-ruby-oauth2-app (Rails - full featured examples)
334
+ > https://github.com/XeroAPI/xero-ruby-oauth2-app (Rails - full featured examples)
335
+
336
+ ## Contributing
337
+ Most of the repo code is auto generated but PR's on issues you encounter are highly encouraged. Xero maintainers will re-incorporate them back into the core SDK build. To develop this gem locally against your project you can use the following development pattern:
338
+
339
+ > xero-ruby
340
+ ```bash
341
+ gem build
342
+ mv xero-ruby-<vsn>.gem xero-ruby.gem
343
+ pwd
344
+ => /Users/chris.knight/code/sdks/xero-ruby/
345
+ ```
346
+
347
+ > xero-ruby-oauth2-app
348
+ Replace gem file with local path:
349
+ ```bash
350
+ gem 'xero-ruby', path: '/Users/chris.knight/code/sdks/xero-ruby/'
351
+ bundle install
352
+ ```
353
+
354
+ ## Testing
355
+ * `rspec spec/`
@@ -3,7 +3,6 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.4.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -112,6 +111,7 @@ require 'xero-ruby/models/payroll_nz/accounts'
112
111
  require 'xero-ruby/models/payroll_nz/address'
113
112
  require 'xero-ruby/models/payroll_nz/bank_account'
114
113
  require 'xero-ruby/models/payroll_nz/benefit'
114
+ require 'xero-ruby/models/payroll_nz/calendar_type'
115
115
  require 'xero-ruby/models/payroll_nz/deduction'
116
116
  require 'xero-ruby/models/payroll_nz/deduction_line'
117
117
  require 'xero-ruby/models/payroll_nz/deduction_object'
@@ -331,10 +331,12 @@ require 'xero-ruby/models/accounting/accounts_receivable'
331
331
  require 'xero-ruby/models/accounting/action'
332
332
  require 'xero-ruby/models/accounting/actions'
333
333
  require 'xero-ruby/models/accounting/address'
334
+ require 'xero-ruby/models/accounting/address_for_organisation'
334
335
  require 'xero-ruby/models/accounting/allocation'
335
336
  require 'xero-ruby/models/accounting/allocations'
336
337
  require 'xero-ruby/models/accounting/attachment'
337
338
  require 'xero-ruby/models/accounting/attachments'
339
+ require 'xero-ruby/models/accounting/balance_details'
338
340
  require 'xero-ruby/models/accounting/balances'
339
341
  require 'xero-ruby/models/accounting/bank_transaction'
340
342
  require 'xero-ruby/models/accounting/bank_transactions'
@@ -354,6 +356,8 @@ require 'xero-ruby/models/accounting/contact_group'
354
356
  require 'xero-ruby/models/accounting/contact_groups'
355
357
  require 'xero-ruby/models/accounting/contact_person'
356
358
  require 'xero-ruby/models/accounting/contacts'
359
+ require 'xero-ruby/models/accounting/conversion_balances'
360
+ require 'xero-ruby/models/accounting/conversion_date'
357
361
  require 'xero-ruby/models/accounting/country_code'
358
362
  require 'xero-ruby/models/accounting/credit_note'
359
363
  require 'xero-ruby/models/accounting/credit_notes'
@@ -369,6 +373,10 @@ require 'xero-ruby/models/accounting/expense_claims'
369
373
  require 'xero-ruby/models/accounting/external_link'
370
374
  require 'xero-ruby/models/accounting/history_record'
371
375
  require 'xero-ruby/models/accounting/history_records'
376
+ require 'xero-ruby/models/accounting/import_summary'
377
+ require 'xero-ruby/models/accounting/import_summary_accounts'
378
+ require 'xero-ruby/models/accounting/import_summary_object'
379
+ require 'xero-ruby/models/accounting/import_summary_organisation'
372
380
  require 'xero-ruby/models/accounting/invoice'
373
381
  require 'xero-ruby/models/accounting/invoice_reminder'
374
382
  require 'xero-ruby/models/accounting/invoice_reminders'
@@ -426,6 +434,7 @@ require 'xero-ruby/models/accounting/request_empty'
426
434
  require 'xero-ruby/models/accounting/row_type'
427
435
  require 'xero-ruby/models/accounting/sales_tracking_category'
428
436
  require 'xero-ruby/models/accounting/schedule'
437
+ require 'xero-ruby/models/accounting/setup'
429
438
  require 'xero-ruby/models/accounting/tax_component'
430
439
  require 'xero-ruby/models/accounting/tax_rate'
431
440
  require 'xero-ruby/models/accounting/tax_rates'
@@ -3,7 +3,6 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.4.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -595,6 +594,7 @@ module XeroRuby
595
594
  return data, status_code, headers
596
595
  end
597
596
 
597
+ # Allows you to create history record for a bank transfers
598
598
  # @param xero_tenant_id [String] Xero identifier for Tenant
599
599
  # @param bank_transfer_id [String] Xero generated unique identifier for a bank transfer
600
600
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
@@ -605,6 +605,7 @@ module XeroRuby
605
605
  data
606
606
  end
607
607
 
608
+ # Allows you to create history record for a bank transfers
608
609
  # @param xero_tenant_id [String] Xero identifier for Tenant
609
610
  # @param bank_transfer_id [String] Xero generated unique identifier for a bank transfer
610
611
  # @param history_records [HistoryRecords] HistoryRecords containing an array of HistoryRecord objects in body of request
@@ -1663,6 +1664,7 @@ module XeroRuby
1663
1664
  return data, status_code, headers
1664
1665
  end
1665
1666
 
1667
+ # Allows you to create a new currency for an org
1666
1668
  # @param xero_tenant_id [String] Xero identifier for Tenant
1667
1669
  # @param currency [Currency] Currency obejct in the body of request
1668
1670
  # @param [Hash] opts the optional parameters
@@ -1672,6 +1674,7 @@ module XeroRuby
1672
1674
  data
1673
1675
  end
1674
1676
 
1677
+ # Allows you to create a new currency for an org
1675
1678
  # @param xero_tenant_id [String] Xero identifier for Tenant
1676
1679
  # @param currency [Currency] Currency obejct in the body of request
1677
1680
  # @param [Hash] opts the optional parameters
@@ -13879,7 +13882,7 @@ module XeroRuby
13879
13882
  # Allows you to retrieve report for BalanceSheet
13880
13883
  # @param xero_tenant_id [String] Xero identifier for Tenant
13881
13884
  # @param [Hash] opts the optional parameters
13882
- # @option opts [String] :date The date of the Balance Sheet report
13885
+ # @option opts [Date] :date The date of the Balance Sheet report
13883
13886
  # @option opts [Integer] :periods The number of periods for the Balance Sheet report
13884
13887
  # @option opts [String] :timeframe The period size to compare to (MONTH, QUARTER, YEAR)
13885
13888
  # @option opts [String] :tracking_option_id1 The tracking option 1 for the Balance Sheet report
@@ -13895,7 +13898,7 @@ module XeroRuby
13895
13898
  # Allows you to retrieve report for BalanceSheet
13896
13899
  # @param xero_tenant_id [String] Xero identifier for Tenant
13897
13900
  # @param [Hash] opts the optional parameters
13898
- # @option opts [String] :date The date of the Balance Sheet report
13901
+ # @option opts [Date] :date The date of the Balance Sheet report
13899
13902
  # @option opts [Integer] :periods The number of periods for the Balance Sheet report
13900
13903
  # @option opts [String] :timeframe The period size to compare to (MONTH, QUARTER, YEAR)
13901
13904
  # @option opts [String] :tracking_option_id1 The tracking option 1 for the Balance Sheet report
@@ -14817,6 +14820,82 @@ module XeroRuby
14817
14820
  return data, status_code, headers
14818
14821
  end
14819
14822
 
14823
+ # Allows you to set the chart of accounts, the conversion date and conversion balances
14824
+ # @param xero_tenant_id [String] Xero identifier for Tenant
14825
+ # @param setup [Setup] Object including an accounts array, a conversion balances array and a conversion date object in body of request
14826
+ # @param [Hash] opts the optional parameters
14827
+ # @return [ImportSummaryObject]
14828
+ def post_setup(xero_tenant_id, setup, opts = {})
14829
+ data, _status_code, _headers = post_setup_with_http_info(xero_tenant_id, setup, opts)
14830
+ data
14831
+ end
14832
+
14833
+ # Allows you to set the chart of accounts, the conversion date and conversion balances
14834
+ # @param xero_tenant_id [String] Xero identifier for Tenant
14835
+ # @param setup [Setup] Object including an accounts array, a conversion balances array and a conversion date object in body of request
14836
+ # @param [Hash] opts the optional parameters
14837
+ # @return [Array<(ImportSummaryObject, Integer, Hash)>] ImportSummaryObject data, response status code and response headers
14838
+ def post_setup_with_http_info(xero_tenant_id, setup, opts = {})
14839
+ if @api_client.config.debugging
14840
+ @api_client.config.logger.debug 'Calling API: AccountingApi.post_setup ...'
14841
+ end
14842
+ # verify the required parameter 'xero_tenant_id' is set
14843
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
14844
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.post_setup"
14845
+ end
14846
+ # verify the required parameter 'setup' is set
14847
+ if @api_client.config.client_side_validation && setup.nil?
14848
+ fail ArgumentError, "Missing the required parameter 'setup' when calling AccountingApi.post_setup"
14849
+ end
14850
+ # resource path
14851
+ local_var_path = '/Setup'
14852
+
14853
+ # camelize keys of incoming `where` opts
14854
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
14855
+
14856
+ # query parameters
14857
+ query_params = opts[:query_params] || {}
14858
+
14859
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
14860
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
14861
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
14862
+
14863
+ # header parameters
14864
+ header_params = opts[:header_params] || {}
14865
+ # HTTP header 'Accept' (if needed)
14866
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
14867
+ # HTTP header 'Content-Type'
14868
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
14869
+ header_params[:'xero-tenant-id'] = xero_tenant_id
14870
+
14871
+ # form parameters
14872
+ form_params = opts[:form_params] || {}
14873
+
14874
+ # http body (model)
14875
+ post_body = opts[:body] || @api_client.object_to_http_body(setup)
14876
+
14877
+ # return_type
14878
+ return_type = opts[:return_type] || 'ImportSummaryObject'
14879
+
14880
+ # auth_names
14881
+ auth_names = opts[:auth_names] || ['OAuth2']
14882
+
14883
+ new_options = opts.merge(
14884
+ :header_params => header_params,
14885
+ :query_params => query_params,
14886
+ :form_params => form_params,
14887
+ :body => post_body,
14888
+ :auth_names => auth_names,
14889
+ :return_type => return_type
14890
+ )
14891
+
14892
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, "AccountingApi", new_options)
14893
+ if @api_client.config.debugging
14894
+ @api_client.config.logger.debug "API called: AccountingApi#post_setup\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
14895
+ end
14896
+ return data, status_code, headers
14897
+ end
14898
+
14820
14899
  # Allows you to update a chart of accounts
14821
14900
  # @param xero_tenant_id [String] Xero identifier for Tenant
14822
14901
  # @param account_id [String] Unique identifier for retrieving single object
@@ -15246,6 +15325,7 @@ module XeroRuby
15246
15325
  return data, status_code, headers
15247
15326
  end
15248
15327
 
15328
+ # Allows you to update one contact in a Xero organisation
15249
15329
  # @param xero_tenant_id [String] Xero identifier for Tenant
15250
15330
  # @param contact_id [String] Unique identifier for a Contact
15251
15331
  # @param contacts [Contacts] an array of Contacts containing single Contact object with properties to update
@@ -15256,6 +15336,7 @@ module XeroRuby
15256
15336
  data
15257
15337
  end
15258
15338
 
15339
+ # Allows you to update one contact in a Xero organisation
15259
15340
  # @param xero_tenant_id [String] Xero identifier for Tenant
15260
15341
  # @param contact_id [String] Unique identifier for a Contact
15261
15342
  # @param contacts [Contacts] an array of Contacts containing single Contact object with properties to update
@@ -3,7 +3,6 @@
3
3
 
4
4
  #This is the Xero Assets API
5
5
 
6
- The version of the OpenAPI document: 2.4.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -3,7 +3,6 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.4.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -3,7 +3,6 @@
3
3
 
4
4
  #This is the Xero Payroll API for orgs in Australia region.
5
5
 
6
- The version of the OpenAPI document: 2.4.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -3,7 +3,6 @@
3
3
 
4
4
  #This is the Xero Payroll API for orgs in the NZ region.
5
5
 
6
- The version of the OpenAPI document: 2.4.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -3,7 +3,6 @@
3
3
 
4
4
  #This is the Xero Payroll API for orgs in the UK region.
5
5
 
6
- The version of the OpenAPI document: 2.4.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -3,7 +3,6 @@
3
3
 
4
4
  #This is the Xero Projects API
5
5
 
6
- The version of the OpenAPI document: 2.4.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -600,6 +599,7 @@ module XeroRuby
600
599
  # @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.
601
600
  # @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.
602
601
  # @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}
602
+ # @option opts [ChargeType] :charge_type
603
603
  # @return [Tasks]
604
604
  def get_tasks(xero_tenant_id, project_id, opts = {})
605
605
  data, _status_code, _headers = get_tasks_with_http_info(xero_tenant_id, project_id, opts)
@@ -614,6 +614,7 @@ module XeroRuby
614
614
  # @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.
615
615
  # @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.
616
616
  # @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
+ # @option opts [ChargeType] :charge_type
617
618
  # @return [Array<(Tasks, Integer, Hash)>] Tasks data, response status code and response headers
618
619
  def get_tasks_with_http_info(xero_tenant_id, project_id, opts = {})
619
620
  if @api_client.config.debugging
@@ -638,6 +639,7 @@ module XeroRuby
638
639
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
639
640
  query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
640
641
  query_params[:'taskIds'] = opts[:'task_ids'] if !opts[:'task_ids'].nil?
642
+ query_params[:'chargeType'] = opts[:'charge_type'] if !opts[:'charge_type'].nil?
641
643
 
642
644
  # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
643
645
  query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
@@ -3,7 +3,6 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.4.0
7
6
  Contact: api@xero.com
8
7
  Generated by: https://openapi-generator.tech
9
8
  OpenAPI Generator version: 4.3.1
@@ -34,6 +33,7 @@ module XeroRuby
34
33
  @client_secret = credentials[:client_secret]
35
34
  @redirect_uri = credentials[:redirect_uri]
36
35
  @scopes = credentials[:scopes]
36
+ @state = credentials[:state]
37
37
  @config = config
38
38
  @user_agent = "xero-ruby-#{VERSION}"
39
39
  @default_headers = {
@@ -44,6 +44,7 @@ module XeroRuby
44
44
 
45
45
  def authorization_url
46
46
  url = "#{@config.login_url}?response_type=code&client_id=#{@client_id}&redirect_uri=#{@redirect_uri}&scope=#{@scopes}"
47
+ url << "&state=#{@state}" if @state
47
48
  return url
48
49
  end
49
50
 
@@ -125,6 +126,7 @@ module XeroRuby
125
126
  req.headers['Content-Type'] = 'application/x-www-form-urlencoded'
126
127
  req.body = URI.encode_www_form(data)
127
128
  end
129
+ return_error(response) unless response.success?
128
130
  body = JSON.parse(response.body)
129
131
  set_token_set(body)
130
132
  return body
@@ -132,20 +134,17 @@ module XeroRuby
132
134
 
133
135
  # Connection heplers
134
136
  def connections
135
- response = Faraday.get('https://api.xero.com/connections') do |req|
136
- req.headers['Authorization'] = "Bearer #{access_token}"
137
- req.headers['Content-Type'] = 'application/json'
138
- end
139
- body = JSON.parse(response.body)
140
- return body
137
+ @config.base_url = 'https://api.xero.com'
138
+ opts = { :header_params => {'Content-Type': 'application/json'}, :auth_names => ['OAuth2'] }
139
+ response = call_api(:GET, '/connections/', nil, opts)
140
+ response[0]
141
141
  end
142
142
 
143
143
  def disconnect(connection_id)
144
- Faraday.delete("https://api.xero.com/connections/#{connection_id}") do |req|
145
- req.headers['Authorization'] = "Bearer #{access_token}"
146
- req.headers['Content-Type'] = 'application/json'
147
- end
148
- return connections
144
+ @config.base_url = 'https://api.xero.com'
145
+ opts = { :header_params => {'Content-Type': 'application/json'}, :auth_names => ['OAuth2'] }
146
+ call_api(:DELETE, '/connections/#{connection_id}', nil, opts)
147
+ connections
149
148
  end
150
149
 
151
150
  # Call an API with given options.
@@ -179,18 +178,7 @@ module XeroRuby
179
178
  @config.logger.debug "HTTP response body ~BEGIN~\n#{response.body}\n~END~\n"
180
179
  end
181
180
 
182
- unless response.success?
183
- if response.status == 0
184
- # Errors from libcurl will be made visible here
185
- fail ApiError.new(:code => 0,
186
- :message => response.return_message)
187
- else
188
- fail ApiError.new(:code => response.status,
189
- :response_headers => response.headers,
190
- :response_body => response.body),
191
- response.reason_phrase
192
- end
193
- end
181
+ return_error(response) unless response.success?
194
182
  rescue Faraday::TimeoutError
195
183
  fail ApiError.new('Connection timed out')
196
184
  end
@@ -198,12 +186,27 @@ module XeroRuby
198
186
  if opts[:return_type]
199
187
  prepare_file(response) if opts[:return_type] == 'File'
200
188
  data = deserialize(response, opts[:return_type], api_client)
189
+ elsif !response.body.empty?
190
+ data = JSON.parse(response.body)
201
191
  else
202
192
  data = nil
203
193
  end
204
194
  return data, response.status, response.headers
205
195
  end
206
196
 
197
+ def return_error(response)
198
+ if response.status == 0
199
+ # Errors from libcurl will be made visible here
200
+ fail ApiError.new(:code => 0,
201
+ :message => response.return_message)
202
+ else
203
+ fail ApiError.new(:code => response.status,
204
+ :response_headers => response.headers,
205
+ :response_body => response.body),
206
+ response.reason_phrase
207
+ end
208
+ end
209
+
207
210
  # Builds the HTTP request
208
211
  #
209
212
  # @param [String] http_method HTTP method/verb (e.g. POST)
@@ -416,9 +419,13 @@ module XeroRuby
416
419
  end
417
420
 
418
421
  def build_request_url(path)
419
- # Add leading and trailing slashes to path
420
- path = "/#{path}".gsub(/\/+/, '/')
421
- @config.base_url + path
422
+ if @config.base_url
423
+ # Add leading and trailing slashes to path
424
+ path = "/#{path}".gsub(/\/+/, '/')
425
+ @config.base_url + path
426
+ else
427
+ path
428
+ end
422
429
  end
423
430
 
424
431
  # Update hearder and query params based on authentication settings.