xero-ruby 2.3.1 → 2.6.0

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