xero-ruby 2.0.2 → 2.2.2

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 (203) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +183 -101
  3. data/build_notes.md +35 -5
  4. data/docs/accounting/Account.md +1 -1
  5. data/docs/accounting/AccountsPayable.md +2 -2
  6. data/docs/accounting/AccountsReceivable.md +2 -2
  7. data/docs/accounting/Allocation.md +1 -1
  8. data/docs/accounting/Attachment.md +1 -1
  9. data/docs/accounting/BankTransaction.md +6 -6
  10. data/docs/accounting/BankTransfer.md +3 -3
  11. data/docs/accounting/BatchPayment.md +2 -2
  12. data/docs/accounting/BrandingTheme.md +1 -1
  13. data/docs/accounting/Contact.md +2 -2
  14. data/docs/accounting/CreditNote.md +6 -6
  15. data/docs/accounting/Employee.md +1 -1
  16. data/docs/accounting/ExpenseClaim.md +4 -4
  17. data/docs/accounting/HistoryRecord.md +1 -1
  18. data/docs/accounting/Invoice.md +10 -10
  19. data/docs/accounting/Item.md +3 -3
  20. data/docs/accounting/Journal.md +1 -1
  21. data/docs/accounting/JournalLine.md +3 -3
  22. data/docs/accounting/LineItem.md +6 -6
  23. data/docs/accounting/LinkedTransaction.md +1 -1
  24. data/docs/accounting/ManualJournal.md +1 -1
  25. data/docs/accounting/ManualJournalLine.md +2 -2
  26. data/docs/accounting/Organisation.md +1 -1
  27. data/docs/accounting/Overpayment.md +6 -6
  28. data/docs/accounting/Payment.md +3 -3
  29. data/docs/accounting/Prepayment.md +6 -6
  30. data/docs/accounting/Purchase.md +1 -1
  31. data/docs/accounting/PurchaseOrder.md +6 -6
  32. data/docs/accounting/Quote.md +5 -5
  33. data/docs/accounting/Receipt.md +4 -4
  34. data/docs/accounting/RepeatingInvoice.md +3 -3
  35. data/docs/accounting/Report.md +1 -1
  36. data/docs/accounting/ReportWithRow.md +1 -1
  37. data/docs/accounting/TaxComponent.md +1 -1
  38. data/docs/accounting/TaxRate.md +2 -2
  39. data/docs/accounting/TenNinetyNineContact.md +13 -13
  40. data/docs/accounting/User.md +1 -1
  41. data/docs/assets/Asset.md +3 -3
  42. data/docs/assets/AssetApi.md +6 -6
  43. data/docs/assets/BookDepreciationDetail.md +6 -6
  44. data/docs/assets/BookDepreciationSetting.md +1 -1
  45. data/docs/projects/Amount.md +1 -1
  46. data/docs/projects/ProjectCreateOrUpdate.md +1 -1
  47. data/lib/xero-ruby.rb +1 -1
  48. data/lib/xero-ruby/api/accounting_api.rb +1506 -1
  49. data/lib/xero-ruby/api/asset_api.rb +49 -7
  50. data/lib/xero-ruby/api/project_api.rb +92 -1
  51. data/lib/xero-ruby/api_client.rb +36 -3
  52. data/lib/xero-ruby/api_error.rb +1 -1
  53. data/lib/xero-ruby/configuration.rb +2 -2
  54. data/lib/xero-ruby/models/accounting/account.rb +1 -17
  55. data/lib/xero-ruby/models/accounting/account_type.rb +1 -1
  56. data/lib/xero-ruby/models/accounting/accounts.rb +1 -1
  57. data/lib/xero-ruby/models/accounting/accounts_payable.rb +1 -1
  58. data/lib/xero-ruby/models/accounting/accounts_receivable.rb +1 -1
  59. data/lib/xero-ruby/models/accounting/address.rb +1 -1
  60. data/lib/xero-ruby/models/accounting/allocation.rb +1 -1
  61. data/lib/xero-ruby/models/accounting/allocations.rb +1 -1
  62. data/lib/xero-ruby/models/accounting/attachment.rb +2 -2
  63. data/lib/xero-ruby/models/accounting/attachments.rb +1 -1
  64. data/lib/xero-ruby/models/accounting/balances.rb +1 -1
  65. data/lib/xero-ruby/models/accounting/bank_transaction.rb +1 -6
  66. data/lib/xero-ruby/models/accounting/bank_transactions.rb +1 -1
  67. data/lib/xero-ruby/models/accounting/bank_transfer.rb +1 -1
  68. data/lib/xero-ruby/models/accounting/bank_transfers.rb +1 -1
  69. data/lib/xero-ruby/models/accounting/batch_payment.rb +1 -16
  70. data/lib/xero-ruby/models/accounting/batch_payment_details.rb +1 -1
  71. data/lib/xero-ruby/models/accounting/batch_payments.rb +1 -1
  72. data/lib/xero-ruby/models/accounting/bill.rb +1 -1
  73. data/lib/xero-ruby/models/accounting/branding_theme.rb +1 -1
  74. data/lib/xero-ruby/models/accounting/branding_themes.rb +1 -1
  75. data/lib/xero-ruby/models/accounting/cis_org_setting.rb +1 -1
  76. data/lib/xero-ruby/models/accounting/cis_setting.rb +1 -1
  77. data/lib/xero-ruby/models/accounting/cis_settings.rb +1 -1
  78. data/lib/xero-ruby/models/accounting/contact.rb +1 -1
  79. data/lib/xero-ruby/models/accounting/contact_group.rb +1 -1
  80. data/lib/xero-ruby/models/accounting/contact_groups.rb +1 -1
  81. data/lib/xero-ruby/models/accounting/contact_person.rb +1 -1
  82. data/lib/xero-ruby/models/accounting/contacts.rb +1 -1
  83. data/lib/xero-ruby/models/accounting/country_code.rb +1 -1
  84. data/lib/xero-ruby/models/accounting/credit_note.rb +1 -1
  85. data/lib/xero-ruby/models/accounting/credit_notes.rb +1 -1
  86. data/lib/xero-ruby/models/accounting/currencies.rb +1 -1
  87. data/lib/xero-ruby/models/accounting/currency.rb +1 -1
  88. data/lib/xero-ruby/models/accounting/currency_code.rb +1 -1
  89. data/lib/xero-ruby/models/accounting/element.rb +1 -1
  90. data/lib/xero-ruby/models/accounting/employee.rb +4 -3
  91. data/lib/xero-ruby/models/accounting/employees.rb +1 -1
  92. data/lib/xero-ruby/models/accounting/error.rb +1 -1
  93. data/lib/xero-ruby/models/accounting/expense_claim.rb +1 -1
  94. data/lib/xero-ruby/models/accounting/expense_claims.rb +1 -1
  95. data/lib/xero-ruby/models/accounting/external_link.rb +1 -1
  96. data/lib/xero-ruby/models/accounting/history_record.rb +1 -1
  97. data/lib/xero-ruby/models/accounting/history_records.rb +1 -1
  98. data/lib/xero-ruby/models/accounting/invoice.rb +1 -1
  99. data/lib/xero-ruby/models/accounting/invoice_reminder.rb +1 -1
  100. data/lib/xero-ruby/models/accounting/invoice_reminders.rb +1 -1
  101. data/lib/xero-ruby/models/accounting/invoices.rb +1 -1
  102. data/lib/xero-ruby/models/accounting/item.rb +1 -1
  103. data/lib/xero-ruby/models/accounting/items.rb +1 -1
  104. data/lib/xero-ruby/models/accounting/journal.rb +1 -1
  105. data/lib/xero-ruby/models/accounting/journal_line.rb +1 -1
  106. data/lib/xero-ruby/models/accounting/journals.rb +1 -1
  107. data/lib/xero-ruby/models/accounting/line_amount_types.rb +1 -1
  108. data/lib/xero-ruby/models/accounting/line_item.rb +1 -1
  109. data/lib/xero-ruby/models/accounting/line_item_tracking.rb +1 -1
  110. data/lib/xero-ruby/models/accounting/linked_transaction.rb +1 -1
  111. data/lib/xero-ruby/models/accounting/linked_transactions.rb +1 -1
  112. data/lib/xero-ruby/models/accounting/manual_journal.rb +1 -1
  113. data/lib/xero-ruby/models/accounting/manual_journal_line.rb +1 -1
  114. data/lib/xero-ruby/models/accounting/manual_journals.rb +1 -1
  115. data/lib/xero-ruby/models/accounting/online_invoice.rb +1 -1
  116. data/lib/xero-ruby/models/accounting/online_invoices.rb +1 -1
  117. data/lib/xero-ruby/models/accounting/organisation.rb +1 -3
  118. data/lib/xero-ruby/models/accounting/organisations.rb +1 -1
  119. data/lib/xero-ruby/models/accounting/overpayment.rb +1 -1
  120. data/lib/xero-ruby/models/accounting/overpayments.rb +1 -1
  121. data/lib/xero-ruby/models/accounting/payment.rb +1 -1
  122. data/lib/xero-ruby/models/accounting/payment_delete.rb +1 -1
  123. data/lib/xero-ruby/models/accounting/payment_service.rb +1 -1
  124. data/lib/xero-ruby/models/accounting/payment_services.rb +1 -1
  125. data/lib/xero-ruby/models/accounting/payment_term.rb +1 -1
  126. data/lib/xero-ruby/models/accounting/payment_term_type.rb +1 -1
  127. data/lib/xero-ruby/models/accounting/payments.rb +1 -1
  128. data/lib/xero-ruby/models/accounting/phone.rb +1 -1
  129. data/lib/xero-ruby/models/accounting/prepayment.rb +1 -1
  130. data/lib/xero-ruby/models/accounting/prepayments.rb +1 -1
  131. data/lib/xero-ruby/models/accounting/purchase.rb +1 -1
  132. data/lib/xero-ruby/models/accounting/purchase_order.rb +1 -1
  133. data/lib/xero-ruby/models/accounting/purchase_orders.rb +1 -1
  134. data/lib/xero-ruby/models/accounting/quote.rb +1 -1
  135. data/lib/xero-ruby/models/accounting/quote_line_amount_types.rb +1 -1
  136. data/lib/xero-ruby/models/accounting/quote_status_codes.rb +1 -1
  137. data/lib/xero-ruby/models/accounting/quotes.rb +1 -1
  138. data/lib/xero-ruby/models/accounting/receipt.rb +1 -1
  139. data/lib/xero-ruby/models/accounting/receipts.rb +1 -1
  140. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +1 -1
  141. data/lib/xero-ruby/models/accounting/repeating_invoices.rb +1 -1
  142. data/lib/xero-ruby/models/accounting/report.rb +1 -1
  143. data/lib/xero-ruby/models/accounting/report_attribute.rb +1 -1
  144. data/lib/xero-ruby/models/accounting/report_cell.rb +1 -1
  145. data/lib/xero-ruby/models/accounting/report_fields.rb +1 -1
  146. data/lib/xero-ruby/models/accounting/report_row.rb +1 -1
  147. data/lib/xero-ruby/models/accounting/report_rows.rb +1 -1
  148. data/lib/xero-ruby/models/accounting/report_with_row.rb +1 -1
  149. data/lib/xero-ruby/models/accounting/report_with_rows.rb +1 -1
  150. data/lib/xero-ruby/models/accounting/reports.rb +1 -1
  151. data/lib/xero-ruby/models/accounting/request_empty.rb +1 -1
  152. data/lib/xero-ruby/models/accounting/row_type.rb +1 -1
  153. data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +1 -1
  154. data/lib/xero-ruby/models/accounting/schedule.rb +1 -1
  155. data/lib/xero-ruby/models/accounting/tax_component.rb +1 -1
  156. data/lib/xero-ruby/models/accounting/tax_rate.rb +1 -1
  157. data/lib/xero-ruby/models/accounting/tax_rates.rb +1 -1
  158. data/lib/xero-ruby/models/accounting/tax_type.rb +1 -1
  159. data/lib/xero-ruby/models/accounting/ten_ninety_nine_contact.rb +1 -1
  160. data/lib/xero-ruby/models/accounting/time_zone.rb +2 -1
  161. data/lib/xero-ruby/models/accounting/tracking_categories.rb +1 -1
  162. data/lib/xero-ruby/models/accounting/tracking_category.rb +1 -1
  163. data/lib/xero-ruby/models/accounting/tracking_option.rb +1 -1
  164. data/lib/xero-ruby/models/accounting/tracking_options.rb +1 -1
  165. data/lib/xero-ruby/models/accounting/user.rb +1 -1
  166. data/lib/xero-ruby/models/accounting/users.rb +1 -1
  167. data/lib/xero-ruby/models/accounting/validation_error.rb +1 -1
  168. data/lib/xero-ruby/models/assets/asset.rb +1 -1
  169. data/lib/xero-ruby/models/assets/asset_status.rb +1 -1
  170. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +1 -1
  171. data/lib/xero-ruby/models/assets/asset_type.rb +1 -1
  172. data/lib/xero-ruby/models/assets/assets.rb +1 -1
  173. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +1 -1
  174. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +1 -1
  175. data/lib/xero-ruby/models/assets/error.rb +1 -1
  176. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +1 -1
  177. data/lib/xero-ruby/models/assets/pagination.rb +1 -1
  178. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +1 -1
  179. data/lib/xero-ruby/models/assets/setting.rb +1 -1
  180. data/lib/xero-ruby/models/projects/amount.rb +1 -1
  181. data/lib/xero-ruby/models/projects/charge_type.rb +1 -1
  182. data/lib/xero-ruby/models/projects/currency_code.rb +1 -1
  183. data/lib/xero-ruby/models/projects/error.rb +1 -1
  184. data/lib/xero-ruby/models/projects/pagination.rb +1 -1
  185. data/lib/xero-ruby/models/projects/project.rb +1 -1
  186. data/lib/xero-ruby/models/projects/project_create_or_update.rb +1 -1
  187. data/lib/xero-ruby/models/projects/project_patch.rb +1 -1
  188. data/lib/xero-ruby/models/projects/project_status.rb +1 -1
  189. data/lib/xero-ruby/models/projects/project_user.rb +1 -1
  190. data/lib/xero-ruby/models/projects/project_users.rb +1 -1
  191. data/lib/xero-ruby/models/projects/projects.rb +1 -1
  192. data/lib/xero-ruby/models/projects/task.rb +1 -1
  193. data/lib/xero-ruby/models/projects/task_create_or_update.rb +1 -1
  194. data/lib/xero-ruby/models/projects/tasks.rb +1 -1
  195. data/lib/xero-ruby/models/projects/time_entries.rb +1 -1
  196. data/lib/xero-ruby/models/projects/time_entry.rb +1 -1
  197. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +1 -1
  198. data/lib/xero-ruby/version.rb +2 -2
  199. data/spec/api_client_spec.rb +6 -6
  200. data/xero-ruby.gem +0 -0
  201. data/xero-ruby.gemspec +2 -2
  202. metadata +4 -4
  203. data/Gemfile.lock +0 -68
