aylien_news_api 1.0.0 → 3.0.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 (135) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +6 -0
  3. data/README.md +117 -4
  4. data/Rakefile +2 -0
  5. data/aylien_news_api.gemspec +16 -27
  6. data/docs/Author.md +12 -1
  7. data/docs/Autocomplete.md +10 -0
  8. data/docs/Autocompletes.md +9 -0
  9. data/docs/Category.md +17 -3
  10. data/docs/CategoryLinks.md +11 -1
  11. data/docs/Cluster.md +29 -0
  12. data/docs/Clusters.md +21 -0
  13. data/docs/Coverages.md +16 -4
  14. data/docs/DefaultApi.md +1250 -1117
  15. data/docs/Entities.md +11 -1
  16. data/docs/Entity.md +16 -3
  17. data/docs/EntityLinks.md +9 -0
  18. data/docs/Error.md +16 -2
  19. data/docs/ErrorLinks.md +9 -0
  20. data/docs/Errors.md +9 -0
  21. data/docs/HistogramInterval.md +10 -0
  22. data/docs/Histograms.md +16 -3
  23. data/docs/Location.md +13 -2
  24. data/docs/Media.md +17 -3
  25. data/docs/Rank.md +12 -1
  26. data/docs/Rankings.md +9 -0
  27. data/docs/RelatedStories.md +14 -3
  28. data/docs/RepresentativeStory.md +23 -0
  29. data/docs/Scope.md +14 -2
  30. data/docs/Sentiment.md +10 -0
  31. data/docs/Sentiments.md +12 -2
  32. data/docs/ShareCount.md +10 -0
  33. data/docs/ShareCounts.md +12 -0
  34. data/docs/Source.md +27 -8
  35. data/docs/Stories.md +11 -2
  36. data/docs/Story.md +48 -16
  37. data/docs/StoryCluster.md +14 -1
  38. data/docs/StoryLinks.md +14 -2
  39. data/docs/StoryTranslations.md +17 -0
  40. data/docs/StoryTranslationsEn.md +21 -0
  41. data/docs/Summary.md +9 -0
  42. data/docs/TimeSeries.md +11 -1
  43. data/docs/TimeSeriesList.md +15 -3
  44. data/docs/Trend.md +11 -1
  45. data/docs/Trends.md +11 -1
  46. data/git_push.sh +58 -0
  47. data/lib/aylien_news_api.rb +11 -10
  48. data/lib/aylien_news_api/api/default_api.rb +2065 -1801
  49. data/lib/aylien_news_api/api_client.rb +129 -108
  50. data/lib/aylien_news_api/api_error.rb +25 -10
  51. data/lib/aylien_news_api/configuration.rb +69 -33
  52. data/lib/aylien_news_api/models/author.rb +50 -46
  53. data/lib/aylien_news_api/models/autocomplete.rb +36 -32
  54. data/lib/aylien_news_api/models/autocompletes.rb +35 -31
  55. data/lib/aylien_news_api/models/category.rb +63 -59
  56. data/lib/aylien_news_api/models/category_links.rb +47 -43
  57. data/lib/aylien_news_api/models/cluster.rb +255 -0
  58. data/lib/aylien_news_api/models/clusters.rb +219 -0
  59. data/lib/aylien_news_api/models/coverages.rb +60 -68
  60. data/lib/aylien_news_api/models/entities.rb +48 -44
  61. data/lib/aylien_news_api/models/entity.rb +71 -69
  62. data/lib/aylien_news_api/models/entity_links.rb +35 -31
  63. data/lib/aylien_news_api/models/error.rb +60 -56
  64. data/lib/aylien_news_api/models/error_links.rb +35 -31
  65. data/lib/aylien_news_api/models/errors.rb +35 -31
  66. data/lib/aylien_news_api/models/histogram_interval.rb +36 -32
  67. data/lib/aylien_news_api/models/histograms.rb +62 -58
  68. data/lib/aylien_news_api/models/location.rb +51 -47
  69. data/lib/aylien_news_api/models/media.rb +81 -76
  70. data/lib/aylien_news_api/models/rank.rb +48 -44
  71. data/lib/aylien_news_api/models/rankings.rb +35 -31
  72. data/lib/aylien_news_api/models/related_stories.rb +53 -61
  73. data/lib/aylien_news_api/models/representative_story.rb +227 -0
  74. data/lib/aylien_news_api/models/scope.rb +59 -54
  75. data/lib/aylien_news_api/models/sentiment.rb +41 -37
  76. data/lib/aylien_news_api/models/sentiments.rb +46 -44
  77. data/lib/aylien_news_api/models/share_count.rb +36 -32
  78. data/lib/aylien_news_api/models/share_counts.rb +38 -34
  79. data/lib/aylien_news_api/models/source.rb +95 -92
  80. data/lib/aylien_news_api/models/stories.rb +47 -55
  81. data/lib/aylien_news_api/models/story.rb +172 -154
  82. data/lib/aylien_news_api/models/story_cluster.rb +52 -48
  83. data/lib/aylien_news_api/models/story_links.rb +58 -54
  84. data/lib/aylien_news_api/models/story_translations.rb +197 -0
  85. data/lib/aylien_news_api/models/story_translations_en.rb +217 -0
  86. data/lib/aylien_news_api/models/summary.rb +35 -31
  87. data/lib/aylien_news_api/models/time_series.rb +47 -43
  88. data/lib/aylien_news_api/models/time_series_list.rb +56 -52
  89. data/lib/aylien_news_api/models/trend.rb +47 -43
  90. data/lib/aylien_news_api/models/trends.rb +48 -44
  91. data/lib/aylien_news_api/version.rb +7 -11
  92. data/spec/api/default_api_spec.rb +569 -533
  93. data/spec/api_client_spec.rb +34 -76
  94. data/spec/configuration_spec.rb +14 -18
  95. data/spec/models/author_spec.rb +15 -18
  96. data/spec/models/autocomplete_spec.rb +11 -14
  97. data/spec/models/autocompletes_spec.rb +10 -13
  98. data/spec/models/category_links_spec.rb +13 -16
  99. data/spec/models/category_spec.rb +24 -27
  100. data/spec/models/cluster_spec.rb +77 -0
  101. data/spec/models/clusters_spec.rb +53 -0
  102. data/spec/models/coverages_spec.rb +17 -26
  103. data/spec/models/entities_spec.rb +13 -16
  104. data/spec/models/entity_links_spec.rb +10 -13
  105. data/spec/models/entity_spec.rb +19 -22
  106. data/spec/models/error_links_spec.rb +10 -13
  107. data/spec/models/error_spec.rb +21 -24
  108. data/spec/models/errors_spec.rb +10 -13
  109. data/spec/models/histogram_interval_spec.rb +11 -14
  110. data/spec/models/histograms_spec.rb +18 -21
  111. data/spec/models/location_spec.rb +15 -18
  112. data/spec/models/media_spec.rb +29 -32
  113. data/spec/models/rank_spec.rb +15 -18
  114. data/spec/models/rankings_spec.rb +10 -13
  115. data/spec/models/related_stories_spec.rb +15 -24
  116. data/spec/models/representative_story_spec.rb +59 -0
  117. data/spec/models/scope_spec.rb +21 -24
  118. data/spec/models/sentiment_spec.rb +15 -18
  119. data/spec/models/sentiments_spec.rb +13 -16
  120. data/spec/models/share_count_spec.rb +11 -14
  121. data/spec/models/share_counts_spec.rb +13 -16
  122. data/spec/models/source_spec.rb +29 -32
  123. data/spec/models/stories_spec.rb +13 -22
  124. data/spec/models/story_cluster_spec.rb +17 -20
  125. data/spec/models/story_links_spec.rb +17 -20
  126. data/spec/models/story_spec.rb +59 -50
  127. data/spec/models/story_translations_en_spec.rb +53 -0
  128. data/spec/models/story_translations_spec.rb +41 -0
  129. data/spec/models/summary_spec.rb +10 -13
  130. data/spec/models/time_series_list_spec.rb +16 -19
  131. data/spec/models/time_series_spec.rb +13 -16
  132. data/spec/models/trend_spec.rb +13 -16
  133. data/spec/models/trends_spec.rb +13 -16
  134. data/spec/spec_helper.rb +6 -10
  135. metadata +68 -194
