xero-ruby 2.6.0 → 2.8.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 (446) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +28 -9
  3. data/lib/xero-ruby.rb +4 -2
  4. data/lib/xero-ruby/api/accounting_api.rb +446 -446
  5. data/lib/xero-ruby/api/asset_api.rb +3 -7
  6. data/lib/xero-ruby/api/files_api.rb +49 -55
  7. data/lib/xero-ruby/api/payroll_au_api.rb +63 -63
  8. data/lib/xero-ruby/api/payroll_nz_api.rb +171 -171
  9. data/lib/xero-ruby/api/payroll_uk_api.rb +173 -173
  10. data/lib/xero-ruby/api/project_api.rb +45 -45
  11. data/lib/xero-ruby/api_client.rb +25 -89
  12. data/lib/xero-ruby/api_error.rb +1 -1
  13. data/lib/xero-ruby/configuration.rb +3 -3
  14. data/lib/xero-ruby/models/accounting/account.rb +7 -2
  15. data/lib/xero-ruby/models/accounting/account_type.rb +1 -1
  16. data/lib/xero-ruby/models/accounting/accounts.rb +7 -2
  17. data/lib/xero-ruby/models/accounting/accounts_payable.rb +7 -2
  18. data/lib/xero-ruby/models/accounting/accounts_receivable.rb +7 -2
  19. data/lib/xero-ruby/models/accounting/action.rb +7 -2
  20. data/lib/xero-ruby/models/accounting/actions.rb +7 -2
  21. data/lib/xero-ruby/models/accounting/address.rb +7 -2
  22. data/lib/xero-ruby/models/accounting/address_for_organisation.rb +7 -2
  23. data/lib/xero-ruby/models/accounting/allocation.rb +7 -2
  24. data/lib/xero-ruby/models/accounting/allocations.rb +7 -2
  25. data/lib/xero-ruby/models/accounting/attachment.rb +7 -2
  26. data/lib/xero-ruby/models/accounting/attachments.rb +7 -2
  27. data/lib/xero-ruby/models/accounting/balance_details.rb +7 -2
  28. data/lib/xero-ruby/models/accounting/balances.rb +7 -2
  29. data/lib/xero-ruby/models/accounting/bank_transaction.rb +7 -2
  30. data/lib/xero-ruby/models/accounting/bank_transactions.rb +7 -2
  31. data/lib/xero-ruby/models/accounting/bank_transfer.rb +7 -2
  32. data/lib/xero-ruby/models/accounting/bank_transfers.rb +7 -2
  33. data/lib/xero-ruby/models/accounting/batch_payment.rb +7 -2
  34. data/lib/xero-ruby/models/accounting/batch_payment_details.rb +7 -2
  35. data/lib/xero-ruby/models/accounting/batch_payments.rb +7 -2
  36. data/lib/xero-ruby/models/accounting/bill.rb +7 -2
  37. data/lib/xero-ruby/models/accounting/branding_theme.rb +7 -2
  38. data/lib/xero-ruby/models/accounting/branding_themes.rb +7 -2
  39. data/lib/xero-ruby/models/accounting/cis_org_setting.rb +7 -2
  40. data/lib/xero-ruby/models/{files/file_response204.rb → accounting/cis_org_settings.rb} +22 -15
  41. data/lib/xero-ruby/models/accounting/cis_setting.rb +7 -2
  42. data/lib/xero-ruby/models/accounting/cis_settings.rb +7 -2
  43. data/lib/xero-ruby/models/accounting/contact.rb +7 -2
  44. data/lib/xero-ruby/models/accounting/contact_group.rb +7 -2
  45. data/lib/xero-ruby/models/accounting/contact_groups.rb +7 -2
  46. data/lib/xero-ruby/models/accounting/contact_person.rb +7 -2
  47. data/lib/xero-ruby/models/accounting/contacts.rb +7 -2
  48. data/lib/xero-ruby/models/accounting/conversion_balances.rb +7 -2
  49. data/lib/xero-ruby/models/accounting/conversion_date.rb +7 -2
  50. data/lib/xero-ruby/models/accounting/country_code.rb +1 -1
  51. data/lib/xero-ruby/models/accounting/credit_note.rb +24 -7
  52. data/lib/xero-ruby/models/accounting/credit_notes.rb +7 -2
  53. data/lib/xero-ruby/models/accounting/currencies.rb +7 -2
  54. data/lib/xero-ruby/models/accounting/currency.rb +7 -2
  55. data/lib/xero-ruby/models/accounting/currency_code.rb +1 -1
  56. data/lib/xero-ruby/models/accounting/element.rb +7 -2
  57. data/lib/xero-ruby/models/accounting/employee.rb +7 -2
  58. data/lib/xero-ruby/models/accounting/employees.rb +7 -2
  59. data/lib/xero-ruby/models/accounting/error.rb +7 -2
  60. data/lib/xero-ruby/models/accounting/expense_claim.rb +7 -2
  61. data/lib/xero-ruby/models/accounting/expense_claims.rb +7 -2
  62. data/lib/xero-ruby/models/accounting/external_link.rb +7 -2
  63. data/lib/xero-ruby/models/accounting/history_record.rb +7 -2
  64. data/lib/xero-ruby/models/accounting/history_records.rb +7 -2
  65. data/lib/xero-ruby/models/accounting/import_summary.rb +7 -2
  66. data/lib/xero-ruby/models/accounting/import_summary_accounts.rb +7 -2
  67. data/lib/xero-ruby/models/accounting/import_summary_object.rb +7 -2
  68. data/lib/xero-ruby/models/accounting/import_summary_organisation.rb +7 -2
  69. data/lib/xero-ruby/models/accounting/invoice.rb +7 -2
  70. data/lib/xero-ruby/models/accounting/invoice_reminder.rb +7 -2
  71. data/lib/xero-ruby/models/accounting/invoice_reminders.rb +7 -2
  72. data/lib/xero-ruby/models/accounting/invoices.rb +7 -2
  73. data/lib/xero-ruby/models/accounting/item.rb +7 -2
  74. data/lib/xero-ruby/models/accounting/items.rb +7 -2
  75. data/lib/xero-ruby/models/accounting/journal.rb +7 -2
  76. data/lib/xero-ruby/models/accounting/journal_line.rb +7 -2
  77. data/lib/xero-ruby/models/accounting/journals.rb +7 -2
  78. data/lib/xero-ruby/models/accounting/line_amount_types.rb +1 -1
  79. data/lib/xero-ruby/models/accounting/line_item.rb +7 -2
  80. data/lib/xero-ruby/models/accounting/line_item_tracking.rb +7 -2
  81. data/lib/xero-ruby/models/accounting/linked_transaction.rb +7 -2
  82. data/lib/xero-ruby/models/accounting/linked_transactions.rb +7 -2
  83. data/lib/xero-ruby/models/accounting/manual_journal.rb +7 -2
  84. data/lib/xero-ruby/models/accounting/manual_journal_line.rb +7 -2
  85. data/lib/xero-ruby/models/accounting/manual_journals.rb +7 -2
  86. data/lib/xero-ruby/models/accounting/online_invoice.rb +7 -2
  87. data/lib/xero-ruby/models/accounting/online_invoices.rb +7 -2
  88. data/lib/xero-ruby/models/accounting/organisation.rb +7 -2
  89. data/lib/xero-ruby/models/accounting/organisations.rb +7 -2
  90. data/lib/xero-ruby/models/accounting/overpayment.rb +7 -2
  91. data/lib/xero-ruby/models/accounting/overpayments.rb +7 -2
  92. data/lib/xero-ruby/models/accounting/payment.rb +18 -3
  93. data/lib/xero-ruby/models/accounting/payment_delete.rb +7 -2
  94. data/lib/xero-ruby/models/accounting/payment_service.rb +7 -2
  95. data/lib/xero-ruby/models/accounting/payment_services.rb +7 -2
  96. data/lib/xero-ruby/models/accounting/payment_term.rb +7 -2
  97. data/lib/xero-ruby/models/accounting/payment_term_type.rb +1 -1
  98. data/lib/xero-ruby/models/accounting/payments.rb +7 -2
  99. data/lib/xero-ruby/models/accounting/phone.rb +7 -2
  100. data/lib/xero-ruby/models/accounting/prepayment.rb +7 -2
  101. data/lib/xero-ruby/models/accounting/prepayments.rb +7 -2
  102. data/lib/xero-ruby/models/accounting/purchase.rb +7 -2
  103. data/lib/xero-ruby/models/accounting/purchase_order.rb +7 -2
  104. data/lib/xero-ruby/models/accounting/purchase_orders.rb +7 -2
  105. data/lib/xero-ruby/models/accounting/quote.rb +7 -2
  106. data/lib/xero-ruby/models/accounting/quote_line_amount_types.rb +1 -1
  107. data/lib/xero-ruby/models/accounting/quote_status_codes.rb +1 -1
  108. data/lib/xero-ruby/models/accounting/quotes.rb +7 -2
  109. data/lib/xero-ruby/models/accounting/receipt.rb +7 -2
  110. data/lib/xero-ruby/models/accounting/receipts.rb +7 -2
  111. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +7 -2
  112. data/lib/xero-ruby/models/accounting/repeating_invoices.rb +7 -2
  113. data/lib/xero-ruby/models/accounting/report.rb +7 -2
  114. data/lib/xero-ruby/models/accounting/report_attribute.rb +7 -2
  115. data/lib/xero-ruby/models/accounting/report_cell.rb +7 -2
  116. data/lib/xero-ruby/models/accounting/report_fields.rb +7 -2
  117. data/lib/xero-ruby/models/accounting/report_row.rb +7 -2
  118. data/lib/xero-ruby/models/accounting/report_rows.rb +7 -2
  119. data/lib/xero-ruby/models/accounting/report_with_row.rb +7 -2
  120. data/lib/xero-ruby/models/accounting/report_with_rows.rb +7 -2
  121. data/lib/xero-ruby/models/accounting/reports.rb +7 -2
  122. data/lib/xero-ruby/models/accounting/request_empty.rb +7 -2
  123. data/lib/xero-ruby/models/accounting/row_type.rb +1 -1
  124. data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +7 -2
  125. data/lib/xero-ruby/models/accounting/schedule.rb +7 -2
  126. data/lib/xero-ruby/models/accounting/setup.rb +7 -2
  127. data/lib/xero-ruby/models/accounting/tax_component.rb +7 -2
  128. data/lib/xero-ruby/models/accounting/tax_rate.rb +7 -2
  129. data/lib/xero-ruby/models/accounting/tax_rates.rb +7 -2
  130. data/lib/xero-ruby/models/accounting/tax_type.rb +1 -1
  131. data/lib/xero-ruby/models/accounting/ten_ninety_nine_contact.rb +7 -2
  132. data/lib/xero-ruby/models/accounting/time_zone.rb +1 -1
  133. data/lib/xero-ruby/models/accounting/tracking_categories.rb +7 -2
  134. data/lib/xero-ruby/models/accounting/tracking_category.rb +7 -2
  135. data/lib/xero-ruby/models/accounting/tracking_option.rb +7 -2
  136. data/lib/xero-ruby/models/accounting/tracking_options.rb +7 -2
  137. data/lib/xero-ruby/models/accounting/user.rb +7 -2
  138. data/lib/xero-ruby/models/accounting/users.rb +7 -2
  139. data/lib/xero-ruby/models/accounting/validation_error.rb +7 -2
  140. data/lib/xero-ruby/models/assets/asset.rb +7 -2
  141. data/lib/xero-ruby/models/assets/asset_status.rb +1 -1
  142. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +1 -1
  143. data/lib/xero-ruby/models/assets/asset_type.rb +7 -2
  144. data/lib/xero-ruby/models/assets/assets.rb +7 -2
  145. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +7 -2
  146. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +7 -2
  147. data/lib/xero-ruby/models/assets/error.rb +7 -2
  148. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +8 -3
  149. data/lib/xero-ruby/models/assets/pagination.rb +7 -2
  150. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +8 -3
  151. data/lib/xero-ruby/models/assets/setting.rb +7 -2
  152. data/lib/xero-ruby/models/files/association.rb +7 -2
  153. data/lib/xero-ruby/models/files/file_object.rb +7 -2
  154. data/lib/xero-ruby/models/files/files.rb +7 -2
  155. data/lib/xero-ruby/models/files/folder.rb +7 -2
  156. data/lib/xero-ruby/models/files/folders.rb +7 -2
  157. data/lib/xero-ruby/models/files/inline_object.rb +7 -2
  158. data/lib/xero-ruby/models/files/object_group.rb +1 -1
  159. data/lib/xero-ruby/models/files/object_type.rb +1 -1
  160. data/lib/xero-ruby/models/files/user.rb +7 -2
  161. data/lib/xero-ruby/models/payroll_au/account.rb +7 -2
  162. data/lib/xero-ruby/models/payroll_au/account_type.rb +1 -1
  163. data/lib/xero-ruby/models/payroll_au/allowance_type.rb +1 -1
  164. data/lib/xero-ruby/models/payroll_au/api_exception.rb +7 -2
  165. data/lib/xero-ruby/models/payroll_au/bank_account.rb +7 -2
  166. data/lib/xero-ruby/models/payroll_au/calendar_type.rb +1 -1
  167. data/lib/xero-ruby/models/payroll_au/deduction_line.rb +7 -2
  168. data/lib/xero-ruby/models/payroll_au/deduction_type.rb +7 -2
  169. data/lib/xero-ruby/models/payroll_au/deduction_type_calculation_type.rb +1 -1
  170. data/lib/xero-ruby/models/payroll_au/earnings_line.rb +7 -2
  171. data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +7 -2
  172. data/lib/xero-ruby/models/payroll_au/earnings_rate_calculation_type.rb +1 -1
  173. data/lib/xero-ruby/models/payroll_au/earnings_type.rb +1 -1
  174. data/lib/xero-ruby/models/payroll_au/employee.rb +7 -2
  175. data/lib/xero-ruby/models/payroll_au/employee_status.rb +1 -1
  176. data/lib/xero-ruby/models/payroll_au/employees.rb +7 -2
  177. data/lib/xero-ruby/models/payroll_au/employment_basis.rb +1 -1
  178. data/lib/xero-ruby/models/payroll_au/employment_termination_payment_type.rb +1 -1
  179. data/lib/xero-ruby/models/payroll_au/entitlement_final_pay_payout_type.rb +1 -1
  180. data/lib/xero-ruby/models/payroll_au/home_address.rb +7 -2
  181. data/lib/xero-ruby/models/payroll_au/leave_accrual_line.rb +7 -2
  182. data/lib/xero-ruby/models/payroll_au/leave_application.rb +7 -2
  183. data/lib/xero-ruby/models/payroll_au/leave_applications.rb +7 -2
  184. data/lib/xero-ruby/models/payroll_au/leave_balance.rb +7 -2
  185. data/lib/xero-ruby/models/payroll_au/leave_earnings_line.rb +7 -2
  186. data/lib/xero-ruby/models/payroll_au/leave_line.rb +7 -2
  187. data/lib/xero-ruby/models/payroll_au/leave_line_calculation_type.rb +1 -1
  188. data/lib/xero-ruby/models/payroll_au/leave_lines.rb +7 -2
  189. data/lib/xero-ruby/models/payroll_au/leave_period.rb +7 -2
  190. data/lib/xero-ruby/models/payroll_au/leave_period_status.rb +1 -1
  191. data/lib/xero-ruby/models/payroll_au/leave_type.rb +7 -2
  192. data/lib/xero-ruby/models/payroll_au/leave_type_contribution_type.rb +1 -1
  193. data/lib/xero-ruby/models/payroll_au/manual_tax_type.rb +1 -1
  194. data/lib/xero-ruby/models/payroll_au/opening_balances.rb +7 -2
  195. data/lib/xero-ruby/models/payroll_au/pay_item.rb +7 -2
  196. data/lib/xero-ruby/models/payroll_au/pay_items.rb +7 -2
  197. data/lib/xero-ruby/models/payroll_au/pay_run.rb +7 -2
  198. data/lib/xero-ruby/models/payroll_au/pay_run_status.rb +1 -1
  199. data/lib/xero-ruby/models/payroll_au/pay_runs.rb +7 -2
  200. data/lib/xero-ruby/models/payroll_au/pay_template.rb +7 -2
  201. data/lib/xero-ruby/models/payroll_au/payment_frequency_type.rb +1 -1
  202. data/lib/xero-ruby/models/payroll_au/payroll_calendar.rb +7 -2
  203. data/lib/xero-ruby/models/payroll_au/payroll_calendars.rb +7 -2
  204. data/lib/xero-ruby/models/payroll_au/payslip.rb +7 -2
  205. data/lib/xero-ruby/models/payroll_au/payslip_lines.rb +7 -2
  206. data/lib/xero-ruby/models/payroll_au/payslip_object.rb +7 -2
  207. data/lib/xero-ruby/models/payroll_au/payslip_summary.rb +7 -2
  208. data/lib/xero-ruby/models/payroll_au/payslips.rb +7 -2
  209. data/lib/xero-ruby/models/payroll_au/rate_type.rb +1 -1
  210. data/lib/xero-ruby/models/payroll_au/reimbursement_line.rb +7 -2
  211. data/lib/xero-ruby/models/payroll_au/reimbursement_lines.rb +7 -2
  212. data/lib/xero-ruby/models/payroll_au/reimbursement_type.rb +7 -2
  213. data/lib/xero-ruby/models/payroll_au/residency_status.rb +1 -1
  214. data/lib/xero-ruby/models/payroll_au/settings.rb +7 -2
  215. data/lib/xero-ruby/models/payroll_au/settings_object.rb +7 -2
  216. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories.rb +7 -2
  217. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_employee_groups.rb +7 -2
  218. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_timesheet_categories.rb +7 -2
  219. data/lib/xero-ruby/models/payroll_au/state.rb +1 -1
  220. data/lib/xero-ruby/models/payroll_au/super_fund.rb +7 -2
  221. data/lib/xero-ruby/models/payroll_au/super_fund_product.rb +7 -2
  222. data/lib/xero-ruby/models/payroll_au/super_fund_products.rb +7 -2
  223. data/lib/xero-ruby/models/payroll_au/super_fund_type.rb +1 -1
  224. data/lib/xero-ruby/models/payroll_au/super_funds.rb +7 -2
  225. data/lib/xero-ruby/models/payroll_au/super_line.rb +8 -3
  226. data/lib/xero-ruby/models/payroll_au/super_membership.rb +8 -3
  227. data/lib/xero-ruby/models/payroll_au/superannuation_calculation_type.rb +1 -1
  228. data/lib/xero-ruby/models/payroll_au/superannuation_contribution_type.rb +1 -1
  229. data/lib/xero-ruby/models/payroll_au/superannuation_line.rb +7 -2
  230. data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +7 -2
  231. data/lib/xero-ruby/models/payroll_au/tax_line.rb +7 -2
  232. data/lib/xero-ruby/models/payroll_au/tfn_exemption_type.rb +1 -1
  233. data/lib/xero-ruby/models/payroll_au/timesheet.rb +7 -2
  234. data/lib/xero-ruby/models/payroll_au/timesheet_line.rb +7 -2
  235. data/lib/xero-ruby/models/payroll_au/timesheet_object.rb +7 -2
  236. data/lib/xero-ruby/models/payroll_au/timesheet_status.rb +1 -1
  237. data/lib/xero-ruby/models/payroll_au/timesheets.rb +7 -2
  238. data/lib/xero-ruby/models/payroll_au/validation_error.rb +7 -2
  239. data/lib/xero-ruby/models/payroll_nz/account.rb +6 -1
  240. data/lib/xero-ruby/models/payroll_nz/accounts.rb +6 -1
  241. data/lib/xero-ruby/models/payroll_nz/address.rb +6 -1
  242. data/lib/xero-ruby/models/payroll_nz/bank_account.rb +6 -1
  243. data/lib/xero-ruby/models/payroll_nz/benefit.rb +6 -1
  244. data/lib/xero-ruby/models/payroll_nz/deduction.rb +6 -1
  245. data/lib/xero-ruby/models/payroll_nz/deduction_line.rb +6 -1
  246. data/lib/xero-ruby/models/payroll_nz/deduction_object.rb +6 -1
  247. data/lib/xero-ruby/models/payroll_nz/deductions.rb +6 -1
  248. data/lib/xero-ruby/models/payroll_nz/earnings_line.rb +7 -2
  249. data/lib/xero-ruby/models/payroll_nz/earnings_order.rb +6 -1
  250. data/lib/xero-ruby/models/payroll_nz/earnings_order_object.rb +6 -1
  251. data/lib/xero-ruby/models/payroll_nz/earnings_orders.rb +6 -1
  252. data/lib/xero-ruby/models/payroll_nz/earnings_rate.rb +6 -1
  253. data/lib/xero-ruby/models/payroll_nz/earnings_rate_object.rb +6 -1
  254. data/lib/xero-ruby/models/payroll_nz/earnings_rates.rb +6 -1
  255. data/lib/xero-ruby/models/payroll_nz/earnings_template.rb +6 -1
  256. data/lib/xero-ruby/models/payroll_nz/earnings_template_object.rb +6 -1
  257. data/lib/xero-ruby/models/payroll_nz/employee.rb +6 -1
  258. data/lib/xero-ruby/models/payroll_nz/employee_earnings_templates.rb +6 -1
  259. data/lib/xero-ruby/models/payroll_nz/employee_leave.rb +6 -1
  260. data/lib/xero-ruby/models/payroll_nz/employee_leave_balance.rb +6 -1
  261. data/lib/xero-ruby/models/payroll_nz/employee_leave_balances.rb +6 -1
  262. data/lib/xero-ruby/models/payroll_nz/employee_leave_object.rb +6 -1
  263. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup.rb +6 -1
  264. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup_object.rb +6 -1
  265. data/lib/xero-ruby/models/payroll_nz/employee_leave_type.rb +6 -1
  266. data/lib/xero-ruby/models/payroll_nz/employee_leave_type_object.rb +6 -1
  267. data/lib/xero-ruby/models/payroll_nz/employee_leave_types.rb +6 -1
  268. data/lib/xero-ruby/models/payroll_nz/employee_leaves.rb +6 -1
  269. data/lib/xero-ruby/models/payroll_nz/employee_object.rb +6 -1
  270. data/lib/xero-ruby/models/payroll_nz/employee_opening_balance.rb +6 -1
  271. data/lib/xero-ruby/models/payroll_nz/employee_opening_balances_object.rb +6 -1
  272. data/lib/xero-ruby/models/payroll_nz/employee_pay_template.rb +6 -1
  273. data/lib/xero-ruby/models/payroll_nz/employee_pay_template_object.rb +6 -1
  274. data/lib/xero-ruby/models/payroll_nz/employee_pay_templates.rb +6 -1
  275. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance.rb +6 -1
  276. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance_object.rb +6 -1
  277. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_summary.rb +6 -1
  278. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leaves_summaries.rb +6 -1
  279. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave.rb +7 -2
  280. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave_object.rb +6 -1
  281. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leaves.rb +6 -1
  282. data/lib/xero-ruby/models/payroll_nz/employee_tax.rb +6 -1
  283. data/lib/xero-ruby/models/payroll_nz/employee_tax_object.rb +6 -1
  284. data/lib/xero-ruby/models/payroll_nz/employees.rb +6 -1
  285. data/lib/xero-ruby/models/payroll_nz/employment.rb +6 -1
  286. data/lib/xero-ruby/models/payroll_nz/employment_object.rb +6 -1
  287. data/lib/xero-ruby/models/payroll_nz/gross_earnings_history.rb +6 -1
  288. data/lib/xero-ruby/models/payroll_nz/invalid_field.rb +6 -1
  289. data/lib/xero-ruby/models/payroll_nz/leave_accrual_line.rb +6 -1
  290. data/lib/xero-ruby/models/payroll_nz/leave_earnings_line.rb +7 -2
  291. data/lib/xero-ruby/models/payroll_nz/leave_period.rb +6 -1
  292. data/lib/xero-ruby/models/payroll_nz/leave_periods.rb +6 -1
  293. data/lib/xero-ruby/models/payroll_nz/leave_type.rb +6 -1
  294. data/lib/xero-ruby/models/payroll_nz/leave_type_object.rb +6 -1
  295. data/lib/xero-ruby/models/payroll_nz/leave_types.rb +6 -1
  296. data/lib/xero-ruby/models/payroll_nz/pagination.rb +6 -1
  297. data/lib/xero-ruby/models/payroll_nz/pay_run.rb +6 -1
  298. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar.rb +6 -1
  299. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar_object.rb +6 -1
  300. data/lib/xero-ruby/models/payroll_nz/pay_run_calendars.rb +6 -1
  301. data/lib/xero-ruby/models/payroll_nz/pay_run_object.rb +6 -1
  302. data/lib/xero-ruby/models/payroll_nz/pay_runs.rb +6 -1
  303. data/lib/xero-ruby/models/payroll_nz/pay_slip.rb +6 -1
  304. data/lib/xero-ruby/models/payroll_nz/pay_slip_object.rb +6 -1
  305. data/lib/xero-ruby/models/payroll_nz/pay_slips.rb +6 -1
  306. data/lib/xero-ruby/models/payroll_nz/payment_line.rb +6 -1
  307. data/lib/xero-ruby/models/payroll_nz/payment_method.rb +6 -1
  308. data/lib/xero-ruby/models/payroll_nz/payment_method_object.rb +6 -1
  309. data/lib/xero-ruby/models/payroll_nz/problem.rb +6 -1
  310. data/lib/xero-ruby/models/payroll_nz/reimbursement.rb +6 -1
  311. data/lib/xero-ruby/models/payroll_nz/reimbursement_line.rb +6 -1
  312. data/lib/xero-ruby/models/payroll_nz/reimbursement_object.rb +6 -1
  313. data/lib/xero-ruby/models/payroll_nz/reimbursements.rb +6 -1
  314. data/lib/xero-ruby/models/payroll_nz/salary_and_wage.rb +6 -1
  315. data/lib/xero-ruby/models/payroll_nz/salary_and_wage_object.rb +6 -1
  316. data/lib/xero-ruby/models/payroll_nz/salary_and_wages.rb +6 -1
  317. data/lib/xero-ruby/models/payroll_nz/settings.rb +6 -1
  318. data/lib/xero-ruby/models/payroll_nz/statutory_deduction.rb +6 -1
  319. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_line.rb +6 -1
  320. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_object.rb +6 -1
  321. data/lib/xero-ruby/models/payroll_nz/statutory_deductions.rb +6 -1
  322. data/lib/xero-ruby/models/payroll_nz/superannuation_line.rb +7 -2
  323. data/lib/xero-ruby/models/payroll_nz/superannuation_object.rb +6 -1
  324. data/lib/xero-ruby/models/payroll_nz/superannuations.rb +6 -1
  325. data/lib/xero-ruby/models/payroll_nz/tax_line.rb +6 -1
  326. data/lib/xero-ruby/models/payroll_nz/tax_settings.rb +6 -1
  327. data/lib/xero-ruby/models/payroll_nz/timesheet.rb +7 -2
  328. data/lib/xero-ruby/models/payroll_nz/timesheet_earnings_line.rb +7 -2
  329. data/lib/xero-ruby/models/payroll_nz/timesheet_line.rb +6 -1
  330. data/lib/xero-ruby/models/payroll_nz/timesheet_line_object.rb +6 -1
  331. data/lib/xero-ruby/models/payroll_nz/timesheet_object.rb +6 -1
  332. data/lib/xero-ruby/models/payroll_nz/timesheets.rb +6 -1
  333. data/lib/xero-ruby/models/payroll_nz/tracking_categories.rb +6 -1
  334. data/lib/xero-ruby/models/payroll_nz/tracking_category.rb +6 -1
  335. data/lib/xero-ruby/models/payroll_uk/account.rb +6 -1
  336. data/lib/xero-ruby/models/payroll_uk/accounts.rb +6 -1
  337. data/lib/xero-ruby/models/payroll_uk/address.rb +6 -1
  338. data/lib/xero-ruby/models/payroll_uk/bank_account.rb +6 -1
  339. data/lib/xero-ruby/models/payroll_uk/benefit.rb +6 -1
  340. data/lib/xero-ruby/models/payroll_uk/benefit_line.rb +6 -1
  341. data/lib/xero-ruby/models/payroll_uk/benefit_object.rb +6 -1
  342. data/lib/xero-ruby/models/payroll_uk/benefits.rb +6 -1
  343. data/lib/xero-ruby/models/payroll_uk/court_order_line.rb +6 -1
  344. data/lib/xero-ruby/models/payroll_uk/deduction.rb +6 -1
  345. data/lib/xero-ruby/models/payroll_uk/deduction_line.rb +6 -1
  346. data/lib/xero-ruby/models/payroll_uk/deduction_object.rb +6 -1
  347. data/lib/xero-ruby/models/payroll_uk/deductions.rb +6 -1
  348. data/lib/xero-ruby/models/payroll_uk/earnings_line.rb +6 -1
  349. data/lib/xero-ruby/models/payroll_uk/earnings_order.rb +6 -1
  350. data/lib/xero-ruby/models/payroll_uk/earnings_order_object.rb +6 -1
  351. data/lib/xero-ruby/models/payroll_uk/earnings_orders.rb +6 -1
  352. data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +15 -3
  353. data/lib/xero-ruby/models/payroll_uk/earnings_rate_object.rb +6 -1
  354. data/lib/xero-ruby/models/payroll_uk/earnings_rates.rb +6 -1
  355. data/lib/xero-ruby/models/payroll_uk/earnings_template.rb +6 -1
  356. data/lib/xero-ruby/models/payroll_uk/earnings_template_object.rb +6 -1
  357. data/lib/xero-ruby/models/payroll_uk/employee.rb +6 -1
  358. data/lib/xero-ruby/models/payroll_uk/employee_leave.rb +6 -1
  359. data/lib/xero-ruby/models/payroll_uk/employee_leave_balance.rb +6 -1
  360. data/lib/xero-ruby/models/payroll_uk/employee_leave_balances.rb +6 -1
  361. data/lib/xero-ruby/models/payroll_uk/employee_leave_object.rb +6 -1
  362. data/lib/xero-ruby/models/payroll_uk/employee_leave_type.rb +6 -1
  363. data/lib/xero-ruby/models/payroll_uk/employee_leave_type_object.rb +6 -1
  364. data/lib/xero-ruby/models/payroll_uk/employee_leave_types.rb +6 -1
  365. data/lib/xero-ruby/models/payroll_uk/employee_leaves.rb +6 -1
  366. data/lib/xero-ruby/models/payroll_uk/employee_object.rb +6 -1
  367. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances.rb +6 -1
  368. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances_object.rb +6 -1
  369. data/lib/xero-ruby/models/payroll_uk/employee_pay_template.rb +6 -1
  370. data/lib/xero-ruby/models/payroll_uk/employee_pay_template_object.rb +6 -1
  371. data/lib/xero-ruby/models/payroll_uk/employee_pay_templates.rb +6 -1
  372. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance.rb +6 -1
  373. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance_object.rb +6 -1
  374. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_summary.rb +6 -1
  375. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leaves_summaries.rb +6 -1
  376. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave.rb +7 -2
  377. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave_object.rb +6 -1
  378. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leaves.rb +6 -1
  379. data/lib/xero-ruby/models/payroll_uk/employee_tax.rb +6 -1
  380. data/lib/xero-ruby/models/payroll_uk/employee_tax_object.rb +6 -1
  381. data/lib/xero-ruby/models/payroll_uk/employees.rb +6 -1
  382. data/lib/xero-ruby/models/payroll_uk/employment.rb +6 -1
  383. data/lib/xero-ruby/models/payroll_uk/employment_object.rb +6 -1
  384. data/lib/xero-ruby/models/payroll_uk/invalid_field.rb +6 -1
  385. data/lib/xero-ruby/models/payroll_uk/leave_accrual_line.rb +6 -1
  386. data/lib/xero-ruby/models/payroll_uk/leave_earnings_line.rb +6 -1
  387. data/lib/xero-ruby/models/payroll_uk/leave_period.rb +6 -1
  388. data/lib/xero-ruby/models/payroll_uk/leave_periods.rb +6 -1
  389. data/lib/xero-ruby/models/payroll_uk/leave_type.rb +6 -1
  390. data/lib/xero-ruby/models/payroll_uk/leave_type_object.rb +6 -1
  391. data/lib/xero-ruby/models/payroll_uk/leave_types.rb +6 -1
  392. data/lib/xero-ruby/models/payroll_uk/pagination.rb +6 -1
  393. data/lib/xero-ruby/models/payroll_uk/pay_run.rb +6 -1
  394. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar.rb +6 -1
  395. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar_object.rb +6 -1
  396. data/lib/xero-ruby/models/payroll_uk/pay_run_calendars.rb +6 -1
  397. data/lib/xero-ruby/models/payroll_uk/pay_run_object.rb +6 -1
  398. data/lib/xero-ruby/models/payroll_uk/pay_runs.rb +6 -1
  399. data/lib/xero-ruby/models/payroll_uk/payment_line.rb +6 -1
  400. data/lib/xero-ruby/models/payroll_uk/payment_method.rb +6 -1
  401. data/lib/xero-ruby/models/payroll_uk/payment_method_object.rb +6 -1
  402. data/lib/xero-ruby/models/payroll_uk/payslip.rb +6 -1
  403. data/lib/xero-ruby/models/payroll_uk/payslip_object.rb +6 -1
  404. data/lib/xero-ruby/models/payroll_uk/payslips.rb +6 -1
  405. data/lib/xero-ruby/models/payroll_uk/problem.rb +6 -1
  406. data/lib/xero-ruby/models/payroll_uk/reimbursement.rb +6 -1
  407. data/lib/xero-ruby/models/payroll_uk/reimbursement_line.rb +6 -1
  408. data/lib/xero-ruby/models/payroll_uk/reimbursement_object.rb +6 -1
  409. data/lib/xero-ruby/models/payroll_uk/reimbursements.rb +6 -1
  410. data/lib/xero-ruby/models/payroll_uk/salary_and_wage.rb +6 -1
  411. data/lib/xero-ruby/models/payroll_uk/salary_and_wage_object.rb +6 -1
  412. data/lib/xero-ruby/models/payroll_uk/salary_and_wages.rb +6 -1
  413. data/lib/xero-ruby/models/payroll_uk/settings.rb +6 -1
  414. data/lib/xero-ruby/models/payroll_uk/statutory_deduction.rb +6 -1
  415. data/lib/xero-ruby/models/payroll_uk/tax_line.rb +6 -1
  416. data/lib/xero-ruby/models/payroll_uk/timesheet.rb +7 -2
  417. data/lib/xero-ruby/models/payroll_uk/timesheet_earnings_line.rb +6 -1
  418. data/lib/xero-ruby/models/payroll_uk/timesheet_line.rb +6 -1
  419. data/lib/xero-ruby/models/payroll_uk/timesheet_line_object.rb +6 -1
  420. data/lib/xero-ruby/models/payroll_uk/timesheet_object.rb +6 -1
  421. data/lib/xero-ruby/models/payroll_uk/timesheets.rb +6 -1
  422. data/lib/xero-ruby/models/payroll_uk/tracking_categories.rb +6 -1
  423. data/lib/xero-ruby/models/payroll_uk/tracking_category.rb +6 -1
  424. data/lib/xero-ruby/models/projects/amount.rb +6 -1
  425. data/lib/xero-ruby/models/projects/error.rb +6 -1
  426. data/lib/xero-ruby/models/projects/pagination.rb +6 -1
  427. data/lib/xero-ruby/models/projects/project.rb +6 -1
  428. data/lib/xero-ruby/models/projects/project_create_or_update.rb +6 -1
  429. data/lib/xero-ruby/models/projects/project_patch.rb +6 -1
  430. data/lib/xero-ruby/models/projects/project_user.rb +6 -1
  431. data/lib/xero-ruby/models/projects/project_users.rb +6 -1
  432. data/lib/xero-ruby/models/projects/projects.rb +6 -1
  433. data/lib/xero-ruby/models/projects/task.rb +6 -1
  434. data/lib/xero-ruby/models/projects/task_create_or_update.rb +6 -1
  435. data/lib/xero-ruby/models/projects/tasks.rb +6 -1
  436. data/lib/xero-ruby/models/projects/time_entries.rb +6 -1
  437. data/lib/xero-ruby/models/projects/time_entry.rb +6 -1
  438. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +6 -1
  439. data/lib/xero-ruby/string_serialization.rb +52 -0
  440. data/lib/xero-ruby/version.rb +3 -3
  441. data/lib/xero-ruby/where.rb +65 -0
  442. data/spec/configuration_spec.rb +1 -1
  443. data/spec/helper_methods_spec.rb +16 -4
  444. data/spec/where_spec.rb +82 -0
  445. metadata +8 -6
  446. data/spec/files/models/file_response204_spec.rb +0 -41
