ibm_watson 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ibm_watson/assistant_v1.rb +791 -736
  3. data/lib/ibm_watson/assistant_v2.rb +12 -8
  4. data/lib/ibm_watson/common.rb +2 -1
  5. data/lib/ibm_watson/compare_comply_v1.rb +171 -169
  6. data/lib/ibm_watson/discovery_v1.rb +778 -689
  7. data/lib/ibm_watson/language_translator_v3.rb +65 -63
  8. data/lib/ibm_watson/natural_language_classifier_v1.rb +36 -35
  9. data/lib/ibm_watson/natural_language_understanding_v1.rb +28 -25
  10. data/lib/ibm_watson/personality_insights_v3.rb +10 -10
  11. data/lib/ibm_watson/speech_to_text_v1.rb +764 -702
  12. data/lib/ibm_watson/text_to_speech_v1.rb +215 -200
  13. data/lib/ibm_watson/tone_analyzer_v3.rb +10 -9
  14. data/lib/ibm_watson/version.rb +1 -1
  15. data/lib/ibm_watson/visual_recognition_v3.rb +94 -95
  16. data/lib/ibm_watson/websocket/speech_to_text_websocket_listener.rb +1 -1
  17. data/test/integration/test_assistant_v1.rb +18 -289
  18. data/test/integration/test_assistant_v2.rb +21 -31
  19. data/test/integration/test_discovery_v1.rb +21 -18
  20. data/test/integration/test_language_translator_v3.rb +3 -3
  21. data/test/integration/test_natural_language_classifier_v1.rb +3 -3
  22. data/test/integration/test_natural_language_understanding_v1.rb +16 -20
  23. data/test/integration/test_personality_insights_v3.rb +12 -40
  24. data/test/integration/test_speech_to_text_v1.rb +3 -3
  25. data/test/integration/test_text_to_speech_v1.rb +3 -3
  26. data/test/integration/test_tone_analyzer_v3.rb +14 -31
  27. data/test/integration/test_visual_recognition_v3.rb +3 -3
  28. data/test/unit/test_compare_comply_v1.rb +3 -7
  29. data/test/unit/test_discovery_v1.rb +21 -7
  30. data/test/unit/test_language_translator_v3.rb +1 -3
  31. data/test/unit/test_natural_language_classifier_v1.rb +1 -3
  32. data/test/unit/test_speech_to_text_v1.rb +25 -7
  33. data/test/unit/test_text_to_speech_v1.rb +0 -4
  34. data/test/unit/test_visual_recognition_v3.rb +2 -6
  35. metadata +2 -2
@@ -21,7 +21,6 @@
21
21
  require "concurrent"
22
22
  require "erb"
23
23
  require "json"
24
-
25
24
  require "ibm_cloud_sdk_core"
26
25
  require_relative "./common.rb"
27
26
 
@@ -97,7 +96,7 @@ module IBMWatson
97
96
  # @param assistant_id [String] Unique identifier of the assistant. You can find the assistant ID of an assistant
98
97
  # on the **Assistants** tab of the Watson Assistant tool. For information about
99
98
  # creating assistants, see the
100
- # [documentation](https://console.bluemix.net/docs/services/assistant/create-assistant.html#creating-assistants).
99
+ # [documentation](https://console.bluemix.net/docs/services/assistant/assistant-add.html#assistant-add-task).
101
100
  #
102
101
  # **Note:** Currently, the v2 API does not support creating assistants.
103
102
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
@@ -106,7 +105,8 @@ module IBMWatson
106
105
 
107
106
  headers = {
108
107
  }
109
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "conversation", service_version: "V2", operation_id: "create_session")
108
+ sdk_headers = Common.new.get_sdk_headers("conversation", "V2", "create_session")
109
+ headers.merge!(sdk_headers)
110
110
 
111
111
  params = {
112
112
  "version" => @version
@@ -131,7 +131,7 @@ module IBMWatson
131
131
  # @param assistant_id [String] Unique identifier of the assistant. You can find the assistant ID of an assistant
132
132
  # on the **Assistants** tab of the Watson Assistant tool. For information about
133
133
  # creating assistants, see the
134
- # [documentation](https://console.bluemix.net/docs/services/assistant/create-assistant.html#creating-assistants).
134
+ # [documentation](https://console.bluemix.net/docs/services/assistant/assistant-add.html#assistant-add-task).
135
135
  #
136
136
  # **Note:** Currently, the v2 API does not support creating assistants.
137
137
  # @param session_id [String] Unique identifier of the session.
@@ -143,7 +143,8 @@ module IBMWatson
143
143
 
144
144
  headers = {
145
145
  }
146
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "conversation", service_version: "V2", operation_id: "delete_session")
146
+ sdk_headers = Common.new.get_sdk_headers("conversation", "V2", "delete_session")
147
+ headers.merge!(sdk_headers)
147
148
 