@@ -1,85 +1,85 @@
1
1
  =begin
2
- Copyright 2017 Aylien, Inc. All Rights Reserved.
2
+ #AYLIEN News API
3
3
 
4
- Licensed under the Apache License, Version 2.0 (the "License");
5
- you may not use this file except in compliance with the License.
6
- You may obtain a copy of the License at
4
+ #The AYLIEN News API is the most powerful way of sourcing, searching and syndicating analyzed and enriched news content. It is accessed by sending HTTP requests to our server, which returns information to your client.
7
5
 
8
- http://www.apache.org/licenses/LICENSE-2.0
6
+ The version of the OpenAPI document: 3.0
7
+ Contact: support@aylien.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.1.3-SNAPSHOT
9
10
 
10
- Unless required by applicable law or agreed to in writing, software
11
- distributed under the License is distributed on an "AS IS" BASIS,
12
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- See the License for the specific language governing permissions and
14
- limitations under the License.
15
11
  =end
16
12
 
17
13
  require 'date'
18
14
 
19
15
  module AylienNewsApi
20
-
21
16
  class Author
17
+ # A URL which points to the author avatar
18
+ attr_accessor :avatar_url
19
+
22
20
  # A unique identification for the author
23
21
  attr_accessor :id
24
22
 
25
23
  # The extracted author full name