@@ -16,7 +16,7 @@ module XeroRuby
16
16
  def initialize(api_client = ApiClient.new)
17
17
  @api_client = api_client
18
18
  end
19
- # create one or more new projects
19
+ # Create one or more new projects
20
20
  # @param xero_tenant_id [String] Xero identifier for Tenant
21
21
  # @param project_create_or_update [ProjectCreateOrUpdate] Create a new project with ProjectCreateOrUpdate object
22
22
  # @param [Hash] opts the optional parameters
@@ -26,7 +26,7 @@ module XeroRuby
26
26
  data
27
27
  end
28
28
 
29
- # create one or more new projects
29
+ # Create one or more new projects
30
30
  # @param xero_tenant_id [String] Xero identifier for Tenant
31
31
  # @param project_create_or_update [ProjectCreateOrUpdate] Create a new project with ProjectCreateOrUpdate object
32
32
  # @param [Hash] opts the optional parameters
@@ -44,7 +44,7 @@ module XeroRuby
44
44
  fail ArgumentError, "Missing the required parameter 'project_create_or_update' when calling ProjectApi.create_project"
45
45
  end
46
46
  # resource path
47
- local_var_path = '/projects'
47
+ local_var_path = '/Projects'
48
48
 
49
49
  # camelize keys of incoming `where` opts
