xero-ruby 2.0.3 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (159) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +170 -101
  3. data/build_notes.md +22 -0
  4. data/docs/accounting/Attachment.md +1 -1
  5. data/lib/xero-ruby.rb +1 -1
  6. data/lib/xero-ruby/api/accounting_api.rb +1291 -1
  7. data/lib/xero-ruby/api/asset_api.rb +37 -1
  8. data/lib/xero-ruby/api/project_api.rb +79 -1
  9. data/lib/xero-ruby/api_client.rb +3 -3
  10. data/lib/xero-ruby/api_error.rb +1 -1
  11. data/lib/xero-ruby/configuration.rb +1 -1
  12. data/lib/xero-ruby/models/accounting/account.rb +1 -1
  13. data/lib/xero-ruby/models/accounting/account_type.rb +1 -1
  14. data/lib/xero-ruby/models/accounting/accounts.rb +1 -1
  15. data/lib/xero-ruby/models/accounting/accounts_payable.rb +1 -1
  16. data/lib/xero-ruby/models/accounting/accounts_receivable.rb +1 -1
  17. data/lib/xero-ruby/models/accounting/address.rb +1 -1
  18. data/lib/xero-ruby/models/accounting/allocation.rb +1 -1
  19. data/lib/xero-ruby/models/accounting/allocations.rb +1 -1
  20. data/lib/xero-ruby/models/accounting/attachment.rb +2 -2
  21. data/lib/xero-ruby/models/accounting/attachments.rb +1 -1
  22. data/lib/xero-ruby/models/accounting/balances.rb +1 -1
  23. data/lib/xero-ruby/models/accounting/bank_transaction.rb +1 -1
  24. data/lib/xero-ruby/models/accounting/bank_transactions.rb +1 -1
  25. data/lib/xero-ruby/models/accounting/bank_transfer.rb +1 -1
  26. data/lib/xero-ruby/models/accounting/bank_transfers.rb +1 -1
  27. data/lib/xero-ruby/models/accounting/batch_payment.rb +1 -1
  28. data/lib/xero-ruby/models/accounting/batch_payment_details.rb +1 -1
  29. data/lib/xero-ruby/models/accounting/batch_payments.rb +1 -1
  30. data/lib/xero-ruby/models/accounting/bill.rb +1 -1
  31. data/lib/xero-ruby/models/accounting/branding_theme.rb +1 -1
  32. data/lib/xero-ruby/models/accounting/branding_themes.rb +1 -1
  33. data/lib/xero-ruby/models/accounting/cis_org_setting.rb +1 -1
  34. data/lib/xero-ruby/models/accounting/cis_setting.rb +1 -1
  35. data/lib/xero-ruby/models/accounting/cis_settings.rb +1 -1
  36. data/lib/xero-ruby/models/accounting/contact.rb +1 -1
  37. data/lib/xero-ruby/models/accounting/contact_group.rb +1 -1
  38. data/lib/xero-ruby/models/accounting/contact_groups.rb +1 -1
  39. data/lib/xero-ruby/models/accounting/contact_person.rb +1 -1
  40. data/lib/xero-ruby/models/accounting/contacts.rb +1 -1
  41. data/lib/xero-ruby/models/accounting/country_code.rb +1 -1
  42. data/lib/xero-ruby/models/accounting/credit_note.rb +1 -1
  43. data/lib/xero-ruby/models/accounting/credit_notes.rb +1 -1
  44. data/lib/xero-ruby/models/accounting/currencies.rb +1 -1
  45. data/lib/xero-ruby/models/accounting/currency.rb +1 -1
  46. data/lib/xero-ruby/models/accounting/currency_code.rb +1 -1
  47. data/lib/xero-ruby/models/accounting/element.rb +1 -1
  48. data/lib/xero-ruby/models/accounting/employee.rb +1 -1
  49. data/lib/xero-ruby/models/accounting/employees.rb +1 -1
  50. data/lib/xero-ruby/models/accounting/error.rb +1 -1
  51. data/lib/xero-ruby/models/accounting/expense_claim.rb +1 -1
  52. data/lib/xero-ruby/models/accounting/expense_claims.rb +1 -1
  53. data/lib/xero-ruby/models/accounting/external_link.rb +1 -1
  54. data/lib/xero-ruby/models/accounting/history_record.rb +1 -1
  55. data/lib/xero-ruby/models/accounting/history_records.rb +1 -1
  56. data/lib/xero-ruby/models/accounting/invoice.rb +1 -1
  57. data/lib/xero-ruby/models/accounting/invoice_reminder.rb +1 -1
  58. data/lib/xero-ruby/models/accounting/invoice_reminders.rb +1 -1
  59. data/lib/xero-ruby/models/accounting/invoices.rb +1 -1
  60. data/lib/xero-ruby/models/accounting/item.rb +1 -1
  61. data/lib/xero-ruby/models/accounting/items.rb +1 -1
  62. data/lib/xero-ruby/models/accounting/journal.rb +1 -1
  63. data/lib/xero-ruby/models/accounting/journal_line.rb +1 -1
  64. data/lib/xero-ruby/models/accounting/journals.rb +1 -1
  65. data/lib/xero-ruby/models/accounting/line_amount_types.rb +1 -1
  66. data/lib/xero-ruby/models/accounting/line_item.rb +1 -1
  67. data/lib/xero-ruby/models/accounting/line_item_tracking.rb +1 -1
  68. data/lib/xero-ruby/models/accounting/linked_transaction.rb +1 -1
  69. data/lib/xero-ruby/models/accounting/linked_transactions.rb +1 -1
  70. data/lib/xero-ruby/models/accounting/manual_journal.rb +1 -1
  71. data/lib/xero-ruby/models/accounting/manual_journal_line.rb +1 -1
  72. data/lib/xero-ruby/models/accounting/manual_journals.rb +1 -1
  73. data/lib/xero-ruby/models/accounting/online_invoice.rb +1 -1
  74. data/lib/xero-ruby/models/accounting/online_invoices.rb +1 -1
  75. data/lib/xero-ruby/models/accounting/organisation.rb +1 -1
  76. data/lib/xero-ruby/models/accounting/organisations.rb +1 -1
  77. data/lib/xero-ruby/models/accounting/overpayment.rb +1 -1
  78. data/lib/xero-ruby/models/accounting/overpayments.rb +1 -1
  79. data/lib/xero-ruby/models/accounting/payment.rb +1 -1
  80. data/lib/xero-ruby/models/accounting/payment_delete.rb +1 -1
  81. data/lib/xero-ruby/models/accounting/payment_service.rb +1 -1
  82. data/lib/xero-ruby/models/accounting/payment_services.rb +1 -1
  83. data/lib/xero-ruby/models/accounting/payment_term.rb +1 -1
  84. data/lib/xero-ruby/models/accounting/payment_term_type.rb +1 -1
  85. data/lib/xero-ruby/models/accounting/payments.rb +1 -1
  86. data/lib/xero-ruby/models/accounting/phone.rb +1 -1
  87. data/lib/xero-ruby/models/accounting/prepayment.rb +1 -1
  88. data/lib/xero-ruby/models/accounting/prepayments.rb +1 -1
  89. data/lib/xero-ruby/models/accounting/purchase.rb +1 -1
  90. data/lib/xero-ruby/models/accounting/purchase_order.rb +1 -1
  91. data/lib/xero-ruby/models/accounting/purchase_orders.rb +1 -1
  92. data/lib/xero-ruby/models/accounting/quote.rb +1 -1
  93. data/lib/xero-ruby/models/accounting/quote_line_amount_types.rb +1 -1
  94. data/lib/xero-ruby/models/accounting/quote_status_codes.rb +1 -1
  95. data/lib/xero-ruby/models/accounting/quotes.rb +1 -1
  96. data/lib/xero-ruby/models/accounting/receipt.rb +1 -1
  97. data/lib/xero-ruby/models/accounting/receipts.rb +1 -1
  98. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +1 -1
  99. data/lib/xero-ruby/models/accounting/repeating_invoices.rb +1 -1
  100. data/lib/xero-ruby/models/accounting/report.rb +1 -1
  101. data/lib/xero-ruby/models/accounting/report_attribute.rb +1 -1
  102. data/lib/xero-ruby/models/accounting/report_cell.rb +1 -1
  103. data/lib/xero-ruby/models/accounting/report_fields.rb +1 -1
  104. data/lib/xero-ruby/models/accounting/report_row.rb +1 -1
  105. data/lib/xero-ruby/models/accounting/report_rows.rb +1 -1
  106. data/lib/xero-ruby/models/accounting/report_with_row.rb +1 -1
  107. data/lib/xero-ruby/models/accounting/report_with_rows.rb +1 -1
  108. data/lib/xero-ruby/models/accounting/reports.rb +1 -1
  109. data/lib/xero-ruby/models/accounting/request_empty.rb +1 -1
  110. data/lib/xero-ruby/models/accounting/row_type.rb +1 -1
  111. data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +1 -1
  112. data/lib/xero-ruby/models/accounting/schedule.rb +1 -1
  113. data/lib/xero-ruby/models/accounting/tax_component.rb +1 -1
  114. data/lib/xero-ruby/models/accounting/tax_rate.rb +1 -1
  115. data/lib/xero-ruby/models/accounting/tax_rates.rb +1 -1
  116. data/lib/xero-ruby/models/accounting/tax_type.rb +1 -1
  117. data/lib/xero-ruby/models/accounting/ten_ninety_nine_contact.rb +1 -1
  118. data/lib/xero-ruby/models/accounting/time_zone.rb +1 -1
  119. data/lib/xero-ruby/models/accounting/tracking_categories.rb +1 -1
  120. data/lib/xero-ruby/models/accounting/tracking_category.rb +1 -1
  121. data/lib/xero-ruby/models/accounting/tracking_option.rb +1 -1
  122. data/lib/xero-ruby/models/accounting/tracking_options.rb +1 -1
  123. data/lib/xero-ruby/models/accounting/user.rb +1 -1
  124. data/lib/xero-ruby/models/accounting/users.rb +1 -1
  125. data/lib/xero-ruby/models/accounting/validation_error.rb +1 -1
  126. data/lib/xero-ruby/models/assets/asset.rb +1 -1
  127. data/lib/xero-ruby/models/assets/asset_status.rb +1 -1
  128. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +1 -1
  129. data/lib/xero-ruby/models/assets/asset_type.rb +1 -1
  130. data/lib/xero-ruby/models/assets/assets.rb +1 -1
  131. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +1 -1
  132. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +1 -1
  133. data/lib/xero-ruby/models/assets/error.rb +1 -1
  134. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +1 -1
  135. data/lib/xero-ruby/models/assets/pagination.rb +1 -1
  136. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +1 -1
  137. data/lib/xero-ruby/models/assets/setting.rb +1 -1
  138. data/lib/xero-ruby/models/projects/amount.rb +1 -1
  139. data/lib/xero-ruby/models/projects/charge_type.rb +1 -1
  140. data/lib/xero-ruby/models/projects/currency_code.rb +1 -1
  141. data/lib/xero-ruby/models/projects/error.rb +1 -1
  142. data/lib/xero-ruby/models/projects/pagination.rb +1 -1
  143. data/lib/xero-ruby/models/projects/project.rb +1 -1
  144. data/lib/xero-ruby/models/projects/project_create_or_update.rb +1 -1
  145. data/lib/xero-ruby/models/projects/project_patch.rb +1 -1
  146. data/lib/xero-ruby/models/projects/project_status.rb +1 -1
  147. data/lib/xero-ruby/models/projects/project_user.rb +1 -1
  148. data/lib/xero-ruby/models/projects/project_users.rb +1 -1
  149. data/lib/xero-ruby/models/projects/projects.rb +1 -1
  150. data/lib/xero-ruby/models/projects/task.rb +1 -1
  151. data/lib/xero-ruby/models/projects/task_create_or_update.rb +1 -1
  152. data/lib/xero-ruby/models/projects/tasks.rb +1 -1
  153. data/lib/xero-ruby/models/projects/time_entries.rb +1 -1
  154. data/lib/xero-ruby/models/projects/time_entry.rb +1 -1
  155. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +1 -1
  156. data/lib/xero-ruby/version.rb +2 -2
  157. data/spec/api_client_spec.rb +6 -6
  158. data/xero-ruby.gemspec +1 -1
  159. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ada84a9c31dfe092f84b09190dbb2dddb9f0e32aa67593fd58f92fd4d7065052
4
- data.tar.gz: bd05279d0a0e04a1d8c3f2fbc0433497040ca51632a4886e42869f24d990a01b
3
+ metadata.gz: 8244488d366fdc9beada136fcf353c2893abaa53e140c232bf60f4e3a68731ce
4
+ data.tar.gz: 965edbb90c9d92035ba04556bc65a3e9c9f84e30882fa88eb7db19a14c6be07e
5
5
  SHA512:
6
- metadata.gz: 472558b67f46936384547767624a897c7b5b631359947b84a714fee73c50e0a9f8b7178158ec61360994c9fbcc114c1b148c994f0e02afaa01395a5f6e8ebd3d
7
- data.tar.gz: 9ac9867345f683f2c8af4eee17b4f797015b20384f0c9882b8c95d1047ea725616400220324d8cea50d0c84bfe430d513f3fe5effaee76550da94fb058a3282c
6
+ metadata.gz: dc77b22a01e2ee32e04b8b3f2ab7616b6a1d036e12f2288d6cac57cc369d82f6e17af119b91dd17d1475d1cb3bcd56100dfc216e24b7a9a33cb7b7716be88b0e
7
+ data.tar.gz: f4aed1a1eb7aba97adc6e579c4b165a3cc4d388b8e2bdea7e9a175ae5b91c0705510b2ab4329e6388f660d16f16fa15644ea2b2cdcd8d4e504c4bf310ccbf908
data/README.md CHANGED
@@ -1,32 +1,43 @@
1
1
  # xero-ruby