26
24
  attr_accessor :name
27
25
 
28
- # A URL which points to the author avatar
29
- attr_accessor :avatar_url
30
-
31
-
32
26
  # Attribute mapping from ruby-style variable name to JSON key.
33
27
  def self.attribute_map
34
28
  {
29
+ :'avatar_url' => :'avatar_url',
35
30
  :'id' => :'id',
36
- :'name' => :'name',
37
- :'avatar_url' => :'avatar_url'
31
+ :'name' => :'name'
38
32
  }
39
33
  end
40
34
 
41
35
  # Attribute type mapping.
42
- def self.api_types
36
+ def self.openapi_types
43
37
  {
38
+ :'avatar_url' => :'String',
44
39
  :'id' => :'Integer',
45
- :'name' => :'String',
46
- :'avatar_url' => :'String'
40
+ :'name' => :'String'
47
41
  }
48
42
  end
49
43
 
50
44
  # Initializes the object
51
45
  # @param [Hash] attributes Model attributes in the form of hash
52
46
  def initialize(attributes = {})
53
- return unless attributes.is_a?(Hash)
47
+ if (!attributes.is_a?(Hash))
48
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AylienNewsApi::Author` initialize method"
49
+ end
54
50
 
55
- # convert string to symbol for hash key
56
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
51
+ # check to see if the attribute exists and convert string to symbol for hash key
52
+ attributes = attributes.each_with_object({}) { |(k, v), h|
53
+ if (!self.class.attribute_map.key?(k.to_sym))
54
+ fail ArgumentError, "`#{k}` is not a valid attribute in `AylienNewsApi::Author`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
55
+ end
56
+ h[k.to_sym] = v
57
+ }
57
58
 
58
- if attributes.has_key?(:'id')
59
- self.id = attributes[:'id']
59
+ if attributes.key?(:'avatar_url')
60
+ self.avatar_url = attributes[:'avatar_url']
60
61
  end
61
62
 
62
- if attributes.has_key?(:'name')
63
- self.name = attributes[:'name']
63
+ if attributes.key?(:'id')
64
+ self.id = attributes[:'id']
64
65
  end
65
66
 
66
- if attributes.has_key?(:'avatar_url')
67
- self.avatar_url = attributes[:'avatar_url']
67
+ if attributes.key?(:'name')
68
+ self.name = attributes[:'name']
68
69
  end
69
-
70
70
  end