50
50
  opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
@@ -92,7 +92,7 @@ module XeroRuby
92
92
  return data, status_code, headers
93
93
  end
94
94
 
95
- # Allows you to create a task
95
+ # Creates a time entry for a specific project
96
96
  # Allows you to create a specific task
97
97
  # @param xero_tenant_id [String] Xero identifier for Tenant
98
98
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
@@ -104,7 +104,7 @@ module XeroRuby
104
104
  data
105
105
  end
106
106
 
107
- # Allows you to create a task
107
+ # Creates a time entry for a specific project
108
108
  # Allows you to create a specific task
109
109
  # @param xero_tenant_id [String] Xero identifier for Tenant
110
110
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
@@ -128,7 +128,7 @@ module XeroRuby
128
128
  fail ArgumentError, "Missing the required parameter 'time_entry_create_or_update' when calling ProjectApi.create_time_entry"
129
129
  end
130
130
  # resource path
131
- local_var_path = '/projects/{projectId}/time'.sub('{' + 'projectId' + '}', project_id.to_s)
131
+ local_var_path = '/Projects/{projectId}/Time'.sub('{' + 'projectId' + '}', project_id.to_s)
132
132
 
133
133
  # camelize keys of incoming `where` opts
134
134
  opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
@@ -176,7 +176,7 @@ module XeroRuby
176
176
  return data, status_code, headers