@@ -3,7 +3,7 @@
3
3
 
4
4
  #This is the Xero Assets API
5
5
 
6
- The version of the OpenAPI document: 2.2.11
6
+ The version of the OpenAPI document: 2.3.0
7
7
  Contact: api@xero.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 4.3.1
@@ -51,8 +51,15 @@ module XeroRuby
51
51
  # resource path
52
52
  local_var_path = '/Assets'
53
53
 
54
+ # camelize keys of incoming `where` opts
55
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
56
+
54
57
  # query parameters
55
58
  query_params = opts[:query_params] || {}
59
+
60
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
61
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
62
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
56
63
 
57
64
  # header parameters
58
65
  header_params = opts[:header_params] || {}
@@ -60,7 +67,7 @@ module XeroRuby
60
67
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
61
68
  # HTTP header 'Content-Type'
62
69
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
63
- header_params[:'Xero-Tenant-Id'] = xero_tenant_id
70
+ header_params[:'xero-tenant-id'] = xero_tenant_id
64
71
 
65
72
  # form parameters
66
73
  form_params = opts[:form_params] || {}
@@ -118,8 +125,15 @@ module XeroRuby
118
125
  # resource path
119
126
  local_var_path = '/AssetTypes'
120
127
 
128
+ # camelize keys of incoming `where` opts
129
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
130
+
121
131
  # query parameters