148
149
  params = {
149
150
  "version" => @version
@@ -173,12 +174,14 @@ module IBMWatson
173
174
  # @param assistant_id [String] Unique identifier of the assistant. You can find the assistant ID of an assistant
174
175
  # on the **Assistants** tab of the Watson Assistant tool. For information about
175
176
  # creating assistants, see the
176
- # [documentation](https://console.bluemix.net/docs/services/assistant/create-assistant.html#creating-assistants).
177
+ # [documentation](https://console.bluemix.net/docs/services/assistant/assistant-add.html#assistant-add-task).
177
178
  #
178
179
  # **Note:** Currently, the v2 API does not support creating assistants.
179
180
  # @param session_id [String] Unique identifier of the session.
180
181
  # @param input [MessageInput] An input object that includes the input text.
181
- # @param context [MessageContext] State information for the conversation.
182
+ # @param context [MessageContext] State information for the conversation. The context is stored by the assistant on
183
+ # a per-session basis. You can use this property to set or modify context variables,
184
+ # which can also be accessed by dialog nodes.
182
185
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
183
186
  def message(assistant_id:, session_id:, input: nil, context: nil)
184
187
  raise ArgumentError.new("assistant_id must be provided") if assistant_id.nil?
@@ -187,7 +190,8 @@ module IBMWatson
187
190
 
188
191
  headers = {
189
192
  }
190
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "conversation", service_version: "V2", operation_id: "message")
193
+ sdk_headers = Common.new.get_sdk_headers("conversation", "V2", "message")
194
+ headers.merge!(sdk_headers)
191
195
 
192
196
  params = {
193
197
  "version" => @version
@@ -5,7 +5,8 @@ module IBMWatson
5
5
  class Common
6
6
  def initialize(*); end
7
7
 
8
- def get_sdk_headers(headers: {}, service_name: nil, service_version: nil, operation_id: nil)
8
+ def get_sdk_headers(service_name, service_version, operation_id)
9
+ headers = {}
9
10
  user_agent_string = "watson-apis-ruby-sdk-" + IBMWatson::VERSION + " #{RbConfig::CONFIG["host"]}"
10
11
  user_agent_string += " #{RbConfig::CONFIG["RUBY_BASE_NAME"]}-#{RbConfig::CONFIG["RUBY_PROGRAM_VERSION"]}"
11
12
 
@@ -20,7 +20,6 @@
20
20
  require "concurrent"
21
21
  require "erb"
22
22
  require "json"
23
-
24
23
  require "ibm_cloud_sdk_core"
25
24
  require_relative "./common.rb"
26
25
 
@@ -77,27 +76,28 @@ module IBMWatson
77
76
  #########################
78
77
 
79
78
  ##
80
- # @!method convert_to_html(file:, model_id: nil, file_content_type: nil, filename: nil)
81
- # Convert file to HTML.
82
- # Convert an uploaded file to HTML.
83
- # @param file [File] The file to convert.
84
- # @param model_id [String] The analysis model to be used by the service. For the `/v1/element_classification`
85
- # and `/v1/comparison` methods, the default is `contracts`. For the `/v1/tables`
86
- # method, the default is `tables`. These defaults apply to the standalone methods as
87
- # well as to the methods' use in batch-processing requests.
88
- # @param file_content_type [String] The content type of file.
79
+ # @!method convert_to_html(file:, filename: nil, file_content_type: nil, model: nil)
80
+ # Convert document to HTML.
81
+ # Converts a document to HTML.
82
+ # @param file [File] The document to convert.
89
83
  # @param filename [String] The filename for file.
84
+ # @param file_content_type [String] The content type of file.
85
+ # @param model [String] The analysis model to be used by the service. For the **Element classification**
86
+ # and **Compare two documents** methods, the default is `contracts`. For the
87
+ # **Extract tables** method, the default is `tables`. These defaults apply to the
88
+ # standalone methods as well as to the methods' use in batch-processing requests.
90
89
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
91
- def convert_to_html(file:, model_id: nil, file_content_type: nil, filename: nil)
90
+ def convert_to_html(file:, filename: nil, file_content_type: nil, model: nil)
92
91
  raise ArgumentError.new("file must be provided") if file.nil?
93
92
 
94
93
  headers = {
95
94
  }
96
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "compare-comply", service_version: "V1", operation_id: "convert_to_html")
95
+ sdk_headers = Common.new.get_sdk_headers("compare-comply", "V1", "convert_to_html")
96
+ headers.merge!(sdk_headers)
97
97
 
