cloudmersive-nlp-api-client 2.0.4 → 2.0.9

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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +25 -10
  3. data/docs/AnalyticsApi.md +283 -0
  4. data/docs/ExtractEntitiesApi.md +1 -1
  5. data/docs/HateSpeechAnalysisRequest.md +8 -0
  6. data/docs/HateSpeechAnalysisResponse.md +10 -0
  7. data/docs/LanguageDetectionApi.md +1 -1
  8. data/docs/LanguageTranslationApi.md +4 -4
  9. data/docs/ParseApi.md +1 -1
  10. data/docs/PosTaggerApi.md +6 -6
  11. data/docs/ProfanityAnalysisRequest.md +8 -0
  12. data/docs/ProfanityAnalysisResponse.md +10 -0
  13. data/docs/RephraseApi.md +6 -6
  14. data/docs/SegmentationApi.md +2 -2
  15. data/docs/SentimentAnalysisRequest.md +8 -0
  16. data/docs/SentimentAnalysisResponse.md +11 -0
  17. data/docs/SimilarityAnalysisRequest.md +9 -0
  18. data/docs/SimilarityAnalysisResponse.md +10 -0
  19. data/docs/SpellcheckApi.md +2 -2
  20. data/docs/SubjectivityAnalysisRequest.md +8 -0
  21. data/docs/SubjectivityAnalysisResponse.md +10 -0
  22. data/lib/cloudmersive-nlp-api-client.rb +11 -0
  23. data/lib/cloudmersive-nlp-api-client/api/analytics_api.rb +298 -0
  24. data/lib/cloudmersive-nlp-api-client/api/extract_entities_api.rb +1 -1
  25. data/lib/cloudmersive-nlp-api-client/api/language_detection_api.rb +1 -1
  26. data/lib/cloudmersive-nlp-api-client/api/language_translation_api.rb +4 -4
  27. data/lib/cloudmersive-nlp-api-client/api/parse_api.rb +1 -1
  28. data/lib/cloudmersive-nlp-api-client/api/pos_tagger_api.rb +6 -6
  29. data/lib/cloudmersive-nlp-api-client/api/rephrase_api.rb +7 -7
  30. data/lib/cloudmersive-nlp-api-client/api/segmentation_api.rb +2 -2
  31. data/lib/cloudmersive-nlp-api-client/api/spellcheck_api.rb +2 -2
  32. data/lib/cloudmersive-nlp-api-client/models/hate_speech_analysis_request.rb +189 -0
  33. data/lib/cloudmersive-nlp-api-client/models/hate_speech_analysis_response.rb +209 -0
  34. data/lib/cloudmersive-nlp-api-client/models/profanity_analysis_request.rb +189 -0
  35. data/lib/cloudmersive-nlp-api-client/models/profanity_analysis_response.rb +209 -0
  36. data/lib/cloudmersive-nlp-api-client/models/sentiment_analysis_request.rb +189 -0
  37. data/lib/cloudmersive-nlp-api-client/models/sentiment_analysis_response.rb +219 -0
  38. data/lib/cloudmersive-nlp-api-client/models/similarity_analysis_request.rb +199 -0
  39. data/lib/cloudmersive-nlp-api-client/models/similarity_analysis_response.rb +209 -0
  40. data/lib/cloudmersive-nlp-api-client/models/subjectivity_analysis_request.rb +189 -0
  41. data/lib/cloudmersive-nlp-api-client/models/subjectivity_analysis_response.rb +209 -0
  42. data/lib/cloudmersive-nlp-api-client/version.rb +1 -1
  43. data/spec/api/analytics_api_spec.rb +95 -0
  44. data/spec/api/rephrase_api_spec.rb +2 -2
  45. data/spec/models/hate_speech_analysis_request_spec.rb +42 -0
  46. data/spec/models/hate_speech_analysis_response_spec.rb +54 -0
  47. data/spec/models/profanity_analysis_request_spec.rb +42 -0
  48. data/spec/models/profanity_analysis_response_spec.rb +54 -0
  49. data/spec/models/sentiment_analysis_request_spec.rb +42 -0
  50. data/spec/models/sentiment_analysis_response_spec.rb +60 -0
  51. data/spec/models/similarity_analysis_request_spec.rb +48 -0
  52. data/spec/models/similarity_analysis_response_spec.rb +54 -0
  53. data/spec/models/subjectivity_analysis_request_spec.rb +42 -0
  54. data/spec/models/subjectivity_analysis_response_spec.rb +54 -0
  55. metadata +35 -2