122
132
  query_params = opts[:query_params] || {}
133
+
134
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
135
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
136
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
123
137
 
124
138
  # header parameters
125
139
  header_params = opts[:header_params] || {}
@@ -127,7 +141,7 @@ module XeroRuby
127
141
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
128
142
  # HTTP header 'Content-Type'
129
143
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
130
- header_params[:'Xero-Tenant-Id'] = xero_tenant_id
144
+ header_params[:'xero-tenant-id'] = xero_tenant_id
131
145
 
132
146
  # form parameters
133
147
  form_params = opts[:form_params] || {}
@@ -189,14 +203,21 @@ module XeroRuby
189
203
  # resource path
190
204
  local_var_path = '/Assets/{id}'.sub('{' + 'id' + '}', id.to_s)
191
205
 
206
+ # camelize keys of incoming `where` opts
207
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
208
+
192
209
  # query parameters
193
210
  query_params = opts[:query_params] || {}
211
+
212
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
213
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
214
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
194
215
 
195
216
  # header parameters
196
217
  header_params = opts[:header_params] || {}
197
218
  # HTTP header 'Accept' (if needed)
198
219
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
199
- header_params[:'Xero-Tenant-Id'] = xero_tenant_id
220
+ header_params[:'xero-tenant-id'] = xero_tenant_id
200
221
 