98
98
  params = {
99
99
  "version" => @version,
100
- "model_id" => model_id
100
+ "model" => model
101
101
  }
102
102
 
103
103
  form_data = {}
@@ -125,27 +125,27 @@ module IBMWatson
125
125
  #########################
126
126
 
127
127
  ##
128
- # @!method classify_elements(file:, model_id: nil, file_content_type: nil, filename: nil)
128
+ # @!method classify_elements(file:, file_content_type: nil, model: nil)
129
129
  # Classify the elements of a document.
130
- # Analyze an uploaded file's structural and semantic elements.
131
- # @param file [File] The file to classify.
132
- # @param model_id [String] The analysis model to be used by the service. For the `/v1/element_classification`
133
- # and `/v1/comparison` methods, the default is `contracts`. For the `/v1/tables`
134
- # method, the default is `tables`. These defaults apply to the standalone methods as
135
- # well as to the methods' use in batch-processing requests.
130
+ # Analyzes the structural and semantic elements of a document.
131
+ # @param file [File] The document to classify.
136
132
  # @param file_content_type [String] The content type of file.
137
- # @param filename [String] The filename for file.
133
+ # @param model [String] The analysis model to be used by the service. For the **Element classification**
134
+ # and **Compare two documents** methods, the default is `contracts`. For the
135
+ # **Extract tables** method, the default is `tables`. These defaults apply to the
136
+ # standalone methods as well as to the methods' use in batch-processing requests.
138
137
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
139
- def classify_elements(file:, model_id: nil, file_content_type: nil, filename: nil)
138
+ def classify_elements(file:, file_content_type: nil, model: nil)
140
139
  raise ArgumentError.new("file must be provided") if file.nil?
141
140
 
142
141
  headers = {
143
142
  }
144
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "compare-comply", service_version: "V1", operation_id: "classify_elements")
143
+ sdk_headers = Common.new.get_sdk_headers("compare-comply", "V1", "classify_elements")
144
+ headers.merge!(sdk_headers)
145
145
 
146
146
  params = {
147
147
  "version" => @version,
148
- "model_id" => model_id
148
+ "model" => model
149
149
  }
150
150
 
151
151
  form_data = {}
@@ -153,8 +153,7 @@ module IBMWatson
153
153
  unless file.instance_of?(StringIO) || file.instance_of?(File)
154
154
  file = file.respond_to?(:to_json) ? StringIO.new(file.to_json) : StringIO.new(file)
155
155
  end
156
- filename = file.path if filename.nil? && file.respond_to?(:path)
157
- form_data[:file] = HTTP::FormData::File.new(file, content_type: file_content_type.nil? ? "application/octet-stream" : file_content_type, filename: filename)
156
+ form_data[:file] = HTTP::FormData::File.new(file, content_type: file_content_type.nil? ? "application/octet-stream" : file_content_type, filename: file.respond_to?(:path) ? file.path : nil)
158
157
 
159
158
  method_url = "/v1/element_classification"
160
159
 
@@ -173,27 +172,27 @@ module IBMWatson
173
172
  #########################
174
173
 
175
174
  ##
176
- # @!method extract_tables(file:, model_id: nil, file_content_type: nil, filename: nil)
175
+ # @!method extract_tables(file:, file_content_type: nil, model: nil)
177
176
  # Extract a document's tables.
178
- # Extract and analyze an uploaded file's tables.
179
- # @param file [File] The file on which to run table extraction.
180
- # @param model_id [String] The analysis model to be used by the service. For the `/v1/element_classification`
181
- # and `/v1/comparison` methods, the default is `contracts`. For the `/v1/tables`
182
- # method, the default is `tables`. These defaults apply to the standalone methods as
183
- # well as to the methods' use in batch-processing requests.
177
+ # Analyzes the tables in a document.
178
+ # @param file [File] The document on which to run table extraction.
184
179
  # @param file_content_type [String] The content type of file.
185
- # @param filename [String] The filename for file.
180
+ # @param model [String] The analysis model to be used by the service. For the **Element classification**
181
+ # and **Compare two documents** methods, the default is `contracts`. For the
182
+ # **Extract tables** method, the default is `tables`. These defaults apply to the
183
+ # standalone methods as well as to the methods' use in batch-processing requests.
186
184
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
187
- def extract_tables(file:, model_id: nil, file_content_type: nil, filename: nil)
185
+ def extract_tables(file:, file_content_type: nil, model: nil)
188
186
  raise ArgumentError.new("file must be provided") if file.nil?
189
187
 
190
188
  headers = {
191
189
  }