@@ -52,7 +52,7 @@ module CloudmersiveNlpApiClient
52
52
  # header parameters
53
53
  header_params = {}
54
54
  # HTTP header 'Accept' (if needed)
55
- header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
55
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
56
56
  # HTTP header 'Content-Type'
57
57
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
58
58
 
@@ -52,7 +52,7 @@ module CloudmersiveNlpApiClient
52
52
  # header parameters
53
53
  header_params = {}
54
54
  # HTTP header 'Accept' (if needed)
55
- header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
55
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
56
56
  # HTTP header 'Content-Type'
57
57
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
58
58
 
@@ -52,7 +52,7 @@ module CloudmersiveNlpApiClient
52
52
  # header parameters
53
53
  header_params = {}
54
54
  # HTTP header 'Accept' (if needed)
55
- header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
55
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
56
56
  # HTTP header 'Content-Type'
57
57
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
58
58
 
@@ -107,7 +107,7 @@ module CloudmersiveNlpApiClient
107
107
  # header parameters
108
108
  header_params = {}
109
109
  # HTTP header 'Accept' (if needed)
110
- header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
110
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
111
111
  # HTTP header 'Content-Type'
112
112
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
113
113
 
@@ -162,7 +162,7 @@ module CloudmersiveNlpApiClient
162
162
  # header parameters
163
163
  header_params = {}
164
164
  # HTTP header 'Accept' (if needed)
165
- header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
165
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
166
166
  # HTTP header 'Content-Type'
167
167
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
168
168
 
@@ -217,7 +217,7 @@ module CloudmersiveNlpApiClient
217
217
  # header parameters
218
218
  header_params = {}
219
219
  # HTTP header 'Accept' (if needed)
220
- header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
220
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
221
221
  # HTTP header 'Content-Type'
222
222
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
223
223
 
@@ -52,7 +52,7 @@ module CloudmersiveNlpApiClient
52
52
  # header parameters
53
53
  header_params = {}
54
54
  # HTTP header 'Accept' (if needed)
55
- header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
55
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
56
56
  # HTTP header 'Content-Type'
57
57
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
58
58
 
@@ -52,7 +52,7 @@ module CloudmersiveNlpApiClient
52
52
  # header parameters
53
53
  header_params = {}
54
54
  # HTTP header 'Accept' (if needed)
55
- header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
55
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
56
56
  # HTTP header 'Content-Type'
57
57
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
58
58
 
@@ -107,7 +107,7 @@ module CloudmersiveNlpApiClient
107
107
  # header parameters
108
108
  header_params = {}
109
109
  # HTTP header 'Accept' (if needed)
110
- header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
110
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
111
111
  # HTTP header 'Content-Type'
112
112
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
113
113
 
@@ -162,7 +162,7 @@ module CloudmersiveNlpApiClient
162
162
  # header parameters
163
163
  header_params = {}
164
164
  # HTTP header 'Accept' (if needed)
165
- header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
165
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
166
166
  # HTTP header 'Content-Type'
167
167
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
168
168
 
@@ -217,7 +217,7 @@ module CloudmersiveNlpApiClient
217
217
  # header parameters
218
218
  header_params = {}
219
219
  # HTTP header 'Accept' (if needed)
220
- header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
220
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
221
221
  # HTTP header 'Content-Type'
222
222
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
223
223
 
@@ -272,7 +272,7 @@ module CloudmersiveNlpApiClient
272
272
  # header parameters
273
273
  header_params = {}
274
274
  # HTTP header 'Accept' (if needed)
275
- header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
275
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
276
276
  # HTTP header 'Content-Type'
277
277
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
278
278
 
@@ -327,7 +327,7 @@ module CloudmersiveNlpApiClient
327
327
  # header parameters
328
328
  header_params = {}
329
329
  # HTTP header 'Accept' (if needed)
