suggestgrid 0.1.15.pre.SNAPSHOT → 0.1.17.pre.SNAPSHOT

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/suggest_grid/api_helper.rb +2 -2
  4. data/lib/suggest_grid/configuration.rb +1 -1
  5. data/lib/suggest_grid/controllers/action_controller.rb +24 -18
  6. data/lib/suggest_grid/controllers/metadata_controller.rb +36 -32
  7. data/lib/suggest_grid/controllers/recommendation_controller.rb +12 -12
  8. data/lib/suggest_grid/controllers/similarity_controller.rb +12 -12
  9. data/lib/suggest_grid/controllers/type_controller.rb +12 -12
  10. data/lib/suggest_grid/exceptions/bulk_schema_error_response_exception.rb +37 -0
  11. data/lib/suggest_grid/exceptions/detailed_error_response_exception.rb +42 -0
  12. data/lib/suggest_grid/exceptions/error_response_exception.rb +37 -0
  13. data/lib/suggest_grid/exceptions/limit_exceeded_error_response_exception.rb +47 -0
  14. data/lib/suggest_grid/models/action.rb +15 -19
  15. data/lib/suggest_grid/models/base_model.rb +32 -0
  16. data/lib/suggest_grid/models/count_response.rb +12 -16
  17. data/lib/suggest_grid/models/delete_error_response.rb +80 -0
  18. data/lib/suggest_grid/models/delete_success_response.rb +62 -0
  19. data/lib/suggest_grid/models/get_recommended_items_body.rb +39 -32
  20. data/lib/suggest_grid/models/get_recommended_users_body.rb +39 -32
  21. data/lib/suggest_grid/models/get_similar_items_body.rb +27 -30
  22. data/lib/suggest_grid/models/get_similar_users_body.rb +27 -30
  23. data/lib/suggest_grid/models/get_type_response.rb +12 -16
  24. data/lib/suggest_grid/models/get_types_response.rb +12 -16
  25. data/lib/suggest_grid/models/items_response.rb +12 -16
  26. data/lib/suggest_grid/models/message_response.rb +11 -15
  27. data/lib/suggest_grid/models/metadata.rb +34 -39
  28. data/lib/suggest_grid/models/metadata_information_response.rb +11 -15
  29. data/lib/suggest_grid/models/schema_error_response.rb +13 -17
  30. data/lib/suggest_grid/models/type_request_body.rb +12 -15
  31. data/lib/suggest_grid/models/users_response.rb +12 -16
  32. data/lib/suggest_grid.rb +7 -2
  33. data/spec/swagger.yaml +235 -121
  34. metadata +10 -5
  35. data/lib/suggest_grid/models/bulk_schema_error_response.rb +0 -53
  36. data/lib/suggest_grid/models/error_response.rb +0 -48
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c02249dab28bb791116722c17977fb33500a9e9a
4
- data.tar.gz: da4dcec2787f07bdc245dea3b0fd7c3d8fcf34ed
3
+ metadata.gz: ada01f923b1b9dd491c6a8a6666b7ffe8f709b8c
4
+ data.tar.gz: 72fe56da2934b0387707159761dce05a084ca608
5
5
  SHA512:
6
- metadata.gz: afe0eceea0a2a7d9f07c6a30467d5f0aa689baa4d24d436ab31c77f07b78e0845da04e7ffd83a2d18b2e1d64bccfa240a5299a267b0f055632657d276ef558aa
7
- data.tar.gz: 016f2caf8052d210ac1e71df72ef7968c7b46525f885d5312c1db4eeaf3026c35c39666b3c20a893e2edcceefb73a6e2e9af520974b90d62183e86206aeb7755
6
+ metadata.gz: 19d22bb73bc52bb9d7a9d9bda5a55088a30d16264da5c993e55040e1359fbfce1ff860d940247385689fe82098312dfaecf70234bcd4ee0607e52106efc0bdc1
7
+ data.tar.gz: 9970d65ae9a06d043835180da9da72e4c6ec578a381cb549cc22d9f2232e732f12e1f689936acb15a76fe2f50de3acb093aff564e4896a741f32eef696fec8fa
data/README.md CHANGED
@@ -20,7 +20,7 @@ Let's implement this feature in five minutes with SuggestGrid!
20
20
 
21
21
  ### 1. Configuration
22
22
 
23
- We are beginning the development by adding the client as a dependency:
23
+ We are beginning the development by adding the client as a dependency.
24
24
 