192
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "compare-comply", service_version: "V1", operation_id: "extract_tables")
190
+ sdk_headers = Common.new.get_sdk_headers("compare-comply", "V1", "extract_tables")
191
+ headers.merge!(sdk_headers)
193
192
 
194
193
  params = {
195
194
  "version" => @version,
196
- "model_id" => model_id
195
+ "model" => model
197
196
  }
198
197
 
199
198
  form_data = {}
@@ -201,8 +200,7 @@ module IBMWatson
201
200
  unless file.instance_of?(StringIO) || file.instance_of?(File)
202
201
  file = file.respond_to?(:to_json) ? StringIO.new(file.to_json) : StringIO.new(file)
203
202
  end
204
- filename = file.path if filename.nil? && file.respond_to?(:path)
205
- form_data[:file] = HTTP::FormData::File.new(file, content_type: file_content_type.nil? ? "application/octet-stream" : file_content_type, filename: filename)
203
+ form_data[:file] = HTTP::FormData::File.new(file, content_type: file_content_type.nil? ? "application/octet-stream" : file_content_type, filename: file.respond_to?(:path) ? file.path : nil)
206
204
 
207
205
  method_url = "/v1/tables"
208
206
 
@@ -221,36 +219,35 @@ module IBMWatson
221
219
  #########################
222
220
 
223
221
  ##
224
- # @!method compare_documents(file_1:, file_2:, file_1_label: nil, file_2_label: nil, model_id: nil, file_1_content_type: nil, file_1_filename: nil, file_2_content_type: nil, file_2_filename: nil)
222
+ # @!method compare_documents(file_1:, file_2:, file_1_content_type: nil, file_2_content_type: nil, file_1_label: nil, file_2_label: nil, model: nil)
225
223
  # Compare two documents.
226
- # Compare two uploaded input files. Uploaded files must be in the same file format.
227
- # @param file_1 [File] The first file to compare.
228
- # @param file_2 [File] The second file to compare.
229
- # @param file_1_label [String] A text label for the first file.
230
- # @param file_2_label [String] A text label for the second file.
231
- # @param model_id [String] The analysis model to be used by the service. For the `/v1/element_classification`
232
- # and `/v1/comparison` methods, the default is `contracts`. For the `/v1/tables`
233
- # method, the default is `tables`. These defaults apply to the standalone methods as
234
- # well as to the methods' use in batch-processing requests.
224
+ # Compares two input documents. Documents must be in the same format.
225
+ # @param file_1 [File] The first document to compare.
226
+ # @param file_2 [File] The second document to compare.
235
227
  # @param file_1_content_type [String] The content type of file_1.
236
- # @param file_1_filename [String] The filename for file_1.
237
228
  # @param file_2_content_type [String] The content type of file_2.
238
- # @param file_2_filename [String] The filename for file_2.
229
+ # @param file_1_label [String] A text label for the first document.
230
+ # @param file_2_label [String] A text label for the second document.
231
+ # @param model [String] The analysis model to be used by the service. For the **Element classification**
232
+ # and **Compare two documents** methods, the default is `contracts`. For the
233
+ # **Extract tables** method, the default is `tables`. These defaults apply to the
234
+ # standalone methods as well as to the methods' use in batch-processing requests.
239
235
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
240
- def compare_documents(file_1:, file_2:, file_1_label: nil, file_2_label: nil, model_id: nil, file_1_content_type: nil, file_1_filename: nil, file_2_content_type: nil, file_2_filename: nil)
236
+ def compare_documents(file_1:, file_2:, file_1_content_type: nil, file_2_content_type: nil, file_1_label: nil, file_2_label: nil, model: nil)
241
237
  raise ArgumentError.new("file_1 must be provided") if file_1.nil?
242
238
 
243
239
  raise ArgumentError.new("file_2 must be provided") if file_2.nil?
244
240
 
245
241
  headers = {
246
242
  }
247
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "compare-comply", service_version: "V1", operation_id: "compare_documents")
243
+ sdk_headers = Common.new.get_sdk_headers("compare-comply", "V1", "compare_documents")
244
+ headers.merge!(sdk_headers)
248
245
 
249
246
  params = {
250
247
  "version" => @version,
251
248
  "file_1_label" => file_1_label,
252
249
  "file_2_label" => file_2_label,
253
- "model_id" => model_id
250
+ "model" => model
254
251
  }
255
252
 
256
253
  form_data = {}
@@ -258,14 +255,12 @@ module IBMWatson
258
255
  unless file_1.instance_of?(StringIO) || file_1.instance_of?(File)
259
256
  file_1 = file_1.respond_to?(:to_json) ? StringIO.new(file_1.to_json) : StringIO.new(file_1)
260
257
  end