330
- header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
330
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
331
331
  # HTTP header 'Content-Type'
332
332
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
333
333
 
@@ -25,8 +25,8 @@ module CloudmersiveNlpApiClient
25
25
  # @param input Input rephrase request
26
26
  # @param [Hash] opts the optional parameters
27
27
  # @return [RephraseResponse]
28
- def rephrase_translate_deu_to_eng(input, opts = {})
29
- data, _status_code, _headers = rephrase_translate_deu_to_eng_with_http_info(input, opts)
28
+ def rephrase_english_rephrase_sentence_by_sentence(input, opts = {})
29
+ data, _status_code, _headers = rephrase_english_rephrase_sentence_by_sentence_with_http_info(input, opts)
30
30
  return data
31
31
  end
32
32
 
@@ -35,13 +35,13 @@ module CloudmersiveNlpApiClient
35
35
  # @param input Input rephrase request
36
36
  # @param [Hash] opts the optional parameters
37
37
  # @return [Array<(RephraseResponse, Fixnum, Hash)>] RephraseResponse data, response status code and response headers
38
- def rephrase_translate_deu_to_eng_with_http_info(input, opts = {})
38
+ def rephrase_english_rephrase_sentence_by_sentence_with_http_info(input, opts = {})
39
39
  if @api_client.config.debugging
40
- @api_client.config.logger.debug "Calling API: RephraseApi.rephrase_translate_deu_to_eng ..."
40
+ @api_client.config.logger.debug "Calling API: RephraseApi.rephrase_english_rephrase_sentence_by_sentence ..."
41
41
  end
42
42
  # verify the required parameter 'input' is set
43
43
  if @api_client.config.client_side_validation && input.nil?
44
- fail ArgumentError, "Missing the required parameter 'input' when calling RephraseApi.rephrase_translate_deu_to_eng"
44
+ fail ArgumentError, "Missing the required parameter 'input' when calling RephraseApi.rephrase_english_rephrase_sentence_by_sentence"
45
45
  end
46
46
  # resource path
47
47
  local_var_path = "/nlp-v2/rephrase/rephrase/eng/by-sentence"
@@ -52,7 +52,7 @@ module CloudmersiveNlpApiClient
52
52
  # header parameters
53
53
  header_params = {}
54
54
  # HTTP header 'Accept' (if needed)
55
- header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
55
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
56
56
  # HTTP header 'Content-Type'
57
57
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
58
58
 
@@ -70,7 +70,7 @@ module CloudmersiveNlpApiClient
70
70
  :auth_names => auth_names,
71
71
  :return_type => 'RephraseResponse')
72
72
  if @api_client.config.debugging
73
- @api_client.config.logger.debug "API called: RephraseApi#rephrase_translate_deu_to_eng\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
73
+ @api_client.config.logger.debug "API called: RephraseApi#rephrase_english_rephrase_sentence_by_sentence\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
74
74
  end
75
75
  return data, status_code, headers
76
76
  end
@@ -52,7 +52,7 @@ module CloudmersiveNlpApiClient
52
52
  # header parameters
53
53
  header_params = {}
54
54
  # HTTP header 'Accept' (if needed)
55
- header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
55
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
56
56
  # HTTP header 'Content-Type'
57
57
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
58
58
 
@@ -107,7 +107,7 @@ module CloudmersiveNlpApiClient
107
107
  # header parameters
108
108
  header_params = {}
109
109
  # HTTP header 'Accept' (if needed)
110
- header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
110
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
111
111
  # HTTP header 'Content-Type'
112
112
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
113
113
 
@@ -52,7 +52,7 @@ module CloudmersiveNlpApiClient
52
52
  # header parameters
53
53
  header_params = {}
54
54
  # HTTP header 'Accept' (if needed)
55
- header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
55
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
56
56
  # HTTP header 'Content-Type'
57
57
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
58
58
 
@@ -107,7 +107,7 @@ module CloudmersiveNlpApiClient
107
107
  # header parameters
108
108
  header_params = {}
109
109
  # HTTP header 'Accept' (if needed)
110
- header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
110
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
111
111
  # HTTP header 'Content-Type'
112
112
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
113
113
 