177
177
  end
178
178
 
179
- # Allows you to delete a time entry
179
+ # Deletes a time entry for a specific project
180
180
  # Allows you to delete a specific time entry
181
181
  # @param xero_tenant_id [String] Xero identifier for Tenant
182
182
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
@@ -188,7 +188,7 @@ module XeroRuby
188
188
  nil
189
189
  end
190
190
 
191
- # Allows you to delete a time entry
191
+ # Deletes a time entry for a specific project
192
192
  # Allows you to delete a specific time entry
193
193
  # @param xero_tenant_id [String] Xero identifier for Tenant
194
194
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
@@ -212,7 +212,7 @@ module XeroRuby
212
212
  fail ArgumentError, "Missing the required parameter 'time_entry_id' when calling ProjectApi.delete_time_entry"
213
213
  end
214
214
  # resource path
215
- local_var_path = '/projects/{projectId}/time/{timeEntryId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'timeEntryId' + '}', time_entry_id.to_s)
215
+ local_var_path = '/Projects/{projectId}/Time/{timeEntryId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'timeEntryId' + '}', time_entry_id.to_s)
216
216
 
217
217
  # camelize keys of incoming `where` opts
218
218
  opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
@@ -256,8 +256,8 @@ module XeroRuby
256
256
  return data, status_code, headers