261
- file_1_filename = file_1.path if file_1_filename.nil? && file_1.respond_to?(:path)
262
- form_data[:file_1] = HTTP::FormData::File.new(file_1, content_type: file_1_content_type.nil? ? "application/octet-stream" : file_1_content_type, filename: file_1_filename)
258
+ form_data[:file_1] = HTTP::FormData::File.new(file_1, content_type: file_1_content_type.nil? ? "application/octet-stream" : file_1_content_type, filename: file_1.respond_to?(:path) ? file_1.path : nil)
263
259
 
264
260
  unless file_2.instance_of?(StringIO) || file_2.instance_of?(File)
265
261
  file_2 = file_2.respond_to?(:to_json) ? StringIO.new(file_2.to_json) : StringIO.new(file_2)
266
262
  end
267
- file_2_filename = file_2.path if file_2_filename.nil? && file_2.respond_to?(:path)
268
- form_data[:file_2] = HTTP::FormData::File.new(file_2, content_type: file_2_content_type.nil? ? "application/octet-stream" : file_2_content_type, filename: file_2_filename)
263
+ form_data[:file_2] = HTTP::FormData::File.new(file_2, content_type: file_2_content_type.nil? ? "application/octet-stream" : file_2_content_type, filename: file_2.respond_to?(:path) ? file_2.path : nil)
269
264
 
270
265
  method_url = "/v1/comparison"
271
266
 
@@ -300,7 +295,8 @@ module IBMWatson
300
295
 
301
296
  headers = {
302
297
  }
303
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "compare-comply", service_version: "V1", operation_id: "add_feedback")
298
+ sdk_headers = Common.new.get_sdk_headers("compare-comply", "V1", "add_feedback")
299
+ headers.merge!(sdk_headers)
304
300
 
305
301
  params = {
306
302
  "version" => @version
@@ -325,9 +321,80 @@ module IBMWatson
325
321
  response
326
322
  end
327
323
 
324
+ ##
325
+ # @!method delete_feedback(feedback_id:, model: nil)
326
+ # Delete a specified feedback entry.
327
+ # Deletes a feedback entry with a specified `feedback_id`.
328
+ # @param feedback_id [String] A string that specifies the feedback entry to be deleted from the document.
329
+ # @param model [String] The analysis model to be used by the service. For the **Element classification**
330
+ # and **Compare two documents** methods, the default is `contracts`. For the
331
+ # **Extract tables** method, the default is `tables`. These defaults apply to the
332
+ # standalone methods as well as to the methods' use in batch-processing requests.
333
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
334
+ def delete_feedback(feedback_id:, model: nil)
335
+ raise ArgumentError.new("feedback_id must be provided") if feedback_id.nil?
336
+
337
+ headers = {
338
+ }
339
+ sdk_headers = Common.new.get_sdk_headers("compare-comply", "V1", "delete_feedback")
340
+ headers.merge!(sdk_headers)
341
+
342
+ params = {
343
+ "version" => @version,
344
+ "model" => model
345
+ }
346
+
347
+ method_url = "/v1/feedback/%s" % [ERB::Util.url_encode(feedback_id)]
348
+
349
+ response = request(
350
+ method: "DELETE",
351
+ url: method_url,
352
+ headers: headers,
353
+ params: params,
354
+ accept_json: true
355
+ )
356
+ response
357
+ end
358
+
359
+ ##
360
+ # @!method get_feedback(feedback_id:, model: nil)
361
+ # List a specified feedback entry.
362
+ # Lists a feedback entry with a specified `feedback_id`.
363
+ # @param feedback_id [String] A string that specifies the feedback entry to be included in the output.
364
+ # @param model [String] The analysis model to be used by the service. For the **Element classification**
365
+ # and **Compare two documents** methods, the default is `contracts`. For the
366
+ # **Extract tables** method, the default is `tables`. These defaults apply to the
367
+ # standalone methods as well as to the methods' use in batch-processing requests.
368
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
369
+ def get_feedback(feedback_id:, model: nil)
370
+ raise ArgumentError.new("feedback_id must be provided") if feedback_id.nil?
371
+
372
+ headers = {
373
+ }
374
+ sdk_headers = Common.new.get_sdk_headers("compare-comply", "V1", "get_feedback")
375
+ headers.merge!(sdk_headers)
376
+
377
+ params = {
378
+ "version" => @version,
379
+ "model" => model
380
+ }
381
+
382
+ method_url = "/v1/feedback/%s" % [ERB::Util.url_encode(feedback_id)]
383
+
384
+ response = request(
385
+ method: "GET",
386
+ url: method_url,
387
+ headers: headers,
388
+ params: params,
389
+ accept_json: true
390
+ )
391
+ response
392
+ end
393
+
328
394
  ##
329
395
  # @!method list_feedback(feedback_type: nil, before: nil, after: nil, document_title: nil, model_id: nil, model_version: nil, category_removed: nil, category_added: nil, category_not_changed: nil, type_removed: nil, type_added: nil, type_not_changed: nil, page_limit: nil, cursor: nil, sort: nil, include_total: nil)
330
- # List the feedback in documents.
396
+ # List the feedback in a document.
397
+ # Lists the feedback in a document.
331
398
  # @param feedback_type [String] An optional string that filters the output to include only feedback with the
332
399
  # specified feedback type. The only permitted value is `element_classification`.
333
400
  # @param before [Time] An optional string in the format `YYYY-MM-DD` that filters the output to include
@@ -373,7 +440,8 @@ module IBMWatson
373
440
  def list_feedback(feedback_type: nil, before: nil, after: nil, document_title: nil, model_id: nil, model_version: nil, category_removed: nil, category_added: nil, category_not_changed: nil, type_removed: nil, type_added: nil, type_not_changed: nil, page_limit: nil, cursor: nil, sort: nil, include_total: nil)
374
441
  headers = {
375
442
  }
376
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "compare-comply", service_version: "V1", operation_id: "list_feedback")
443
+ sdk_headers = Common.new.get_sdk_headers("compare-comply", "V1", "list_feedback")
444
+ headers.merge!(sdk_headers)
377
445
 