@@ -0,0 +1,189 @@
1
+ =begin
2
+ #nlpapiv2
3
+
4
+ #The powerful Natural Language Processing APIs (v2) let you perform part of speech tagging, entity identification, sentence parsing, and much more to help you understand the meaning of unstructured text.
5
+
6
+ OpenAPI spec version: v1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CloudmersiveNlpApiClient
16
+ # Input to a hate speech analysis operation
17
+ class HateSpeechAnalysisRequest
18
+ # Text to analyze
19
+ attr_accessor :text_to_analyze
20
+
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'text_to_analyze' => :'TextToAnalyze'
26
+ }
27
+ end
28
+
29
+ # Attribute type mapping.
30
+ def self.swagger_types
31
+ {
32
+ :'text_to_analyze' => :'String'
33
+ }
34
+ end
35
+
36
+ # Initializes the object
37
+ # @param [Hash] attributes Model attributes in the form of hash
38
+ def initialize(attributes = {})
39
+ return unless attributes.is_a?(Hash)
40
+
41
+ # convert string to symbol for hash key
42
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
43
+
44
+ if attributes.has_key?(:'TextToAnalyze')
45
+ self.text_to_analyze = attributes[:'TextToAnalyze']
46
+ end
47
+
48
+ end
49
+
50
+ # Show invalid properties with the reasons. Usually used together with valid?
51
+ # @return Array for valid properties with the reasons
52
+ def list_invalid_properties
53
+ invalid_properties = Array.new
54
+ return invalid_properties
55
+ end
56
+
57
+ # Check to see if the all the properties in the model are valid
58
+ # @return true if the model is valid
59
+ def valid?
60
+ return true
61
+ end
62
+
63
+ # Checks equality by comparing each attribute.
64
+ # @param [Object] Object to be compared
65
+ def ==(o)
66
+ return true if self.equal?(o)
67
+ self.class == o.class &&
68
+ text_to_analyze == o.text_to_analyze
69
+ end
70
+
71
+ # @see the `==` method
72
+ # @param [Object] Object to be compared
73
+ def eql?(o)
74
+ self == o
75
+ end
76
+
77
+ # Calculates hash code according to all attributes.
78
+ # @return [Fixnum] Hash code
79
+ def hash
80
+ [text_to_analyze].hash
81
+ end
82
+
83
+ # Builds the object from hash
84
+ # @param [Hash] attributes Model attributes in the form of hash
85
+ # @return [Object] Returns the model itself
86
+ def build_from_hash(attributes)
87
+ return nil unless attributes.is_a?(Hash)
88
+ self.class.swagger_types.each_pair do |key, type|
89
+ if type =~ /\AArray<(.*)>/i
90
+ # check to ensure the input is an array given that the the attribute
91
+ # is documented as an array but the input is not
92
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
93
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
94
+ end
95
+ elsif !attributes[self.class.attribute_map[key]].nil?
96
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
97
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
98
+ end
99
+
100
+ self
101
+ end
102
+
103
+ # Deserializes the data based on type
104
+ # @param string type Data type
105
+ # @param string value Value to be deserialized
106
+ # @return [Object] Deserialized data
107
+ def _deserialize(type, value)
108
+ case type.to_sym
109
+ when :DateTime
110
+ DateTime.parse(value)
111
+ when :Date
112
+ Date.parse(value)
113
+ when :String
114
+ value.to_s
115
+ when :Integer
116
+ value.to_i
117
+ when :Float
118
+ value.to_f
119
+ when :BOOLEAN
120
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
121
+ true
122
+ else
123
+ false
124
+ end
125
+ when :Object
126
+ # generic object (usually a Hash), return directly
127
+ value
128
+ when /\AArray<(?<inner_type>.+)>\z/
129
+ inner_type = Regexp.last_match[:inner_type]
130
+ value.map { |v| _deserialize(inner_type, v) }
131
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
132
+ k_type = Regexp.last_match[:k_type]
133
+ v_type = Regexp.last_match[:v_type]
134
+ {}.tap do |hash|
135
+ value.each do |k, v|
136
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
137
+ end
138
+ end
139
+ else # model
140
+ temp_model = CloudmersiveNlpApiClient.const_get(type).new
141
+ temp_model.build_from_hash(value)
142
+ end
143
+ end
144
+
145
+ # Returns the string representation of the object
146
+ # @return [String] String presentation of the object
147
+ def to_s
148
+ to_hash.to_s
149
+ end
150
+
151
+ # to_body is an alias to to_hash (backward compatibility)
152
+ # @return [Hash] Returns the object in the form of hash
153
+ def to_body
154
+ to_hash
155
+ end
156
+
157
+ # Returns the object in the form of hash
158
+ # @return [Hash] Returns the object in the form of hash
159
+ def to_hash
160
+ hash = {}
161
+ self.class.attribute_map.each_pair do |attr, param|
162
+ value = self.send(attr)
163
+ next if value.nil?
164
+ hash[param] = _to_hash(value)
165
+ end
166
+ hash
167
+ end
168
+
169
+ # Outputs non-array value in the form of hash
170
+ # For object, use to_hash. Otherwise, just return the value
171
+ # @param [Object] value Any valid value
172
+ # @return [Hash] Returns the value in the form of hash
173
+ def _to_hash(value)
174
+ if value.is_a?(Array)
175
+ value.compact.map{ |v| _to_hash(v) }
176
+ elsif value.is_a?(Hash)
177
+ {}.tap do |hash|
178
+ value.each { |k, v| hash[k] = _to_hash(v) }
179
+ end
180
+ elsif value.respond_to? :to_hash
181
+ value.to_hash
182
+ else
183
+ value
184
+ end
185
+ end
186
+
187
+ end
188
+
189
+ end
@@ -0,0 +1,209 @@
1
+ =begin
2
+ #nlpapiv2
3
+
4
+ #The powerful Natural Language Processing APIs (v2) let you perform part of speech tagging, entity identification, sentence parsing, and much more to help you understand the meaning of unstructured text.
5
+
6
+ OpenAPI spec version: v1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CloudmersiveNlpApiClient
16
+ # Output of a hate speech analysis operation
17
+ class HateSpeechAnalysisResponse
18
+ # True if the profanity detection operation was successful, false otherwise
19
+ attr_accessor :successful
20
+
21
+ # Hate speech classification score between 0.0 and 1.0 where scores closer to zero have a low probability of being hate speech language, while scores close to 1.0 have a high probability of being hate speech language. Values above 0.8 have a very high probability of being hate speech.
22
+ attr_accessor :hate_speech_score_result
23
+
24
+ # Number of sentences in input text
25
+ attr_accessor :sentence_count
26
+
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+ :'successful' => :'Successful',
32
+ :'hate_speech_score_result' => :'HateSpeechScoreResult',
33
+ :'sentence_count' => :'SentenceCount'
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ def self.swagger_types
39
+ {
40
+ :'successful' => :'BOOLEAN',
41
+ :'hate_speech_score_result' => :'Float',
42
+ :'sentence_count' => :'Integer'
43
+ }
44
+ end
45
+
46
+ # Initializes the object
47
+ # @param [Hash] attributes Model attributes in the form of hash
48
+ def initialize(attributes = {})
49
+ return unless attributes.is_a?(Hash)
50
+
51
+ # convert string to symbol for hash key
52
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
53
+
54
+ if attributes.has_key?(:'Successful')
55
+ self.successful = attributes[:'Successful']
56
+ end
57
+
58
+ if attributes.has_key?(:'HateSpeechScoreResult')
59
+ self.hate_speech_score_result = attributes[:'HateSpeechScoreResult']
60
+ end
61
+
62
+ if attributes.has_key?(:'SentenceCount')
63
+ self.sentence_count = attributes[:'SentenceCount']
64
+ end
65
+
66
+ end
67
+
68
+ # Show invalid properties with the reasons. Usually used together with valid?
69
+ # @return Array for valid properties with the reasons
70
+ def list_invalid_properties
71
+ invalid_properties = Array.new
72
+ return invalid_properties
73
+ end
74
+
75
+ # Check to see if the all the properties in the model are valid
76
+ # @return true if the model is valid
77
+ def valid?
78
+ return true
79
+ end
80
+
81
+ # Checks equality by comparing each attribute.
82
+ # @param [Object] Object to be compared
83
+ def ==(o)
84
+ return true if self.equal?(o)
85
+ self.class == o.class &&
86
+ successful == o.successful &&
87
+ hate_speech_score_result == o.hate_speech_score_result &&
88
+ sentence_count == o.sentence_count
89
+ end
90
+
91
+ # @see the `==` method
92
+ # @param [Object] Object to be compared
93
+ def eql?(o)
94
+ self == o
95
+ end
96
+
97
+ # Calculates hash code according to all attributes.
98
+ # @return [Fixnum] Hash code
99
+ def hash
100
+ [successful, hate_speech_score_result, sentence_count].hash
101
+ end
102
+
103
+ # Builds the object from hash
104
+ # @param [Hash] attributes Model attributes in the form of hash
105
+ # @return [Object] Returns the model itself
106
+ def build_from_hash(attributes)
107
+ return nil unless attributes.is_a?(Hash)
108
+ self.class.swagger_types.each_pair do |key, type|
109
+ if type =~ /\AArray<(.*)>/i
110
+ # check to ensure the input is an array given that the the attribute
111
+ # is documented as an array but the input is not
112
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
113
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
114
+ end
115
+ elsif !attributes[self.class.attribute_map[key]].nil?
116
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
117
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
118
+ end
119
+
120
+ self
121
+ end
122
+
123
+ # Deserializes the data based on type
124
+ # @param string type Data type
125
+ # @param string value Value to be deserialized
126
+ # @return [Object] Deserialized data
127
+ def _deserialize(type, value)
128
+ case type.to_sym
129
+ when :DateTime
130
+ DateTime.parse(value)
131
+ when :Date
132
+ Date.parse(value)
133
+ when :String
134
+ value.to_s
135
+ when :Integer
136
+ value.to_i
137
+ when :Float
138
+ value.to_f
139
+ when :BOOLEAN
140
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
141
+ true
142
+ else
143
+ false
144
+ end
145
+ when :Object
146
+ # generic object (usually a Hash), return directly
147
+ value
148
+ when /\AArray<(?<inner_type>.+)>\z/
149
+ inner_type = Regexp.last_match[:inner_type]
150
+ value.map { |v| _deserialize(inner_type, v) }
151
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
152
+ k_type = Regexp.last_match[:k_type]
153
+ v_type = Regexp.last_match[:v_type]
154
+ {}.tap do |hash|
155
+ value.each do |k, v|
156
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
157
+ end
158
+ end
159
+ else # model
160
+ temp_model = CloudmersiveNlpApiClient.const_get(type).new
161
+ temp_model.build_from_hash(value)
162
+ end
163
+ end
164
+
165
+ # Returns the string representation of the object
166
+ # @return [String] String presentation of the object
167
+ def to_s
168
+ to_hash.to_s
169
+ end
170
+
171
+ # to_body is an alias to to_hash (backward compatibility)
172
+ # @return [Hash] Returns the object in the form of hash
173
+ def to_body
174
+ to_hash
175
+ end
176
+
177
+ # Returns the object in the form of hash
178
+ # @return [Hash] Returns the object in the form of hash
179
+ def to_hash
180
+ hash = {}
181
+ self.class.attribute_map.each_pair do |attr, param|
182
+ value = self.send(attr)
183
+ next if value.nil?
184
+ hash[param] = _to_hash(value)
185
+ end
186
+ hash
187
+ end
188
+
189
+ # Outputs non-array value in the form of hash
190
+ # For object, use to_hash. Otherwise, just return the value
191
+ # @param [Object] value Any valid value
192
+ # @return [Hash] Returns the value in the form of hash
193
+ def _to_hash(value)
194
+ if value.is_a?(Array)
195
+ value.compact.map{ |v| _to_hash(v) }
196
+ elsif value.is_a?(Hash)
197
+ {}.tap do |hash|
198
+ value.each { |k, v| hash[k] = _to_hash(v) }
199
+ end
200
+ elsif value.respond_to? :to_hash
201
+ value.to_hash
202
+ else
203
+ value
204
+ end
205
+ end
206
+
207
+ end
208
+
209
+ end