71
71
 
72
72
  # Show invalid properties with the reasons. Usually used together with valid?
73
- # @return Array for valid properies with the reasons
73
+ # @return Array for valid properties with the reasons
74
74
  def list_invalid_properties
75
75
  invalid_properties = Array.new
76
- return invalid_properties
76
+ invalid_properties
77
77
  end
78
78
 
79
79
  # Check to see if the all the properties in the model are valid
80
80
  # @return true if the model is valid
81
81
  def valid?
82
- return true
82
+ true
83
83
  end
84
84
 
85
85
  # Checks equality by comparing each attribute.
@@ -87,9 +87,9 @@ module AylienNewsApi
87
87
  def ==(o)
88
88
  return true if self.equal?(o)
89
89
  self.class == o.class &&
90
+ avatar_url == o.avatar_url &&
90
91
  id == o.id &&
91
- name == o.name &&
92
- avatar_url == o.avatar_url
92
+ name == o.name
93
93
  end
94
94
 
95
95
  # @see the `==` method
@@ -99,9 +99,16 @@ module AylienNewsApi
99
99
  end
100
100
 
101
101
  # Calculates hash code according to all attributes.
102
- # @return [Fixnum] Hash code
102
+ # @return [Integer] Hash code
103
103
  def hash
104
- [id, name, avatar_url].hash
104
+ [avatar_url, id, name].hash
105
+ end
106
+
107
+ # Builds the object from hash
108
+ # @param [Hash] attributes Model attributes in the form of hash
109
+ # @return [Object] Returns the model itself
110
+ def self.build_from_hash(attributes)
111
+ new.build_from_hash(attributes)
105
112
  end
106
113
 
107
114
  # Builds the object from hash
@@ -109,12 +116,12 @@ module AylienNewsApi
109
116
  # @return [Object] Returns the model itself
110
117
  def build_from_hash(attributes)
111
118
  return nil unless attributes.is_a?(Hash)
112
- self.class.api_types.each_pair do |key, type|
119
+ self.class.openapi_types.each_pair do |key, type|
113
120
  if type =~ /\AArray<(.*)>/i
114
- # check to ensure the input is an array given that the the attribute
121
+ # check to ensure the input is an array given that the attribute
115
122
  # is documented as an array but the input is not
116
123
  if attributes[self.class.attribute_map[key]].is_a?(Array)
117
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
124
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
118
125
  end
119
126
  elsif !attributes[self.class.attribute_map[key]].nil?
120
127
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
@@ -140,7 +147,7 @@ module AylienNewsApi
140
147
  value.to_i
141
148
  when :Float
142
149
  value.to_f
143
- when :BOOLEAN
150
+ when :Boolean
144
151
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
145
152
  true
146
153
  else
@@ -161,8 +168,7 @@ module AylienNewsApi
161
168
  end
162
169
  end
163
170
  else # model
164
- temp_model = AylienNewsApi.const_get(type).new
165
- temp_model.build_from_hash(value)
171
+ AylienNewsApi.const_get(type).build_from_hash(value)
166
172
  end
167
173
  end
168
174
 
@@ -196,7 +202,7 @@ module AylienNewsApi
196
202
  # @return [Hash] Returns the value in the form of hash
197
203
  def _to_hash(value)
198
204
  if value.is_a?(Array)
199
- value.compact.map{ |v| _to_hash(v) }
205
+ value.compact.map { |v| _to_hash(v) }
200
206
  elsif value.is_a?(Hash)
201
207
  {}.tap do |hash|
202
208
  value.each { |k, v| hash[k] = _to_hash(v) }
@@ -207,7 +213,5 @@ module AylienNewsApi
207
213
  value
208
214
  end
209
215
  end
210
-
211
216
  end
212
-
213
217
  end
@@ -1,23 +1,18 @@
1
1
  =begin
2
- Copyright 2017 Aylien, Inc. All Rights Reserved.
2
+ #AYLIEN News API
3
3
 