201
222
  # form parameters
202
223
  form_params = opts[:form_params] || {}
@@ -252,14 +273,21 @@ module XeroRuby
252
273
  # resource path
253
274
  local_var_path = '/Settings'
254
275
 
276
+ # camelize keys of incoming `where` opts
277
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
278
+
255
279
  # query parameters
256
280
  query_params = opts[:query_params] || {}
281
+
282
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
283
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
284
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
257
285
 
258
286
  # header parameters
259
287
  header_params = opts[:header_params] || {}
260
288
  # HTTP header 'Accept' (if needed)
261
289
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
262
- header_params[:'Xero-Tenant-Id'] = xero_tenant_id
290
+ header_params[:'xero-tenant-id'] = xero_tenant_id
263
291
 
264
292
  # form parameters
265
293
  form_params = opts[:form_params] || {}
@@ -315,14 +343,21 @@ module XeroRuby
315
343
  # resource path
316
344
  local_var_path = '/AssetTypes'
317
345
 
346
+ # camelize keys of incoming `where` opts
347
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
348
+
318
349
  # query parameters
319
350
  query_params = opts[:query_params] || {}
351
+
352
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
353
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
354
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
320
355
 
321
356
  # header parameters
322
357
  header_params = opts[:header_params] || {}
323
358
  # HTTP header 'Accept' (if needed)