257
257
  end
258
258
 
259
- # Allows you to retrieve a single project
260
- # Allows you to retrieve a specific project
259
+ # Retrieves a single project
260
+ # Allows you to retrieve a specific project using the projectId
261
261
  # @param xero_tenant_id [String] Xero identifier for Tenant
262
262
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
263
263
  # @param [Hash] opts the optional parameters
@@ -267,8 +267,8 @@ module XeroRuby
267
267
  data
268
268
  end
269
269
 
270
- # Allows you to retrieve a single project
271
- # Allows you to retrieve a specific project
270
+ # Retrieves a single project
271
+ # Allows you to retrieve a specific project using the projectId
272
272
  # @param xero_tenant_id [String] Xero identifier for Tenant
273
273
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
274
274
  # @param [Hash] opts the optional parameters
@@ -286,7 +286,7 @@ module XeroRuby
286
286
  fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.get_project"
287
287
  end
288
288
  # resource path
289
- local_var_path = '/projects/{projectId}'.sub('{' + 'projectId' + '}', project_id.to_s)
289
+ local_var_path = '/Projects/{projectId}'.sub('{' + 'projectId' + '}', project_id.to_s)
290
290
 
291
291
  # camelize keys of incoming `where` opts
292
292
  opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
@@ -332,7 +332,7 @@ module XeroRuby
332
332
  return data, status_code, headers