2
- Xero Ruby SDK for OAuth 2.0 generated from [Xero API OpenAPI Spec](https://github.com/XeroAPI/Xero-OpenAPI)
2
+ Xero Ruby SDK for OAuth 2.0 generated from [Xero API OpenAPI Spec](https://github.com/XeroAPI/Xero-OpenAPI).
3
3
 
4
4
  [![RubyGem](https://img.shields.io/badge/xero--ruby%20gem-v0.2.4-brightgreen)](https://rubygems.org/gems/xero-ruby)
5
5
 
6
- ## Current release of SDK with OAuth 2.0 support
7
- Xero Ruby SDK supports Xero's OAuth2.0 authentication (token generation & refresh) and supports the following Xero API sets.
8
- * [accounting](https://developer.xero.com/documentation/api/api-overview)
9
- * [assets](https://developer.xero.com/documentation/assets-api/overview)
10
- * [projects](https://developer.xero.com/documentation/projects/overview-projects)
6
+ # Documentation
7
+ Xero Ruby SDK supports Xero's OAuth2.0 authentication and supports the following Xero API sets.
11
8
 
12
- Coming soon
13
- * bank feeds
14
- * payroll (AU))
9
+ ## APIS
10
+ * [Accounting Api Docs](/docs/accounting/AccountingApi.md)
11
+ * [Asset Api Docs](/docs/assets/AssetApi.md)
12
+ * [Project Api Docs](docs/projects/ProjectApi.md)
13
+
14
+ ## Models
15
+ * [Accounting Models Docs](/docs/accounting/)
16
+ * [Asset Models Docs](/docs/assets/)
17
+ * [Project Models Docs](/docs/projects/)
18
+
19
+ ### Coming soon
20
+ * payroll (AU)
15
21
  * payroll (NZ/UK)
16
22
  * files
17
23
  * xero hq
24
+ * bank feeds
25
+
26
+ ## Sample Apps
27
+ We have two apps showing SDK usage.
28
+ * https://github.com/XeroAPI/xero-ruby-oauth2-starter (**Sinatra** - session based / getting started)
29
+ * https://github.com/XeroAPI/xero-ruby-oauth2-app (**Rails** - token management / full examples)
18
30
 
19
31
  ## Looking for OAuth 1.0a support?
20
- Check out the [Xeroizer](https://github.com/waynerobinson/xeroizer) gem (maintained by community)
32
+ Check out the [Xeroizer](https://github.com/waynerobinson/xeroizer) gem (maintained by community).
21
33
 
22
34
  ---
23
35
  ## Installation
24
- This SDK is published as a gem on RubyGems as [xero-ruby](https://rubygems.org/gems/xero-ruby) To install this gem to your current gemset, run:
25
-
36
+ To install this gem to your current gemset.
26
37
  ```
27
38
  gem install 'xero-ruby'
28
39
  ```
29
- Or, add this to your gemfile:
40
+ Or add to your gemfile and run `bundle install`.
30
41
  ```
31
42
  gem 'xero-ruby'
32
43
  ```
@@ -36,16 +47,12 @@ gem 'xero-ruby'
36
47
  * Login to your Xero developer [/myapps](https://developer.xero.com/myapps) dashboard & create an API application and note your API app's credentials.
37
48
 
38
49
  ### Creating a Client
39
- Require the gem:
50
+ * Get the credential values from an API application at https://developer.xero.com/myapps/.
51
+ * Include [neccesary scopes](https://developer.xero.com/documentation/oauth2/scopes) as comma seperated list
52
+ * example => "`openid profile email accounting.transactions accounting.settings`"
40
53
  ```
41
54
  require 'xero-ruby'
42
55
  ```
43
- Then create a client by passing in a named hash object `credentials:`.
44
-
45
- > *client_id*, *client_secret*, *redirect_uri*: Get this from your API application in /myapps dashboard.
46
- *scopes*: Include scopes as comma seperated list, https://developer.xero.com/documentation/oauth2/scopes
47
- **ex:** 'openid profile email accounting.transactions'
48
-
49
56
  ```ruby
50
57
  creds = {
51
58
  client_id: ENV['CLIENT_ID'],
@@ -56,48 +63,63 @@ creds = {
56
63
  xero_client ||= XeroRuby::ApiClient.new(credentials: creds)
57
64
  ```
58
65
 
59
- ## Authorization & Callback
60
- All API requests require a valid access token to be set on the client. If this is the first time you are calling the Xero API on a users behalf you will need to generate an authorized token set, which will look something like this:
61
- ```json
62
- {
63
- "id_token": "xxx.yyy.zz",
64
- "access_token": "xxx.yyy.zzz",
65
- "expires_in": 1800,
66
- "token_type": "Bearer",
67
- "refresh_token": "xxxxxx",
68
- "scope": "email profile openid accounting.transactions offline_access"
69
- }
70
- ```
66
+ ## User Authorization & Callback
67
+ All API requests require a valid access token to be set on the client.
71
68
 
72
- To generate a valid token_set with this SDK from Xero, have your user follow the authorization url:
69
+ To generate a valid `token_set` send a user to the `authorization_url`:
73
70
  ```ruby
74
71
  @authorization_url = xero_client.authorization_url
75
- # https://login.xero.com/identity/connect/authorize?response_type=code&client_id=<xxx>&redirect_uri=<redirect_uri>&scope=<scopes>
72
+
73
+ redirect_to @authorization_url
76
74
  ```
77
75
 
78
- > The `get_token_set_from_callback` method will set the `token_set` on the client, however you can also initialize a client and set the `token_set` explicitely using `set_token_set` or `refresh_token_set`.
76
+ Xero will then redirect back to the URI defined in your ENV['REDIRECT_URI'] variable.
77
+ *This must match **exactly** with the variable in your /myapps dashboard.*
79
78
 
79
+ In your callback route catch, calling `get_token_set_from_callback` will exchange the temp code in your params, with a valid `token_set` that you can use to make API calls.
80
80
  ```ruby
81
- # /my-redirect-uri
81
+ # => http://localhost:3000/oauth/callback
82
+
82
83
  token_set = xero_client.get_token_set_from_callback(params)
83
84
 
84
- # this is where you will want to save the token set for future API usage..
85
- # ex: user.update!(xero_token_set: token_set)
85
+ # save token_set JSON in a datastore in relation to the user authentication
86
+ ```
86
87
 
87
- # if you already saved a token_set you don't need the user to authenticate via UI
88
- # and can just set the token on the client by refreshing it.
88
+ ## Making API calls once you have a token_set
89
+ For use outside of the initial auth flow, setup the client by passing the whole token_set to `refresh_token_set` or `set_token_set`.
90
+ ```ruby
89
91
  xero_client.refresh_token_set(user.token_set)
92
+
93
+ xero_client.set_token_set(user.token_set)
90
94
  ```
95
+ A `token_set` contains data about your API connection most importantly :
96
+ * `access_token`
97
+ * `refresh_token`
98
+ * `expiry`
91
99
 
92
- ## Token & SDK Helpers
100
+ **An `access_token` is valid 30 minutes and a `refresh_token` is valid for 60 days**
93
101
 
94
- Token Sets contain information about your API connection, but most important are the access_token, refresh_token, and the expiry:
95
- * An `access_token` is valid 30 minutes and a `refresh_token` is valid for 60 days
102
+ Example Token set:
103
+ > You can decode the `id_token` & `access_token` for additional metadata by using a [decoding library](https://github.com/jwt/ruby-jwt):
104
+ ```json
105
+ {
106
+ "id_token": "xxx.yyy.zz",
107
+ "access_token": "xxx.yyy.zzz",
108
+ "expires_in": 1800,
109
+ "token_type": "Bearer",
110
+ "refresh_token": "xxxxxx",
111
+ "scope": "email profile openid accounting.transactions offline_access"
112
+ }
113
+ ```
96
114
 
115
+ ## Token & SDK Helpers
116
+ Refresh/connection helpers
97
117
  ```ruby
98
118
  @token_set = xero_client.refresh_token_set(user.token_set)
99
119
 
100
- # TIP: the `updatedDateUtc` will show you the most recently authorized Tenant (AKA Organisation)
120
+ # Xero's tokens can potentially facilitate (n) org connections in a single token. It is important to store the `tenantId` of the Organisation your user wants to read/write data.
121
+
122
+ # The `updatedDateUtc` will show you the most recently authorized Tenant (AKA Organisation)
101
123
  connections = xero_client.connections
102
124
  [{
103
125
  "id" => "xxx-yyy-zzz",
@@ -108,97 +130,144 @@ connections = xero_client.connections
108
130
  "updatedDateUtc" => "2020-04-15T22:37:10.4943410"
109
131
  }]
110
132
 
111
- # disconnect an org from a user's connections. Pass the connection ['id'] not ['tenantId'].
133
+ # disconnect an org from a user's connections. Pass the connection ['id'] not ['tenantId']. Useful if you want to enforce only a single org connection per token.
112
134
  remaining_connections = xero_client.disconnect(connections[0]['id'])
113
135
 
114
- # set token_set
136
+ # set a refreshed token_set
115
137
  token_set = xero_client.set_token_set(user.token_set)
116
138
 
117
- # access token_set
139
+ # access token_set once it is set on the client
118
140
  token_set = xero_client.token_set
119
141
  ```
120
142
 
121
- ## API Usage
122
- > Comprehensive xero-ruby API usage is showcased here: https://github.com/XeroAPI/xero-ruby-oauth2-app
143
+ Example token expiry helper
144
+ ```ruby
145
+ require 'jwt'
146
+
147
+ def token_expired?
148
+ token_expiry = Time.at(decoded_access_token['exp'])
149
+ token_expiry > Time.now
150
+ end
123
151
 
124
- Here is the basic workflow of using SDK once you have a valid `access_token` (and `token_set`) stored on an instance of the `xero_client`
152
+ def decoded_access_token
153
+ JWT.decode(token_set['access_token'], nil, false)[0]
154
+ end
155
+ ```
125
156
 
157
+ ## API Usage
126
158
  ```ruby
127
159
  require 'xero-ruby'
128
160
 
129
- # reference `Authorization & Callback` to first store a valid token_set on the `xero_client`
130
161
  xero_client.refresh_token_set(user.token_set)
131
162
 
132
- # Using the Accounting API set (https://github.com/XeroAPI/xero-ruby/blob/master/accounting/lib/xero-ruby/api/accounting_api.rb)
133
-
134
- # Examples
135
- invoices = xero_client.accounting_api.get_invoices(user.active_tenant_id).invoices
136
- accounts = xero_client.accounting_api.get_accounts(user.active_tenant_id).accounts
137
- contacts = xero_client.accounting_api.get_contacts(user.active_tenant_id).contacts
138
-
139
- contacts = xero_client.accounting_api.get_contacts(current_user.active_tenant_id).contacts
140
- invoices = { invoices: [{ type: XeroRuby::Accounting::Invoice::ACCREC, contact: { contact_id: contacts[0].contact_id }, line_items: [{ description: "Acme Tires", quantity: BigDecimal("2.0"), unit_amount: BigDecimal("20.99"), account_code: "600", tax_type: XeroRuby::Accounting::TaxType::NONE }], date: "2019-03-11", due_date: "2018-12-10", reference: "Website Design", status: XeroRuby::Accounting::Invoice::DRAFT }]}
141
- invoice = xero_client.accounting_api.create_invoices(current_user.active_tenant_id, invoices).invoices.first
163
+ tenant_id = user.active_tenant_id
164
+ # example of how to store the `tenantId` of the specific tenant (aka organisation)
142
165
 
143
- # all money and fields requiring advanced precision utilize BigDecimal
144
- puts invoice.unit_amount
145
- => 0.2099e2
166
+ # https://github.com/XeroAPI/xero-ruby/blob/master/accounting/lib/xero-ruby/api/accounting_api.rb
146
167
 
147
- puts invoice.unit_amount.class
148
- => BigDecimal
168
+ # Get Accounts
169
+ accounts = xero_client.accounting_api.get_accounts(tenant_id).accounts
149
170
 
150
- puts invoice.unit_amount.to_s("F")
151
- => "20.99"
152
-
153
- # or if using Rails https://api.rubyonrails.org/classes/ActionView/Helpers/NumberHelper.html#method-i-number_to_currency
154
- number_to_currency(invoice.unit_amount, :unit => "$")
171
+ # Create Invoice
172
+ invoices = { invoices: [{ type: XeroRuby::Accounting::Invoice::ACCREC, contact: { contact_id: contacts[0].contact_id }, line_items: [{ description: "Big Agency", quantity: BigDecimal("2.0"), unit_amount: BigDecimal("50.99"), account_code: "600", tax_type: XeroRuby::Accounting::TaxType::NONE }], date: "2019-03-11", due_date: "2018-12-10", reference: "Website Design", status: XeroRuby::Accounting::Invoice::DRAFT }]}
173
+ invoice = xero_client.accounting_api.create_invoices(tenant_id, invoices).invoices.first
155
174
 
156
- # creating an object History record
157
- payment = xero_client.accounting_api.get_payments(current_user.active_tenant_id).payments.first
158
- history_records = { history_records:[ { details: "This payment now has some History #{rand(10000)}" } ]}
159
- payment_history = xero_client.accounting_api.create_payment_history(user.active_tenant_id, payment.payment_id, history_records)
175
+ # Create History
176
+ payment = xero_client.accounting_api.get_payments(tenant_id).payments.first
177
+ history_records = { history_records: [{ details: "This payment now has some History!" }]}
178
+ payment_history = xero_client.accounting_api.create_payment_history(tenant_id, payment.payment_id, history_records)
160
179
 
161
- # creating an object Attachment record
162
- account = xero_client.accounting_api.get_accounts(current_user.active_tenant_id).accounts.first
180
+ # Create Attachment
181
+ account = xero_client.accounting_api.get_accounts(tenant_id).accounts.first
163
182
  file_name = "an-account-filename.png"
164
183
  opts = {
165
- include_online: true # Boolean | Allows an attachment to be seen by the end customer within their online invoice
184
+ include_online: true
166
185
  }
167
186
  file = File.read(Rails.root.join('app/assets/images/xero-api.png'))
168
- attachment = xero_client.accounting_api.create_account_attachment_by_file_name(current_user.active_tenant_id, @account.account_id, file_name, file, opts)
187
+ attachment = xero_client.accounting_api.create_account_attachment_by_file_name(tenant_id, @account.account_id, file_name, file, opts)
169
188
 
170
- # Using the Asset API set (https://github.com/XeroAPI/xero-ruby/blob/master/accounting/lib/xero-ruby/api/asset_api.rb)
189
+ # https://github.com/XeroAPI/xero-ruby/blob/master/accounting/lib/xero-ruby/api/asset_api.rb
190
+
191
+ # Create Asset
171
192
  asset = {
172
193
  "assetName": "AssetName: #{rand(10000)}",
173
194
  "assetNumber": "Asset: #{rand(10000)}",
174
195
  "assetStatus": "DRAFT"
175
196
  }
176
- asset = xero_client.asset_api.create_asset(current_user.active_tenant_id, asset)
197
+ asset = xero_client.asset_api.create_asset(tenant_id, asset)
198
+
199
+ # https://github.com/XeroAPI/xero-ruby/blob/master/docs/projects/ProjectApi.md
177
200
 
178
- # Using the Project API set (https://github.com/XeroAPI/xero-ruby/blob/master/docs/projects/ProjectApi.md)
179
- projects = xero_client.project_api.get_projects(current_user.active_tenant_id).items
201
+ # Get Projects
202
+ projects = xero_client.project_api.get_projects(tenant_id).items
180
203
  ```
181
204
 
182
- If you have use cases outside of these examples or this readmy, please let us know!
205
+ ## BigDecimal
206
+ All monetary and fields and a couple quantity fields utilize BigDecimal
207
+ ```ruby
208
+ puts invoice.unit_amount
209
+ => 0.2099e2
210
+
211
+ puts invoice.unit_amount.class
212
+ => BigDecimal
183
213
 
184
- ## Sample App
185
- The best resource to understanding how to best leverage this SDK is to clone down our Sample Rails application which showcases all the features of this project. The sample app can help you quickly understand how to:
186
- > https://github.com/XeroAPI/xero-ruby-oauth2-app
214
+ puts invoice.unit_amount.to_s("F")
215
+ => "20.99"
216
+
217
+ # Rails method-number_to_currency
218
+ number_to_currency(invoice.unit_amount, :unit => "$")
219
+ ```
187
220
 
188
- * Complete the OAuth2.0 Authorization flow
189
- * Store token_sets against a user object in a DB
190
- * Storing info about active connections
191
- * Change the active tenant & make api calls to multiple orgs
192
- * Refreshing your token sets
193
- * Decoding your token_set items and strategy around how/when to refresh
194
- * Disconnecting a connection for a user
221
+ ## Querying & Filtering
222
+ Examples for the `opts` (_options_) parameters most endpoints support.
223
+ ```ruby
224
+ # Invoices
225
+ opts = {
226
+ statuses: [XeroRuby::Accounting::Invoice::PAID],
227
+ where: { amount_due: '=0' },
228
+ if_modified_since: (DateTime.now - 1.hour).to_s
229
+ }
230
+ xero_client.accounting_api.get_invoices(tenant_id, opts).invoices
231
+
232
+ # Contacts
233
+ opts = {
234
+ if_modified_since: (DateTime.now - 1.weeks).to_s,
235
+ order: 'UpdatedDateUtc DESC',
236
+ where: {
237
+ is_customer: '==true',
238
+ is_supplier: '==true',
239
+ }
240
+ }
241
+ xero_client.accounting_api.get_contacts(tenant_id, opts).contacts
242
+
243
+ # Bank Transactions
244
+ opts = {
245
+ if_modified_since: (DateTime.now - 1.year).to_s,
246
+ where: { type: %{=="#{XeroRuby::Accounting::BankTransaction::SPEND}"}},
247
+ order: 'UpdatedDateUtc DESC',
248
+ page: 2,
249
+ unitdp: 4 # (Unit Decimal Places)
250
+ }
251
+ xero_client.accounting_api.get_bank_transactions(tenant_id, opts).bank_transactions
252
+
253
+ # Bank Transfers
254
+ opts = {
255
+ where: {
256
+ amount: "> 999.99"
257
+ },
258
+ order: 'Amount ASC'
259
+ }
260
+ xero_client.accounting_api.get_bank_transfers(tenant_id, opts).bank_transfers
261
+ ```
262
+ ### NOTE
263
+ 1) Not all `opts` parameter combinations are available for all endpoints, and there are likely some undiscovered edge cases. If you encounter a filter / sort / where clause that seems buggy open an issue and we will dig.
195
264
 
196
- ## Additional Documentation for API Endpoints
265
+ 2) Some opts string values may need PascalCasing to match casing defined in our [core API docs](https://developer.xero.com/documentation/api/api-overview).
266
+ * `opts = { order: 'UpdatedDateUtc DESC'}`
197
267
 
198
- ### APIS
199
- * [Accounting Api Docs](/docs/accounting/AccountingApi.md)
200
- * [Asset Api Docs](/docs/assets/AssetApi.md)
268
+ 3) If you have use cases outside of these examples let us know.
201
269
 
202
- ## Models
203
- * [Accounting Models Docs](/docs/accounting/)
204
- * [Asset Models Docs](/docs/assets/)
270
+ ## Sample App
271
+ The best resource to understanding how to best leverage this SDK is the sample applications showing all the features of the gem.
272
+ > https://github.com/XeroAPI/xero-ruby-oauth2-starter (Sinatra - simple getting started)
273
+ > https://github.com/XeroAPI/xero-ruby-oauth2-app (Rails - full featured examples)
@@ -18,4 +18,26 @@ Deploying to Rubygems
18
18
  ```bash
19
19
  gem build
20
20
  gem push xero-ruby-<vsn>.gem
21
+ ```
22
+
23
+
24
+ !manual updates!
25
+ organisation.rb
26
+ ```
27
+ # duplicate definitions generated: https://github.com/XeroAPI/xero-ruby/issues/53#issuecomment-668893305
28
+ # NONE = "NONE".freeze
29
+
30
+ # duplicate definitions generated: https://github.com/XeroAPI/xero-ruby/issues/53#issuecomment-668893305
31
+ # ACCOUNTING_PRACTICE = "ACCOUNTING_PRACTICE".freeze
32
+ # COMPANY = "COMPANY".freeze
33
+ # CHARITY = "CHARITY".freeze
34
+ # CLUB_OR_SOCIETY = "CLUB_OR_SOCIETY".freeze
35
+ # LOOK_THROUGH_COMPANY = "LOOK_THROUGH_COMPANY".freeze
36
+ # NOT_FOR_PROFIT = "NOT_FOR_PROFIT".freeze
37
+ # PARTNERSHIP = "PARTNERSHIP".freeze
38
+ # S_CORPORATION = "S_CORPORATION".freeze
39
+ # SELF_MANAGED_SUPERANNUATION_FUND = "SELF_MANAGED_SUPERANNUATION_FUND".freeze
40
+ # SOLE_TRADER = "SOLE_TRADER".freeze
41
+ # SUPERANNUATION_FUND = "SUPERANNUATION_FUND".freeze
42
+ # TRUST = "TRUST".freeze
21
43
  ```
@@ -8,7 +8,7 @@ Name | Type | Description | Notes
8
8
  **file_name** | **String** | Name of the file | [optional]
9
9
  **url** | **String** | URL to the file on xero.com | [optional]
10
10
  **mime_type** | **String** | Type of file | [optional]
11
- **content_length** | **Float** | Length of the file content | [optional]
11
+ **content_length** | **Integer** | Length of the file content | [optional]
12
12
  **include_online** | **Boolean** | Include the file with the online invoice | [optional]
13
13
 
14
14
  ## Code Sample
@@ -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.2.12
7
7
  Contact: api@xero.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 4.3.1
@@ -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.2.12
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,14 @@ module XeroRuby
49
49
  # resource path
50
50
  local_var_path = '/Accounts'
51
51
 
52
+ # camelize keys of incoming `where` opts
53
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
52
54
  # query parameters
53
55
  query_params = opts[:query_params] || {}
56
+
57
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
58
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
59
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
54
60
 
55
61
  # header parameters
56
62
  header_params = opts[:header_params] || {}
@@ -130,8 +136,14 @@ module XeroRuby
130
136
  # resource path
131
137
  local_var_path = '/Accounts/{AccountID}/Attachments/{FileName}'.sub('{' + 'AccountID' + '}', account_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
132
138
 
139
+ # camelize keys of incoming `where` opts
140
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
133
141
  # query parameters
134
142
  query_params = opts[:query_params] || {}
143
+
144
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
145
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
146
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
135
147
 
136
148
  # header parameters
137
149
  header_params = opts[:header_params] || {}
@@ -211,8 +223,14 @@ module XeroRuby
211
223
  # resource path
212
224
  local_var_path = '/BankTransactions/{BankTransactionID}/Attachments/{FileName}'.sub('{' + 'BankTransactionID' + '}', bank_transaction_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
213
225
 
226
+ # camelize keys of incoming `where` opts
227
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
214
228
  # query parameters
215
229
  query_params = opts[:query_params] || {}
230
+
231
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
232
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
233
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
216
234
 
217
235
  # header parameters
218
236
  header_params = opts[:header_params] || {}
@@ -286,8 +304,14 @@ module XeroRuby
286
304
  # resource path
287
305
  local_var_path = '/BankTransactions/{BankTransactionID}/History'.sub('{' + 'BankTransactionID' + '}', bank_transaction_id.to_s)
288
306
 
307
+ # camelize keys of incoming `where` opts
308
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
289
309
  # query parameters
290
310
  query_params = opts[:query_params] || {}
311
+
312
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
313
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
314
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
291
315
 
292
316
  # header parameters
293
317
  header_params = opts[:header_params] || {}
@@ -359,10 +383,16 @@ module XeroRuby
359
383
  # resource path
360
384
  local_var_path = '/BankTransactions'
361
385
 
386
+ # camelize keys of incoming `where` opts
387
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
362
388
  # query parameters
363
389
  query_params = opts[:query_params] || {}
364
390
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
365
391
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
392
+
393
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
394
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
395
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
366
396
 
367
397
  # header parameters
368
398
  header_params = opts[:header_params] || {}
@@ -430,8 +460,14 @@ module XeroRuby
430
460
  # resource path
431
461
  local_var_path = '/BankTransfers'
432
462
 
463
+ # camelize keys of incoming `where` opts
464
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
433
465
  # query parameters
434
466
  query_params = opts[:query_params] || {}
467
+
468
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
469
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
470
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
435
471
 
436
472
  # header parameters
437
473
  header_params = opts[:header_params] || {}
@@ -509,8 +545,14 @@ module XeroRuby
509
545
  # resource path
510
546
  local_var_path = '/BankTransfers/{BankTransferID}/Attachments/{FileName}'.sub('{' + 'BankTransferID' + '}', bank_transfer_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
511
547
 
548
+ # camelize keys of incoming `where` opts
549
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
512
550
  # query parameters
513
551
  query_params = opts[:query_params] || {}
552
+
553
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
554
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
555
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
514
556
 
515
557
  # header parameters
516
558
  header_params = opts[:header_params] || {}
@@ -582,8 +624,14 @@ module XeroRuby
582
624
  # resource path
583
625
  local_var_path = '/BankTransfers/{BankTransferID}/History'.sub('{' + 'BankTransferID' + '}', bank_transfer_id.to_s)
584
626
 
627
+ # camelize keys of incoming `where` opts
628
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
585
629
  # query parameters
586
630
  query_params = opts[:query_params] || {}
631
+
632
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
633
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
634
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
587
635
 
588
636
  # header parameters
589
637
  header_params = opts[:header_params] || {}
@@ -653,9 +701,15 @@ module XeroRuby
653
701
  # resource path
654
702
  local_var_path = '/BatchPayments'
655
703
 
704
+ # camelize keys of incoming `where` opts
705
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
656
706
  # query parameters
657
707
  query_params = opts[:query_params] || {}
658
708
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
709
+
710
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
711
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
712
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
659
713
 
660
714
  # header parameters
661
715
  header_params = opts[:header_params] || {}
@@ -729,8 +783,14 @@ module XeroRuby
729
783
  # resource path
730
784
  local_var_path = '/BatchPayments/{BatchPaymentID}/History'.sub('{' + 'BatchPaymentID' + '}', batch_payment_id.to_s)
731
785
 
786
+ # camelize keys of incoming `where` opts
787
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
732
788
  # query parameters
733
789
  query_params = opts[:query_params] || {}
790
+
791
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
792
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
793
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
734
794
 
735
795
  # header parameters
736
796
  header_params = opts[:header_params] || {}
@@ -804,8 +864,14 @@ module XeroRuby
804
864
  # resource path
805
865
  local_var_path = '/BrandingThemes/{BrandingThemeID}/PaymentServices'.sub('{' + 'BrandingThemeID' + '}', branding_theme_id.to_s)
806
866
 
867
+ # camelize keys of incoming `where` opts
868
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
807
869
  # query parameters
808
870
  query_params = opts[:query_params] || {}
871
+
872
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
873
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
874
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
809
875
 
810
876
  # header parameters
811
877
  header_params = opts[:header_params] || {}
@@ -883,8 +949,14 @@ module XeroRuby
883
949
  # resource path
884
950
  local_var_path = '/Contacts/{ContactID}/Attachments/{FileName}'.sub('{' + 'ContactID' + '}', contact_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
885
951
 
952
+ # camelize keys of incoming `where` opts
953
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
886
954
  # query parameters
887
955
  query_params = opts[:query_params] || {}
956
+
957
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
958
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
959
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
888
960
 
889
961
  # header parameters
890
962
  header_params = opts[:header_params] || {}
@@ -952,8 +1024,14 @@ module XeroRuby
952
1024
  # resource path
953
1025
  local_var_path = '/ContactGroups'
954
1026
 
1027
+ # camelize keys of incoming `where` opts
1028
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
955
1029
  # query parameters
956
1030
  query_params = opts[:query_params] || {}
1031
+
1032
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1033
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1034
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
957
1035
 
958
1036
  # header parameters
959
1037
  header_params = opts[:header_params] || {}
@@ -1027,8 +1105,14 @@ module XeroRuby
1027
1105
  # resource path
1028
1106
  local_var_path = '/ContactGroups/{ContactGroupID}/Contacts'.sub('{' + 'ContactGroupID' + '}', contact_group_id.to_s)
1029
1107
 
1108
+ # camelize keys of incoming `where` opts
1109
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
1030
1110
  # query parameters
1031
1111
  query_params = opts[:query_params] || {}
1112
+
1113
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1114
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1115
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1032
1116
 
1033
1117
  # header parameters
1034
1118
  header_params = opts[:header_params] || {}
@@ -1102,8 +1186,14 @@ module XeroRuby
1102
1186
  # resource path
1103
1187
  local_var_path = '/Contacts/{ContactID}/History'.sub('{' + 'ContactID' + '}', contact_id.to_s)
1104
1188
 
1189
+ # camelize keys of incoming `where` opts
1190
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
1105
1191
  # query parameters
1106
1192
  query_params = opts[:query_params] || {}
1193
+
1194
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1195
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1196
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1107
1197
 
1108
1198
  # header parameters
1109
1199
  header_params = opts[:header_params] || {}
@@ -1173,9 +1263,15 @@ module XeroRuby
1173
1263
  # resource path
1174
1264
  local_var_path = '/Contacts'
1175
1265
 
1266
+ # camelize keys of incoming `where` opts
1267
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
1176
1268
  # query parameters
1177
1269
  query_params = opts[:query_params] || {}
1178
1270
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
1271
+
1272
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1273
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1274
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1179
1275
 
1180
1276
  # header parameters
1181
1277
  header_params = opts[:header_params] || {}
@@ -1251,9 +1347,15 @@ module XeroRuby
1251
1347
  # resource path
1252
1348
  local_var_path = '/CreditNotes/{CreditNoteID}/Allocations'.sub('{' + 'CreditNoteID' + '}', credit_note_id.to_s)
1253
1349
 
1350
+ # camelize keys of incoming `where` opts
1351
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
1254
1352
  # query parameters
1255
1353
  query_params = opts[:query_params] || {}
1256
1354
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
1355
+
1356
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1357
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1358
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1257
1359
 
1258
1360
  # header parameters
1259
1361
  header_params = opts[:header_params] || {}
@@ -1335,9 +1437,15 @@ module XeroRuby
1335
1437
  # resource path
1336
1438
  local_var_path = '/CreditNotes/{CreditNoteID}/Attachments/{FileName}'.sub('{' + 'CreditNoteID' + '}', credit_note_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
1337
1439
 
1440
+ # camelize keys of incoming `where` opts
1441
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
1338
1442
  # query parameters
1339
1443
  query_params = opts[:query_params] || {}
1340
1444
  query_params[:'IncludeOnline'] = opts[:'include_online'] if !opts[:'include_online'].nil?
1445
+
1446
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1447
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1448
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1341
1449
 
1342
1450
  # header parameters
1343
1451
  header_params = opts[:header_params] || {}
@@ -1411,8 +1519,14 @@ module XeroRuby
1411
1519
  # resource path
1412
1520
  local_var_path = '/CreditNotes/{CreditNoteID}/History'.sub('{' + 'CreditNoteID' + '}', credit_note_id.to_s)
1413
1521
 
1522
+ # camelize keys of incoming `where` opts
1523
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
1414
1524
  # query parameters
1415
1525
  query_params = opts[:query_params] || {}
1526
+
1527
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1528
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1529
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1416
1530
 
1417
1531
  # header parameters
1418
1532
  header_params = opts[:header_params] || {}
@@ -1484,10 +1598,16 @@ module XeroRuby
1484
1598
  # resource path
1485
1599
  local_var_path = '/CreditNotes'
1486
1600
 
1601
+ # camelize keys of incoming `where` opts
1602
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
1487
1603
  # query parameters
1488
1604
  query_params = opts[:query_params] || {}
1489
1605
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
1490
1606
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
1607
+
1608
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1609
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1610
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1491
1611
 
1492
1612
  # header parameters
1493
1613
  header_params = opts[:header_params] || {}
@@ -1553,8 +1673,14 @@ module XeroRuby
1553
1673
  # resource path
1554
1674
  local_var_path = '/Currencies'
1555
1675
 
1676
+ # camelize keys of incoming `where` opts
1677
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
1556
1678
  # query parameters
1557
1679
  query_params = opts[:query_params] || {}
1680
+
1681
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1682
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1683
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1558
1684
 
1559
1685
  # header parameters
1560
1686
  header_params = opts[:header_params] || {}
@@ -1624,9 +1750,15 @@ module XeroRuby
1624
1750
  # resource path
1625
1751
  local_var_path = '/Employees'
1626
1752
 
1753
+ # camelize keys of incoming `where` opts
1754
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
1627
1755
  # query parameters
1628
1756
  query_params = opts[:query_params] || {}
1629
1757
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
1758
+
1759
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1760
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1761
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1630
1762
 
1631
1763
  # header parameters
1632
1764
  header_params = opts[:header_params] || {}
@@ -1700,8 +1832,14 @@ module XeroRuby
1700
1832
  # resource path
1701
1833
  local_var_path = '/ExpenseClaims/{ExpenseClaimID}/History'.sub('{' + 'ExpenseClaimID' + '}', expense_claim_id.to_s)
1702
1834
 
1835
+ # camelize keys of incoming `where` opts
1836
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
1703
1837
  # query parameters
1704
1838
  query_params = opts[:query_params] || {}
1839
+
1840
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1841
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1842
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1705
1843
 
1706
1844
  # header parameters
1707
1845
  header_params = opts[:header_params] || {}
@@ -1769,8 +1907,14 @@ module XeroRuby
1769
1907
  # resource path
1770
1908
  local_var_path = '/ExpenseClaims'
1771
1909
 
1910
+ # camelize keys of incoming `where` opts
1911
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
1772
1912
  # query parameters
1773
1913
  query_params = opts[:query_params] || {}
1914
+
1915
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1916
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1917
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1774
1918
 
1775
1919
  # header parameters
1776
1920
  header_params = opts[:header_params] || {}
@@ -1852,9 +1996,15 @@ module XeroRuby
1852
1996
  # resource path
1853
1997
  local_var_path = '/Invoices/{InvoiceID}/Attachments/{FileName}'.sub('{' + 'InvoiceID' + '}', invoice_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
1854
1998
 
1999
+ # camelize keys of incoming `where` opts
2000
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
1855
2001
  # query parameters
1856
2002
  query_params = opts[:query_params] || {}
1857
2003
  query_params[:'IncludeOnline'] = opts[:'include_online'] if !opts[:'include_online'].nil?
2004
+
2005
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
2006
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
2007
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1858
2008
 
1859
2009
  # header parameters
1860
2010
  header_params = opts[:header_params] || {}
@@ -1928,8 +2078,14 @@ module XeroRuby
1928
2078
  # resource path
1929
2079
  local_var_path = '/Invoices/{InvoiceID}/History'.sub('{' + 'InvoiceID' + '}', invoice_id.to_s)
1930
2080
 
2081
+ # camelize keys of incoming `where` opts
2082
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
1931
2083
  # query parameters
1932
2084
  query_params = opts[:query_params] || {}
2085
+
2086
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
2087
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
2088
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1933
2089
 
1934
2090
  # header parameters
1935
2091
  header_params = opts[:header_params] || {}
@@ -2001,10 +2157,16 @@ module XeroRuby
2001
2157
  # resource path
2002
2158
  local_var_path = '/Invoices'
2003
2159
 
2160
+ # camelize keys of incoming `where` opts
2161
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
2004
2162
  # query parameters
2005
2163
  query_params = opts[:query_params] || {}
2006
2164
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
2007
2165
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
2166
+
2167
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
2168
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
2169
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
2008
2170
 
2009
2171
  # header parameters
2010
2172
  header_params = opts[:header_params] || {}
@@ -2078,8 +2240,14 @@ module XeroRuby
2078
2240
  # resource path
2079
2241
  local_var_path = '/Items/{ItemID}/History'.sub('{' + 'ItemID' + '}', item_id.to_s)
2080
2242
 
2243
+ # camelize keys of incoming `where` opts
2244
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
2081
2245
  # query parameters
2082
2246
  query_params = opts[:query_params] || {}
2247
+
2248
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
2249
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
2250
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
2083
2251
 
2084
2252
  # header parameters
2085
2253
  header_params = opts[:header_params] || {}
@@ -2151,10 +2319,16 @@ module XeroRuby
2151
2319
  # resource path
2152
2320
  local_var_path = '/Items'
2153
2321
 
2322
+ # camelize keys of incoming `where` opts
2323
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
2154
2324
  # query parameters
2155
2325
  query_params = opts[:query_params] || {}
2156
2326
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
2157
2327
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
2328
+
2329
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
2330
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
2331
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
2158
2332
 
2159
2333
  # header parameters
2160
2334
  header_params = opts[:header_params] || {}
@@ -2222,8 +2396,14 @@ module XeroRuby
2222
2396
  # resource path
2223
2397
  local_var_path = '/LinkedTransactions'
2224
2398
 
2399
+ # camelize keys of incoming `where` opts
2400
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
2225
2401
  # query parameters
2226
2402
  query_params = opts[:query_params] || {}
2403
+
2404
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
2405
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
2406
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
2227
2407
 
2228
2408
  # header parameters
2229
2409
  header_params = opts[:header_params] || {}
@@ -2303,8 +2483,14 @@ module XeroRuby
2303
2483
  # resource path
2304
2484
  local_var_path = '/ManualJournals/{ManualJournalID}/Attachments/{FileName}'.sub('{' + 'ManualJournalID' + '}', manual_journal_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
2305
2485
 
2486
+ # camelize keys of incoming `where` opts
2487
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
2306
2488
  # query parameters
2307
2489
  query_params = opts[:query_params] || {}
2490
+
2491
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
2492
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
2493
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
2308
2494
 
2309
2495
  # header parameters
2310
2496
  header_params = opts[:header_params] || {}
@@ -2374,9 +2560,15 @@ module XeroRuby
2374
2560
  # resource path
2375
2561
  local_var_path = '/ManualJournals'
2376
2562
 
2563
+ # camelize keys of incoming `where` opts
2564
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
2377
2565
  # query parameters
2378
2566
  query_params = opts[:query_params] || {}
2379
2567
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
2568
+
2569
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
2570
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
2571
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
2380
2572
 
2381
2573
  # header parameters
2382
2574
  header_params = opts[:header_params] || {}
@@ -2452,9 +2644,15 @@ module XeroRuby
2452
2644
  # resource path
2453
2645
  local_var_path = '/Overpayments/{OverpaymentID}/Allocations'.sub('{' + 'OverpaymentID' + '}', overpayment_id.to_s)
2454
2646
 
2647
+ # camelize keys of incoming `where` opts
2648
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
2455
2649
  # query parameters
2456
2650
  query_params = opts[:query_params] || {}
2457
2651
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
2652
+
2653
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
2654
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
2655
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
2458
2656
 
2459
2657
  # header parameters
2460
2658
  header_params = opts[:header_params] || {}
@@ -2528,8 +2726,14 @@ module XeroRuby
2528
2726
  # resource path
2529
2727
  local_var_path = '/Overpayments/{OverpaymentID}/History'.sub('{' + 'OverpaymentID' + '}', overpayment_id.to_s)
2530
2728
 
2729
+ # camelize keys of incoming `where` opts
2730
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
2531
2731
  # query parameters
2532
2732
  query_params = opts[:query_params] || {}
2733
+
2734
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
2735
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
2736
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
2533
2737
 
2534
2738
  # header parameters
2535
2739
  header_params = opts[:header_params] || {}
@@ -2597,8 +2801,14 @@ module XeroRuby
2597
2801
  # resource path
2598
2802
  local_var_path = '/Payments'
2599
2803
 
2804
+ # camelize keys of incoming `where` opts
2805
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
2600
2806
  # query parameters
2601
2807
  query_params = opts[:query_params] || {}
2808
+
2809
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
2810
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
2811
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
2602
2812
 
2603
2813
  # header parameters
2604
2814
  header_params = opts[:header_params] || {}
@@ -2672,8 +2882,14 @@ module XeroRuby
2672
2882
  # resource path
2673
2883
  local_var_path = '/Payments/{PaymentID}/History'.sub('{' + 'PaymentID' + '}', payment_id.to_s)
2674
2884
 
2885
+ # camelize keys of incoming `where` opts
2886
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
2675
2887
  # query parameters
2676
2888
  query_params = opts[:query_params] || {}
2889
+
2890
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
2891
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
2892
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
2677
2893
 
2678
2894
  # header parameters
2679
2895
  header_params = opts[:header_params] || {}
@@ -2741,8 +2957,14 @@ module XeroRuby
2741
2957
  # resource path
2742
2958
  local_var_path = '/PaymentServices'
2743
2959
 
2960
+ # camelize keys of incoming `where` opts
2961
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
2744
2962
  # query parameters
2745
2963
  query_params = opts[:query_params] || {}
2964
+
2965
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
2966
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
2967
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
2746
2968
 
2747
2969
  # header parameters
2748
2970
  header_params = opts[:header_params] || {}
@@ -2812,9 +3034,15 @@ module XeroRuby
2812
3034
  # resource path
2813
3035
  local_var_path = '/Payments'
2814
3036
 
3037
+ # camelize keys of incoming `where` opts
3038
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
2815
3039
  # query parameters
2816
3040
  query_params = opts[:query_params] || {}
2817
3041
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
3042
+
3043
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
3044
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
3045
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
2818
3046
 
2819
3047
  # header parameters
2820
3048
  header_params = opts[:header_params] || {}
@@ -2890,9 +3118,15 @@ module XeroRuby
2890
3118
  # resource path
2891
3119
  local_var_path = '/Prepayments/{PrepaymentID}/Allocations'.sub('{' + 'PrepaymentID' + '}', prepayment_id.to_s)
2892
3120
 
3121
+ # camelize keys of incoming `where` opts
3122
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
2893
3123
  # query parameters
2894
3124
  query_params = opts[:query_params] || {}
2895
3125
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
3126
+
3127
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
3128
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
3129
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
2896
3130
 
2897
3131
  # header parameters
2898
3132
  header_params = opts[:header_params] || {}
@@ -2966,8 +3200,14 @@ module XeroRuby
2966
3200
  # resource path
2967
3201
  local_var_path = '/Prepayments/{PrepaymentID}/History'.sub('{' + 'PrepaymentID' + '}', prepayment_id.to_s)
2968
3202
 
3203
+ # camelize keys of incoming `where` opts
3204
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
2969
3205
  # query parameters
2970
3206
  query_params = opts[:query_params] || {}
3207
+
3208
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
3209
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
3210
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
2971
3211
 
2972
3212
  # header parameters
2973
3213
  header_params = opts[:header_params] || {}
@@ -3041,8 +3281,14 @@ module XeroRuby
3041
3281
  # resource path
3042
3282
  local_var_path = '/PurchaseOrders/{PurchaseOrderID}/History'.sub('{' + 'PurchaseOrderID' + '}', purchase_order_id.to_s)
3043
3283
 
3284
+ # camelize keys of incoming `where` opts
3285
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
3044
3286
  # query parameters
3045
3287
  query_params = opts[:query_params] || {}
3288
+
3289
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
3290
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
3291
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
3046
3292
 
3047
3293
  # header parameters
3048
3294
  header_params = opts[:header_params] || {}
@@ -3112,9 +3358,15 @@ module XeroRuby
3112
3358
  # resource path
3113
3359
  local_var_path = '/PurchaseOrders'
3114
3360
 
3361
+ # camelize keys of incoming `where` opts
3362
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
3115
3363
  # query parameters
3116
3364
  query_params = opts[:query_params] || {}
3117
3365
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
3366
+
3367
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
3368
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
3369
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
3118
3370
 
3119
3371
  # header parameters
3120
3372
  header_params = opts[:header_params] || {}
@@ -3194,8 +3446,14 @@ module XeroRuby
3194
3446
  # resource path
3195
3447
  local_var_path = '/Quotes/{QuoteID}/Attachments/{FileName}'.sub('{' + 'QuoteID' + '}', quote_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
3196
3448
 
3449
+ # camelize keys of incoming `where` opts
3450
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
3197
3451
  # query parameters
3198
3452
  query_params = opts[:query_params] || {}
3453
+
3454
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
3455
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
3456
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
3199
3457
 
3200
3458
  # header parameters
3201
3459
  header_params = opts[:header_params] || {}
@@ -3269,8 +3527,14 @@ module XeroRuby
3269
3527
  # resource path
3270
3528
  local_var_path = '/Quotes/{QuoteID}/History'.sub('{' + 'QuoteID' + '}', quote_id.to_s)
3271
3529
 
3530
+ # camelize keys of incoming `where` opts
3531
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
3272
3532
  # query parameters
3273
3533
  query_params = opts[:query_params] || {}
3534
+
3535
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
3536
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
3537
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
3274
3538
 
3275
3539
  # header parameters
3276
3540
  header_params = opts[:header_params] || {}
@@ -3340,9 +3604,15 @@ module XeroRuby
3340
3604
  # resource path
3341
3605
  local_var_path = '/Quotes'
3342
3606
 
3607
+ # camelize keys of incoming `where` opts
3608
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
3343
3609
  # query parameters
3344
3610
  query_params = opts[:query_params] || {}
3345
3611
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
3612
+
3613
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
3614
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
3615
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
3346
3616
 
3347
3617
  # header parameters
3348
3618
  header_params = opts[:header_params] || {}
@@ -3412,9 +3682,15 @@ module XeroRuby
3412
3682
  # resource path
3413
3683
  local_var_path = '/Receipts'
3414
3684
 
3685
+ # camelize keys of incoming `where` opts
3686
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
3415
3687
  # query parameters
3416
3688
  query_params = opts[:query_params] || {}
3417
3689
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
3690
+
3691
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
3692
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
3693
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
3418
3694
 
3419
3695
  # header parameters
3420
3696
  header_params = opts[:header_params] || {}
@@ -3494,8 +3770,14 @@ module XeroRuby
3494
3770
  # resource path
3495
3771
  local_var_path = '/Receipts/{ReceiptID}/Attachments/{FileName}'.sub('{' + 'ReceiptID' + '}', receipt_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
3496
3772
 
3773
+ # camelize keys of incoming `where` opts
3774
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
3497
3775
  # query parameters
3498
3776
  query_params = opts[:query_params] || {}
3777
+
3778
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
3779
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
3780
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
3499
3781
 
3500
3782
  # header parameters
3501
3783
  header_params = opts[:header_params] || {}
@@ -3569,8 +3851,14 @@ module XeroRuby
3569
3851
  # resource path
3570
3852
  local_var_path = '/Receipts/{ReceiptID}/History'.sub('{' + 'ReceiptID' + '}', receipt_id.to_s)
3571
3853
 
3854
+ # camelize keys of incoming `where` opts
3855
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
3572
3856
  # query parameters
3573
3857
  query_params = opts[:query_params] || {}
3858
+
3859
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
3860
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
3861
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
3574
3862
 
3575
3863
  # header parameters
3576
3864
  header_params = opts[:header_params] || {}
@@ -3650,8 +3938,14 @@ module XeroRuby
3650
3938
  # resource path
3651
3939
  local_var_path = '/RepeatingInvoices/{RepeatingInvoiceID}/Attachments/{FileName}'.sub('{' + 'RepeatingInvoiceID' + '}', repeating_invoice_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
3652
3940
 
3941
+ # camelize keys of incoming `where` opts
3942
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
3653
3943
  # query parameters
3654
3944
  query_params = opts[:query_params] || {}
3945
+
3946
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
3947
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
3948
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
3655
3949
 
3656
3950
  # header parameters
3657
3951
  header_params = opts[:header_params] || {}
@@ -3725,8 +4019,14 @@ module XeroRuby
3725
4019
  # resource path
3726
4020
  local_var_path = '/RepeatingInvoices/{RepeatingInvoiceID}/History'.sub('{' + 'RepeatingInvoiceID' + '}', repeating_invoice_id.to_s)
3727
4021
 
4022
+ # camelize keys of incoming `where` opts
4023
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
3728
4024
  # query parameters
3729
4025
  query_params = opts[:query_params] || {}
4026
+
4027
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
4028
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
4029
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
3730
4030
 
3731
4031
  # header parameters
3732
4032
  header_params = opts[:header_params] || {}
@@ -3794,8 +4094,14 @@ module XeroRuby
3794
4094
  # resource path
3795
4095
  local_var_path = '/TaxRates'
3796
4096
 
4097
+ # camelize keys of incoming `where` opts
4098
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
3797
4099
  # query parameters
3798
4100
  query_params = opts[:query_params] || {}
4101
+
4102
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
4103
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
4104
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
3799
4105
 
3800
4106
  # header parameters
3801
4107
  header_params = opts[:header_params] || {}
@@ -3863,8 +4169,14 @@ module XeroRuby
3863
4169
  # resource path
3864
4170
  local_var_path = '/TrackingCategories'
3865
4171
 
4172
+ # camelize keys of incoming `where` opts
4173
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
3866
4174
  # query parameters
3867
4175
  query_params = opts[:query_params] || {}
4176
+
4177
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
4178
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
4179
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
3868
4180
 
3869
4181
  # header parameters
3870
4182
  header_params = opts[:header_params] || {}
@@ -3938,8 +4250,14 @@ module XeroRuby
3938
4250
  # resource path
3939
4251
  local_var_path = '/TrackingCategories/{TrackingCategoryID}/Options'.sub('{' + 'TrackingCategoryID' + '}', tracking_category_id.to_s)
3940
4252
 
4253
+ # camelize keys of incoming `where` opts
4254
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
3941
4255
  # query parameters
3942
4256
  query_params = opts[:query_params] || {}
4257
+
4258
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
4259
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
4260
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
3943
4261
 
3944
4262
  # header parameters
3945
4263
  header_params = opts[:header_params] || {}
@@ -4007,8 +4325,14 @@ module XeroRuby
4007
4325
  # resource path
4008
4326
  local_var_path = '/Accounts/{AccountID}'.sub('{' + 'AccountID' + '}', account_id.to_s)
4009
4327
 
4328
+ # camelize keys of incoming `where` opts
4329
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
4010
4330
  # query parameters
4011
4331
  query_params = opts[:query_params] || {}
4332
+
4333
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
4334
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
4335
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
4012
4336
 
4013
4337
  # header parameters
4014
4338
  header_params = opts[:header_params] || {}
@@ -4080,8 +4404,14 @@ module XeroRuby
4080
4404
  # resource path
4081
4405
  local_var_path = '/ContactGroups/{ContactGroupID}/Contacts/{ContactID}'.sub('{' + 'ContactGroupID' + '}', contact_group_id.to_s).sub('{' + 'ContactID' + '}', contact_id.to_s)
4082
4406
 
4407
+ # camelize keys of incoming `where` opts
4408
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
4083
4409
  # query parameters
4084
4410
  query_params = opts[:query_params] || {}
4411
+
4412
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
4413
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
4414
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
4085
4415
 
4086
4416
  # header parameters
4087
4417
  header_params = opts[:header_params] || {}
@@ -4147,8 +4477,14 @@ module XeroRuby
4147
4477
  # resource path
4148
4478
  local_var_path = '/ContactGroups/{ContactGroupID}/Contacts'.sub('{' + 'ContactGroupID' + '}', contact_group_id.to_s)
4149
4479
 
4480
+ # camelize keys of incoming `where` opts
4481
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
4150
4482
  # query parameters
4151
4483
  query_params = opts[:query_params] || {}
4484
+
4485
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
4486
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
4487
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
4152
4488
 
4153
4489
  # header parameters
4154
4490
  header_params = opts[:header_params] || {}
@@ -4212,8 +4548,14 @@ module XeroRuby
4212
4548
  # resource path
4213
4549
  local_var_path = '/Items/{ItemID}'.sub('{' + 'ItemID' + '}', item_id.to_s)
4214
4550
 
4551
+ # camelize keys of incoming `where` opts
4552
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
4215
4553
  # query parameters
4216
4554
  query_params = opts[:query_params] || {}
4555
+
4556
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
4557
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
4558
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
4217
4559
 
4218
4560
  # header parameters
4219
4561
  header_params = opts[:header_params] || {}
@@ -4279,8 +4621,14 @@ module XeroRuby
4279
4621
  # resource path
4280
4622
  local_var_path = '/LinkedTransactions/{LinkedTransactionID}'.sub('{' + 'LinkedTransactionID' + '}', linked_transaction_id.to_s)
4281
4623
 
4624
+ # camelize keys of incoming `where` opts
4625
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
4282
4626
  # query parameters
4283
4627
  query_params = opts[:query_params] || {}
4628
+
4629
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
4630
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
4631
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
4284
4632
 
4285
4633
  # header parameters
4286
4634
  header_params = opts[:header_params] || {}
@@ -4352,8 +4700,14 @@ module XeroRuby
4352
4700
  # resource path
4353
4701
  local_var_path = '/Payments/{PaymentID}'.sub('{' + 'PaymentID' + '}', payment_id.to_s)
4354
4702
 
4703
+ # camelize keys of incoming `where` opts
4704
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
4355
4705
  # query parameters
4356
4706
  query_params = opts[:query_params] || {}
4707
+
4708
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
4709
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
4710
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
4357
4711
 
4358
4712
  # header parameters
4359
4713
  header_params = opts[:header_params] || {}
@@ -4421,8 +4775,14 @@ module XeroRuby
4421
4775
  # resource path
4422
4776
  local_var_path = '/TrackingCategories/{TrackingCategoryID}'.sub('{' + 'TrackingCategoryID' + '}', tracking_category_id.to_s)
4423
4777
 
4778
+ # camelize keys of incoming `where` opts
4779
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
4424
4780
  # query parameters
4425
4781
  query_params = opts[:query_params] || {}
4782
+
4783
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
4784
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
4785
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
4426
4786
 
4427
4787
  # header parameters
4428
4788
  header_params = opts[:header_params] || {}
@@ -4494,8 +4854,14 @@ module XeroRuby
4494
4854
  # resource path
4495
4855
  local_var_path = '/TrackingCategories/{TrackingCategoryID}/Options/{TrackingOptionID}'.sub('{' + 'TrackingCategoryID' + '}', tracking_category_id.to_s).sub('{' + 'TrackingOptionID' + '}', tracking_option_id.to_s)
4496
4856
 
4857
+ # camelize keys of incoming `where` opts
4858
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
4497
4859
  # query parameters
4498
4860
  query_params = opts[:query_params] || {}
4861
+
4862
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
4863
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
4864
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
4499
4865
 
4500
4866
  # header parameters
4501
4867
  header_params = opts[:header_params] || {}
@@ -4567,8 +4933,14 @@ module XeroRuby
4567
4933
  # resource path
4568
4934
  local_var_path = '/Invoices/{InvoiceID}/Email'.sub('{' + 'InvoiceID' + '}', invoice_id.to_s)
4569
4935
 
4936
+ # camelize keys of incoming `where` opts
4937
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
4570
4938
  # query parameters
4571
4939
  query_params = opts[:query_params] || {}
4940
+
4941
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
4942
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
4943
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
4572
4944
 
4573
4945
  # header parameters
4574
4946
  header_params = opts[:header_params] || {}
@@ -4636,8 +5008,14 @@ module XeroRuby
4636
5008
  # resource path
4637
5009
  local_var_path = '/Accounts/{AccountID}'.sub('{' + 'AccountID' + '}', account_id.to_s)
4638
5010
 
5011
+ # camelize keys of incoming `where` opts
5012
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
4639
5013
  # query parameters
4640
5014
  query_params = opts[:query_params] || {}
5015
+
5016
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
5017
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
5018
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
4641
5019
 
4642
5020
  # header parameters
4643
5021
  header_params = opts[:header_params] || {}
@@ -4715,8 +5093,14 @@ module XeroRuby
4715
5093
  # resource path
4716
5094
  local_var_path = '/Accounts/{AccountID}/Attachments/{FileName}'.sub('{' + 'AccountID' + '}', account_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
4717
5095
 
5096
+ # camelize keys of incoming `where` opts
5097
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
4718
5098
  # query parameters
4719
5099
  query_params = opts[:query_params] || {}
5100
+
5101
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
5102
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
5103
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
4720
5104
 
4721
5105
  # header parameters
4722
5106
  header_params = opts[:header_params] || {}
@@ -4795,8 +5179,14 @@ module XeroRuby
4795
5179
  # resource path
4796
5180
  local_var_path = '/Accounts/{AccountID}/Attachments/{AttachmentID}'.sub('{' + 'AccountID' + '}', account_id.to_s).sub('{' + 'AttachmentID' + '}', attachment_id.to_s)
4797
5181
 
5182
+ # camelize keys of incoming `where` opts
5183
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
4798
5184
  # query parameters
4799
5185
  query_params = opts[:query_params] || {}
5186
+
5187
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
5188
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
5189
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
4800
5190
 
4801
5191
  # header parameters
4802
5192
  header_params = opts[:header_params] || {}
@@ -4863,8 +5253,14 @@ module XeroRuby
4863
5253
  # resource path
4864
5254
  local_var_path = '/Accounts/{AccountID}/Attachments'.sub('{' + 'AccountID' + '}', account_id.to_s)
4865
5255
 
5256
+ # camelize keys of incoming `where` opts
5257
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
4866
5258
  # query parameters
4867
5259
  query_params = opts[:query_params] || {}
5260
+
5261
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
5262
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
5263
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
4868
5264
 
4869
5265
  # header parameters
4870
5266
  header_params = opts[:header_params] || {}
@@ -4930,10 +5326,16 @@ module XeroRuby
4930
5326
  # resource path
4931
5327
  local_var_path = '/Accounts'
4932
5328
 
5329
+ # camelize keys of incoming `where` opts
5330
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
4933
5331
  # query parameters
4934
5332
  query_params = opts[:query_params] || {}
4935
5333
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
4936
5334
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
5335
+
5336
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
5337
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
5338
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
4937
5339
 
4938
5340
  # header parameters
4939
5341
  header_params = opts[:header_params] || {}
@@ -5002,9 +5404,15 @@ module XeroRuby
5002
5404
  # resource path
5003
5405
  local_var_path = '/BankTransactions/{BankTransactionID}'.sub('{' + 'BankTransactionID' + '}', bank_transaction_id.to_s)
5004
5406
 
5407
+ # camelize keys of incoming `where` opts
5408
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
5005
5409
  # query parameters
5006
5410
  query_params = opts[:query_params] || {}
5007
5411
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
5412
+
5413
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
5414
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
5415
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
5008
5416
 
5009
5417
  # header parameters
5010
5418
  header_params = opts[:header_params] || {}
@@ -5082,8 +5490,14 @@ module XeroRuby
5082
5490
  # resource path
5083
5491
  local_var_path = '/BankTransactions/{BankTransactionID}/Attachments/{FileName}'.sub('{' + 'BankTransactionID' + '}', bank_transaction_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
5084
5492
 
5493
+ # camelize keys of incoming `where` opts
5494
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
5085
5495
  # query parameters
5086
5496
  query_params = opts[:query_params] || {}
5497
+
5498
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
5499
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
5500
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
5087
5501
 
5088
5502
  # header parameters
5089
5503
  header_params = opts[:header_params] || {}
@@ -5162,8 +5576,14 @@ module XeroRuby
5162
5576
  # resource path
5163
5577
  local_var_path = '/BankTransactions/{BankTransactionID}/Attachments/{AttachmentID}'.sub('{' + 'BankTransactionID' + '}', bank_transaction_id.to_s).sub('{' + 'AttachmentID' + '}', attachment_id.to_s)
5164
5578
 
5579
+ # camelize keys of incoming `where` opts
5580
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
5165
5581
  # query parameters
5166
5582
  query_params = opts[:query_params] || {}
5583
+
5584
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
5585
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
5586
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
5167
5587
 
5168
5588
  # header parameters
5169
5589
  header_params = opts[:header_params] || {}
@@ -5230,8 +5650,14 @@ module XeroRuby
5230
5650
  # resource path
5231
5651
  local_var_path = '/BankTransactions/{BankTransactionID}/Attachments'.sub('{' + 'BankTransactionID' + '}', bank_transaction_id.to_s)
5232
5652
 
5653
+ # camelize keys of incoming `where` opts
5654
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
5233
5655
  # query parameters
5234
5656
  query_params = opts[:query_params] || {}
5657
+
5658
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
5659
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
5660
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
5235
5661
 
5236
5662
  # header parameters
5237
5663
  header_params = opts[:header_params] || {}
@@ -5301,12 +5727,18 @@ module XeroRuby
5301
5727
  # resource path
5302
5728
  local_var_path = '/BankTransactions'
5303
5729
 
5730
+ # camelize keys of incoming `where` opts
5731
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
5304
5732
  # query parameters
5305
5733
  query_params = opts[:query_params] || {}
5306
5734
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
5307
5735
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
5308
5736
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
5309
5737
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
5738
+
5739
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
5740
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
5741
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
5310
5742
 
5311
5743
  # header parameters
5312
5744
  header_params = opts[:header_params] || {}
@@ -5373,8 +5805,14 @@ module XeroRuby
5373
5805
  # resource path
5374
5806
  local_var_path = '/BankTransactions/{BankTransactionID}/History'.sub('{' + 'BankTransactionID' + '}', bank_transaction_id.to_s)
5375
5807
 
5808
+ # camelize keys of incoming `where` opts
5809
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
5376
5810
  # query parameters
5377
5811
  query_params = opts[:query_params] || {}
5812
+
5813
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
5814
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
5815
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
5378
5816
 
5379
5817
  # header parameters
5380
5818
  header_params = opts[:header_params] || {}
@@ -5440,8 +5878,14 @@ module XeroRuby
5440
5878
  # resource path
5441
5879
  local_var_path = '/BankTransfers/{BankTransferID}'.sub('{' + 'BankTransferID' + '}', bank_transfer_id.to_s)
5442
5880
 
5881
+ # camelize keys of incoming `where` opts
5882
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
5443
5883
  # query parameters
5444
5884
  query_params = opts[:query_params] || {}
5885
+
5886
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
5887
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
5888
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
5445
5889
 
5446
5890
  # header parameters
5447
5891
  header_params = opts[:header_params] || {}
@@ -5519,8 +5963,14 @@ module XeroRuby
5519
5963
  # resource path
5520
5964
  local_var_path = '/BankTransfers/{BankTransferID}/Attachments/{FileName}'.sub('{' + 'BankTransferID' + '}', bank_transfer_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
5521
5965
 
5966
+ # camelize keys of incoming `where` opts
5967
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
5522
5968
  # query parameters
5523
5969
  query_params = opts[:query_params] || {}
5970
+
5971
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
5972
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
5973
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
5524
5974
 
5525
5975
  # header parameters
5526
5976
  header_params = opts[:header_params] || {}
@@ -5599,8 +6049,14 @@ module XeroRuby
5599
6049
  # resource path
5600
6050
  local_var_path = '/BankTransfers/{BankTransferID}/Attachments/{AttachmentID}'.sub('{' + 'BankTransferID' + '}', bank_transfer_id.to_s).sub('{' + 'AttachmentID' + '}', attachment_id.to_s)
5601
6051
 
6052
+ # camelize keys of incoming `where` opts
6053
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
5602
6054
  # query parameters
5603
6055
  query_params = opts[:query_params] || {}
6056
+
6057
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
6058
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
6059
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
5604
6060
 
5605
6061
  # header parameters
5606
6062
  header_params = opts[:header_params] || {}
@@ -5667,8 +6123,14 @@ module XeroRuby
5667
6123
  # resource path
5668
6124
  local_var_path = '/BankTransfers/{BankTransferID}/Attachments'.sub('{' + 'BankTransferID' + '}', bank_transfer_id.to_s)
5669
6125
 
6126
+ # camelize keys of incoming `where` opts
6127
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
5670
6128
  # query parameters
5671
6129
  query_params = opts[:query_params] || {}
6130
+
6131
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
6132
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
6133
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
5672
6134
 
5673
6135
  # header parameters
5674
6136
  header_params = opts[:header_params] || {}
@@ -5734,8 +6196,14 @@ module XeroRuby
5734
6196
  # resource path
5735
6197
  local_var_path = '/BankTransfers/{BankTransferID}/History'.sub('{' + 'BankTransferID' + '}', bank_transfer_id.to_s)
5736
6198
 
6199
+ # camelize keys of incoming `where` opts
6200
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
5737
6201
  # query parameters
5738
6202
  query_params = opts[:query_params] || {}
6203
+
6204
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
6205
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
6206
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
5739
6207
 
5740
6208
  # header parameters
5741
6209
  header_params = opts[:header_params] || {}
@@ -5801,10 +6269,16 @@ module XeroRuby
5801
6269
  # resource path
5802
6270
  local_var_path = '/BankTransfers'
5803
6271
 
6272
+ # camelize keys of incoming `where` opts
6273
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
5804
6274
  # query parameters
5805
6275
  query_params = opts[:query_params] || {}
5806
6276
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
5807
6277
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
6278
+
6279
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
6280
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
6281
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
5808
6282
 
5809
6283
  # header parameters
5810
6284
  header_params = opts[:header_params] || {}
@@ -5871,8 +6345,14 @@ module XeroRuby
5871
6345
  # resource path
5872
6346
  local_var_path = '/BatchPayments/{BatchPaymentID}/History'.sub('{' + 'BatchPaymentID' + '}', batch_payment_id.to_s)
5873
6347
 
6348
+ # camelize keys of incoming `where` opts
6349
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
5874
6350
  # query parameters
5875
6351
  query_params = opts[:query_params] || {}
6352
+
6353
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
6354
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
6355
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
5876
6356
 
5877
6357
  # header parameters
5878
6358
  header_params = opts[:header_params] || {}
@@ -5938,10 +6418,16 @@ module XeroRuby
5938
6418
  # resource path
5939
6419
  local_var_path = '/BatchPayments'
5940
6420
 
6421
+ # camelize keys of incoming `where` opts
6422
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
5941
6423
  # query parameters
5942
6424
  query_params = opts[:query_params] || {}
5943
6425
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
5944
6426
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
6427
+
6428
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
6429
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
6430
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
5945
6431
 
5946
6432
  # header parameters
5947
6433
  header_params = opts[:header_params] || {}
@@ -6008,8 +6494,14 @@ module XeroRuby
6008
6494
  # resource path
6009
6495
  local_var_path = '/BrandingThemes/{BrandingThemeID}'.sub('{' + 'BrandingThemeID' + '}', branding_theme_id.to_s)
6010
6496
 
6497
+ # camelize keys of incoming `where` opts
6498
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
6011
6499
  # query parameters
6012
6500
  query_params = opts[:query_params] || {}
6501
+
6502
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
6503
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
6504
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
6013
6505
 
6014
6506
  # header parameters
6015
6507
  header_params = opts[:header_params] || {}
@@ -6075,8 +6567,14 @@ module XeroRuby
6075
6567
  # resource path
6076
6568
  local_var_path = '/BrandingThemes/{BrandingThemeID}/PaymentServices'.sub('{' + 'BrandingThemeID' + '}', branding_theme_id.to_s)
6077
6569
 
6570
+ # camelize keys of incoming `where` opts
6571
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
6078
6572
  # query parameters
6079
6573
  query_params = opts[:query_params] || {}
6574
+
6575
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
6576
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
6577
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
6080
6578
 
6081
6579
  # header parameters
6082
6580
  header_params = opts[:header_params] || {}
@@ -6136,8 +6634,14 @@ module XeroRuby
6136
6634
  # resource path
6137
6635
  local_var_path = '/BrandingThemes'
6138
6636
 
6637
+ # camelize keys of incoming `where` opts
6638
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
6139
6639
  # query parameters
6140
6640
  query_params = opts[:query_params] || {}
6641
+
6642
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
6643
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
6644
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
6141
6645
 
6142
6646
  # header parameters
6143
6647
  header_params = opts[:header_params] || {}
@@ -6203,8 +6707,14 @@ module XeroRuby
6203
6707
  # resource path
6204
6708
  local_var_path = '/Contacts/{ContactID}'.sub('{' + 'ContactID' + '}', contact_id.to_s)
6205
6709
 
6710
+ # camelize keys of incoming `where` opts
6711
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
6206
6712
  # query parameters
6207
6713
  query_params = opts[:query_params] || {}
6714
+
6715
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
6716
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
6717
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
6208
6718
 
6209
6719
  # header parameters
6210
6720
  header_params = opts[:header_params] || {}
@@ -6282,8 +6792,14 @@ module XeroRuby
6282
6792
  # resource path
6283
6793
  local_var_path = '/Contacts/{ContactID}/Attachments/{FileName}'.sub('{' + 'ContactID' + '}', contact_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
6284
6794
 
6795
+ # camelize keys of incoming `where` opts
6796
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
6285
6797
  # query parameters
6286
6798
  query_params = opts[:query_params] || {}
6799
+
6800
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
6801
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
6802
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
6287
6803
 
6288
6804
  # header parameters
6289
6805
  header_params = opts[:header_params] || {}
@@ -6362,8 +6878,14 @@ module XeroRuby
6362
6878
  # resource path
6363
6879
  local_var_path = '/Contacts/{ContactID}/Attachments/{AttachmentID}'.sub('{' + 'ContactID' + '}', contact_id.to_s).sub('{' + 'AttachmentID' + '}', attachment_id.to_s)
6364
6880
 
6881
+ # camelize keys of incoming `where` opts
6882
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
6365
6883
  # query parameters
6366
6884
  query_params = opts[:query_params] || {}
6885
+
6886
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
6887
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
6888
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
6367
6889
 
6368
6890
  # header parameters
6369
6891
  header_params = opts[:header_params] || {}
@@ -6430,8 +6952,14 @@ module XeroRuby
6430
6952
  # resource path
6431
6953
  local_var_path = '/Contacts/{ContactID}/Attachments'.sub('{' + 'ContactID' + '}', contact_id.to_s)
6432
6954
 
6955
+ # camelize keys of incoming `where` opts
6956
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
6433
6957
  # query parameters
6434
6958
  query_params = opts[:query_params] || {}
6959
+
6960
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
6961
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
6962
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
6435
6963
 
6436
6964
  # header parameters
6437
6965
  header_params = opts[:header_params] || {}
@@ -6497,8 +7025,14 @@ module XeroRuby
6497
7025
  # resource path
6498
7026
  local_var_path = '/Contacts/{ContactNumber}'.sub('{' + 'ContactNumber' + '}', contact_number.to_s)
6499
7027
 
7028
+ # camelize keys of incoming `where` opts
7029
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
6500
7030
  # query parameters
6501
7031
  query_params = opts[:query_params] || {}
7032
+
7033
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
7034
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
7035
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
6502
7036
 
6503
7037
  # header parameters
6504
7038
  header_params = opts[:header_params] || {}
@@ -6564,8 +7098,14 @@ module XeroRuby
6564
7098
  # resource path
6565
7099
  local_var_path = '/Contacts/{ContactID}/CISSettings'.sub('{' + 'ContactID' + '}', contact_id.to_s)
6566
7100
 
7101
+ # camelize keys of incoming `where` opts
7102
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
6567
7103
  # query parameters
6568
7104
  query_params = opts[:query_params] || {}
7105
+
7106
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
7107
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
7108
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
6569
7109
 
6570
7110
  # header parameters
6571
7111
  header_params = opts[:header_params] || {}
@@ -6631,8 +7171,14 @@ module XeroRuby
6631
7171
  # resource path
6632
7172
  local_var_path = '/ContactGroups/{ContactGroupID}'.sub('{' + 'ContactGroupID' + '}', contact_group_id.to_s)
6633
7173
 
7174
+ # camelize keys of incoming `where` opts
7175
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
6634
7176
  # query parameters
6635
7177
  query_params = opts[:query_params] || {}
7178
+
7179
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
7180
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
7181
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
6636
7182
 
6637
7183
  # header parameters
6638
7184
  header_params = opts[:header_params] || {}
@@ -6696,10 +7242,16 @@ module XeroRuby
6696
7242
  # resource path
6697
7243
  local_var_path = '/ContactGroups'
6698
7244
 
7245
+ # camelize keys of incoming `where` opts
7246
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
6699
7247
  # query parameters
6700
7248
  query_params = opts[:query_params] || {}
6701
7249
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
6702
7250
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
7251
+
7252
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
7253
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
7254
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
6703
7255
 
6704
7256
  # header parameters
6705
7257
  header_params = opts[:header_params] || {}
@@ -6765,8 +7317,14 @@ module XeroRuby
6765
7317
  # resource path
6766
7318
  local_var_path = '/Contacts/{ContactID}/History'.sub('{' + 'ContactID' + '}', contact_id.to_s)
6767
7319
 
7320
+ # camelize keys of incoming `where` opts
7321
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
6768
7322
  # query parameters
6769
7323
  query_params = opts[:query_params] || {}
7324
+
7325
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
7326
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
7327
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
6770
7328
 
6771
7329
  # header parameters
6772
7330
  header_params = opts[:header_params] || {}
@@ -6838,6 +7396,8 @@ module XeroRuby
6838
7396
  # resource path
6839
7397
  local_var_path = '/Contacts'
6840
7398
 
7399
+ # camelize keys of incoming `where` opts
7400
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
6841
7401
  # query parameters
6842
7402
  query_params = opts[:query_params] || {}
6843
7403
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
@@ -6845,6 +7405,10 @@ module XeroRuby
6845
7405
  query_params[:'IDs'] = @api_client.build_collection_param(opts[:'i_ds'], :csv) if !opts[:'i_ds'].nil?
6846
7406
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
6847
7407
  query_params[:'includeArchived'] = opts[:'include_archived'] if !opts[:'include_archived'].nil?
7408
+
7409
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
7410
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
7411
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
6848
7412
 
6849
7413
  # header parameters
6850
7414
  header_params = opts[:header_params] || {}
@@ -6913,9 +7477,15 @@ module XeroRuby
6913
7477
  # resource path
6914
7478
  local_var_path = '/CreditNotes/{CreditNoteID}'.sub('{' + 'CreditNoteID' + '}', credit_note_id.to_s)
6915
7479
 
7480
+ # camelize keys of incoming `where` opts
7481
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
6916
7482
  # query parameters
6917
7483
  query_params = opts[:query_params] || {}
6918
7484
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
7485
+
7486
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
7487
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
7488
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
6919
7489
 
6920
7490
  # header parameters
6921
7491
  header_params = opts[:header_params] || {}
@@ -6981,8 +7551,14 @@ module XeroRuby
6981
7551
  # resource path
6982
7552
  local_var_path = '/CreditNotes/{CreditNoteID}'.sub('{' + 'CreditNoteID' + '}', credit_note_id.to_s)
6983
7553
 
7554
+ # camelize keys of incoming `where` opts
7555
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
6984
7556
  # query parameters
6985
7557
  query_params = opts[:query_params] || {}
7558
+
7559
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
7560
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
7561
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
6986
7562
 
6987
7563
  # header parameters
6988
7564
  header_params = opts[:header_params] || {}
@@ -7060,8 +7636,14 @@ module XeroRuby
7060
7636
  # resource path
7061
7637
  local_var_path = '/CreditNotes/{CreditNoteID}/Attachments/{FileName}'.sub('{' + 'CreditNoteID' + '}', credit_note_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
7062
7638
 
7639
+ # camelize keys of incoming `where` opts
7640
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
7063
7641
  # query parameters
7064
7642
  query_params = opts[:query_params] || {}
7643
+
7644
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
7645
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
7646
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
7065
7647
 
7066
7648
  # header parameters
7067
7649
  header_params = opts[:header_params] || {}
@@ -7140,8 +7722,14 @@ module XeroRuby
7140
7722
  # resource path
7141
7723
  local_var_path = '/CreditNotes/{CreditNoteID}/Attachments/{AttachmentID}'.sub('{' + 'CreditNoteID' + '}', credit_note_id.to_s).sub('{' + 'AttachmentID' + '}', attachment_id.to_s)
7142
7724
 
7725
+ # camelize keys of incoming `where` opts
7726
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
7143
7727
  # query parameters
7144
7728
  query_params = opts[:query_params] || {}
7729
+
7730
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
7731
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
7732
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
7145
7733
 
7146
7734
  # header parameters
7147
7735
  header_params = opts[:header_params] || {}
@@ -7208,8 +7796,14 @@ module XeroRuby
7208
7796
  # resource path
7209
7797
  local_var_path = '/CreditNotes/{CreditNoteID}/Attachments'.sub('{' + 'CreditNoteID' + '}', credit_note_id.to_s)
7210
7798
 
7799
+ # camelize keys of incoming `where` opts
7800
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
7211
7801
  # query parameters
7212
7802
  query_params = opts[:query_params] || {}
7803
+
7804
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
7805
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
7806
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
7213
7807
 
7214
7808
  # header parameters
7215
7809
  header_params = opts[:header_params] || {}
@@ -7275,8 +7869,14 @@ module XeroRuby
7275
7869
  # resource path
7276
7870
  local_var_path = '/CreditNotes/{CreditNoteID}/History'.sub('{' + 'CreditNoteID' + '}', credit_note_id.to_s)
7277
7871
 
7872
+ # camelize keys of incoming `where` opts
7873
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
7278
7874
  # query parameters
7279
7875
  query_params = opts[:query_params] || {}
7876
+
7877
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
7878
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
7879
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
7280
7880
 
7281
7881
  # header parameters
7282
7882
  header_params = opts[:header_params] || {}
@@ -7346,12 +7946,18 @@ module XeroRuby
7346
7946
  # resource path
7347
7947
  local_var_path = '/CreditNotes'
7348
7948
 
7949
+ # camelize keys of incoming `where` opts
7950
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
7349
7951
  # query parameters
7350
7952
  query_params = opts[:query_params] || {}
7351
7953
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
7352
7954
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
7353
7955
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
7354
7956
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
7957
+
7958
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
7959
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
7960
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
7355
7961
 
7356
7962
  # header parameters
7357
7963
  header_params = opts[:header_params] || {}
@@ -7416,10 +8022,16 @@ module XeroRuby
7416
8022
  # resource path
7417
8023
  local_var_path = '/Currencies'
7418
8024
 
8025
+ # camelize keys of incoming `where` opts
8026
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
7419
8027
  # query parameters
7420
8028
  query_params = opts[:query_params] || {}
7421
8029
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
7422
8030
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
8031
+
8032
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
8033
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
8034
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
7423
8035
 
7424
8036
  # header parameters
7425
8037
  header_params = opts[:header_params] || {}
@@ -7485,8 +8097,14 @@ module XeroRuby
7485
8097
  # resource path
7486
8098
  local_var_path = '/Employees/{EmployeeID}'.sub('{' + 'EmployeeID' + '}', employee_id.to_s)
7487
8099
 
8100
+ # camelize keys of incoming `where` opts
8101
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
7488
8102
  # query parameters
7489
8103
  query_params = opts[:query_params] || {}
8104
+
8105
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
8106
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
8107
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
7490
8108
 
7491
8109
  # header parameters
7492
8110
  header_params = opts[:header_params] || {}
@@ -7552,10 +8170,16 @@ module XeroRuby
7552
8170
  # resource path
7553
8171
  local_var_path = '/Employees'
7554
8172
 
8173
+ # camelize keys of incoming `where` opts
8174
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
7555
8175
  # query parameters
7556
8176
  query_params = opts[:query_params] || {}
7557
8177
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
7558
8178
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
8179
+
8180
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
8181
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
8182
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
7559
8183
 
7560
8184
  # header parameters
7561
8185
  header_params = opts[:header_params] || {}
@@ -7622,8 +8246,14 @@ module XeroRuby
7622
8246
  # resource path
7623
8247
  local_var_path = '/ExpenseClaims/{ExpenseClaimID}'.sub('{' + 'ExpenseClaimID' + '}', expense_claim_id.to_s)
7624
8248
 
8249
+ # camelize keys of incoming `where` opts
8250
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
7625
8251
  # query parameters
7626
8252
  query_params = opts[:query_params] || {}
8253
+
8254
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
8255
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
8256
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
7627
8257
 
7628
8258
  # header parameters
7629
8259
  header_params = opts[:header_params] || {}
@@ -7689,8 +8319,14 @@ module XeroRuby
7689
8319
  # resource path
7690
8320
  local_var_path = '/ExpenseClaims/{ExpenseClaimID}/History'.sub('{' + 'ExpenseClaimID' + '}', expense_claim_id.to_s)
7691
8321
 
8322
+ # camelize keys of incoming `where` opts
8323
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
7692
8324
  # query parameters
7693
8325
  query_params = opts[:query_params] || {}
8326
+
8327
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
8328
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
8329
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
7694
8330
 
7695
8331
  # header parameters
7696
8332
  header_params = opts[:header_params] || {}
@@ -7756,10 +8392,16 @@ module XeroRuby
7756
8392
  # resource path
7757
8393
  local_var_path = '/ExpenseClaims'
7758
8394
 
8395
+ # camelize keys of incoming `where` opts
8396
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
7759
8397
  # query parameters
7760
8398
  query_params = opts[:query_params] || {}
7761
8399
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
7762
8400
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
8401
+
8402
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
8403
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
8404
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
7763
8405
 
7764
8406
  # header parameters
7765
8407
  header_params = opts[:header_params] || {}
@@ -7828,9 +8470,15 @@ module XeroRuby
7828
8470
  # resource path
7829
8471
  local_var_path = '/Invoices/{InvoiceID}'.sub('{' + 'InvoiceID' + '}', invoice_id.to_s)
7830
8472
 
8473
+ # camelize keys of incoming `where` opts
8474
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
7831
8475
  # query parameters
7832
8476
  query_params = opts[:query_params] || {}
7833
8477
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
8478
+
8479
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
8480
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
8481
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
7834
8482
 
7835
8483
  # header parameters
7836
8484
  header_params = opts[:header_params] || {}
@@ -7896,8 +8544,14 @@ module XeroRuby
7896
8544
  # resource path
7897
8545
  local_var_path = '/Invoices/{InvoiceID}'.sub('{' + 'InvoiceID' + '}', invoice_id.to_s)
7898
8546
 
8547
+ # camelize keys of incoming `where` opts
8548
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
7899
8549
  # query parameters
7900
8550
  query_params = opts[:query_params] || {}
8551
+
8552
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
8553
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
8554
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
7901
8555
 
7902
8556
  # header parameters
7903
8557
  header_params = opts[:header_params] || {}
@@ -7975,8 +8629,14 @@ module XeroRuby
7975
8629
  # resource path
7976
8630
  local_var_path = '/Invoices/{InvoiceID}/Attachments/{FileName}'.sub('{' + 'InvoiceID' + '}', invoice_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
7977
8631
 
8632
+ # camelize keys of incoming `where` opts
8633
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
7978
8634
  # query parameters
7979
8635
  query_params = opts[:query_params] || {}
8636
+
8637
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
8638
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
8639
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
7980
8640
 
7981
8641
  # header parameters
7982
8642
  header_params = opts[:header_params] || {}
@@ -8055,8 +8715,14 @@ module XeroRuby
8055
8715
  # resource path
8056
8716
  local_var_path = '/Invoices/{InvoiceID}/Attachments/{AttachmentID}'.sub('{' + 'InvoiceID' + '}', invoice_id.to_s).sub('{' + 'AttachmentID' + '}', attachment_id.to_s)
8057
8717
 
8718
+ # camelize keys of incoming `where` opts
8719
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
8058
8720
  # query parameters
8059
8721
  query_params = opts[:query_params] || {}
8722
+
8723
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
8724
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
8725
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
8060
8726
 
8061
8727
  # header parameters
8062
8728
  header_params = opts[:header_params] || {}
@@ -8123,8 +8789,14 @@ module XeroRuby
8123
8789
  # resource path
8124
8790
  local_var_path = '/Invoices/{InvoiceID}/Attachments'.sub('{' + 'InvoiceID' + '}', invoice_id.to_s)
8125
8791
 
8792
+ # camelize keys of incoming `where` opts
8793
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
8126
8794
  # query parameters
8127
8795
  query_params = opts[:query_params] || {}
8796
+
8797
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
8798
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
8799
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
8128
8800
 
8129
8801
  # header parameters
8130
8802
  header_params = opts[:header_params] || {}
@@ -8190,8 +8862,14 @@ module XeroRuby
8190
8862
  # resource path
8191
8863
  local_var_path = '/Invoices/{InvoiceID}/History'.sub('{' + 'InvoiceID' + '}', invoice_id.to_s)
8192
8864
 
8865
+ # camelize keys of incoming `where` opts
8866
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
8193
8867
  # query parameters
8194
8868
  query_params = opts[:query_params] || {}
8869
+
8870
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
8871
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
8872
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
8195
8873
 
8196
8874
  # header parameters
8197
8875
  header_params = opts[:header_params] || {}
@@ -8251,8 +8929,14 @@ module XeroRuby
8251
8929
  # resource path
8252
8930
  local_var_path = '/InvoiceReminders/Settings'
8253
8931
 
8932
+ # camelize keys of incoming `where` opts
8933
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
8254
8934
  # query parameters
8255
8935
  query_params = opts[:query_params] || {}
8936
+
8937
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
8938
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
8939
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
8256
8940
 
8257
8941
  # header parameters
8258
8942
  header_params = opts[:header_params] || {}
@@ -8334,6 +9018,8 @@ module XeroRuby
8334
9018
  # resource path
8335
9019
  local_var_path = '/Invoices'
8336
9020
 
9021
+ # camelize keys of incoming `where` opts
9022
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
8337
9023
  # query parameters
8338
9024
  query_params = opts[:query_params] || {}
8339
9025
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
@@ -8346,6 +9032,10 @@ module XeroRuby
8346
9032
  query_params[:'includeArchived'] = opts[:'include_archived'] if !opts[:'include_archived'].nil?
8347
9033
  query_params[:'createdByMyApp'] = opts[:'created_by_my_app'] if !opts[:'created_by_my_app'].nil?
8348
9034
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
9035
+
9036
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
9037
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
9038
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
8349
9039
 
8350
9040
  # header parameters
8351
9041
  header_params = opts[:header_params] || {}
@@ -8414,9 +9104,15 @@ module XeroRuby
8414
9104
  # resource path
8415
9105
  local_var_path = '/Items/{ItemID}'.sub('{' + 'ItemID' + '}', item_id.to_s)
8416
9106
 
9107
+ # camelize keys of incoming `where` opts
9108
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
8417
9109
  # query parameters
8418
9110
  query_params = opts[:query_params] || {}
8419
9111
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
9112
+
9113
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
9114
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
9115
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
8420
9116
 
8421
9117
  # header parameters
8422
9118
  header_params = opts[:header_params] || {}
@@ -8482,8 +9178,14 @@ module XeroRuby
8482
9178
  # resource path
8483
9179
  local_var_path = '/Items/{ItemID}/History'.sub('{' + 'ItemID' + '}', item_id.to_s)
8484
9180
 
9181
+ # camelize keys of incoming `where` opts
9182
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
8485
9183
  # query parameters
8486
9184
  query_params = opts[:query_params] || {}
9185
+
9186
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
9187
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
9188
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
8487
9189
 
8488
9190
  # header parameters
8489
9191
  header_params = opts[:header_params] || {}
@@ -8551,11 +9253,17 @@ module XeroRuby
8551
9253
  # resource path
8552
9254
  local_var_path = '/Items'
8553
9255
 
9256
+ # camelize keys of incoming `where` opts
9257
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
8554
9258
  # query parameters
8555
9259
  query_params = opts[:query_params] || {}
8556
9260
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
8557
9261
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
8558
9262
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
9263
+
9264
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
9265
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
9266
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
8559
9267
 
8560
9268
  # header parameters
8561
9269
  header_params = opts[:header_params] || {}
@@ -8622,8 +9330,14 @@ module XeroRuby
8622
9330
  # resource path
8623
9331
  local_var_path = '/Journals/{JournalID}'.sub('{' + 'JournalID' + '}', journal_id.to_s)
8624
9332
 
9333
+ # camelize keys of incoming `where` opts
9334
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
8625
9335
  # query parameters
8626
9336
  query_params = opts[:query_params] || {}
9337
+
9338
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
9339
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
9340
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
8627
9341
 
8628
9342
  # header parameters
8629
9343
  header_params = opts[:header_params] || {}
@@ -8689,10 +9403,16 @@ module XeroRuby
8689
9403
  # resource path
8690
9404
  local_var_path = '/Journals'
8691
9405
 
9406
+ # camelize keys of incoming `where` opts
9407
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
8692
9408
  # query parameters
8693
9409
  query_params = opts[:query_params] || {}
8694
9410
  query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
8695
9411
  query_params[:'paymentsOnly'] = opts[:'payments_only'] if !opts[:'payments_only'].nil?
9412
+
9413
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
9414
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
9415
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
8696
9416
 
8697
9417
  # header parameters
8698
9418
  header_params = opts[:header_params] || {}
@@ -8759,8 +9479,14 @@ module XeroRuby
8759
9479
  # resource path
8760
9480
  local_var_path = '/LinkedTransactions/{LinkedTransactionID}'.sub('{' + 'LinkedTransactionID' + '}', linked_transaction_id.to_s)
8761
9481
 
9482
+ # camelize keys of incoming `where` opts
9483
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
8762
9484
  # query parameters
8763
9485
  query_params = opts[:query_params] || {}
9486
+
9487
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
9488
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
9489
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
8764
9490
 
8765
9491
  # header parameters
8766
9492
  header_params = opts[:header_params] || {}
@@ -8832,6 +9558,8 @@ module XeroRuby
8832
9558
  # resource path
8833
9559
  local_var_path = '/LinkedTransactions'
8834
9560
 
9561
+ # camelize keys of incoming `where` opts
9562
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
8835
9563
  # query parameters
8836
9564
  query_params = opts[:query_params] || {}
8837
9565
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
@@ -8840,6 +9568,10 @@ module XeroRuby
8840
9568
  query_params[:'ContactID'] = opts[:'contact_id'] if !opts[:'contact_id'].nil?
8841
9569
  query_params[:'Status'] = opts[:'status'] if !opts[:'status'].nil?
8842
9570
  query_params[:'TargetTransactionID'] = opts[:'target_transaction_id'] if !opts[:'target_transaction_id'].nil?
9571
+
9572
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
9573
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
9574
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
8843
9575
 
8844
9576
  # header parameters
8845
9577
  header_params = opts[:header_params] || {}
@@ -8905,8 +9637,14 @@ module XeroRuby
8905
9637
  # resource path
8906
9638
  local_var_path = '/ManualJournals/{ManualJournalID}'.sub('{' + 'ManualJournalID' + '}', manual_journal_id.to_s)
8907
9639
 
9640
+ # camelize keys of incoming `where` opts
9641
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
8908
9642
  # query parameters
8909
9643
  query_params = opts[:query_params] || {}
9644
+
9645
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
9646
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
9647
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
8910
9648
 
8911
9649
  # header parameters
8912
9650
  header_params = opts[:header_params] || {}
@@ -8984,8 +9722,14 @@ module XeroRuby
8984
9722
  # resource path
8985
9723
  local_var_path = '/ManualJournals/{ManualJournalID}/Attachments/{FileName}'.sub('{' + 'ManualJournalID' + '}', manual_journal_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
8986
9724
 
9725
+ # camelize keys of incoming `where` opts
9726
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
8987
9727
  # query parameters
8988
9728
  query_params = opts[:query_params] || {}
9729
+
9730
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
9731
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
9732
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
8989
9733
 
8990
9734
  # header parameters
8991
9735
  header_params = opts[:header_params] || {}
@@ -9064,8 +9808,14 @@ module XeroRuby
9064
9808
  # resource path
9065
9809
  local_var_path = '/ManualJournals/{ManualJournalID}/Attachments/{AttachmentID}'.sub('{' + 'ManualJournalID' + '}', manual_journal_id.to_s).sub('{' + 'AttachmentID' + '}', attachment_id.to_s)
9066
9810
 
9811
+ # camelize keys of incoming `where` opts
9812
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
9067
9813
  # query parameters
9068
9814
  query_params = opts[:query_params] || {}
9815
+
9816
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
9817
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
9818
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
9069
9819
 
9070
9820
  # header parameters
9071
9821
  header_params = opts[:header_params] || {}
@@ -9132,8 +9882,14 @@ module XeroRuby
9132
9882
  # resource path
9133
9883
  local_var_path = '/ManualJournals/{ManualJournalID}/Attachments'.sub('{' + 'ManualJournalID' + '}', manual_journal_id.to_s)
9134
9884
 
9885
+ # camelize keys of incoming `where` opts
9886
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
9135
9887
  # query parameters
9136
9888
  query_params = opts[:query_params] || {}
9889
+
9890
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
9891
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
9892
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
9137
9893
 
9138
9894
  # header parameters
9139
9895
  header_params = opts[:header_params] || {}
@@ -9201,11 +9957,17 @@ module XeroRuby
9201
9957
  # resource path
9202
9958
  local_var_path = '/ManualJournals'
9203
9959
 
9960
+ # camelize keys of incoming `where` opts
9961
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
9204
9962
  # query parameters
9205
9963
  query_params = opts[:query_params] || {}
9206
9964
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
9207
9965
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
9208
9966
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
9967
+
9968
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
9969
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
9970
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
9209
9971
 
9210
9972
  # header parameters
9211
9973
  header_params = opts[:header_params] || {}
@@ -9272,8 +10034,14 @@ module XeroRuby
9272
10034
  # resource path
9273
10035
  local_var_path = '/Invoices/{InvoiceID}/OnlineInvoice'.sub('{' + 'InvoiceID' + '}', invoice_id.to_s)
9274
10036
 
10037
+ # camelize keys of incoming `where` opts
10038
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
9275
10039
  # query parameters
9276
10040
  query_params = opts[:query_params] || {}
10041
+
10042
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
10043
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
10044
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
9277
10045
 
9278
10046
  # header parameters
9279
10047
  header_params = opts[:header_params] || {}
@@ -9339,8 +10107,14 @@ module XeroRuby
9339
10107
  # resource path
9340
10108
  local_var_path = '/Organisation/{OrganisationID}/CISSettings'.sub('{' + 'OrganisationID' + '}', organisation_id.to_s)
9341
10109
 
10110
+ # camelize keys of incoming `where` opts
10111
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
9342
10112
  # query parameters
9343
10113
  query_params = opts[:query_params] || {}
10114
+
10115
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
10116
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
10117
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
9344
10118
 
9345
10119
  # header parameters
9346
10120
  header_params = opts[:header_params] || {}
@@ -9400,8 +10174,14 @@ module XeroRuby
9400
10174
  # resource path
9401
10175
  local_var_path = '/Organisation'
9402
10176
 
10177
+ # camelize keys of incoming `where` opts
10178
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
9403
10179
  # query parameters
9404
10180
  query_params = opts[:query_params] || {}
10181
+
10182
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
10183
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
10184
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
9405
10185
 
9406
10186
  # header parameters
9407
10187
  header_params = opts[:header_params] || {}
@@ -9467,8 +10247,14 @@ module XeroRuby
9467
10247
  # resource path
9468
10248
  local_var_path = '/Overpayments/{OverpaymentID}'.sub('{' + 'OverpaymentID' + '}', overpayment_id.to_s)
9469
10249
 
10250
+ # camelize keys of incoming `where` opts
10251
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
9470
10252
  # query parameters
9471
10253
  query_params = opts[:query_params] || {}
10254
+
10255
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
10256
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
10257
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
9472
10258
 
9473
10259
  # header parameters
9474
10260
  header_params = opts[:header_params] || {}
@@ -9534,8 +10320,14 @@ module XeroRuby
9534
10320
  # resource path
9535
10321
  local_var_path = '/Overpayments/{OverpaymentID}/History'.sub('{' + 'OverpaymentID' + '}', overpayment_id.to_s)
9536
10322
 
10323
+ # camelize keys of incoming `where` opts
10324
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
9537
10325
  # query parameters
9538
10326
  query_params = opts[:query_params] || {}
10327
+
10328
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
10329
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
10330
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
9539
10331
 
9540
10332
  # header parameters
9541
10333
  header_params = opts[:header_params] || {}
@@ -9605,12 +10397,18 @@ module XeroRuby
9605
10397
  # resource path
9606
10398
  local_var_path = '/Overpayments'
9607
10399
 
10400
+ # camelize keys of incoming `where` opts
10401
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
9608
10402
  # query parameters
9609
10403
  query_params = opts[:query_params] || {}
9610
10404
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
9611
10405
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
9612
10406
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
9613
10407
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
10408
+
10409
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
10410
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
10411
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
9614
10412
 
9615
10413
  # header parameters
9616
10414
  header_params = opts[:header_params] || {}
@@ -9677,8 +10475,14 @@ module XeroRuby
9677
10475
  # resource path
9678
10476
  local_var_path = '/Payments/{PaymentID}'.sub('{' + 'PaymentID' + '}', payment_id.to_s)
9679
10477
 
10478
+ # camelize keys of incoming `where` opts
10479
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
9680
10480
  # query parameters
9681
10481
  query_params = opts[:query_params] || {}
10482
+
10483
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
10484
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
10485
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
9682
10486
 
9683
10487
  # header parameters
9684
10488
  header_params = opts[:header_params] || {}
@@ -9744,8 +10548,14 @@ module XeroRuby
9744
10548
  # resource path
9745
10549
  local_var_path = '/Payments/{PaymentID}/History'.sub('{' + 'PaymentID' + '}', payment_id.to_s)
9746
10550
 
10551
+ # camelize keys of incoming `where` opts
10552
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
9747
10553
  # query parameters
9748
10554
  query_params = opts[:query_params] || {}
10555
+
10556
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
10557
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
10558
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
9749
10559
 
9750
10560
  # header parameters
9751
10561
  header_params = opts[:header_params] || {}
@@ -9805,8 +10615,14 @@ module XeroRuby
9805
10615
  # resource path
9806
10616
  local_var_path = '/PaymentServices'
9807
10617
 
10618
+ # camelize keys of incoming `where` opts
10619
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
9808
10620
  # query parameters
9809
10621
  query_params = opts[:query_params] || {}
10622
+
10623
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
10624
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
10625
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
9810
10626
 
9811
10627
  # header parameters
9812
10628
  header_params = opts[:header_params] || {}
@@ -9874,11 +10690,17 @@ module XeroRuby
9874
10690
  # resource path
9875
10691
  local_var_path = '/Payments'
9876
10692
 
10693
+ # camelize keys of incoming `where` opts
10694
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
9877
10695
  # query parameters
9878
10696
  query_params = opts[:query_params] || {}
9879
10697
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
9880
10698
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
9881
10699
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
10700
+
10701
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
10702
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
10703
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
9882
10704
 
9883
10705
  # header parameters
9884
10706
  header_params = opts[:header_params] || {}
@@ -9945,8 +10767,14 @@ module XeroRuby
9945
10767
  # resource path
9946
10768
  local_var_path = '/Prepayments/{PrepaymentID}'.sub('{' + 'PrepaymentID' + '}', prepayment_id.to_s)
9947
10769
 
10770
+ # camelize keys of incoming `where` opts
10771
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
9948
10772
  # query parameters
9949
10773
  query_params = opts[:query_params] || {}
10774
+
10775
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
10776
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
10777
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
9950
10778
 
9951
10779
  # header parameters
9952
10780
  header_params = opts[:header_params] || {}
@@ -10012,8 +10840,14 @@ module XeroRuby
10012
10840
  # resource path
10013
10841
  local_var_path = '/Prepayments/{PrepaymentID}/History'.sub('{' + 'PrepaymentID' + '}', prepayment_id.to_s)
10014
10842
 
10843
+ # camelize keys of incoming `where` opts
10844
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
10015
10845
  # query parameters
10016
10846
  query_params = opts[:query_params] || {}
10847
+
10848
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
10849
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
10850
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
10017
10851
 
10018
10852
  # header parameters
10019
10853
  header_params = opts[:header_params] || {}
@@ -10083,12 +10917,18 @@ module XeroRuby
10083
10917
  # resource path
10084
10918
  local_var_path = '/Prepayments'
10085
10919
 
10920
+ # camelize keys of incoming `where` opts
10921
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
10086
10922
  # query parameters
10087
10923
  query_params = opts[:query_params] || {}
10088
10924
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
10089
10925
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
10090
10926
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
10091
10927
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
10928
+
10929
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
10930
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
10931
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
10092
10932
 
10093
10933
  # header parameters
10094
10934
  header_params = opts[:header_params] || {}
@@ -10155,8 +10995,14 @@ module XeroRuby
10155
10995
  # resource path
10156
10996
  local_var_path = '/PurchaseOrders/{PurchaseOrderID}'.sub('{' + 'PurchaseOrderID' + '}', purchase_order_id.to_s)
10157
10997
 
10998
+ # camelize keys of incoming `where` opts
10999
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
10158
11000
  # query parameters
10159
11001
  query_params = opts[:query_params] || {}
11002
+
11003
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
11004
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
11005
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
10160
11006
 
10161
11007
  # header parameters
10162
11008
  header_params = opts[:header_params] || {}
@@ -10222,8 +11068,14 @@ module XeroRuby
10222
11068
  # resource path
10223
11069
  local_var_path = '/PurchaseOrders/{PurchaseOrderID}'.sub('{' + 'PurchaseOrderID' + '}', purchase_order_id.to_s)
10224
11070
 
11071
+ # camelize keys of incoming `where` opts
11072
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
10225
11073
  # query parameters
10226
11074
  query_params = opts[:query_params] || {}
11075
+
11076
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
11077
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
11078
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
10227
11079
 
10228
11080
  # header parameters
10229
11081
  header_params = opts[:header_params] || {}
@@ -10289,8 +11141,14 @@ module XeroRuby
10289
11141
  # resource path
10290
11142
  local_var_path = '/PurchaseOrders/{PurchaseOrderNumber}'.sub('{' + 'PurchaseOrderNumber' + '}', purchase_order_number.to_s)
10291
11143
 
11144
+ # camelize keys of incoming `where` opts
11145
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
10292
11146
  # query parameters
10293
11147
  query_params = opts[:query_params] || {}
11148
+
11149
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
11150
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
11151
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
10294
11152
 
10295
11153
  # header parameters
10296
11154
  header_params = opts[:header_params] || {}
@@ -10356,8 +11214,14 @@ module XeroRuby
10356
11214
  # resource path
10357
11215
  local_var_path = '/PurchaseOrders/{PurchaseOrderID}/History'.sub('{' + 'PurchaseOrderID' + '}', purchase_order_id.to_s)
10358
11216
 
11217
+ # camelize keys of incoming `where` opts
11218
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
10359
11219
  # query parameters
10360
11220
  query_params = opts[:query_params] || {}
11221
+
11222
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
11223
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
11224
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
10361
11225
 
10362
11226
  # header parameters
10363
11227
  header_params = opts[:header_params] || {}
@@ -10433,6 +11297,8 @@ module XeroRuby
10433
11297
  # resource path
10434
11298
  local_var_path = '/PurchaseOrders'
10435
11299
 
11300
+ # camelize keys of incoming `where` opts
11301
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
10436
11302
  # query parameters
10437
11303
  query_params = opts[:query_params] || {}
10438
11304
  query_params[:'Status'] = opts[:'status'] if !opts[:'status'].nil?
@@ -10440,6 +11306,10 @@ module XeroRuby
10440
11306
  query_params[:'DateTo'] = opts[:'date_to'] if !opts[:'date_to'].nil?
10441
11307
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
10442
11308
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
11309
+
11310
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
11311
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
11312
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
10443
11313
 
10444
11314
  # header parameters
10445
11315
  header_params = opts[:header_params] || {}
@@ -10506,8 +11376,14 @@ module XeroRuby
10506
11376
  # resource path
10507
11377
  local_var_path = '/Quotes/{QuoteID}'.sub('{' + 'QuoteID' + '}', quote_id.to_s)
10508
11378
 
11379
+ # camelize keys of incoming `where` opts
11380
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
10509
11381
  # query parameters
10510
11382
  query_params = opts[:query_params] || {}
11383
+
11384
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
11385
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
11386
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
10511
11387
 
10512
11388
  # header parameters
10513
11389
  header_params = opts[:header_params] || {}
@@ -10573,8 +11449,14 @@ module XeroRuby
10573
11449
  # resource path
10574
11450
  local_var_path = '/Quotes/{QuoteID}'.sub('{' + 'QuoteID' + '}', quote_id.to_s)
10575
11451
 
11452
+ # camelize keys of incoming `where` opts
11453
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
10576
11454
  # query parameters
10577
11455
  query_params = opts[:query_params] || {}
11456
+
11457
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
11458
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
11459
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
10578
11460
 
10579
11461
  # header parameters
10580
11462
  header_params = opts[:header_params] || {}
@@ -10652,8 +11534,14 @@ module XeroRuby
10652
11534
  # resource path
10653
11535
  local_var_path = '/Quotes/{QuoteID}/Attachments/{FileName}'.sub('{' + 'QuoteID' + '}', quote_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
10654
11536
 
11537
+ # camelize keys of incoming `where` opts
11538
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
10655
11539
  # query parameters
10656
11540
  query_params = opts[:query_params] || {}
11541
+
11542
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
11543
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
11544
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
10657
11545
 
10658
11546
  # header parameters
10659
11547
  header_params = opts[:header_params] || {}
@@ -10732,8 +11620,14 @@ module XeroRuby
10732
11620
  # resource path
10733
11621
  local_var_path = '/Quotes/{QuoteID}/Attachments/{AttachmentID}'.sub('{' + 'QuoteID' + '}', quote_id.to_s).sub('{' + 'AttachmentID' + '}', attachment_id.to_s)
10734
11622
 
11623
+ # camelize keys of incoming `where` opts
11624
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
10735
11625
  # query parameters
10736
11626
  query_params = opts[:query_params] || {}
11627
+
11628
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
11629
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
11630
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
10737
11631
 
10738
11632
  # header parameters
10739
11633
  header_params = opts[:header_params] || {}
@@ -10800,8 +11694,14 @@ module XeroRuby
10800
11694
  # resource path
10801
11695
  local_var_path = '/Quotes/{QuoteID}/Attachments'.sub('{' + 'QuoteID' + '}', quote_id.to_s)
10802
11696
 
11697
+ # camelize keys of incoming `where` opts
11698
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
10803
11699
  # query parameters
10804
11700
  query_params = opts[:query_params] || {}
11701
+
11702
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
11703
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
11704
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
10805
11705
 
10806
11706
  # header parameters
10807
11707
  header_params = opts[:header_params] || {}
@@ -10867,8 +11767,14 @@ module XeroRuby
10867
11767
  # resource path
10868
11768
  local_var_path = '/Quotes/{QuoteID}/History'.sub('{' + 'QuoteID' + '}', quote_id.to_s)
10869
11769
 
11770
+ # camelize keys of incoming `where` opts
11771
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
10870
11772
  # query parameters
10871
11773
  query_params = opts[:query_params] || {}
11774
+
11775
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
11776
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
11777
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
10872
11778
 
10873
11779
  # header parameters
10874
11780
  header_params = opts[:header_params] || {}
@@ -10946,6 +11852,8 @@ module XeroRuby
10946
11852
  # resource path
10947
11853
  local_var_path = '/Quotes'
10948
11854
 
11855
+ # camelize keys of incoming `where` opts
11856
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
10949
11857
  # query parameters
10950
11858
  query_params = opts[:query_params] || {}
10951
11859
  query_params[:'DateFrom'] = opts[:'date_from'] if !opts[:'date_from'].nil?
@@ -10956,6 +11864,10 @@ module XeroRuby
10956
11864
  query_params[:'Status'] = opts[:'status'] if !opts[:'status'].nil?
10957
11865
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
10958
11866
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
11867
+
11868
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
11869
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
11870
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
10959
11871
 
10960
11872
  # header parameters
10961
11873
  header_params = opts[:header_params] || {}
@@ -11024,9 +11936,15 @@ module XeroRuby
11024
11936
  # resource path
11025
11937
  local_var_path = '/Receipts/{ReceiptID}'.sub('{' + 'ReceiptID' + '}', receipt_id.to_s)
11026
11938
 
11939
+ # camelize keys of incoming `where` opts
11940
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
11027
11941
  # query parameters
11028
11942
  query_params = opts[:query_params] || {}
11029
11943
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
11944
+
11945
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
11946
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
11947
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
11030
11948
 
11031
11949
  # header parameters
11032
11950
  header_params = opts[:header_params] || {}
@@ -11104,8 +12022,14 @@ module XeroRuby
11104
12022
  # resource path
11105
12023
  local_var_path = '/Receipts/{ReceiptID}/Attachments/{FileName}'.sub('{' + 'ReceiptID' + '}', receipt_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
11106
12024
 
12025
+ # camelize keys of incoming `where` opts
12026
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
11107
12027
  # query parameters
11108
12028
  query_params = opts[:query_params] || {}
12029
+
12030
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
12031
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
12032
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
11109
12033
 
11110
12034
  # header parameters
11111
12035
  header_params = opts[:header_params] || {}
@@ -11184,8 +12108,14 @@ module XeroRuby
11184
12108
  # resource path
11185
12109
  local_var_path = '/Receipts/{ReceiptID}/Attachments/{AttachmentID}'.sub('{' + 'ReceiptID' + '}', receipt_id.to_s).sub('{' + 'AttachmentID' + '}', attachment_id.to_s)
11186
12110
 
12111
+ # camelize keys of incoming `where` opts
12112
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
11187
12113
  # query parameters
11188
12114
  query_params = opts[:query_params] || {}
12115
+
12116
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
12117
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
12118
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
11189
12119
 
11190
12120
  # header parameters
11191
12121
  header_params = opts[:header_params] || {}
@@ -11252,8 +12182,14 @@ module XeroRuby
11252
12182
  # resource path
11253
12183
  local_var_path = '/Receipts/{ReceiptID}/Attachments'.sub('{' + 'ReceiptID' + '}', receipt_id.to_s)
11254
12184
 
12185
+ # camelize keys of incoming `where` opts
12186
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
11255
12187
  # query parameters
11256
12188
  query_params = opts[:query_params] || {}
12189
+
12190
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
12191
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
12192
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
11257
12193
 
11258
12194
  # header parameters
11259
12195
  header_params = opts[:header_params] || {}
@@ -11319,8 +12255,14 @@ module XeroRuby
11319
12255
  # resource path
11320
12256
  local_var_path = '/Receipts/{ReceiptID}/History'.sub('{' + 'ReceiptID' + '}', receipt_id.to_s)
11321
12257
 
12258
+ # camelize keys of incoming `where` opts
12259
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
11322
12260
  # query parameters
11323
12261
  query_params = opts[:query_params] || {}
12262
+
12263
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
12264
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
12265
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
11324
12266
 
11325
12267
  # header parameters
11326
12268
  header_params = opts[:header_params] || {}
@@ -11388,11 +12330,17 @@ module XeroRuby
11388
12330
  # resource path
11389
12331
  local_var_path = '/Receipts'
11390
12332
 
12333
+ # camelize keys of incoming `where` opts
12334
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
11391
12335
  # query parameters
11392
12336
  query_params = opts[:query_params] || {}
11393
12337
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
11394
12338
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
11395
12339
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
12340
+
12341
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
12342
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
12343
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
11396
12344
 
11397
12345
  # header parameters
11398
12346
  header_params = opts[:header_params] || {}
@@ -11459,8 +12407,14 @@ module XeroRuby
11459
12407
  # resource path
11460
12408
  local_var_path = '/RepeatingInvoices/{RepeatingInvoiceID}'.sub('{' + 'RepeatingInvoiceID' + '}', repeating_invoice_id.to_s)
11461
12409
 
12410
+ # camelize keys of incoming `where` opts
12411
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
11462
12412
  # query parameters
11463
12413
  query_params = opts[:query_params] || {}
12414
+
12415
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
12416
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
12417
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
11464
12418
 
11465
12419
  # header parameters
11466
12420
  header_params = opts[:header_params] || {}
@@ -11538,8 +12492,14 @@ module XeroRuby
11538
12492
  # resource path
11539
12493
  local_var_path = '/RepeatingInvoices/{RepeatingInvoiceID}/Attachments/{FileName}'.sub('{' + 'RepeatingInvoiceID' + '}', repeating_invoice_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
11540
12494
 
12495
+ # camelize keys of incoming `where` opts
12496
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
11541
12497
  # query parameters
11542
12498
  query_params = opts[:query_params] || {}
12499
+
12500
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
12501
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
12502
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
11543
12503
 
11544
12504
  # header parameters
11545
12505
  header_params = opts[:header_params] || {}
@@ -11618,8 +12578,14 @@ module XeroRuby
11618
12578
  # resource path
11619
12579
  local_var_path = '/RepeatingInvoices/{RepeatingInvoiceID}/Attachments/{AttachmentID}'.sub('{' + 'RepeatingInvoiceID' + '}', repeating_invoice_id.to_s).sub('{' + 'AttachmentID' + '}', attachment_id.to_s)
11620
12580
 
12581
+ # camelize keys of incoming `where` opts
12582
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
11621
12583
  # query parameters
11622
12584
  query_params = opts[:query_params] || {}
12585
+
12586
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
12587
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
12588
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
11623
12589
 
11624
12590
  # header parameters
11625
12591
  header_params = opts[:header_params] || {}
@@ -11686,8 +12652,14 @@ module XeroRuby
11686
12652
  # resource path
11687
12653
  local_var_path = '/RepeatingInvoices/{RepeatingInvoiceID}/Attachments'.sub('{' + 'RepeatingInvoiceID' + '}', repeating_invoice_id.to_s)
11688
12654
 
12655
+ # camelize keys of incoming `where` opts
12656
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
11689
12657
  # query parameters
11690
12658
  query_params = opts[:query_params] || {}
12659
+
12660
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
12661
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
12662
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
11691
12663
 
11692
12664
  # header parameters
11693
12665
  header_params = opts[:header_params] || {}
@@ -11753,8 +12725,14 @@ module XeroRuby
11753
12725
  # resource path
11754
12726
  local_var_path = '/RepeatingInvoices/{RepeatingInvoiceID}/History'.sub('{' + 'RepeatingInvoiceID' + '}', repeating_invoice_id.to_s)
11755
12727
 
12728
+ # camelize keys of incoming `where` opts
12729
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
11756
12730
  # query parameters
11757
12731
  query_params = opts[:query_params] || {}
12732
+
12733
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
12734
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
12735
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
11758
12736
 
11759
12737
  # header parameters
11760
12738
  header_params = opts[:header_params] || {}
@@ -11818,10 +12796,16 @@ module XeroRuby
11818
12796
  # resource path
11819
12797
  local_var_path = '/RepeatingInvoices'
11820
12798
 
12799
+ # camelize keys of incoming `where` opts
12800
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
11821
12801
  # query parameters
11822
12802
  query_params = opts[:query_params] || {}
11823
12803
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
11824
12804
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
12805
+
12806
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
12807
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
12808
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
11825
12809
 
11826
12810
  # header parameters
11827
12811
  header_params = opts[:header_params] || {}
@@ -11893,12 +12877,18 @@ module XeroRuby
11893
12877
  # resource path
11894
12878
  local_var_path = '/Reports/AgedPayablesByContact'
11895
12879
 
12880
+ # camelize keys of incoming `where` opts
12881
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
11896
12882
  # query parameters
11897
12883
  query_params = opts[:query_params] || {}
11898
12884
  query_params[:'contactId'] = contact_id
11899
12885
  query_params[:'date'] = opts[:'date'] if !opts[:'date'].nil?
11900
12886
  query_params[:'fromDate'] = opts[:'from_date'] if !opts[:'from_date'].nil?
11901
12887
  query_params[:'toDate'] = opts[:'to_date'] if !opts[:'to_date'].nil?
12888
+
12889
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
12890
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
12891
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
11902
12892
 
11903
12893
  # header parameters
11904
12894
  header_params = opts[:header_params] || {}
@@ -11970,12 +12960,18 @@ module XeroRuby
11970
12960
  # resource path
11971
12961
  local_var_path = '/Reports/AgedReceivablesByContact'
11972
12962
 
12963
+ # camelize keys of incoming `where` opts
12964
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
11973
12965
  # query parameters
11974
12966
  query_params = opts[:query_params] || {}
11975
12967
  query_params[:'contactId'] = contact_id
11976
12968
  query_params[:'date'] = opts[:'date'] if !opts[:'date'].nil?
11977
12969
  query_params[:'fromDate'] = opts[:'from_date'] if !opts[:'from_date'].nil?
11978
12970
  query_params[:'toDate'] = opts[:'to_date'] if !opts[:'to_date'].nil?
12971
+
12972
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
12973
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
12974
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
11979
12975
 
11980
12976
  # header parameters
11981
12977
  header_params = opts[:header_params] || {}
@@ -12041,8 +13037,14 @@ module XeroRuby
12041
13037
  # resource path
12042
13038
  local_var_path = '/Reports/{ReportID}'.sub('{' + 'ReportID' + '}', report_id.to_s)
12043
13039
 
13040
+ # camelize keys of incoming `where` opts
13041
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
12044
13042
  # query parameters
12045
13043
  query_params = opts[:query_params] || {}
13044
+
13045
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
13046
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
13047
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
12046
13048
 
12047
13049
  # header parameters
12048
13050
  header_params = opts[:header_params] || {}
@@ -12102,8 +13104,14 @@ module XeroRuby
12102
13104
  # resource path
12103
13105
  local_var_path = '/Reports'
12104
13106
 
13107
+ # camelize keys of incoming `where` opts
13108
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
12105
13109
  # query parameters
12106
13110
  query_params = opts[:query_params] || {}
13111
+
13112
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
13113
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
13114
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
12107
13115
 
12108
13116
  # header parameters
12109
13117
  header_params = opts[:header_params] || {}
@@ -12181,6 +13189,8 @@ module XeroRuby
12181
13189
  # resource path
12182
13190
  local_var_path = '/Reports/BalanceSheet'
12183
13191
 
13192
+ # camelize keys of incoming `where` opts
13193
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
12184
13194
  # query parameters
12185
13195
  query_params = opts[:query_params] || {}
12186
13196
  query_params[:'date'] = opts[:'date'] if !opts[:'date'].nil?
@@ -12190,6 +13200,10 @@ module XeroRuby
12190
13200
  query_params[:'trackingOptionID2'] = opts[:'tracking_option_id2'] if !opts[:'tracking_option_id2'].nil?
12191
13201
  query_params[:'standardLayout'] = opts[:'standard_layout'] if !opts[:'standard_layout'].nil?
12192
13202
  query_params[:'paymentsOnly'] = opts[:'payments_only'] if !opts[:'payments_only'].nil?
13203
+
13204
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
13205
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
13206
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
12193
13207
 
12194
13208
  # header parameters
12195
13209
  header_params = opts[:header_params] || {}
@@ -12253,10 +13267,16 @@ module XeroRuby
12253
13267
  # resource path
12254
13268
  local_var_path = '/Reports/BankSummary'
12255
13269
 
13270
+ # camelize keys of incoming `where` opts
13271
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
12256
13272
  # query parameters
12257
13273
  query_params = opts[:query_params] || {}
12258
13274
  query_params[:'fromDate'] = opts[:'from_date'] if !opts[:'from_date'].nil?
12259
13275
  query_params[:'toDate'] = opts[:'to_date'] if !opts[:'to_date'].nil?
13276
+
13277
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
13278
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
13279
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
12260
13280
 
12261
13281
  # header parameters
12262
13282
  header_params = opts[:header_params] || {}
@@ -12322,11 +13342,17 @@ module XeroRuby
12322
13342
  # resource path
12323
13343
  local_var_path = '/Reports/BudgetSummary'
12324
13344
 
13345
+ # camelize keys of incoming `where` opts
13346
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
12325
13347
  # query parameters
12326
13348
  query_params = opts[:query_params] || {}
12327
13349
  query_params[:'date'] = opts[:'date'] if !opts[:'date'].nil?
12328
13350
  query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
12329
13351
  query_params[:'timeframe'] = opts[:'timeframe'] if !opts[:'timeframe'].nil?
13352
+
13353
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
13354
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
13355
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
12330
13356
 
12331
13357
  # header parameters
12332
13358
  header_params = opts[:header_params] || {}
@@ -12388,9 +13414,15 @@ module XeroRuby
12388
13414
  # resource path
12389
13415
  local_var_path = '/Reports/ExecutiveSummary'
12390
13416
 
13417
+ # camelize keys of incoming `where` opts
13418
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
12391
13419
  # query parameters
12392
13420
  query_params = opts[:query_params] || {}
12393
13421
  query_params[:'date'] = opts[:'date'] if !opts[:'date'].nil?
13422
+
13423
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
13424
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
13425
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
12394
13426
 
12395
13427
  # header parameters
12396
13428
  header_params = opts[:header_params] || {}
@@ -12474,6 +13506,8 @@ module XeroRuby
12474
13506
  # resource path
12475
13507
  local_var_path = '/Reports/ProfitAndLoss'
12476
13508
 
13509
+ # camelize keys of incoming `where` opts
13510
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
12477
13511
  # query parameters
12478
13512
  query_params = opts[:query_params] || {}
12479
13513
  query_params[:'fromDate'] = opts[:'from_date'] if !opts[:'from_date'].nil?
@@ -12486,6 +13520,10 @@ module XeroRuby
12486
13520
  query_params[:'trackingOptionID2'] = opts[:'tracking_option_id2'] if !opts[:'tracking_option_id2'].nil?
12487
13521
  query_params[:'standardLayout'] = opts[:'standard_layout'] if !opts[:'standard_layout'].nil?
12488
13522
  query_params[:'paymentsOnly'] = opts[:'payments_only'] if !opts[:'payments_only'].nil?
13523
+
13524
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
13525
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
13526
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
12489
13527
 
12490
13528
  # header parameters
12491
13529
  header_params = opts[:header_params] || {}
@@ -12547,9 +13585,15 @@ module XeroRuby
12547
13585
  # resource path
12548
13586
  local_var_path = '/Reports/TenNinetyNine'
12549
13587
 
13588
+ # camelize keys of incoming `where` opts
13589
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
12550
13590
  # query parameters
12551
13591
  query_params = opts[:query_params] || {}
12552
13592
  query_params[:'reportYear'] = opts[:'report_year'] if !opts[:'report_year'].nil?
13593
+
13594
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
13595
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
13596
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
12553
13597
 
12554
13598
  # header parameters
12555
13599
  header_params = opts[:header_params] || {}
@@ -12613,10 +13657,16 @@ module XeroRuby
12613
13657
  # resource path
12614
13658
  local_var_path = '/Reports/TrialBalance'
12615
13659
 
13660
+ # camelize keys of incoming `where` opts
13661
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
12616
13662
  # query parameters
12617
13663
  query_params = opts[:query_params] || {}
12618
13664
  query_params[:'date'] = opts[:'date'] if !opts[:'date'].nil?
12619
13665
  query_params[:'paymentsOnly'] = opts[:'payments_only'] if !opts[:'payments_only'].nil?
13666
+
13667
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
13668
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
13669
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
12620
13670
 
12621
13671
  # header parameters
12622
13672
  header_params = opts[:header_params] || {}
@@ -12682,11 +13732,17 @@ module XeroRuby
12682
13732
  # resource path
12683
13733
  local_var_path = '/TaxRates'
12684
13734
 
13735
+ # camelize keys of incoming `where` opts
13736
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
12685
13737
  # query parameters
12686
13738
  query_params = opts[:query_params] || {}
12687
13739
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
12688
13740
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
12689
13741
  query_params[:'TaxType'] = opts[:'tax_type'] if !opts[:'tax_type'].nil?
13742
+
13743
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
13744
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
13745
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
12690
13746
 
12691
13747
  # header parameters
12692
13748
  header_params = opts[:header_params] || {}
@@ -12752,11 +13808,17 @@ module XeroRuby
12752
13808
  # resource path
12753
13809
  local_var_path = '/TrackingCategories'
12754
13810
 
13811
+ # camelize keys of incoming `where` opts
13812
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
12755
13813
  # query parameters
12756
13814
  query_params = opts[:query_params] || {}
12757
13815
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
12758
13816
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
12759
13817
  query_params[:'includeArchived'] = opts[:'include_archived'] if !opts[:'include_archived'].nil?
13818
+
13819
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
13820
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
13821
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
12760
13822
 
12761
13823
  # header parameters
12762
13824
  header_params = opts[:header_params] || {}
@@ -12822,8 +13884,14 @@ module XeroRuby
12822
13884
  # resource path
12823
13885
  local_var_path = '/TrackingCategories/{TrackingCategoryID}'.sub('{' + 'TrackingCategoryID' + '}', tracking_category_id.to_s)
12824
13886
 
13887
+ # camelize keys of incoming `where` opts
13888
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
12825
13889
  # query parameters
12826
13890
  query_params = opts[:query_params] || {}
13891
+
13892
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
13893
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
13894
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
12827
13895
 
12828
13896
  # header parameters
12829
13897
  header_params = opts[:header_params] || {}
@@ -12889,8 +13957,14 @@ module XeroRuby
12889
13957
  # resource path
12890
13958
  local_var_path = '/Users/{UserID}'.sub('{' + 'UserID' + '}', user_id.to_s)
12891
13959
 
13960
+ # camelize keys of incoming `where` opts
13961
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
12892
13962
  # query parameters
12893
13963
  query_params = opts[:query_params] || {}
13964
+
13965
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
13966
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
13967
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
12894
13968
 
12895
13969
  # header parameters
12896
13970
  header_params = opts[:header_params] || {}
@@ -12956,10 +14030,16 @@ module XeroRuby
12956
14030
  # resource path
12957
14031
  local_var_path = '/Users'
12958
14032
 
14033
+ # camelize keys of incoming `where` opts
14034
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
12959
14035
  # query parameters
12960
14036
  query_params = opts[:query_params] || {}
12961
14037
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
12962
14038
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
14039
+
14040
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
14041
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
14042
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
12963
14043
 
12964
14044
  # header parameters
12965
14045
  header_params = opts[:header_params] || {}
@@ -13032,8 +14112,14 @@ module XeroRuby
13032
14112
  # resource path
13033
14113
  local_var_path = '/Accounts/{AccountID}'.sub('{' + 'AccountID' + '}', account_id.to_s)
13034
14114
 
14115
+ # camelize keys of incoming `where` opts
14116
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
13035
14117
  # query parameters
13036
14118
  query_params = opts[:query_params] || {}
14119
+
14120
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
14121
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
14122
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
13037
14123
 
13038
14124
  # header parameters
13039
14125
  header_params = opts[:header_params] || {}
@@ -13113,8 +14199,14 @@ module XeroRuby
13113
14199
  # resource path
13114
14200
  local_var_path = '/Accounts/{AccountID}/Attachments/{FileName}'.sub('{' + 'AccountID' + '}', account_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
13115
14201
 
14202
+ # camelize keys of incoming `where` opts
14203
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
13116
14204
  # query parameters
13117
14205
  query_params = opts[:query_params] || {}
14206
+
14207
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
14208
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
14209
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
13118
14210
 
13119
14211
  # header parameters
13120
14212
  header_params = opts[:header_params] || {}
@@ -13190,9 +14282,15 @@ module XeroRuby
13190
14282
  # resource path
13191
14283
  local_var_path = '/BankTransactions/{BankTransactionID}'.sub('{' + 'BankTransactionID' + '}', bank_transaction_id.to_s)
13192
14284
 
14285
+ # camelize keys of incoming `where` opts
14286
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
13193
14287
  # query parameters
13194
14288
  query_params = opts[:query_params] || {}
13195
14289
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
14290
+
14291
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
14292
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
14293
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
13196
14294
 
13197
14295
  # header parameters
13198
14296
  header_params = opts[:header_params] || {}
@@ -13272,8 +14370,14 @@ module XeroRuby
13272
14370
  # resource path
13273
14371
  local_var_path = '/BankTransactions/{BankTransactionID}/Attachments/{FileName}'.sub('{' + 'BankTransactionID' + '}', bank_transaction_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
13274
14372
 
14373
+ # camelize keys of incoming `where` opts
14374
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
13275
14375
  # query parameters
13276
14376
  query_params = opts[:query_params] || {}
14377
+
14378
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
14379
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
14380
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
13277
14381
 
13278
14382
  # header parameters
13279
14383
  header_params = opts[:header_params] || {}
@@ -13351,8 +14455,14 @@ module XeroRuby
13351
14455
  # resource path
13352
14456
  local_var_path = '/BankTransfers/{BankTransferID}/Attachments/{FileName}'.sub('{' + 'BankTransferID' + '}', bank_transfer_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
13353
14457
 
14458
+ # camelize keys of incoming `where` opts
14459
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
13354
14460
  # query parameters
13355
14461
  query_params = opts[:query_params] || {}
14462
+
14463
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
14464
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
14465
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
13356
14466
 
13357
14467
  # header parameters
13358
14468
  header_params = opts[:header_params] || {}
@@ -13424,8 +14534,14 @@ module XeroRuby
13424
14534
  # resource path
13425
14535
  local_var_path = '/Contacts/{ContactID}'.sub('{' + 'ContactID' + '}', contact_id.to_s)
13426
14536
 
14537
+ # camelize keys of incoming `where` opts
14538
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
13427
14539
  # query parameters
13428
14540
  query_params = opts[:query_params] || {}
14541
+
14542
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
14543
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
14544
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
13429
14545
 
13430
14546
  # header parameters
13431
14547
  header_params = opts[:header_params] || {}
@@ -13503,8 +14619,14 @@ module XeroRuby
13503
14619
  # resource path
13504
14620
  local_var_path = '/Contacts/{ContactID}/Attachments/{FileName}'.sub('{' + 'ContactID' + '}', contact_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
13505
14621
 
14622
+ # camelize keys of incoming `where` opts
14623
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
13506
14624
  # query parameters
13507
14625
  query_params = opts[:query_params] || {}
14626
+
14627
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
14628
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
14629
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
13508
14630
 
13509
14631
  # header parameters
13510
14632
  header_params = opts[:header_params] || {}
@@ -13578,8 +14700,14 @@ module XeroRuby
13578
14700
  # resource path
13579
14701
  local_var_path = '/ContactGroups/{ContactGroupID}'.sub('{' + 'ContactGroupID' + '}', contact_group_id.to_s)
13580
14702
 
14703
+ # camelize keys of incoming `where` opts
14704
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
13581
14705
  # query parameters
13582
14706
  query_params = opts[:query_params] || {}
14707
+
14708
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
14709
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
14710
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
13583
14711
 
13584
14712
  # header parameters
13585
14713
  header_params = opts[:header_params] || {}
@@ -13655,9 +14783,15 @@ module XeroRuby
13655
14783
  # resource path
13656
14784
  local_var_path = '/CreditNotes/{CreditNoteID}'.sub('{' + 'CreditNoteID' + '}', credit_note_id.to_s)
13657
14785
 
14786
+ # camelize keys of incoming `where` opts
14787
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
13658
14788
  # query parameters
13659
14789
  query_params = opts[:query_params] || {}
13660
14790
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
14791
+
14792
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
14793
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
14794
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
13661
14795
 
13662
14796
  # header parameters
13663
14797
  header_params = opts[:header_params] || {}
@@ -13737,8 +14871,14 @@ module XeroRuby
13737
14871
  # resource path
13738
14872
  local_var_path = '/CreditNotes/{CreditNoteID}/Attachments/{FileName}'.sub('{' + 'CreditNoteID' + '}', credit_note_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
13739
14873
 
14874
+ # camelize keys of incoming `where` opts
14875
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
13740
14876
  # query parameters
13741
14877
  query_params = opts[:query_params] || {}
14878
+
14879
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
14880
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
14881
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
13742
14882
 
13743
14883
  # header parameters
13744
14884
  header_params = opts[:header_params] || {}
@@ -13812,8 +14952,14 @@ module XeroRuby
13812
14952
  # resource path
13813
14953
  local_var_path = '/ExpenseClaims/{ExpenseClaimID}'.sub('{' + 'ExpenseClaimID' + '}', expense_claim_id.to_s)
13814
14954
 
14955
+ # camelize keys of incoming `where` opts
14956
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
13815
14957
  # query parameters
13816
14958
  query_params = opts[:query_params] || {}
14959
+
14960
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
14961
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
14962
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
13817
14963
 
13818
14964
  # header parameters
13819
14965
  header_params = opts[:header_params] || {}
@@ -13889,9 +15035,15 @@ module XeroRuby
13889
15035
  # resource path
13890
15036
  local_var_path = '/Invoices/{InvoiceID}'.sub('{' + 'InvoiceID' + '}', invoice_id.to_s)
13891
15037
 
15038
+ # camelize keys of incoming `where` opts
15039
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
13892
15040
  # query parameters
13893
15041
  query_params = opts[:query_params] || {}
13894
15042
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
15043
+
15044
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
15045
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
15046
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
13895
15047
 
13896
15048
  # header parameters
13897
15049
  header_params = opts[:header_params] || {}
@@ -13971,8 +15123,14 @@ module XeroRuby
13971
15123
  # resource path
13972
15124
  local_var_path = '/Invoices/{InvoiceID}/Attachments/{FileName}'.sub('{' + 'InvoiceID' + '}', invoice_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
13973
15125
 
15126
+ # camelize keys of incoming `where` opts
15127
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
13974
15128
  # query parameters
13975
15129
  query_params = opts[:query_params] || {}
15130
+
15131
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
15132
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
15133
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
13976
15134
 
13977
15135
  # header parameters
13978
15136
  header_params = opts[:header_params] || {}
@@ -14048,9 +15206,15 @@ module XeroRuby
14048
15206
  # resource path
14049
15207
  local_var_path = '/Items/{ItemID}'.sub('{' + 'ItemID' + '}', item_id.to_s)
14050
15208
 
15209
+ # camelize keys of incoming `where` opts
15210
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
14051
15211
  # query parameters
14052
15212
  query_params = opts[:query_params] || {}
14053
15213
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
15214
+
15215
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
15216
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
15217
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
14054
15218
 
14055
15219
  # header parameters
14056
15220
  header_params = opts[:header_params] || {}
@@ -14124,8 +15288,14 @@ module XeroRuby
14124
15288
  # resource path
14125
15289
  local_var_path = '/LinkedTransactions/{LinkedTransactionID}'.sub('{' + 'LinkedTransactionID' + '}', linked_transaction_id.to_s)
14126
15290
 
15291
+ # camelize keys of incoming `where` opts
15292
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
14127
15293
  # query parameters
14128
15294
  query_params = opts[:query_params] || {}
15295
+
15296
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
15297
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
15298
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
14129
15299
 
14130
15300
  # header parameters
14131
15301
  header_params = opts[:header_params] || {}
@@ -14199,8 +15369,14 @@ module XeroRuby
14199
15369
  # resource path
14200
15370
  local_var_path = '/ManualJournals/{ManualJournalID}'.sub('{' + 'ManualJournalID' + '}', manual_journal_id.to_s)
14201
15371
 
15372
+ # camelize keys of incoming `where` opts
15373
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
14202
15374
  # query parameters
14203
15375
  query_params = opts[:query_params] || {}
15376
+
15377
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
15378
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
15379
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
14204
15380
 
14205
15381
  # header parameters
14206
15382
  header_params = opts[:header_params] || {}
@@ -14280,8 +15456,14 @@ module XeroRuby
14280
15456
  # resource path
14281
15457
  local_var_path = '/ManualJournals/{ManualJournalID}/Attachments/{FileName}'.sub('{' + 'ManualJournalID' + '}', manual_journal_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
14282
15458
 
15459
+ # camelize keys of incoming `where` opts
15460
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
14283
15461
  # query parameters
14284
15462
  query_params = opts[:query_params] || {}
15463
+
15464
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
15465
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
15466
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
14285
15467
 
14286
15468
  # header parameters
14287
15469
  header_params = opts[:header_params] || {}
@@ -14353,10 +15535,16 @@ module XeroRuby
14353
15535
  # resource path
14354
15536
  local_var_path = '/BankTransactions'
14355
15537
 
15538
+ # camelize keys of incoming `where` opts
15539
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
14356
15540
  # query parameters
14357
15541
  query_params = opts[:query_params] || {}
14358
15542
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
14359
15543
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
15544
+
15545
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
15546
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
15547
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
14360
15548
 
14361
15549
  # header parameters
14362
15550
  header_params = opts[:header_params] || {}
@@ -14426,9 +15614,15 @@ module XeroRuby
14426
15614
  # resource path
14427
15615
  local_var_path = '/Contacts'
14428
15616
 
15617
+ # camelize keys of incoming `where` opts
15618
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
14429
15619
  # query parameters
14430
15620
  query_params = opts[:query_params] || {}
14431
15621
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
15622
+
15623
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
15624
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
15625
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
14432
15626
 
14433
15627
  # header parameters
14434
15628
  header_params = opts[:header_params] || {}
@@ -14500,10 +15694,16 @@ module XeroRuby
14500
15694
  # resource path
14501
15695
  local_var_path = '/CreditNotes'
14502
15696
 
15697
+ # camelize keys of incoming `where` opts
15698
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
14503
15699
  # query parameters
14504
15700
  query_params = opts[:query_params] || {}
14505
15701
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
14506
15702
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
15703
+
15704
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
15705
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
15706
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
14507
15707
 
14508
15708
  # header parameters
14509
15709
  header_params = opts[:header_params] || {}
@@ -14573,9 +15773,15 @@ module XeroRuby
14573
15773
  # resource path
14574
15774
  local_var_path = '/Employees'
14575
15775
 
15776
+ # camelize keys of incoming `where` opts
15777
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
14576
15778
  # query parameters
14577
15779
  query_params = opts[:query_params] || {}
14578
15780
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
15781
+
15782
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
15783
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
15784
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
14579
15785
 
14580
15786
  # header parameters
14581
15787
  header_params = opts[:header_params] || {}
@@ -14647,10 +15853,16 @@ module XeroRuby
14647
15853
  # resource path
14648
15854
  local_var_path = '/Invoices'
14649
15855
 
15856
+ # camelize keys of incoming `where` opts
15857
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
14650
15858
  # query parameters
14651
15859
  query_params = opts[:query_params] || {}
14652
15860
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
14653
15861
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
15862
+
15863
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
15864
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
15865
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
14654
15866
 
14655
15867
  # header parameters
14656
15868
  header_params = opts[:header_params] || {}
@@ -14722,10 +15934,16 @@ module XeroRuby
14722
15934
  # resource path
14723
15935
  local_var_path = '/Items'
14724
15936
 
15937
+ # camelize keys of incoming `where` opts
15938
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
14725
15939
  # query parameters
14726
15940
  query_params = opts[:query_params] || {}
14727
15941
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
14728
15942
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
15943
+
15944
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
15945
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
15946
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
14729
15947
 
14730
15948
  # header parameters
14731
15949
  header_params = opts[:header_params] || {}
@@ -14795,9 +16013,15 @@ module XeroRuby
14795
16013
  # resource path
14796
16014
  local_var_path = '/ManualJournals'
14797
16015
 
16016
+ # camelize keys of incoming `where` opts
16017
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
14798
16018
  # query parameters
14799
16019
  query_params = opts[:query_params] || {}
14800
16020
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
16021
+
16022
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
16023
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
16024
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
14801
16025
 
14802
16026
  # header parameters
14803
16027
  header_params = opts[:header_params] || {}
@@ -14867,9 +16091,15 @@ module XeroRuby
14867
16091
  # resource path
14868
16092
  local_var_path = '/PurchaseOrders'
14869
16093
 
16094
+ # camelize keys of incoming `where` opts
16095
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
14870
16096
  # query parameters
14871
16097
  query_params = opts[:query_params] || {}
14872
16098
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
16099
+
16100
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
16101
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
16102
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
14873
16103
 
14874
16104
  # header parameters
14875
16105
  header_params = opts[:header_params] || {}
@@ -14939,9 +16169,15 @@ module XeroRuby
14939
16169
  # resource path
14940
16170
  local_var_path = '/Quotes'
14941
16171
 
16172
+ # camelize keys of incoming `where` opts
16173
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
14942
16174
  # query parameters
14943
16175
  query_params = opts[:query_params] || {}
14944
16176
  query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
16177
+
16178
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
16179
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
16180
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
14945
16181
 
14946
16182
  # header parameters
14947
16183
  header_params = opts[:header_params] || {}
@@ -15015,8 +16251,14 @@ module XeroRuby
15015
16251
  # resource path
15016
16252
  local_var_path = '/PurchaseOrders/{PurchaseOrderID}'.sub('{' + 'PurchaseOrderID' + '}', purchase_order_id.to_s)
15017
16253
 
16254
+ # camelize keys of incoming `where` opts
16255
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
15018
16256
  # query parameters
15019
16257
  query_params = opts[:query_params] || {}
16258
+
16259
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
16260
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
16261
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
15020
16262
 
15021
16263
  # header parameters
15022
16264
  header_params = opts[:header_params] || {}
@@ -15090,8 +16332,14 @@ module XeroRuby
15090
16332
  # resource path
15091
16333
  local_var_path = '/Quotes/{QuoteID}'.sub('{' + 'QuoteID' + '}', quote_id.to_s)
15092
16334
 
16335
+ # camelize keys of incoming `where` opts
16336
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
15093
16337
  # query parameters
15094
16338
  query_params = opts[:query_params] || {}
16339
+
16340
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
16341
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
16342
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
15095
16343
 
15096
16344
  # header parameters
15097
16345
  header_params = opts[:header_params] || {}
@@ -15171,8 +16419,14 @@ module XeroRuby
15171
16419
  # resource path
15172
16420
  local_var_path = '/Quotes/{QuoteID}/Attachments/{FileName}'.sub('{' + 'QuoteID' + '}', quote_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
15173
16421
 
16422
+ # camelize keys of incoming `where` opts
16423
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
15174
16424
  # query parameters
15175
16425
  query_params = opts[:query_params] || {}
16426
+
16427
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
16428
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
16429
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
15176
16430
 
15177
16431
  # header parameters
15178
16432
  header_params = opts[:header_params] || {}
@@ -15248,9 +16502,15 @@ module XeroRuby
15248
16502
  # resource path
15249
16503
  local_var_path = '/Receipts/{ReceiptID}'.sub('{' + 'ReceiptID' + '}', receipt_id.to_s)
15250
16504
 
16505
+ # camelize keys of incoming `where` opts
16506
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
15251
16507
  # query parameters
15252
16508
  query_params = opts[:query_params] || {}
15253
16509
  query_params[:'unitdp'] = opts[:'unitdp'] if !opts[:'unitdp'].nil?
16510
+
16511
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
16512
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
16513
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
15254
16514
 
15255
16515
  # header parameters
15256
16516
  header_params = opts[:header_params] || {}
@@ -15330,8 +16590,14 @@ module XeroRuby
15330
16590
  # resource path
15331
16591
  local_var_path = '/Receipts/{ReceiptID}/Attachments/{FileName}'.sub('{' + 'ReceiptID' + '}', receipt_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
15332
16592
 
16593
+ # camelize keys of incoming `where` opts
16594
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
15333
16595
  # query parameters
15334
16596
  query_params = opts[:query_params] || {}
16597
+
16598
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
16599
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
16600
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
15335
16601
 
15336
16602
  # header parameters
15337
16603
  header_params = opts[:header_params] || {}
@@ -15411,8 +16677,14 @@ module XeroRuby
15411
16677
  # resource path
15412
16678
  local_var_path = '/RepeatingInvoices/{RepeatingInvoiceID}/Attachments/{FileName}'.sub('{' + 'RepeatingInvoiceID' + '}', repeating_invoice_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
15413
16679
 
16680
+ # camelize keys of incoming `where` opts
16681
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
15414
16682
  # query parameters
15415
16683
  query_params = opts[:query_params] || {}
16684
+
16685
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
16686
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
16687
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
15416
16688
 
15417
16689
  # header parameters
15418
16690
  header_params = opts[:header_params] || {}
@@ -15480,8 +16752,14 @@ module XeroRuby
15480
16752
  # resource path
15481
16753
  local_var_path = '/TaxRates'
15482
16754
 
16755
+ # camelize keys of incoming `where` opts
16756
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
15483
16757
  # query parameters
15484
16758
  query_params = opts[:query_params] || {}
16759
+
16760
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
16761
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
16762
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
15485
16763
 
15486
16764
  # header parameters
15487
16765
  header_params = opts[:header_params] || {}
@@ -15555,8 +16833,14 @@ module XeroRuby
15555
16833
  # resource path
15556
16834
  local_var_path = '/TrackingCategories/{TrackingCategoryID}'.sub('{' + 'TrackingCategoryID' + '}', tracking_category_id.to_s)
15557
16835
 
16836
+ # camelize keys of incoming `where` opts
16837
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
15558
16838
  # query parameters
15559
16839
  query_params = opts[:query_params] || {}
16840
+
16841
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
16842
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
16843
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
15560
16844
 
15561
16845
  # header parameters
15562
16846
  header_params = opts[:header_params] || {}
@@ -15636,8 +16920,14 @@ module XeroRuby
15636
16920
  # resource path
15637
16921
  local_var_path = '/TrackingCategories/{TrackingCategoryID}/Options/{TrackingOptionID}'.sub('{' + 'TrackingCategoryID' + '}', tracking_category_id.to_s).sub('{' + 'TrackingOptionID' + '}', tracking_option_id.to_s)
15638
16922
 
16923
+ # camelize keys of incoming `where` opts
16924
+ opts[:'where'] = opts[:'where'].map{|k,v| "#{@api_client.camelize_key(k)}#{v}"}.join(' AND ') if !opts[:'where'].nil?
15639
16925
  # query parameters
15640
16926
  query_params = opts[:query_params] || {}
16927
+
16928
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
16929
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
16930
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
15641
16931
 
15642
16932
  # header parameters
15643
16933
  header_params = opts[:header_params] || {}