324
359
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
325
- header_params[:'Xero-Tenant-Id'] = xero_tenant_id
360
+ header_params[:'xero-tenant-id'] = xero_tenant_id
326
361
 
327
362
  # form parameters
328
363
  form_params = opts[:form_params] || {}
@@ -406,6 +441,9 @@ module XeroRuby
406
441
  # resource path
407
442
  local_var_path = '/Assets'
408
443
 
444
+ # camelize keys of incoming `where` opts
445
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
446
+
409
447
  # query parameters
410
448
  query_params = opts[:query_params] || {}
411
449
  query_params[:'status'] = status
@@ -414,12 +452,16 @@ module XeroRuby
414
452
  query_params[:'orderBy'] = opts[:'order_by'] if !opts[:'order_by'].nil?
415
453
  query_params[:'sortDirection'] = opts[:'sort_direction'] if !opts[:'sort_direction'].nil?
416
454
  query_params[:'filterBy'] = opts[:'filter_by'] if !opts[:'filter_by'].nil?
455
+
456
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
457
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
458
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
417
459
 
418
460
  # header parameters
419
461
  header_params = opts[:header_params] || {}
420
462
  # HTTP header 'Accept' (if needed)
421
463
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
422
- header_params[:'Xero-Tenant-Id'] = xero_tenant_id
464
+ header_params[:'xero-tenant-id'] = xero_tenant_id
423
465
 