378
446
  params = {
379
447
  "version" => @version,
@@ -406,78 +474,12 @@ module IBMWatson
406
474
  )
407
475
  response
408
476
  end
409
-
410
- ##
411
- # @!method get_feedback(feedback_id:, model_id: nil)
412
- # List a specified feedback entry.
413
- # @param feedback_id [String] A string that specifies the feedback entry to be included in the output.
414
- # @param model_id [String] The analysis model to be used by the service. For the `/v1/element_classification`
415
- # and `/v1/comparison` methods, the default is `contracts`. For the `/v1/tables`
416
- # method, the default is `tables`. These defaults apply to the standalone methods as
417
- # well as to the methods' use in batch-processing requests.
418
- # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
419
- def get_feedback(feedback_id:, model_id: nil)
420
- raise ArgumentError.new("feedback_id must be provided") if feedback_id.nil?
421
-
422
- headers = {
423
- }
424
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "compare-comply", service_version: "V1", operation_id: "get_feedback")
425
-
426
- params = {
427
- "version" => @version,
428
- "model_id" => model_id
429
- }
430
-
431
- method_url = "/v1/feedback/%s" % [ERB::Util.url_encode(feedback_id)]
432
-
433
- response = request(
434
- method: "GET",
435
- url: method_url,
436
- headers: headers,
437
- params: params,
438
- accept_json: true
439
- )
440
- response
441
- end
442
-
443
- ##
444
- # @!method delete_feedback(feedback_id:, model_id: nil)
445
- # Deletes a specified feedback entry.
446
- # @param feedback_id [String] A string that specifies the feedback entry to be deleted from the document.
447
- # @param model_id [String] The analysis model to be used by the service. For the `/v1/element_classification`
448
- # and `/v1/comparison` methods, the default is `contracts`. For the `/v1/tables`
449
- # method, the default is `tables`. These defaults apply to the standalone methods as
450
- # well as to the methods' use in batch-processing requests.
451
- # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
452
- def delete_feedback(feedback_id:, model_id: nil)
453
- raise ArgumentError.new("feedback_id must be provided") if feedback_id.nil?
454
-
455
- headers = {
456
- }
457
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "compare-comply", service_version: "V1", operation_id: "delete_feedback")
458
-
459
- params = {
460
- "version" => @version,
461
- "model_id" => model_id
462
- }
463
-
464
- method_url = "/v1/feedback/%s" % [ERB::Util.url_encode(feedback_id)]
465
-
466
- response = request(
467
- method: "DELETE",
468
- url: method_url,
469
- headers: headers,
470
- params: params,
471
- accept_json: true
472
- )
473
- response
474
- end
475
477
  #########################
476
478
  # Batches
477
479
  #########################
478
480
 
479
481
  ##
480
- # @!method create_batch(function:, input_credentials_file:, input_bucket_location:, input_bucket_name:, output_credentials_file:, output_bucket_location:, output_bucket_name:, model_id: nil, input_credentials_filename: nil, output_credentials_filename: nil)
482
+ # @!method create_batch(function:, input_credentials_file:, input_bucket_location:, input_bucket_name:, output_credentials_file:, output_bucket_location:, output_bucket_name:, model: nil)
481
483
  # Submit a batch-processing request.
482
484
  # Run Compare and Comply methods over a collection of input documents.