333
333
  end
334
334
 
335
- # list all project users
335
+ # Retrieves a list of all project users
336
336
  # Allows you to retrieve the users on a projects.
337
337
  # @param xero_tenant_id [String] Xero identifier for Tenant
338
338
  # @param [Hash] opts the optional parameters
@@ -344,7 +344,7 @@ module XeroRuby
344
344
  data
345
345
  end
346
346
 
347
- # list all project users
347
+ # Retrieves a list of all project users
348
348
  # Allows you to retrieve the users on a projects.
349
349
  # @param xero_tenant_id [String] Xero identifier for Tenant
350
350
  # @param [Hash] opts the optional parameters
@@ -368,7 +368,7 @@ module XeroRuby
368
368
  end
369
369
 
370
370
  # resource path
371
- local_var_path = '/projectsusers'
371
+ local_var_path = '/ProjectsUsers'
372
372
 
373
373
  # camelize keys of incoming `where` opts
374
374
  opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
@@ -416,7 +416,7 @@ module XeroRuby
416
416
  return data, status_code, headers
417
417
  end
418
418
 
419
- # list all projects
419
+ # Retrieves all projects
420
420
  # Allows you to retrieve, create and update projects.
421
421
  # @param xero_tenant_id [String] Xero identifier for Tenant
422
422
  # @param [Hash] opts the optional parameters
@@ -431,7 +431,7 @@ module XeroRuby
431
431
  data
432
432
  end
433
433
 
434
- # list all projects
434
+ # Retrieves all projects
435
435
  # Allows you to retrieve, create and update projects.
436
436
  # @param xero_tenant_id [String] Xero identifier for Tenant
437
437
  # @param [Hash] opts the optional parameters
@@ -458,7 +458,7 @@ module XeroRuby
458
458
  end
459
459
 
460
460
  # resource path
461
- local_var_path = '/projects'
461
+ local_var_path = '/Projects'
462
462
 
463
463
  # camelize keys of incoming `where` opts
464
464
  opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
@@ -509,11 +509,11 @@ module XeroRuby
509
509
  return data, status_code, headers
510
510
  end
511
511
 
512
- # Allows you to retrieve a single project
512
+ # Retrieves a single project task
513
513
  # Allows you to retrieve a specific project
514
514
  # @param xero_tenant_id [String] Xero identifier for Tenant
515
515
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
516
- # @param task_id [String] You can specify an individual task by appending the taskId to the endpoint, i.e. GET https://.../tasks/{taskId}
516
+ # @param task_id [String] You can specify an individual task by appending the taskId to the endpoint, i.e. GET https://.../tasks/{taskID}
517
517
  # @param [Hash] opts the optional parameters
518
518
  # @return [Task]
519
519
  def get_task(xero_tenant_id, project_id, task_id, opts = {})
@@ -521,11 +521,11 @@ module XeroRuby
521
521
  data
522
522
  end
523
523
 
524
- # Allows you to retrieve a single project
524
+ # Retrieves a single project task
525
525
  # Allows you to retrieve a specific project
526
526
  # @param xero_tenant_id [String] Xero identifier for Tenant
527
527
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
528
- # @param task_id [String] You can specify an individual task by appending the taskId to the endpoint, i.e. GET https://.../tasks/{taskId}
528
+ # @param task_id [String] You can specify an individual task by appending the taskId to the endpoint, i.e. GET https://.../tasks/{taskID}
529
529
  # @param [Hash] opts the optional parameters
530
530
  # @return [Array<(Task, Integer, Hash)>] Task data, response status code and response headers
531
531
  def get_task_with_http_info(xero_tenant_id, project_id, task_id, opts = {})
@@ -545,7 +545,7 @@ module XeroRuby
545
545
  fail ArgumentError, "Missing the required parameter 'task_id' when calling ProjectApi.get_task"
546
546
  end
547
547
  # resource path
548
- local_var_path = '/projects/{projectId}/tasks/{taskId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'taskId' + '}', task_id.to_s)
548
+ local_var_path = '/Projects/{projectId}/Tasks/{taskId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'taskId' + '}', task_id.to_s)
549
549
 
550
550
  # camelize keys of incoming `where` opts
551
551
  opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
@@ -591,14 +591,14 @@ module XeroRuby
591
591
  return data, status_code, headers
592
592
  end
593
593
 
594
- # Allows you to retrieve a single project
594
+ # Retrieves all project tasks
595
595
  # Allows you to retrieve a specific project
596
596
  # @param xero_tenant_id [String] Xero identifier for Tenant
597
597
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
598
598
  # @param [Hash] opts the optional parameters
599
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.
600
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.
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}
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
602
  # @option opts [ChargeType] :charge_type
603
603
  # @return [Tasks]
604
604
  def get_tasks(xero_tenant_id, project_id, opts = {})
@@ -606,14 +606,14 @@ module XeroRuby
606
606
  data
607
607
  end
608
608
 
609
- # Allows you to retrieve a single project
609
+ # Retrieves all project tasks
610
610
  # Allows you to retrieve a specific project