424
466
  # form parameters
425
467
  form_params = opts[:form_params] || {}
@@ -3,7 +3,7 @@
3
3
 
4
4
  #This is the Xero Projects API
5
5
 
6
- The version of the OpenAPI document: 2.2.11
6
+ The version of the OpenAPI document: 2.3.0
7
7
  Contact: api@xero.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 4.3.1
@@ -49,8 +49,15 @@ module XeroRuby
49
49
  # resource path
50
50
  local_var_path = '/projects'
51
51
 
52
+ # camelize keys of incoming `where` opts
53
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
54
+
52
55
  # query parameters
53
56
  query_params = opts[:query_params] || {}
57
+
58
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
59
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
60
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
54
61
 
55
62
  # header parameters
56
63
  header_params = opts[:header_params] || {}
@@ -126,8 +133,15 @@ module XeroRuby
126
133
  # resource path
127
134
  local_var_path = '/projects/{projectId}/time'.sub('{' + 'projectId' + '}', project_id.to_s)
128
135
 
136
+ # camelize keys of incoming `where` opts
137
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
138
+
129
139
  # query parameters
130
140
  query_params = opts[:query_params] || {}
141
+
142
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
143
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
144
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
131
145
 
132
146
  # header parameters
133
147
  header_params = opts[:header_params] || {}
@@ -203,8 +217,15 @@ module XeroRuby
203
217
  # resource path
204
218
  local_var_path = '/projects/{projectId}/time/{timeEntryId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'timeEntryId' + '}', time_entry_id.to_s)
205
219
 
220
+ # camelize keys of incoming `where` opts
221
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
222
+
206
223
  # query parameters
207
224
  query_params = opts[:query_params] || {}
225
+
226
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
227
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
228
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
208
229
 
209
230
  # header parameters
210
231
  header_params = opts[:header_params] || {}
@@ -270,8 +291,15 @@ module XeroRuby
270
291
  # resource path
271
292
  local_var_path = '/projects/{projectId}'.sub('{' + 'projectId' + '}', project_id.to_s)
272
293
 
294
+ # camelize keys of incoming `where` opts
295
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
296
+
273
297
  # query parameters
274
298
  query_params = opts[:query_params] || {}
299
+
300
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
301
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
302
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
275
303
 
276
304
  # header parameters
277
305
  header_params = opts[:header_params] || {}
@@ -345,10 +373,17 @@ module XeroRuby
345
373
  # resource path
346
374
  local_var_path = '/projectsusers'
347
375
 
376
+ # camelize keys of incoming `where` opts
377
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
378
+
348
379
  # query parameters
349
380
  query_params = opts[:query_params] || {}
350
381
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
351
382
  query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
383
+
384
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
385
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
386
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
352
387
 
353
388
  # header parameters
354
389
  header_params = opts[:header_params] || {}
@@ -428,6 +463,9 @@ module XeroRuby
428
463
  # resource path
429
464
  local_var_path = '/projects'
430
465
 
466
+ # camelize keys of incoming `where` opts
467
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
468
+
431
469
  # query parameters
432
470
  query_params = opts[:query_params] || {}