483
485
  # **Important:** Batch processing requires the use of the [IBM Cloud Object Storage
@@ -500,14 +502,12 @@ module IBMWatson
500
502
  # the **Endpoint** tab of your Cloud Object Storage instance; for example, `us-geo`,
501
503
  # `eu-geo`, or `ap-geo`.
502
504
  # @param output_bucket_name [String] The name of the Cloud Object Storage output bucket.
503
- # @param model_id [String] The analysis model to be used by the service. For the `/v1/element_classification`
504
- # and `/v1/comparison` methods, the default is `contracts`. For the `/v1/tables`
505
- # method, the default is `tables`. These defaults apply to the standalone methods as
506
- # well as to the methods' use in batch-processing requests.
507
- # @param input_credentials_filename [String] The filename for input_credentials_file.
508
- # @param output_credentials_filename [String] The filename for output_credentials_file.
505
+ # @param model [String] The analysis model to be used by the service. For the **Element classification**
506
+ # and **Compare two documents** methods, the default is `contracts`. For the
507
+ # **Extract tables** method, the default is `tables`. These defaults apply to the
508
+ # standalone methods as well as to the methods' use in batch-processing requests.
509
509
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
510
- def create_batch(function:, input_credentials_file:, input_bucket_location:, input_bucket_name:, output_credentials_file:, output_bucket_location:, output_bucket_name:, model_id: nil, input_credentials_filename: nil, output_credentials_filename: nil)
510
+ def create_batch(function:, input_credentials_file:, input_bucket_location:, input_bucket_name:, output_credentials_file:, output_bucket_location:, output_bucket_name:, model: nil)
511
511
  raise ArgumentError.new("function must be provided") if function.nil?
512
512
 
513
513
  raise ArgumentError.new("input_credentials_file must be provided") if input_credentials_file.nil?
@@ -524,12 +524,13 @@ module IBMWatson
524
524
 
525
525
  headers = {
526
526
  }
527
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "compare-comply", service_version: "V1", operation_id: "create_batch")
527
+ sdk_headers = Common.new.get_sdk_headers("compare-comply", "V1", "create_batch")
528
+ headers.merge!(sdk_headers)
528
529
 
529
530
  params = {
530
531
  "version" => @version,
531
532
  "function" => function,
532
- "model_id" => model_id
533
+ "model" => model
533
534
  }
534
535
 
535
536
  form_data = {}
@@ -537,8 +538,7 @@ module IBMWatson
537
538
  unless input_credentials_file.instance_of?(StringIO) || input_credentials_file.instance_of?(File)
538
539
  input_credentials_file = input_credentials_file.respond_to?(:to_json) ? StringIO.new(input_credentials_file.to_json) : StringIO.new(input_credentials_file)
539
540
  end
540
- input_credentials_filename = input_credentials_file.path if input_credentials_filename.nil? && input_credentials_file.respond_to?(:path)
541
- form_data[:input_credentials_file] = HTTP::FormData::File.new(input_credentials_file, content_type: "application/json", filename: input_credentials_filename)
541
+ form_data[:input_credentials_file] = HTTP::FormData::File.new(input_credentials_file, content_type: "application/json", filename: input_credentials_file.respond_to?(:path) ? input_credentials_file.path : nil)
542
542
 
543
543
  form_data[:input_bucket_location] = HTTP::FormData::Part.new(input_bucket_location.to_s, content_type: "text/plain")
544
544
 
@@ -547,8 +547,7 @@ module IBMWatson
547
547
  unless output_credentials_file.instance_of?(StringIO) || output_credentials_file.instance_of?(File)
548
548
  output_credentials_file = output_credentials_file.respond_to?(:to_json) ? StringIO.new(output_credentials_file.to_json) : StringIO.new(output_credentials_file)
549
549
  end
550
- output_credentials_filename = output_credentials_file.path if output_credentials_filename.nil? && output_credentials_file.respond_to?(:path)
551
- form_data[:output_credentials_file] = HTTP::FormData::File.new(output_credentials_file, content_type: "application/json", filename: output_credentials_filename)
550
+ form_data[:output_credentials_file] = HTTP::FormData::File.new(output_credentials_file, content_type: "application/json", filename: output_credentials_file.respond_to?(:path) ? output_credentials_file.path : nil)
552
551
 
553
552
  form_data[:output_bucket_location] = HTTP::FormData::Part.new(output_bucket_location.to_s, content_type: "text/plain")
554
553
 
@@ -568,20 +567,24 @@ module IBMWatson
568
567
  end
569
568
 
570
569
  ##