611
611
  # @param xero_tenant_id [String] Xero identifier for Tenant
612
612
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
613
613
  # @param [Hash] opts the optional parameters
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
- # @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}
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
617
  # @option opts [ChargeType] :charge_type
618
618
  # @return [Array<(Tasks, Integer, Hash)>] Tasks data, response status code and response headers
619
619
  def get_tasks_with_http_info(xero_tenant_id, project_id, opts = {})
@@ -629,7 +629,7 @@ module XeroRuby
629
629
  fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.get_tasks"
630
630
  end
631
631
  # resource path
632
- local_var_path = '/projects/{projectId}/tasks'.sub('{' + 'projectId' + '}', project_id.to_s)
632
+ local_var_path = '/Projects/{projectId}/Tasks'.sub('{' + 'projectId' + '}', project_id.to_s)
633
633
 
634
634
  # camelize keys of incoming `where` opts
635
635
  opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
@@ -679,7 +679,7 @@ module XeroRuby
679
679
  return data, status_code, headers
680
680
  end
681
681
 
682
- # Allows you to retrieve the time entries associated with a specific project
682
+ # Retrieves all time entries associated with a specific project
683
683
  # Allows you to retrieve the time entries associated with a specific project
684
684
  # @param xero_tenant_id [String] Xero identifier for Tenant
685
685
  # @param project_id [String] Identifier of the project, that the task (which the time entry is logged against) belongs to.
@@ -690,7 +690,7 @@ module XeroRuby
690
690
  # @option opts [String] :contact_id Finds all time entries for this contact identifier.
691
691
  # @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.
692
692
  # @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.
693
- # @option opts [Array<String>] :states Comma-separated list of states to find. Will find all time entries that are in the status of whatever’s specified.
693
+ # @option opts [Array<String>] :states Comma-separated list of states to find. Will find all time entries that are in the status of whatever is specified.
694
694
  # @option opts [Boolean] :is_chargeable Finds all time entries which relate to tasks with the charge type &#x60;TIME&#x60; or &#x60;FIXED&#x60;.
695
695
  # @option opts [DateTime] :date_after_utc ISO 8601 UTC date. Finds all time entries on or after this date filtered on the &#x60;dateUtc&#x60; field.
696
696
  # @option opts [DateTime] :date_before_utc ISO 8601 UTC date. Finds all time entries on or before this date filtered on the &#x60;dateUtc&#x60; field.
@@ -700,7 +700,7 @@ module XeroRuby
700
700
  data
701
701
  end
702
702
 
703
- # Allows you to retrieve the time entries associated with a specific project
703
+ # Retrieves all time entries associated with a specific project
704
704
  # Allows you to retrieve the time entries associated with a specific project
705
705
  # @param xero_tenant_id [String] Xero identifier for Tenant
706
706
  # @param project_id [String] Identifier of the project, that the task (which the time entry is logged against) belongs to.
@@ -711,7 +711,7 @@ module XeroRuby
711
711
  # @option opts [String] :contact_id Finds all time entries for this contact identifier.
712
712
  # @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.
713
713
  # @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.
714
- # @option opts [Array<String>] :states Comma-separated list of states to find. Will find all time entries that are in the status of whatever’s specified.
714
+ # @option opts [Array<String>] :states Comma-separated list of states to find. Will find all time entries that are in the status of whatever is specified.
715
715
  # @option opts [Boolean] :is_chargeable Finds all time entries which relate to tasks with the charge type &#x60;TIME&#x60; or &#x60;FIXED&#x60;.
716
716
  # @option opts [DateTime] :date_after_utc ISO 8601 UTC date. Finds all time entries on or after this date filtered on the &#x60;dateUtc&#x60; field.
717
717
  # @option opts [DateTime] :date_before_utc ISO 8601 UTC date. Finds all time entries on or before this date filtered on the &#x60;dateUtc&#x60; field.
@@ -729,7 +729,7 @@ module XeroRuby
729
729
  fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.get_time_entries"
730
730
  end
731
731
  # resource path
732
- local_var_path = '/projects/{projectId}/time'.sub('{' + 'projectId' + '}', project_id.to_s)
732
+ local_var_path = '/Projects/{projectId}/Time'.sub('{' + 'projectId' + '}', project_id.to_s)
733
733
 
734
734
  # camelize keys of incoming `where` opts
735
735
  opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
@@ -785,8 +785,8 @@ module XeroRuby
785
785
  return data, status_code, headers
786
786
  end
787
787
 
788
+ # Retrieves a single time entry for a specific project
788
789
  # Allows you to get a single time entry in a project
789
- # Allows you to upget a single time entry in a project
790
790
  # @param xero_tenant_id [String] Xero identifier for Tenant
791
791
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
792
792
  # @param time_entry_id [String] You can specify an individual time entry by appending the id to the endpoint
@@ -797,8 +797,8 @@ module XeroRuby
797
797
  data
798
798
  end
799
799
 
800
+ # Retrieves a single time entry for a specific project
800
801
  # Allows you to get a single time entry in a project
801
- # Allows you to upget a single time entry in a project
802
802
  # @param xero_tenant_id [String] Xero identifier for Tenant
803
803
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
804
804
  # @param time_entry_id [String] You can specify an individual time entry by appending the id to the endpoint
@@ -821,7 +821,7 @@ module XeroRuby
821
821
  fail ArgumentError, "Missing the required parameter 'time_entry_id' when calling ProjectApi.get_time_entry"
822
822
  end
823
823
  # resource path
824
- local_var_path = '/projects/{projectId}/time/{timeEntryId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'timeEntryId' + '}', time_entry_id.to_s)
824
+ local_var_path = '/Projects/{projectId}/Time/{timeEntryId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'timeEntryId' + '}', time_entry_id.to_s)
825
825
 
826
826
  # camelize keys of incoming `where` opts
827
827
  opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
@@ -903,7 +903,7 @@ module XeroRuby
903
903
  fail ArgumentError, "Missing the required parameter 'project_patch' when calling ProjectApi.patch_project"
904
904
  end
905
905
  # resource path
906
- local_var_path = '/projects/{projectId}'.sub('{' + 'projectId' + '}', project_id.to_s)
906
+ local_var_path = '/Projects/{projectId}'.sub('{' + 'projectId' + '}', project_id.to_s)
907
907
 
908
908
  # camelize keys of incoming `where` opts
909
909
  opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
@@ -951,7 +951,7 @@ module XeroRuby
951
951
  return data, status_code, headers
952
952
  end
953
953
 
954
- # update a specific project
954
+ # Updates a specific project
955
955
  # Allows you to update a specific projects.
956
956
  # @param xero_tenant_id [String] Xero identifier for Tenant
957
957
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
@@ -963,7 +963,7 @@ module XeroRuby
963
963
  nil
964
964
  end
965
965
 
966
- # update a specific project
966
+ # Updates a specific project
967
967
  # Allows you to update a specific projects.
968
968
  # @param xero_tenant_id [String] Xero identifier for Tenant
969
969
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
@@ -987,7 +987,7 @@ module XeroRuby
987
987
  fail ArgumentError, "Missing the required parameter 'project_create_or_update' when calling ProjectApi.update_project"
988
988
  end
989
989
  # resource path
990
- local_var_path = '/projects/{projectId}'.sub('{' + 'projectId' + '}', project_id.to_s)
990
+ local_var_path = '/Projects/{projectId}'.sub('{' + 'projectId' + '}', project_id.to_s)
991
991
 
992
992
  # camelize keys of incoming `where` opts
993
993
  opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
@@ -1035,7 +1035,7 @@ module XeroRuby
1035
1035
  return data, status_code, headers
1036
1036
  end
1037
1037
 
1038
- # Allows you to update time entry in a project
1038
+ # Updates a time entry for a specific project
1039
1039
  # Allows you to update time entry in a project
1040
1040
  # @param xero_tenant_id [String] Xero identifier for Tenant
1041
1041
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
@@ -1048,7 +1048,7 @@ module XeroRuby
1048
1048
  nil
1049
1049
  end