433
471
  query_params[:'projectIds'] = @api_client.build_collection_param(opts[:'project_ids'], :multi) if !opts[:'project_ids'].nil?
@@ -435,6 +473,10 @@ module XeroRuby
435
473
  query_params[:'states'] = opts[:'states'] if !opts[:'states'].nil?
436
474
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
437
475
  query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
476
+
477
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
478
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
479
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
438
480
 
439
481
  # header parameters
440
482
  header_params = opts[:header_params] || {}
@@ -508,8 +550,15 @@ module XeroRuby
508
550
  # resource path
509
551
  local_var_path = '/projects/{projectId}/tasks/{taskId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'taskId' + '}', task_id.to_s)
510
552
 
553
+ # camelize keys of incoming `where` opts
554
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
555
+
511
556
  # query parameters
512
557
  query_params = opts[:query_params] || {}
558
+
559
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
560
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
561
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
513
562
 
514
563
  # header parameters
515
564
  header_params = opts[:header_params] || {}
@@ -583,11 +632,18 @@ module XeroRuby
583
632
  # resource path
584
633
  local_var_path = '/projects/{projectId}/tasks'.sub('{' + 'projectId' + '}', project_id.to_s)
585
634
 
635
+ # camelize keys of incoming `where` opts
636
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
637
+
586
638
  # query parameters
587
639
  query_params = opts[:query_params] || {}
588
640
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
589
641
  query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
590
642
  query_params[:'taskIds'] = opts[:'task_ids'] if !opts[:'task_ids'].nil?
643
+
644
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
645
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
646
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
591
647
 
592
648
  # header parameters
593
649
  header_params = opts[:header_params] || {}
@@ -675,6 +731,9 @@ module XeroRuby
675
731
  # resource path
676
732
  local_var_path = '/projects/{projectId}/time'.sub('{' + 'projectId' + '}', project_id.to_s)
677
733
 
734
+ # camelize keys of incoming `where` opts
735
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
736
+
678
737
  # query parameters
679
738
  query_params = opts[:query_params] || {}
680
739
  query_params[:'userId'] = opts[:'user_id'] if !opts[:'user_id'].nil?
@@ -687,6 +746,10 @@ module XeroRuby
687
746
  query_params[:'isChargeable'] = opts[:'is_chargeable'] if !opts[:'is_chargeable'].nil?
688
747
  query_params[:'dateAfterUtc'] = opts[:'date_after_utc'] if !opts[:'date_after_utc'].nil?
689
748
  query_params[:'dateBeforeUtc'] = opts[:'date_before_utc'] if !opts[:'date_before_utc'].nil?
749
+
750
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
751
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
752
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
690
753
 
691
754
  # header parameters
692
755
  header_params = opts[:header_params] || {}
@@ -760,8 +823,15 @@ module XeroRuby
760
823
  # resource path
761
824
  local_var_path = '/projects/{projectId}/time/{timeEntryId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'timeEntryId' + '}', time_entry_id.to_s)
762
825
 
826
+ # camelize keys of incoming `where` opts
827
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
828
+
763
829
  # query parameters
764
830
  query_params = opts[:query_params] || {}
831
+
832
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
833
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
834
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
765
835
 
766
836
  # header parameters
767
837
  header_params = opts[:header_params] || {}
@@ -835,8 +905,15 @@ module XeroRuby
835
905
  # resource path
836
906
  local_var_path = '/projects/{projectId}'.sub('{' + 'projectId' + '}', project_id.to_s)
837
907
 
908
+ # camelize keys of incoming `where` opts
909
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
910
+
838
911
  # query parameters
839
912
  query_params = opts[:query_params] || {}
913
+
914
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
915
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
916
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
840
917
 
841
918
  # header parameters
842
919
  header_params = opts[:header_params] || {}
@@ -912,8 +989,15 @@ module XeroRuby
912
989
  # resource path
913
990
  local_var_path = '/projects/{projectId}'.sub('{' + 'projectId' + '}', project_id.to_s)