571
- # @!method list_batches
572
- # List submitted batch-processing jobs.
573
- # List the batch-processing jobs submitted by users.
570
+ # @!method get_batch(batch_id:)
571
+ # Get information about a specific batch-processing job.
572
+ # Gets information about a batch-processing job with a specified ID.
573
+ # @param batch_id [String] The ID of the batch-processing job whose information you want to retrieve.
574
574
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
575
- def list_batches
575
+ def get_batch(batch_id:)
576
+ raise ArgumentError.new("batch_id must be provided") if batch_id.nil?
577
+
576
578
  headers = {
577
579
  }
578
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "compare-comply", service_version: "V1", operation_id: "list_batches")
580
+ sdk_headers = Common.new.get_sdk_headers("compare-comply", "V1", "get_batch")
581
+ headers.merge!(sdk_headers)
579
582
 
580
583
  params = {
581
584
  "version" => @version
582
585
  }
583
586
 
584
- method_url = "/v1/batches"
587
+ method_url = "/v1/batches/%s" % [ERB::Util.url_encode(batch_id)]
585
588
 
586
589
  response = request(
587
590
  method: "GET",
@@ -594,23 +597,21 @@ module IBMWatson
594
597
  end
595
598
 
596
599
  ##
597
- # @!method get_batch(batch_id:)
598
- # Get information about a specific batch-processing request.
599
- # Get information about a batch-processing request with a specified ID.
600
- # @param batch_id [String] The ID of the batch-processing request whose information you want to retrieve.
600
+ # @!method list_batches
601
+ # List submitted batch-processing jobs.
602
+ # Lists batch-processing jobs submitted by users.
601
603
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
602
- def get_batch(batch_id:)
603
- raise ArgumentError.new("batch_id must be provided") if batch_id.nil?
604
-
604
+ def list_batches
605
605
  headers = {
606
606
  }
607
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "compare-comply", service_version: "V1", operation_id: "get_batch")
607
+ sdk_headers = Common.new.get_sdk_headers("compare-comply", "V1", "list_batches")
608
+ headers.merge!(sdk_headers)
608
609
 
609
610
  params = {
610
611
  "version" => @version
611
612
  }
612
613
 
613
- method_url = "/v1/batches/%s" % [ERB::Util.url_encode(batch_id)]
614
+ method_url = "/v1/batches"
614
615
 
615
616
  response = request(
616
617
  method: "GET",
@@ -623,30 +624,31 @@ module IBMWatson
623
624
  end
624
625
 
625
626
  ##
626
- # @!method update_batch(batch_id:, action:, model_id: nil)
627
- # Update a pending or active batch-processing request.
628
- # Update a pending or active batch-processing request. You can rescan the input
629
- # bucket to check for new documents or cancel a request.
630
- # @param batch_id [String] The ID of the batch-processing request you want to update.
631
- # @param action [String] The action you want to perform on the specified batch-processing request.
632
- # @param model_id [String] The analysis model to be used by the service. For the `/v1/element_classification`
633
- # and `/v1/comparison` methods, the default is `contracts`. For the `/v1/tables`
634
- # method, the default is `tables`. These defaults apply to the standalone methods as
635
- # well as to the methods' use in batch-processing requests.
627
+ # @!method update_batch(batch_id:, action:, model: nil)
628
+ # Update a pending or active batch-processing job.
629
+ # Updates a pending or active batch-processing job. You can rescan the input bucket
630
+ # to check for new documents or cancel a job.
631
+ # @param batch_id [String] The ID of the batch-processing job you want to update.
632
+ # @param action [String] The action you want to perform on the specified batch-processing job.
633
+ # @param model [String] The analysis model to be used by the service. For the **Element classification**
634
+ # and **Compare two documents** methods, the default is `contracts`. For the
635
+ # **Extract tables** method, the default is `tables`. These defaults apply to the
636
+ # standalone methods as well as to the methods' use in batch-processing requests.
636
637
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
637
- def update_batch(batch_id:, action:, model_id: nil)
638
+ def update_batch(batch_id:, action:, model: nil)
638
639
  raise ArgumentError.new("batch_id must be provided") if batch_id.nil?
639
640
 
640
641
  raise ArgumentError.new("action must be provided") if action.nil?
641
642
 
642
643
  headers = {
643
644
  }
644
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "compare-comply", service_version: "V1", operation_id: "update_batch")
645
+ sdk_headers = Common.new.get_sdk_headers("compare-comply", "V1", "update_batch")
646
+ headers.merge!(sdk_headers)
645
647
 
646
648
  params = {
647
649
  "version" => @version,
648
650
  "action" => action,
649
- "model_id" => model_id
651
+ "model" => model
650
652
  }
651
653
 
652
654
  method_url = "/v1/batches/%s" % [ERB::Util.url_encode(batch_id)]