25
25
  ```ruby
26
26
  gem 'suggest_grid', git: 'https://github.com/suggestgrid/suggestgrid-ruby.git'
@@ -113,8 +113,8 @@ module SuggestGrid
113
113
  retval = Hash.new
114
114
 
115
115
  # If this is a structure, resolve it's field names.
116
- if obj.respond_to? :key_map
117
- obj = obj.key_map
116
+ if obj.kind_of? BaseModel
117
+ obj = obj.to_hash
118
118
  end
119
119
 
120
120
  # Create a form encoded hash for this object.
@@ -3,7 +3,7 @@
3
3
  module SuggestGrid
4
4
  class Configuration
5
5
  # The base Uri for API calls
6
- @base_uri = 'http://localhost:9090'
6
+ @base_uri = 'https://example.com/api'
7
7
 
8
8
  # The username to use with basic authentication
9
9
  @basic_auth_user_name = 'TODO: Replace'
@@ -58,9 +58,9 @@ module SuggestGrid
58
58
 
59
59
  # Endpoint error handling using HTTP status codes.
60
60
  if _response.status_code == 400
61
- raise APIException.new '400 - Required `user_id` or `item_id` parameters are missing from the request body.', _context
61
+ raise ErrorResponseException.new '400 - Required `user_id` or `item_id` parameters are missing from the request body.', _context
62
62
  elsif _response.status_code == 429
63
- raise APIException.new '429 - Too many requests.', _context
63
+ raise ErrorResponseException.new '429 - Too many requests.', _context
64
64
  elsif _response.status_code == 500
65
65
  raise APIException.new '500 - Unexpected internal error.', _context
66
66
  end
@@ -74,9 +74,9 @@ module SuggestGrid
74
74
  end
75
75
 
76
76
  # Post an Action
77
- # @param [Action] body Required parameter: The action to be posted.
77
+ # @param [Action] action Required parameter: The action to be posted.
78
78
  # @return MessageResponse response from the API call
79
- def post_action(body)
79
+ def post_action(action)
80
80
  # the base uri for api requests
81
81
  _query_builder = Configuration.base_uri.dup
82
82
 
@@ -94,7 +94,7 @@ module SuggestGrid
94
94
  }
95
95
 
96
96
  # Create the HttpRequest object for the call
97
- _request = @http_client.post _query_url, headers: _headers, parameters: body.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
97
+ _request = @http_client.post _query_url, headers: _headers, parameters: action.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
98
98
 
99
99
  # Call the on_before_request callback
100
100
  @http_call_back.on_before_request(_request) if @http_call_back
@@ -110,13 +110,13 @@ module SuggestGrid
110
110
 
111
111
  # Endpoint error handling using HTTP status codes.
112
112
  if _response.status_code == 400
113
- raise APIException.new '400 - Required `user_id` or `item_id` parameters are missing from the request body.', _context
113
+ raise ErrorResponseException.new '400 - Required `user_id` or `item_id` parameters are missing from the request body.', _context
114
114
  elsif _response.status_code == 402
115
- raise APIException.new '402 - Action limit exceeded.', _context
115
+ raise ErrorResponseException.new '402 - Action limit exceeded.', _context
116
116
  elsif _response.status_code == 404
117
- raise APIException.new '404 - Type does not exists.', _context
117
+ raise ErrorResponseException.new '404 - Type does not exists.', _context
118
118
  elsif _response.status_code == 429
119
- raise APIException.new '429 - Too many requests.', _context
119
+ raise ErrorResponseException.new '429 - Too many requests.', _context
120
120
  elsif _response.status_code == 500
121
121
  raise APIException.new '500 - Unexpected internal error.', _context
122
122
  end
@@ -179,13 +179,15 @@ module SuggestGrid
179
179
 
180
180
  # Endpoint error handling using HTTP status codes.
181
181
  if _response.status_code == 400
182
- raise APIException.new '400 - Required `user_id` or `item_id` parameters are missing from the request body.', _context
182
+ raise ErrorResponseException.new '400 - Required `user_id` or `item_id` parameters are missing from the request body.', _context
183
183
  elsif _response.status_code == 404
184
- raise APIException.new '404 - Type does not exists.', _context
184
+ raise ErrorResponseException.new '404 - Type does not exists.', _context
185
185
  elsif _response.status_code == 422
186
- raise APIException.new '422 - No query parameter (`user_id`, `item_id`, or `older_than`) is given. In order to delete all actionsdelete the type.', _context
186
+ raise ErrorResponseException.new '422 - No query parameter (`user_id`, `item_id`, or `older_than`) is given. In order to delete all actionsdelete the type.', _context
187
187
  elsif _response.status_code == 429
188
- raise APIException.new '429 - Too many requests.', _context
188
+ raise ErrorResponseException.new '429 - Too many requests.', _context
189
+ elsif _response.status_code == 505
190
+ raise ErrorResponseException.new '505 - Request timed out.', _context
189
191
  elsif _response.status_code == 500
190
192
  raise APIException.new '500 - Unexpected internal error.', _context
191
193
  end
@@ -199,7 +201,7 @@ module SuggestGrid
199
201
  end
200
202
 
201
203
  # Post Bulk Actions
202
- # @param [Collection] actions Required parameter: List of actions to be posted.
204
+ # @param [Collection] actions Required parameter: List of actions to be posted.
203
205
  # @return MessageResponse response from the API call
204
206
  def post_bulk_actions(actions)
205
207
  body = ''
@@ -223,7 +225,7 @@ module SuggestGrid
223
225
  }
224
226
 
225
227
  # Create the HttpRequest object for the call
226
- _request = @http_client.post _query_url, headers: _headers, parameters: body, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
228
+ _request = @http_client.post _query_url, headers: _headers, parameters: actions, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
227
229
 
228
230
  # Call the on_before_request callback
229
231
  @http_call_back.on_before_request(_request) if @http_call_back
@@ -238,10 +240,14 @@ module SuggestGrid
238
240
  @http_call_back.on_after_response(_context) if @http_call_back
239
241
 
240
242
  # Endpoint error handling using HTTP status codes.
241
- if _response.status_code == 402
242
- raise APIException.new '402 - Action limit exceeded.', _context
243
+ if _response.status_code == 209
244
+ raise BulkSchemaErrorResponseException.new '209 - Some metadata is not uploaded successfully.', _context
245
+ elsif _response.status_code == 400
246
+ raise ErrorResponseException.new '400 - Body is missing.', _context
247
+ elsif _response.status_code == 402
248
+ raise ErrorResponseException.new '402 - Action limit exceeded.', _context
243
249
  elsif _response.status_code == 429
244
- raise APIException.new '429 - Too many requests.', _context
250
+ raise ErrorResponseException.new '429 - Too many requests.', _context
245
251
  elsif _response.status_code == 500
246
252
  raise APIException.new '500 - Unexpected internal error.', _context
247
253
  end
@@ -9,7 +9,7 @@ module SuggestGrid
9
9
  end
10
10
 
11
11
  # Delete a User
12
- # @param [String] user_id Required parameter: The user_id to delete its metadata.
12
+ # @param [String] user_id Required parameter: The user id to delete its metadata.
13
13
  # @return MessageResponse response from the API call
14
14
  def delete_user(user_id)
15
15
  # the base uri for api requests
@@ -49,7 +49,7 @@ module SuggestGrid
49
49
 
50
50
  # Endpoint error handling using HTTP status codes.
51
51
  if _response.status_code == 429
52
- raise APIException.new '429 - Too many requests.', _context
52
+ raise ErrorResponseException.new '429 - Too many requests.', _context
53
53
  elsif _response.status_code == 500
54
54
  raise APIException.new '500 - Unexpected internal error.', _context
55
55
  end
@@ -97,7 +97,7 @@ module SuggestGrid
97
97
 
98
98
  # Endpoint error handling using HTTP status codes.
99
99
  if _response.status_code == 429
100
- raise APIException.new '429 - Too many requests.', _context
100
+ raise ErrorResponseException.new '429 - Too many requests.', _context
101
101
  elsif _response.status_code == 500
102
102
  raise APIException.new '500 - Unexpected internal error.', _context
103
103
  end
@@ -111,9 +111,9 @@ module SuggestGrid
111
111
  end
112
112
 
113
113
  # Post a User
114
- # @param [Metadata] metadata Required parameter: The metadata to be saved. Metadata format has its restrictions.
114
+ # @param [Metadata] user Required parameter: The metadata to be saved. Metadata format has its restrictions.
115
115
  # @return MessageResponse response from the API call
116
- def post_user(metadata)
116
+ def post_user(user)
117
117
  # the base uri for api requests
118
118
  _query_builder = Configuration.base_uri.dup
119
119
 
@@ -131,7 +131,7 @@ module SuggestGrid
131
131
  }
132
132
 
133
133
  # Create the HttpRequest object for the call
134
- _request = @http_client.post _query_url, headers: _headers, parameters: metadata.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
134
+ _request = @http_client.post _query_url, headers: _headers, parameters: user.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
135
135
 
136
136
  # Call the on_before_request callback
137
137
  @http_call_back.on_before_request(_request) if @http_call_back
@@ -147,9 +147,9 @@ module SuggestGrid
147
147
 
148
148
  # Endpoint error handling using HTTP status codes.
149
149
  if _response.status_code == 400
150
- raise APIException.new '400 - Metadata is invalid.', _context
150
+ raise DetailedErrorResponseException.new '400 - Metadata is invalid.', _context
151
151
  elsif _response.status_code == 429
152
- raise APIException.new '429 - Too many requests.', _context
152
+ raise ErrorResponseException.new '429 - Too many requests.', _context
153
153
  elsif _response.status_code == 500
154
154
  raise APIException.new '500 - Unexpected internal error.', _context
155
155
  end
@@ -197,7 +197,7 @@ module SuggestGrid
197
197
 
198
198
  # Endpoint error handling using HTTP status codes.
199
199
  if _response.status_code == 429
200
- raise APIException.new '429 - Too many requests.', _context
200
+ raise ErrorResponseException.new '429 - Too many requests.', _context
201
201
  elsif _response.status_code == 500
202
202
  raise APIException.new '500 - Unexpected internal error.', _context
203
203
  end
@@ -211,7 +211,7 @@ module SuggestGrid
211
211
  end
212
212
 
213
213
  # Delete an Item
214
- # @param [String] item_id Required parameter: The item_id to delete its metadata.
214
+ # @param [String] item_id Required parameter: The item id to delete its metadata.
215
215
  # @return MessageResponse response from the API call
216
216
  def delete_item(item_id)
217
217
  # the base uri for api requests
@@ -251,7 +251,7 @@ module SuggestGrid
251
251
 
252
252
  # Endpoint error handling using HTTP status codes.
253
253
  if _response.status_code == 429
254
- raise APIException.new '429 - Too many requests.', _context
254
+ raise ErrorResponseException.new '429 - Too many requests.', _context
255
255
  elsif _response.status_code == 500
256
256
  raise APIException.new '500 - Unexpected internal error.', _context
257
257
  end
@@ -299,7 +299,7 @@ module SuggestGrid
299
299
 
300
300
  # Endpoint error handling using HTTP status codes.
301
301
  if _response.status_code == 429
302
- raise APIException.new '429 - Too many requests.', _context
302
+ raise ErrorResponseException.new '429 - Too many requests.', _context
303
303
  elsif _response.status_code == 500
304
304
  raise APIException.new '500 - Unexpected internal error.', _context
305
305
  end
@@ -313,9 +313,9 @@ module SuggestGrid
313
313
  end
314
314
 
315
315
  # Post an Item
316
- # @param [Metadata] body Required parameter: The metadata to be saved. Metadata format has its restrictions.
316
+ # @param [Metadata] item Required parameter: The metadata to be saved. Metadata format has its restrictions.
317
317
  # @return MessageResponse response from the API call
318
- def post_item(body)
318
+ def post_item(item)
319
319
  # the base uri for api requests
320
320
  _query_builder = Configuration.base_uri.dup
321
321
 
@@ -333,7 +333,7 @@ module SuggestGrid
333
333
  }
334
334
 
335
335
  # Create the HttpRequest object for the call
336
- _request = @http_client.post _query_url, headers: _headers, parameters: body.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
336
+ _request = @http_client.post _query_url, headers: _headers, parameters: item.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
337
337
 
338
338
  # Call the on_before_request callback
339
339
  @http_call_back.on_before_request(_request) if @http_call_back
@@ -349,9 +349,9 @@ module SuggestGrid
349
349
 
350
350
  # Endpoint error handling using HTTP status codes.
351
351
  if _response.status_code == 400
352
- raise APIException.new '400 - Metadata is invalid.', _context
352
+ raise DetailedErrorResponseException.new '400 - Metadata is invalid.', _context
353
353
  elsif _response.status_code == 429
354
- raise APIException.new '429 - Too many requests.', _context
354
+ raise ErrorResponseException.new '429 - Too many requests.', _context
355
355
  elsif _response.status_code == 500
356
356
  raise APIException.new '500 - Unexpected internal error.', _context
357
357
  end
@@ -399,7 +399,7 @@ module SuggestGrid
399
399
 
400
400
  # Endpoint error handling using HTTP status codes.
401
401
  if _response.status_code == 429
402
- raise APIException.new '429 - Too many requests.', _context
402
+ raise ErrorResponseException.new '429 - Too many requests.', _context
403
403
  elsif _response.status_code == 500
404
404
  raise APIException.new '500 - Unexpected internal error.', _context
405
405
  end
@@ -413,12 +413,12 @@ module SuggestGrid
413
413
  end
414
414
 
415
415
  # Post Bulk Users
416
- # @param [Collection] metas Required parameter: List of metadata, size is limited to 10 thousand.
416
+ # @param [Collection] users Required parameter: List of user metadata, whose size is limited to 10 thousand.
417
417
  # @return MessageResponse response from the API call
418
- def post_bulk_users(metas)
418
+ def post_bulk_users(users)
419
419
  body = ''
420
- metas.each do |meta|
421
- body += "#{meta.to_json}\n"
420
+ users.each do |user|
421
+ body += "#{user.to_json}\n"
422
422
  end
423
423
  # the base uri for api requests
424
424
  _query_builder = Configuration.base_uri.dup
@@ -437,7 +437,7 @@ module SuggestGrid
437
437
  }
438
438
 
439
439
  # Create the HttpRequest object for the call
440
- _request = @http_client.post _query_url, headers: _headers, parameters: body, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
440
+ _request = @http_client.post _query_url, headers: _headers, parameters: users, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
441
441
 
442
442
  # Call the on_before_request callback
443
443
  @http_call_back.on_before_request(_request) if @http_call_back
@@ -453,9 +453,11 @@ module SuggestGrid
453
453
 
454
454
  # Endpoint error handling using HTTP status codes.
455
455
  if _response.status_code == 209
456
- raise APIException.new '209 - Some metadata is not uploaded successfully.', _context
456
+ raise BulkSchemaErrorResponseException.new '209 - Some metadata is not uploaded successfully.', _context
457
+ elsif _response.status_code == 400
458
+ raise ErrorResponseException.new '400 - Body is missing.', _context
457
459
  elsif _response.status_code == 429
458
- raise APIException.new '429 - Too many requests.', _context
460
+ raise ErrorResponseException.new '429 - Too many requests.', _context
459
461
  elsif _response.status_code == 500
460
462
  raise APIException.new '500 - Unexpected internal error.', _context
461
463
  end
@@ -469,12 +471,12 @@ module SuggestGrid
469
471
  end
470
472
 
471
473
  # Post Bulk Items
472
- # @param [Collection] metas Required parameter: List of metadata, size is limited to 10 thousand.
474
+ # @param [Collection] items Required parameter: List of item metadata, whose size is limited to 10 thousand.
473
475
  # @return MessageResponse response from the API call
474
- def post_bulk_items(metas)
476
+ def post_bulk_items(items)
475
477
  body = ''
476
- metas.each do |meta|
477
- body += "#{meta.to_json}\n"
478
+ items.each do |item|
479
+ body += "#{item.to_json}\n"
478
480
  end
479
481
  # the base uri for api requests
480
482
  _query_builder = Configuration.base_uri.dup
@@ -493,7 +495,7 @@ module SuggestGrid
493
495
  }
494
496
 
495
497
  # Create the HttpRequest object for the call
496
- _request = @http_client.post _query_url, headers: _headers, parameters: body, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
498
+ _request = @http_client.post _query_url, headers: _headers, parameters: items, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
497
499
 
498
500
  # Call the on_before_request callback
499
501
  @http_call_back.on_before_request(_request) if @http_call_back
@@ -509,9 +511,11 @@ module SuggestGrid
509
511
 
510
512
  # Endpoint error handling using HTTP status codes.
511
513
  if _response.status_code == 209
512
- raise APIException.new '209 - Some metadata is not uploaded successfully.', _context
514
+ raise BulkSchemaErrorResponseException.new '209 - Some metadata is not uploaded successfully.', _context
515
+ elsif _response.status_code == 400
516
+ raise ErrorResponseException.new '400 - Body is missing.', _context
513
517
  elsif _response.status_code == 429
514
- raise APIException.new '429 - Too many requests.', _context
518
+ raise ErrorResponseException.new '429 - Too many requests.', _context
515
519
  elsif _response.status_code == 500
516
520
  raise APIException.new '500 - Unexpected internal error.', _context
517
521
  end
@@ -9,9 +9,9 @@ module SuggestGrid
9
9
  end
10
10
 
11
11
  # Get Recommended Users
12
- # @param [GetRecommendedUsersBody] body Required parameter: Parameters for recommend users method.
12
+ # @param [GetRecommendedUsersBody] query Required parameter: The query for recommended users.
13
13
  # @return UsersResponse response from the API call
14
- def get_recommended_users(body)
14
+ def get_recommended_users(query)
15
15
  # the base uri for api requests
16
16
  _query_builder = Configuration.base_uri.dup
17
17
 
@@ -29,7 +29,7 @@ module SuggestGrid
29
29
  }
30
30
 
31
31
  # Create the HttpRequest object for the call
32
- _request = @http_client.post _query_url, headers: _headers, parameters: body.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
32
+ _request = @http_client.post _query_url, headers: _headers, parameters: query.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
33
33
 
34
34
  # Call the on_before_request callback
35
35
  @http_call_back.on_before_request(_request) if @http_call_back
@@ -45,11 +45,11 @@ module SuggestGrid
45
45
 
46
46
  # Endpoint error handling using HTTP status codes.
47
47
  if _response.status_code == 400
48
- raise APIException.new '400 - Request body is invalid.', _context
48
+ raise ErrorResponseException.new '400 - Request body is invalid.', _context
49
49
  elsif _response.status_code == 422
50
- raise APIException.new '422 - Required parameters are missing.', _context
50
+ raise ErrorResponseException.new '422 - Required parameters are missing.', _context
51
51
  elsif _response.status_code == 429
52
- raise APIException.new '429 - Too many requests.', _context
52
+ raise ErrorResponseException.new '429 - Too many requests.', _context
53
53
  elsif _response.status_code == 500
54
54
  raise APIException.new '500 - Unexpected internal error.', _context
55
55
  end
@@ -63,9 +63,9 @@ module SuggestGrid
63
63
  end
64
64
 
65
65
  # Get Recommended Items
66
- # @param [GetRecommendedItemsBody] body Required parameter: Parameters for recommend items method.
66
+ # @param [GetRecommendedItemsBody] query Required parameter: The query for recommended items.
67
67
  # @return ItemsResponse response from the API call
68
- def get_recommended_items(body)
68
+ def get_recommended_items(query)
69
69
  # the base uri for api requests
70
70
  _query_builder = Configuration.base_uri.dup
71
71
 
@@ -83,7 +83,7 @@ module SuggestGrid
83
83
  }
84
84
 
85
85
  # Create the HttpRequest object for the call
86
- _request = @http_client.post _query_url, headers: _headers, parameters: body.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
86
+ _request = @http_client.post _query_url, headers: _headers, parameters: query.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
87
87
 
88
88
  # Call the on_before_request callback
89
89
  @http_call_back.on_before_request(_request) if @http_call_back
@@ -99,11 +99,11 @@ module SuggestGrid
99
99
 
100
100
  # Endpoint error handling using HTTP status codes.
101
101
  if _response.status_code == 400
102
- raise APIException.new '400 - Request body is invalid.', _context
102
+ raise ErrorResponseException.new '400 - Request body is invalid.', _context
103
103
  elsif _response.status_code == 422
104
- raise APIException.new '422 - Required parameters are missing.', _context
104
+ raise ErrorResponseException.new '422 - Required parameters are missing.', _context
105
105
  elsif _response.status_code == 429
106
- raise APIException.new '429 - Too many requests.', _context
106
+ raise ErrorResponseException.new '429 - Too many requests.', _context
107
107
  elsif _response.status_code == 500
108
108
  raise APIException.new '500 - Unexpected internal error.', _context
109
109
  end
@@ -9,9 +9,9 @@ module SuggestGrid
9
9
  end
10
10
 
11
11
  # Get Similar Users
12
- # @param [GetSimilarUsersBody] body Required parameter: Similar users method parameters.
12
+ # @param [GetSimilarUsersBody] query Required parameter: The query for similar users.
13
13
  # @return UsersResponse response from the API call
14
- def get_similar_users(body)
14
+ def get_similar_users(query)
15
15
  # the base uri for api requests
16
16
  _query_builder = Configuration.base_uri.dup
17
17
 
@@ -29,7 +29,7 @@ module SuggestGrid
29
29
  }
30
30
 
31
31
  # Create the HttpRequest object for the call
32
- _request = @http_client.post _query_url, headers: _headers, parameters: body.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
32
+ _request = @http_client.post _query_url, headers: _headers, parameters: query.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
33
33
 
34
34
  # Call the on_before_request callback
35
35
  @http_call_back.on_before_request(_request) if @http_call_back
@@ -45,11 +45,11 @@ module SuggestGrid
45
45
 
46
46
  # Endpoint error handling using HTTP status codes.
47
47
  if _response.status_code == 400
48
- raise APIException.new '400 - Request body is invalid.', _context
48
+ raise ErrorResponseException.new '400 - Request body is invalid.', _context
49
49
  elsif _response.status_code == 422
50
- raise APIException.new '422 - Required parameters are missing.', _context
50
+ raise ErrorResponseException.new '422 - Required parameters are missing.', _context
51
51
  elsif _response.status_code == 429
52
- raise APIException.new '429 - Too many requests.', _context
52
+ raise ErrorResponseException.new '429 - Too many requests.', _context
53
53
  elsif _response.status_code == 500
54
54
  raise APIException.new '500 - Unexpected internal error.', _context
55
55
  end
@@ -63,9 +63,9 @@ module SuggestGrid
63
63
  end
64
64
 
65
65
  # Get Similar Items
66
- # @param [GetSimilarItemsBody] body Required parameter: Similar items method parameter.
66
+ # @param [GetSimilarItemsBody] query Required parameter: The query for similar items.
67
67
  # @return ItemsResponse response from the API call
68
- def get_similar_items(body)
68
+ def get_similar_items(query)
69
69
  # the base uri for api requests
70
70
  _query_builder = Configuration.base_uri.dup
71
71
 
@@ -83,7 +83,7 @@ module SuggestGrid
83
83
  }
84
84
 
85
85
  # Create the HttpRequest object for the call
86
- _request = @http_client.post _query_url, headers: _headers, parameters: body.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
86
+ _request = @http_client.post _query_url, headers: _headers, parameters: query.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
87
87
 
88
88
  # Call the on_before_request callback
89
89
  @http_call_back.on_before_request(_request) if @http_call_back
@@ -99,11 +99,11 @@ module SuggestGrid
99
99
 
100
100
  # Endpoint error handling using HTTP status codes.
101
101
  if _response.status_code == 400
102
- raise APIException.new '400 - Request body is invalid.', _context
102
+ raise ErrorResponseException.new '400 - Request body is invalid.', _context
103
103
  elsif _response.status_code == 422
104
- raise APIException.new '422 - Required parameters are missing.', _context
104
+ raise ErrorResponseException.new '422 - Required parameters are missing.', _context
105
105
  elsif _response.status_code == 429
106
- raise APIException.new '429 - Too many requests.', _context
106
+ raise ErrorResponseException.new '429 - Too many requests.', _context
107
107
  elsif _response.status_code == 500
108
108
  raise APIException.new '500 - Unexpected internal error.', _context
109
109
  end
@@ -43,7 +43,7 @@ module SuggestGrid
43
43
 
44
44
  # Endpoint error handling using HTTP status codes.
45
45
  if _response.status_code == 429
46
- raise APIException.new '429 - Too many requests.', _context
46
+ raise ErrorResponseException.new '429 - Too many requests.', _context
47
47
  elsif _response.status_code == 500
48
48
  raise APIException.new '500 - Unexpected internal error.', _context
49
49
  end
@@ -91,7 +91,7 @@ module SuggestGrid
91
91
 
92
92
  # Endpoint error handling using HTTP status codes.
93
93
  if _response.status_code == 429
94
- raise APIException.new '429 - Too many requests.', _context
94
+ raise ErrorResponseException.new '429 - Too many requests.', _context
95
95
  elsif _response.status_code == 500
96
96
  raise APIException.new '500 - Unexpected internal error.', _context
97
97
  end
@@ -145,7 +145,7 @@ module SuggestGrid
145
145
 
146
146
  # Endpoint error handling using HTTP status codes.
147
147
  if _response.status_code == 429
148
- raise APIException.new '429 - Too many requests.', _context
148
+ raise ErrorResponseException.new '429 - Too many requests.', _context
149
149
  elsif _response.status_code == 500
150
150
  raise APIException.new '500 - Unexpected internal error.', _context
151
151
  end
@@ -160,10 +160,10 @@ module SuggestGrid
160
160
 
161
161
  # Create a New Type
162
162
  # @param [String] type Required parameter: The name of the type to be created.
163
- # @param [TypeRequestBody] body Optional parameter: Optional body for the rating parameter.
163
+ # @param [TypeRequestBody] settings Optional parameter: Optional settings for the rating parameter.
164
164
  # @return MessageResponse response from the API call
165
165
  def create_type(type,
166
- body = nil)
166
+ settings = nil)
167
167
  # the base uri for api requests
168
168
  _query_builder = Configuration.base_uri.dup
169
169
 
@@ -186,7 +186,7 @@ module SuggestGrid
186
186
  }
187
187
 
188
188
  # Create the HttpRequest object for the call
189
- _request = @http_client.put _query_url, headers: _headers, parameters: body.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
189
+ _request = @http_client.put _query_url, headers: _headers, parameters: settings.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
190
190
 
191
191
  # Call the on_before_request callback
192
192
  @http_call_back.on_before_request(_request) if @http_call_back
@@ -202,13 +202,13 @@ module SuggestGrid
202
202
 
203
203
  # Endpoint error handling using HTTP status codes.
204
204
  if _response.status_code == 402
205
- raise APIException.new '402 - Type limit reached.', _context
205
+ raise LimitExceededErrorResponseException.new '402 - Type limit reached.', _context
206
206
  elsif _response.status_code == 409
207
- raise APIException.new '409 - Type already exists.', _context
207
+ raise ErrorResponseException.new '409 - Type already exists.', _context
208
208
  elsif _response.status_code == 422
209
- raise APIException.new '422 - Rating type is not `implicit` or `explicit`.', _context
209
+ raise ErrorResponseException.new '422 - Rating type is not `implicit` or `explicit`.', _context
210
210
  elsif _response.status_code == 429
211
- raise APIException.new '429 - Too many requests.', _context
211
+ raise ErrorResponseException.new '429 - Too many requests.', _context
212
212
  elsif _response.status_code == 500
213
213
  raise APIException.new '500 - Unexpected internal error.', _context
214
214
  end
@@ -262,9 +262,9 @@ module SuggestGrid
262
262
 
263
263
  # Endpoint error handling using HTTP status codes.
264
264
  if _response.status_code == 404
265
- raise APIException.new '404 - Type does not exists.', _context
265
+ raise ErrorResponseException.new '404 - Type does not exists.', _context
266
266
  elsif _response.status_code == 429
267
- raise APIException.new '429 - Too many requests.', _context
267
+ raise ErrorResponseException.new '429 - Too many requests.', _context
268
268
  elsif _response.status_code == 500
269
269
  raise APIException.new '500 - Unexpected internal error.', _context
270
270
  end
@@ -0,0 +1,37 @@
1
+ # This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ module SuggestGrid
4
+ class BulkSchemaErrorResponseException < APIException
5
+ # Message of the response.
6
+ # @return [String]
7
+ attr_accessor :message
8
+
9
+ # Message of the response.
10
+ # @return [List of SchemaErrorResponse]
11
+ attr_accessor :errors
12
+
13
+ # The constructor.
14
+ # @param [String] The reason for raising an exception
15
+ # @param [HttpContext] The HttpContext of the API call.
16
+ def initialize(reason, context)
17
+ super(reason, context)
18
+ begin
19
+ hash = APIHelper.json_deserialize(@context.response.raw_body)
20
+ unbox(hash)
21
+ rescue TypeError
22
+ end
23
+ end
24
+
25
+ # Populates this object by extracting properties from a hash.
26
+ # @param [Hash] The deserialized response sent by the server in the response body.
27
+ def unbox(hash)
28
+ @message = hash["message"]
29
+ # Parameter is an array, so we need to iterate through it
30
+ @errors = nil
31
+ if hash["errors"] != nil
32
+ @errors = Array.new
33
+ hash["errors"].each{|structure| @errors << (SchemaErrorResponse.from_hash(structure) if structure)}
34
+ end
35
+ end
36
+ end
37
+ end