914
991
 
992
+ # camelize keys of incoming `where` opts
993
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
994
+
915
995
  # query parameters
916
996
  query_params = opts[:query_params] || {}
997
+
998
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
999
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1000
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
917
1001
 
918
1002
  # header parameters
919
1003
  header_params = opts[:header_params] || {}
@@ -995,8 +1079,15 @@ module XeroRuby
995
1079
  # resource path
996
1080
  local_var_path = '/projects/{projectId}/time/{timeEntryId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'timeEntryId' + '}', time_entry_id.to_s)
997
1081
 
1082
+ # camelize keys of incoming `where` opts
1083
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
1084
+
998
1085
  # query parameters
999
1086
  query_params = opts[:query_params] || {}
1087
+
1088
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1089
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1090
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1000
1091
 
1001
1092
  # header parameters
1002
1093
  header_params = opts[:header_params] || {}
@@ -3,7 +3,7 @@
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.2.11
6
+ The version of the OpenAPI document: 2.3.0
7
7
  Contact: api@xero.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 4.3.1
@@ -192,7 +192,7 @@ module XeroRuby
192
192
  # @option opts [Hash] :query_params Query parameters
193
193
  # @option opts [Hash] :form_params Query parameters
194
194
  # @option opts [Object] :body HTTP body (JSON/XML)
195
- # @return [Typhoeus::Request] A Typhoeus Request
195
+ # @return A Faraday Request
196
196
  def build_request(http_method, path, request, opts = {})
197
197
  url = build_request_url(path)
198
198
  http_method = http_method.to_sym.downcase
@@ -518,7 +518,7 @@ module XeroRuby
518
518
  end
519
519
 
520
520
  def gsubbed(str, pattern, extra = "")
521
- key_map_scronyms = { "id": "ID" }
521
+ key_map_scronyms = {}
522
522
  str = str.gsub(pattern) do
523
523
  extra + (key_map_scronyms[Regexp.last_match(1)] || capitalize_first(Regexp.last_match(1)))
524
524
  end
@@ -550,5 +550,38 @@ module XeroRuby
550
550
  fail "unknown collection format: #{collection_format.inspect}"
551
551
  end
552
552
  end
553
+
554
+ def parameterize_where(where_opts)
555
+ where_opts.map do |k,v|
556
+ case v
557
+ when Array
558
+ operator = v.first
559
+ query = v.last
560
+ if query.is_a?(Date)
561
+ "#{camelize_key(k)} #{operator} DateTime(#{query.strftime("%Y,%m,%d")})"
562
+ elsif [Float, Integer].member?(query.class)
563
+ %{#{camelize_key(k)} #{operator} #{query}}
564
+ elsif [true, false].member?(query)
565
+ %{#{camelize_key(k)} #{operator} #{query}}
566
+ else
567
+ if k == :contact_id
568
+ %{Contact.ContactID #{operator} guid("#{query}")}
569
+ elsif k == :contact_number
570
+ %{Contact.ContactNumber #{operator} "#{query}"}
571
+ else
572
+ %{#{camelize_key(k)} #{operator} "#{query}"}
573
+ end
574
+ end
575
+ when Range
576
+ if v.first.is_a?(DateTime) || v.first.is_a?(Date) || v.first.is_a?(Time)
577
+ "#{camelize_key(k)} >= DateTime(#{v.first.strftime("%Y,%m,%d")}) AND #{camelize_key(k)} <= DateTime(#{v.last.strftime("%Y,%m,%d")})"
578
+ else
579
+ "#{camelize_key(k)} >= #{v.first} AND #{camelize_key(k)} <= #{v.last}"
580
+ end
581
+ else
582
+ %{#{camelize_key(k)} #{v}}
583
+ end
584
+ end.join(' AND ')
585
+ end
553
586
  end
554
587
  end
@@ -3,7 +3,7 @@
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.2.11
6
+ The version of the OpenAPI document: 2.3.0
7
7
  Contact: api@xero.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 4.3.1