1050
1050
 
1051
- # Allows you to update time entry in a project
1051
+ # Updates a time entry for a specific project
1052
1052
  # Allows you to update time entry in a project
1053
1053
  # @param xero_tenant_id [String] Xero identifier for Tenant
1054
1054
  # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
@@ -1077,7 +1077,7 @@ module XeroRuby
1077
1077
  fail ArgumentError, "Missing the required parameter 'time_entry_create_or_update' when calling ProjectApi.update_time_entry"
1078
1078
  end
1079
1079
  # resource path
1080
- local_var_path = '/projects/{projectId}/time/{timeEntryId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'timeEntryId' + '}', time_entry_id.to_s)
1080
+ local_var_path = '/Projects/{projectId}/Time/{timeEntryId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'timeEntryId' + '}', time_entry_id.to_s)
1081
1081
 
1082
1082
  # camelize keys of incoming `where` opts
1083
1083
  opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
@@ -1,5 +1,5 @@
1
1
  =begin
2
- #Accounting API
2
+ #Xero Accounting API
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
@@ -15,9 +15,12 @@ require 'logger'
15
15
  require 'tempfile'
16
16
  require 'find'
17
17
  require 'faraday'
18
+ require 'base64'
18
19
 
19
20
  module XeroRuby
20
21
  class ApiClient
22
+ include StringSerialization
23
+
21
24
  # The Configuration object holding settings to be used in the API client.
22
25
  attr_accessor :config
23
26
 
@@ -93,7 +96,7 @@ module XeroRuby
93
96
  end
94
97
 
95
98
  def set_token_set(token_set)
96
- # helper to set the token_set on a client once the user has y
99
+ # helper to set the token_set on a client once the user
97
100
  # has a valid token set ( access_token & refresh_token )
98
101
  XeroRuby.configure.token_set = token_set
99
102
  set_access_token(token_set['access_token'])
@@ -109,7 +112,7 @@ module XeroRuby
109
112
  code: params['code'],
110
113
  redirect_uri: @redirect_uri
111
114
  }
112
- return token_request(data)
115
+ return token_request(data, '/token')
113
116
  end
114
117
 
115
118
  def refresh_token_set(token_set)
@@ -117,18 +120,29 @@ module XeroRuby
117
120
  grant_type: 'refresh_token',
118
121
  refresh_token: token_set['refresh_token']
119
122
  }
120
- return token_request(data)
123
+ return token_request(data, '/token')
124
+ end
125
+
126
+ def revoke_token(token_set)
127
+ data = {
128
+ token: token_set['refresh_token']
129
+ }
130
+ return token_request(data, '/revocation')
121
131
  end
122
132
 
123
- def token_request(data)
124
- response = Faraday.post(@config.token_url) do |req|
133
+ def token_request(data, path)
134
+ response = Faraday.post("#{@config.token_url}#{path}") do |req|
125
135
  req.headers['Authorization'] = "Basic " + Base64.strict_encode64("#{@client_id}:#{@client_secret}")
126
136
  req.headers['Content-Type'] = 'application/x-www-form-urlencoded'
127
137
  req.body = URI.encode_www_form(data)
128
138
  end
129
139
  return_error(response) unless response.success?
130
- body = JSON.parse(response.body)
131
- set_token_set(body)
140
+ if !response.body.nil? && !response.body.empty?
141
+ body = JSON.parse(response.body)
142
+ set_token_set(body)
143
+ else
144
+ body = {}
145
+ end
132
146
  return body
133
147
  end
134
148
 
@@ -136,14 +150,14 @@ module XeroRuby
136
150
  def connections
137
151
  @config.base_url = 'https://api.xero.com'
138
152
  opts = { :header_params => {'Content-Type': 'application/json'}, :auth_names => ['OAuth2'] }
139
- response = call_api(:GET, '/connections/', nil, opts)
153
+ response = call_api(:GET, "/connections/", nil, opts)
140
154
  response[0]
141
155
  end
142
156
 
143
157
  def disconnect(connection_id)
144
158
  @config.base_url = 'https://api.xero.com'
145
159
  opts = { :header_params => {'Content-Type': 'application/json'}, :auth_names => ['OAuth2'] }
146
- call_api(:DELETE, '/connections/#{connection_id}', nil, opts)
160
+ call_api(:DELETE, "/connections/#{connection_id}", nil, opts)
147
161
  connections
148
162
  end
149
163
 
@@ -499,55 +513,6 @@ module XeroRuby
499
513
  end
500
514
  end
501
515
 
502
- # START - Re-serializes snake_cased params to PascalCase required by XeroAPI
503
- def to_camel_keys(value = self)
504
- case value
505
- when Array
506
- value.map { |v| to_camel_keys(v) }
507
- when Hash
508
- Hash[value.map { |k, v| [camelize_key(k), to_camel_keys(v)] }]
509
- else
510
- value
511
- end
512
- end
513
-
514
- def camelize_key(key, first_upper = true)
515
- if key.is_a? Symbol
516
- camelize(key.to_s, first_upper).to_sym
517
- elsif key.is_a? String
518
- camelize(key, first_upper)
519
- else
520
- key # can't camelize anything except strings and symbols
521
- end
522
- end
523
-
524
- def camelize(word, first_upper = true)
525
- if first_upper
526
- str = word.to_s
527
- str = gsubbed(str, /(?:^|_)([^_\s]+)/)
528
- str = gsubbed(str, %r{/([^/]*)}, "::")
529
- str
530
- else
531
- parts = word.split("_", 2)
532
- parts[0] << camelize(parts[1]) if parts.size > 1
533
- parts[0] || ""
534
- end
535
- end
536
-
537
- def gsubbed(str, pattern, extra = "")
538
- key_map_scronyms = {}
539
- str = str.gsub(pattern) do
540
- extra + (key_map_scronyms[Regexp.last_match(1)] || capitalize_first(Regexp.last_match(1)))
541
- end
542
- str
543
- end
544
-
545
- def capitalize_first(word)
546
- split = word.split('')
547
- "#{split[0].capitalize}#{split[1..-1].join}"
548
- end
549
- # END - Re-serializes snake_cased params to PascalCase required by XeroAPI
550
-
551
516
  # Build parameter value according to the given collection format.
552
517
  # @param [String] collection_format one of :csv, :ssv, :tsv, :pipes and :multi
553
518
  def build_collection_param(param, collection_format)
@@ -569,36 +534,7 @@ module XeroRuby
569
534
  end
570
535
 
571
536
  def parameterize_where(where_opts)
572
- where_opts.map do |k,v|
573
- case v
574
- when Array
575
- operator = v.first
576
- query = v.last
577
- if query.is_a?(Date)
578
- "#{camelize_key(k)} #{operator} DateTime(#{query.strftime("%Y,%m,%d")})"
579
- elsif [Float, Integer].member?(query.class)
580
- %{#{camelize_key(k)} #{operator} #{query}}
581
- elsif [true, false].member?(query)
582
- %{#{camelize_key(k)} #{operator} #{query}}
583
- else
584
- if k == :contact_id
585
- %{Contact.ContactID #{operator} guid("#{query}")}
586
- elsif k == :contact_number
587
- %{Contact.ContactNumber #{operator} "#{query}"}
588
- else
589
- %{#{camelize_key(k)} #{operator} "#{query}"}
590
- end
591
- end
592
- when Range
593
- if v.first.is_a?(DateTime) || v.first.is_a?(Date) || v.first.is_a?(Time)
594
- "#{camelize_key(k)} >= DateTime(#{v.first.strftime("%Y,%m,%d")}) AND #{camelize_key(k)} <= DateTime(#{v.last.strftime("%Y,%m,%d")})"
595
- else
596
- "#{camelize_key(k)} >= #{v.first} AND #{camelize_key(k)} <= #{v.last}"
597
- end
598
- else
599
- %{#{camelize_key(k)} #{v}}
600
- end
601
- end.join(' AND ')
537
+ Where.new(where_opts).to_param
602
538
  end
603
539
  end
604
540
  end