4
- Licensed under the Apache License, Version 2.0 (the "License");
5
- you may not use this file except in compliance with the License.
6
- You may obtain a copy of the License at
4
+ #The AYLIEN News API is the most powerful way of sourcing, searching and syndicating analyzed and enriched news content. It is accessed by sending HTTP requests to our server, which returns information to your client.
7
5
 
8
- http://www.apache.org/licenses/LICENSE-2.0
6
+ The version of the OpenAPI document: 3.0
7
+ Contact: support@aylien.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.1.3-SNAPSHOT
9
10
 
10
- Unless required by applicable law or agreed to in writing, software
11
- distributed under the License is distributed on an "AS IS" BASIS,
12
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- See the License for the specific language governing permissions and
14
- limitations under the License.
15
11
  =end
16
12
 
17
13
  require 'date'
18
14
 
19
15
  module AylienNewsApi
20
-
21
16
  class Autocomplete
22
17
  # ID of the autocomplete
23
18
  attr_accessor :id
@@ -25,7 +20,6 @@ module AylienNewsApi
25
20
  # Text of the autocomplete
26
21
  attr_accessor :text
27
22
 
28
-
29
23
  # Attribute mapping from ruby-style variable name to JSON key.
30
24
  def self.attribute_map
31
25
  {
@@ -35,7 +29,7 @@ module AylienNewsApi
35
29
  end
36
30
 
37
31
  # Attribute type mapping.
38
- def self.api_types
32
+ def self.openapi_types
39
33
  {
40
34
  :'id' => :'String',
41
35
  :'text' => :'String'
@@ -45,32 +39,38 @@ module AylienNewsApi
45
39
  # Initializes the object
46
40
  # @param [Hash] attributes Model attributes in the form of hash
47
41
  def initialize(attributes = {})
48
- return unless attributes.is_a?(Hash)
42
+ if (!attributes.is_a?(Hash))
43
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AylienNewsApi::Autocomplete` initialize method"
44
+ end
49
45
 
50
- # convert string to symbol for hash key
51
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
46
+ # check to see if the attribute exists and convert string to symbol for hash key
47
+ attributes = attributes.each_with_object({}) { |(k, v), h|
48
+ if (!self.class.attribute_map.key?(k.to_sym))
49
+ fail ArgumentError, "`#{k}` is not a valid attribute in `AylienNewsApi::Autocomplete`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
50
+ end
51
+ h[k.to_sym] = v
52
+ }
52
53
 
53
- if attributes.has_key?(:'id')
54
+ if attributes.key?(:'id')
54
55
  self.id = attributes[:'id']
55
56
  end
56
57
 
57
- if attributes.has_key?(:'text')
58
+ if attributes.key?(:'text')
58
59
  self.text = attributes[:'text']
59
60
  end
60
-
61
61
  end
62
62
 
63
63
  # Show invalid properties with the reasons. Usually used together with valid?
64
- # @return Array for valid properies with the reasons
64
+ # @return Array for valid properties with the reasons
65
65
  def list_invalid_properties
66
66
  invalid_properties = Array.new
67
- return invalid_properties
67
+ invalid_properties
68
68
  end
69
69
 
70
70
  # Check to see if the all the properties in the model are valid
71
71
  # @return true if the model is valid
72
72
  def valid?
73
- return true
73
+ true
74
74
  end
75
75
 
76
76
  # Checks equality by comparing each attribute.
@@ -89,22 +89,29 @@ module AylienNewsApi
89
89
  end
90
90
 
91
91
  # Calculates hash code according to all attributes.
92
- # @return [Fixnum] Hash code
92
+ # @return [Integer] Hash code
93
93
  def hash
94
94
  [id, text].hash
95
95
  end
96
96
 
97
+ # Builds the object from hash
98
+ # @param [Hash] attributes Model attributes in the form of hash
99
+ # @return [Object] Returns the model itself
100
+ def self.build_from_hash(attributes)
101
+ new.build_from_hash(attributes)
102
+ end
103
+
97
104
  # Builds the object from hash
98
105
  # @param [Hash] attributes Model attributes in the form of hash
99
106
  # @return [Object] Returns the model itself
100
107
  def build_from_hash(attributes)
101
108
  return nil unless attributes.is_a?(Hash)
102
- self.class.api_types.each_pair do |key, type|
109
+ self.class.openapi_types.each_pair do |key, type|
103
110
  if type =~ /\AArray<(.*)>/i
104
- # check to ensure the input is an array given that the the attribute
111
+ # check to ensure the input is an array given that the attribute
105
112
  # is documented as an array but the input is not
106
113
  if attributes[self.class.attribute_map[key]].is_a?(Array)
107
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
114
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
108
115
  end
109
116
  elsif !attributes[self.class.attribute_map[key]].nil?
110
117
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
@@ -130,7 +137,7 @@ module AylienNewsApi
130
137
  value.to_i
131
138
  when :Float
132
139
  value.to_f
133
- when :BOOLEAN
140
+ when :Boolean
134
141
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
135
142
  true
136
143
  else
@@ -151,8 +158,7 @@ module AylienNewsApi
151
158
  end
152
159
  end
153
160
  else # model
154
- temp_model = AylienNewsApi.const_get(type).new
155
- temp_model.build_from_hash(value)
161
+ AylienNewsApi.const_get(type).build_from_hash(value)
156
162
  end
157
163
  end
158
164
 
@@ -186,7 +192,7 @@ module AylienNewsApi
186
192
  # @return [Hash] Returns the value in the form of hash
187
193
  def _to_hash(value)
188
194
  if value.is_a?(Array)
189
- value.compact.map{ |v| _to_hash(v) }
195
+ value.compact.map { |v| _to_hash(v) }
190
196
  elsif value.is_a?(Hash)
191
197
  {}.tap do |hash|
192
198
  value.each { |k, v| hash[k] = _to_hash(v) }
@@ -197,7 +203,5 @@ module AylienNewsApi
197
203
  value
198
204
  end
199
205
  end
200
-
201
206
  end
202
-
203
207
  end
@@ -1,28 +1,22 @@
1
1
  =begin
2
- Copyright 2017 Aylien, Inc. All Rights Reserved.
2
+ #AYLIEN News API
3
3
 
4
- Licensed under the Apache License, Version 2.0 (the "License");
5
- you may not use this file except in compliance with the License.
6
- You may obtain a copy of the License at
4
+ #The AYLIEN News API is the most powerful way of sourcing, searching and syndicating analyzed and enriched news content. It is accessed by sending HTTP requests to our server, which returns information to your client.
7
5
 
8
- http://www.apache.org/licenses/LICENSE-2.0
6
+ The version of the OpenAPI document: 3.0
7
+ Contact: support@aylien.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.1.3-SNAPSHOT
9
10
 
10
- Unless required by applicable law or agreed to in writing, software
11
- distributed under the License is distributed on an "AS IS" BASIS,
12
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- See the License for the specific language governing permissions and
14
- limitations under the License.
15
11
  =end
16
12
 
17
13
  require 'date'
18
14
 
19
15
  module AylienNewsApi
20
-
21
16
  class Autocompletes
22
17
  # An array of autocompletes
23
18
  attr_accessor :autocompletes
24
19
 
25
-
26
20
  # Attribute mapping from ruby-style variable name to JSON key.
27
21
  def self.attribute_map
28
22
  {
@@ -31,7 +25,7 @@ module AylienNewsApi
31
25
  end
32
26
 
33
27
  # Attribute type mapping.
34
- def self.api_types
28
+ def self.openapi_types
35
29
  {
36
30
  :'autocompletes' => :'Array<Autocomplete>'
37
31
  }
@@ -40,30 +34,36 @@ module AylienNewsApi
40
34
  # Initializes the object
41
35
  # @param [Hash] attributes Model attributes in the form of hash
42
36
  def initialize(attributes = {})
43
- return unless attributes.is_a?(Hash)
37
+ if (!attributes.is_a?(Hash))
38
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AylienNewsApi::Autocompletes` initialize method"
39
+ end
44
40
 
45
- # convert string to symbol for hash key
46
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
41
+ # check to see if the attribute exists and convert string to symbol for hash key
42
+ attributes = attributes.each_with_object({}) { |(k, v), h|
43
+ if (!self.class.attribute_map.key?(k.to_sym))
44
+ fail ArgumentError, "`#{k}` is not a valid attribute in `AylienNewsApi::Autocompletes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
45
+ end
46
+ h[k.to_sym] = v
47
+ }
47
48
 
48
- if attributes.has_key?(:'autocompletes')
49
+ if attributes.key?(:'autocompletes')
49
50
  if (value = attributes[:'autocompletes']).is_a?(Array)
50
51
  self.autocompletes = value
51
52
  end
52
53
  end
53
-
54
54
  end
55
55
 
56
56
  # Show invalid properties with the reasons. Usually used together with valid?
57
- # @return Array for valid properies with the reasons
57
+ # @return Array for valid properties with the reasons
58
58
  def list_invalid_properties
59
59
  invalid_properties = Array.new
60
- return invalid_properties
60
+ invalid_properties
61
61
  end
62
62
 
63
63
  # Check to see if the all the properties in the model are valid
64
64
  # @return true if the model is valid
65
65
  def valid?
66
- return true
66
+ true
67
67
  end
68
68
 
69
69
  # Checks equality by comparing each attribute.
@@ -81,22 +81,29 @@ module AylienNewsApi
81
81
  end
82
82
 
83
83
  # Calculates hash code according to all attributes.
84
- # @return [Fixnum] Hash code
84
+ # @return [Integer] Hash code
85
85
  def hash
86
86
  [autocompletes].hash
87
87
  end
88
88
 
89
+ # Builds the object from hash
90
+ # @param [Hash] attributes Model attributes in the form of hash
91
+ # @return [Object] Returns the model itself
92
+ def self.build_from_hash(attributes)
93
+ new.build_from_hash(attributes)
94
+ end
95
+
89
96
  # Builds the object from hash
90
97
  # @param [Hash] attributes Model attributes in the form of hash
91
98
  # @return [Object] Returns the model itself
92
99
  def build_from_hash(attributes)
93
100
  return nil unless attributes.is_a?(Hash)
94
- self.class.api_types.each_pair do |key, type|
101
+ self.class.openapi_types.each_pair do |key, type|
95
102
  if type =~ /\AArray<(.*)>/i
96
- # check to ensure the input is an array given that the the attribute
103
+ # check to ensure the input is an array given that the attribute
97
104
  # is documented as an array but the input is not
98
105
  if attributes[self.class.attribute_map[key]].is_a?(Array)
99
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
106
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
100
107
  end
101
108
  elsif !attributes[self.class.attribute_map[key]].nil?
102
109
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
@@ -122,7 +129,7 @@ module AylienNewsApi
122
129
  value.to_i
123
130
  when :Float
124
131
  value.to_f
125
- when :BOOLEAN
132
+ when :Boolean
126
133
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
127
134
  true
128
135
  else
@@ -143,8 +150,7 @@ module AylienNewsApi
143
150
  end
144
151
  end
145
152
  else # model
146
- temp_model = AylienNewsApi.const_get(type).new
147
- temp_model.build_from_hash(value)
153
+ AylienNewsApi.const_get(type).build_from_hash(value)
148
154
  end
149
155
  end
150
156
 
@@ -178,7 +184,7 @@ module AylienNewsApi
178
184
  # @return [Hash] Returns the value in the form of hash
179
185
  def _to_hash(value)
180
186
  if value.is_a?(Array)
181
- value.compact.map{ |v| _to_hash(v) }
187
+ value.compact.map { |v| _to_hash(v) }
182
188
  elsif value.is_a?(Hash)
183
189
  {}.tap do |hash|
184
190
  value.each { |k, v| hash[k] = _to_hash(v) }
@@ -189,7 +195,5 @@ module AylienNewsApi
189
195
  value
190
196
  end
191
197
  end
192
-
193
198
  end
194
-
195
199
  end