aylien_news_api 0.2.0 → 4.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.
- checksums.yaml +5 -5
- data/Gemfile +7 -1
- data/README.md +36 -47
- data/Rakefile +10 -0
- data/aylien_news_api.gemspec +25 -32
- data/docs/Author.md +12 -1
- data/docs/Autocomplete.md +10 -0
- data/docs/Autocompletes.md +9 -0
- data/docs/Category.md +19 -3
- data/docs/CategoryLinks.md +11 -1
- data/docs/CategoryTaxonomy.md +16 -0
- data/docs/Cluster.md +29 -0
- data/docs/Clusters.md +21 -0
- data/docs/Coverages.md +16 -4
- data/docs/DefaultApi.md +1310 -576
- data/docs/Entities.md +11 -1
- data/docs/Entity.md +16 -3
- data/docs/EntityLinks.md +9 -0
- data/docs/Error.md +16 -2
- data/docs/ErrorLinks.md +9 -0
- data/docs/Errors.md +9 -0
- data/docs/HistogramInterval.md +10 -0
- data/docs/Histograms.md +20 -3
- data/docs/Location.md +13 -2
- data/docs/Media.md +19 -1
- data/docs/MediaFormat.md +16 -0
- data/docs/MediaType.md +16 -0
- data/docs/Rank.md +21 -0
- data/docs/Rankings.md +17 -0
- data/docs/RelatedStories.md +14 -3
- data/docs/RepresentativeStory.md +23 -0
- data/docs/Scope.md +15 -3
- data/docs/ScopeLevel.md +16 -0
- data/docs/Sentiment.md +11 -1
- data/docs/SentimentPolarity.md +16 -0
- data/docs/Sentiments.md +12 -2
- data/docs/ShareCount.md +10 -0
- data/docs/ShareCounts.md +12 -0
- data/docs/Source.md +27 -3
- data/docs/Stories.md +15 -2
- data/docs/Story.md +48 -16
- data/docs/StoryCluster.md +14 -1
- data/docs/StoryLinks.md +14 -1
- data/docs/StoryTranslation.md +19 -0
- data/docs/StoryTranslations.md +17 -0
- data/docs/StoryTranslationsEn.md +21 -0
- data/docs/Summary.md +9 -0
- data/docs/TimeSeries.md +11 -1
- data/docs/TimeSeriesList.md +15 -3
- data/docs/Trend.md +11 -1
- data/docs/Trends.md +15 -1
- data/git_push.sh +58 -0
- data/lib/aylien_news_api.rb +23 -14
- data/lib/aylien_news_api/api/default_api.rb +2755 -892
- data/lib/aylien_news_api/api_client.rb +141 -102
- data/lib/aylien_news_api/api_error.rb +37 -18
- data/lib/aylien_news_api/configuration.rb +94 -43
- data/lib/aylien_news_api/models/author.rb +69 -53
- data/lib/aylien_news_api/models/autocomplete.rb +55 -39
- data/lib/aylien_news_api/models/autocompletes.rb +54 -38
- data/lib/aylien_news_api/models/category.rb +88 -97
- data/lib/aylien_news_api/models/category_links.rb +66 -50
- data/lib/aylien_news_api/models/category_taxonomy.rb +36 -0
- data/lib/aylien_news_api/models/cluster.rb +265 -0
- data/lib/aylien_news_api/models/clusters.rb +229 -0
- data/lib/aylien_news_api/models/coverages.rb +79 -75
- data/lib/aylien_news_api/models/entities.rb +67 -51
- data/lib/aylien_news_api/models/entity.rb +100 -81
- data/lib/aylien_news_api/models/entity_links.rb +54 -38
- data/lib/aylien_news_api/models/error.rb +79 -63
- data/lib/aylien_news_api/models/error_links.rb +54 -38
- data/lib/aylien_news_api/models/errors.rb +54 -38
- data/lib/aylien_news_api/models/histogram_interval.rb +55 -39
- data/lib/aylien_news_api/models/histograms.rb +99 -63
- data/lib/aylien_news_api/models/location.rb +70 -54
- data/lib/aylien_news_api/models/media.rb +97 -76
- data/lib/aylien_news_api/models/media_format.rb +44 -0
- data/lib/aylien_news_api/models/media_type.rb +36 -0
- data/lib/aylien_news_api/models/rank.rb +227 -0
- data/lib/aylien_news_api/models/rankings.rb +208 -0
- data/lib/aylien_news_api/models/related_stories.rb +72 -68
- data/lib/aylien_news_api/models/representative_story.rb +237 -0
- data/lib/aylien_news_api/models/scope.rb +76 -94
- data/lib/aylien_news_api/models/scope_level.rb +37 -0
- data/lib/aylien_news_api/models/sentiment.rb +70 -84
- data/lib/aylien_news_api/models/sentiment_polarity.rb +37 -0
- data/lib/aylien_news_api/models/sentiments.rb +65 -51
- data/lib/aylien_news_api/models/share_count.rb +55 -39
- data/lib/aylien_news_api/models/share_counts.rb +57 -41
- data/lib/aylien_news_api/models/source.rb +129 -64
- data/lib/aylien_news_api/models/stories.rb +79 -55
- data/lib/aylien_news_api/models/story.rb +191 -161
- data/lib/aylien_news_api/models/story_cluster.rb +71 -55
- data/lib/aylien_news_api/models/story_links.rb +73 -47
- data/lib/aylien_news_api/models/story_translation.rb +217 -0
- data/lib/aylien_news_api/models/story_translations.rb +207 -0
- data/lib/aylien_news_api/models/story_translations_en.rb +227 -0
- data/lib/aylien_news_api/models/summary.rb +54 -38
- data/lib/aylien_news_api/models/time_series.rb +66 -50
- data/lib/aylien_news_api/models/time_series_list.rb +75 -59
- data/lib/aylien_news_api/models/trend.rb +66 -50
- data/lib/aylien_news_api/models/trends.rb +80 -44
- data/lib/aylien_news_api/version.rb +12 -14
- data/spec/api/default_api_spec.rb +620 -284
- data/spec/api_client_spec.rb +43 -161
- data/spec/configuration_spec.rb +22 -19
- data/spec/models/author_spec.rb +21 -34
- data/spec/models/autocomplete_spec.rb +17 -26
- data/spec/models/autocompletes_spec.rb +16 -21
- data/spec/models/category_links_spec.rb +19 -28
- data/spec/models/category_spec.rb +31 -50
- data/spec/models/category_taxonomy_spec.rb +35 -0
- data/spec/models/cluster_spec.rb +77 -0
- data/spec/models/clusters_spec.rb +53 -0
- data/spec/models/coverages_spec.rb +24 -45
- data/spec/models/entities_spec.rb +19 -28
- data/spec/models/entity_links_spec.rb +16 -21
- data/spec/models/entity_spec.rb +25 -46
- data/spec/models/error_links_spec.rb +16 -21
- data/spec/models/error_spec.rb +27 -52
- data/spec/models/errors_spec.rb +16 -21
- data/spec/models/histogram_interval_spec.rb +17 -26
- data/spec/models/histograms_spec.rb +36 -45
- data/spec/models/location_spec.rb +21 -34
- data/spec/models/media_format_spec.rb +35 -0
- data/spec/models/media_spec.rb +41 -26
- data/spec/models/media_type_spec.rb +35 -0
- data/spec/models/rank_spec.rb +53 -0
- data/spec/models/rankings_spec.rb +41 -0
- data/spec/models/related_stories_spec.rb +21 -38
- data/spec/models/representative_story_spec.rb +59 -0
- data/spec/models/scope_level_spec.rb +35 -0
- data/spec/models/scope_spec.rb +23 -40
- data/spec/models/sentiment_polarity_spec.rb +35 -0
- data/spec/models/sentiment_spec.rb +17 -26
- data/spec/models/sentiments_spec.rb +19 -28
- data/spec/models/share_count_spec.rb +17 -26
- data/spec/models/share_counts_spec.rb +19 -36
- data/spec/models/source_spec.rb +54 -49
- data/spec/models/stories_spec.rb +26 -33
- data/spec/models/story_cluster_spec.rb +23 -44
- data/spec/models/story_links_spec.rb +25 -32
- data/spec/models/story_spec.rb +65 -134
- data/spec/models/story_translation_spec.rb +47 -0
- data/spec/models/story_translations_en_spec.rb +53 -0
- data/spec/models/story_translations_spec.rb +41 -0
- data/spec/models/summary_spec.rb +16 -21
- data/spec/models/time_series_list_spec.rb +22 -39
- data/spec/models/time_series_spec.rb +19 -28
- data/spec/models/trend_spec.rb +19 -28
- data/spec/models/trends_spec.rb +30 -27
- data/spec/spec_helper.rb +11 -13
- metadata +95 -193
- data/Gemfile.lock +0 -65
- data/LICENSE +0 -13
@@ -1,21 +1,18 @@
|
|
1
|
-
|
2
|
-
#
|
3
|
-
|
4
|
-
#
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
1
|
+
=begin
|
2
|
+
#AYLIEN News API
|
3
|
+
|
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.
|
5
|
+
|
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: 5.0.0-SNAPSHOT
|
10
|
+
|
11
|
+
=end
|
14
12
|
|
15
13
|
require 'date'
|
16
14
|
|
17
15
|
module AylienNewsApi
|
18
|
-
|
19
16
|
class StoryCluster
|
20
17
|
# A unique identification for the cluster
|
21
18
|
attr_accessor :id
|
@@ -23,83 +20,94 @@ module AylienNewsApi
|
|
23
20
|
# Suggested labels for the cluster
|
24
21
|
attr_accessor :phrases
|
25
22
|
|
23
|
+
# The cluster score
|
24
|
+
attr_accessor :score
|
25
|
+
|
26
26
|
# Size of the cluster
|
27
27
|
attr_accessor :size
|
28
28
|
|
29
29
|
# Story ids which are in the cluster
|
30
30
|
attr_accessor :stories
|
31
31
|
|
32
|
-
# The cluster score
|
33
|
-
attr_accessor :score
|
34
|
-
|
35
|
-
|
36
32
|
# Attribute mapping from ruby-style variable name to JSON key.
|
37
33
|
def self.attribute_map
|
38
34
|
{
|
39
35
|
:'id' => :'id',
|
40
36
|
:'phrases' => :'phrases',
|
37
|
+
:'score' => :'score',
|
41
38
|
:'size' => :'size',
|
42
|
-
:'stories' => :'stories'
|
43
|
-
:'score' => :'score'
|
39
|
+
:'stories' => :'stories'
|
44
40
|
}
|
45
41
|
end
|
46
42
|
|
47
43
|
# Attribute type mapping.
|
48
|
-
def self.
|
44
|
+
def self.openapi_types
|
49
45
|
{
|
50
46
|
:'id' => :'Integer',
|
51
47
|
:'phrases' => :'Array<String>',
|
48
|
+
:'score' => :'Float',
|
52
49
|
:'size' => :'Integer',
|
53
|
-
:'stories' => :'Array<Integer>'
|
54
|
-
:'score' => :'Float'
|
50
|
+
:'stories' => :'Array<Integer>'
|
55
51
|
}
|
56
52
|
end
|
57
53
|
|
54
|
+
# List of attributes with nullable: true
|
55
|
+
def self.openapi_nullable
|
56
|
+
Set.new([
|
57
|
+
])
|
58
|
+
end
|
59
|
+
|
58
60
|
# Initializes the object
|
59
61
|
# @param [Hash] attributes Model attributes in the form of hash
|
60
62
|
def initialize(attributes = {})
|
61
|
-
|
63
|
+
if (!attributes.is_a?(Hash))
|
64
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `AylienNewsApi::StoryCluster` initialize method"
|
65
|
+
end
|
62
66
|
|
63
|
-
# convert string to symbol for hash key
|
64
|
-
attributes = attributes.each_with_object({}){|(k,v), h|
|
67
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
68
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
69
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
70
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `AylienNewsApi::StoryCluster`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
71
|
+
end
|
72
|
+
h[k.to_sym] = v
|
73
|
+
}
|
65
74
|
|
66
|
-
if attributes.
|
75
|
+
if attributes.key?(:'id')
|
67
76
|
self.id = attributes[:'id']
|
68
77
|
end
|
69
78
|
|
70
|
-
if attributes.
|
79
|
+
if attributes.key?(:'phrases')
|
71
80
|
if (value = attributes[:'phrases']).is_a?(Array)
|
72
81
|
self.phrases = value
|
73
82
|
end
|
74
83
|
end
|
75
84
|
|
76
|
-
if attributes.
|
85
|
+
if attributes.key?(:'score')
|
86
|
+
self.score = attributes[:'score']
|
87
|
+
end
|
88
|
+
|
89
|
+
if attributes.key?(:'size')
|
77
90
|
self.size = attributes[:'size']
|
78
91
|
end
|
79
92
|
|
80
|
-
if attributes.
|
93
|
+
if attributes.key?(:'stories')
|
81
94
|
if (value = attributes[:'stories']).is_a?(Array)
|
82
95
|
self.stories = value
|
83
96
|
end
|
84
97
|
end
|
85
|
-
|
86
|
-
if attributes.has_key?(:'score')
|
87
|
-
self.score = attributes[:'score']
|
88
|
-
end
|
89
|
-
|
90
98
|
end
|
91
99
|
|
92
100
|
# Show invalid properties with the reasons. Usually used together with valid?
|
93
|
-
# @return Array for valid
|
101
|
+
# @return Array for valid properties with the reasons
|
94
102
|
def list_invalid_properties
|
95
103
|
invalid_properties = Array.new
|
96
|
-
|
104
|
+
invalid_properties
|
97
105
|
end
|
98
106
|
|
99
107
|
# Check to see if the all the properties in the model are valid
|
100
108
|
# @return true if the model is valid
|
101
109
|
def valid?
|
102
|
-
|
110
|
+
true
|
103
111
|
end
|
104
112
|
|
105
113
|
# Checks equality by comparing each attribute.
|
@@ -109,9 +117,9 @@ module AylienNewsApi
|
|
109
117
|
self.class == o.class &&
|
110
118
|
id == o.id &&
|
111
119
|
phrases == o.phrases &&
|
120
|
+
score == o.score &&
|
112
121
|
size == o.size &&
|
113
|
-
stories == o.stories
|
114
|
-
score == o.score
|
122
|
+
stories == o.stories
|
115
123
|
end
|
116
124
|
|
117
125
|
# @see the `==` method
|
@@ -121,9 +129,16 @@ module AylienNewsApi
|
|
121
129
|
end
|
122
130
|
|
123
131
|
# Calculates hash code according to all attributes.
|
124
|
-
# @return [
|
132
|
+
# @return [Integer] Hash code
|
125
133
|
def hash
|
126
|
-
[id, phrases, size, stories
|
134
|
+
[id, phrases, score, size, stories].hash
|
135
|
+
end
|
136
|
+
|
137
|
+
# Builds the object from hash
|
138
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
139
|
+
# @return [Object] Returns the model itself
|
140
|
+
def self.build_from_hash(attributes)
|
141
|
+
new.build_from_hash(attributes)
|
127
142
|
end
|
128
143
|
|
129
144
|
# Builds the object from hash
|
@@ -131,12 +146,12 @@ module AylienNewsApi
|
|
131
146
|
# @return [Object] Returns the model itself
|
132
147
|
def build_from_hash(attributes)
|
133
148
|
return nil unless attributes.is_a?(Hash)
|
134
|
-
self.class.
|
135
|
-
if type =~
|
136
|
-
# check to ensure the input is an array given that the
|
149
|
+
self.class.openapi_types.each_pair do |key, type|
|
150
|
+
if type =~ /\AArray<(.*)>/i
|
151
|
+
# check to ensure the input is an array given that the attribute
|
137
152
|
# is documented as an array but the input is not
|
138
153
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
139
|
-
self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) }
|
154
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
140
155
|
end
|
141
156
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
142
157
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
@@ -162,8 +177,8 @@ module AylienNewsApi
|
|
162
177
|
value.to_i
|
163
178
|
when :Float
|
164
179
|
value.to_f
|
165
|
-
when :
|
166
|
-
if value.to_s =~
|
180
|
+
when :Boolean
|
181
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
167
182
|
true
|
168
183
|
else
|
169
184
|
false
|
@@ -174,7 +189,7 @@ module AylienNewsApi
|
|
174
189
|
when /\AArray<(?<inner_type>.+)>\z/
|
175
190
|
inner_type = Regexp.last_match[:inner_type]
|
176
191
|
value.map { |v| _deserialize(inner_type, v) }
|
177
|
-
when /\AHash<(?<k_type
|
192
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
178
193
|
k_type = Regexp.last_match[:k_type]
|
179
194
|
v_type = Regexp.last_match[:v_type]
|
180
195
|
{}.tap do |hash|
|
@@ -183,8 +198,7 @@ module AylienNewsApi
|
|
183
198
|
end
|
184
199
|
end
|
185
200
|
else # model
|
186
|
-
|
187
|
-
temp_model.build_from_hash(value)
|
201
|
+
AylienNewsApi.const_get(type).build_from_hash(value)
|
188
202
|
end
|
189
203
|
end
|
190
204
|
|
@@ -206,7 +220,11 @@ module AylienNewsApi
|
|
206
220
|
hash = {}
|
207
221
|
self.class.attribute_map.each_pair do |attr, param|
|
208
222
|
value = self.send(attr)
|
209
|
-
|
223
|
+
if value.nil?
|
224
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
225
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
226
|
+
end
|
227
|
+
|
210
228
|
hash[param] = _to_hash(value)
|
211
229
|
end
|
212
230
|
hash
|
@@ -218,7 +236,7 @@ module AylienNewsApi
|
|
218
236
|
# @return [Hash] Returns the value in the form of hash
|
219
237
|
def _to_hash(value)
|
220
238
|
if value.is_a?(Array)
|
221
|
-
value.compact.map{ |v| _to_hash(v) }
|
239
|
+
value.compact.map { |v| _to_hash(v) }
|
222
240
|
elsif value.is_a?(Hash)
|
223
241
|
{}.tap do |hash|
|
224
242
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
@@ -229,7 +247,5 @@ module AylienNewsApi
|
|
229
247
|
value
|
230
248
|
end
|
231
249
|
end
|
232
|
-
|
233
250
|
end
|
234
|
-
|
235
251
|
end
|
@@ -1,83 +1,100 @@
|
|
1
|
-
|
2
|
-
#
|
3
|
-
|
4
|
-
#
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
1
|
+
=begin
|
2
|
+
#AYLIEN News API
|
3
|
+
|
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.
|
5
|
+
|
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: 5.0.0-SNAPSHOT
|
10
|
+
|
11
|
+
=end
|
14
12
|
|
15
13
|
require 'date'
|
16
14
|
|
17
15
|
module AylienNewsApi
|
18
|
-
|
19
16
|
class StoryLinks
|
17
|
+
# The story canonical URL
|
18
|
+
attr_accessor :canonical
|
19
|
+
|
20
20
|
# The story permalink URL
|
21
21
|
attr_accessor :permalink
|
22
22
|
|
23
23
|
# The related stories URL
|
24
24
|
attr_accessor :related_stories
|
25
25
|
|
26
|
-
# The
|
27
|
-
attr_accessor :
|
28
|
-
|
26
|
+
# The clusters endpoint URL for this story
|
27
|
+
attr_accessor :clusters
|
29
28
|
|
30
29
|
# Attribute mapping from ruby-style variable name to JSON key.
|
31
30
|
def self.attribute_map
|
32
31
|
{
|
32
|
+
:'canonical' => :'canonical',
|
33
33
|
:'permalink' => :'permalink',
|
34
34
|
:'related_stories' => :'related_stories',
|
35
|
-
:'
|
35
|
+
:'clusters' => :'clusters'
|
36
36
|
}
|
37
37
|
end
|
38
38
|
|
39
39
|
# Attribute type mapping.
|
40
|
-
def self.
|
40
|
+
def self.openapi_types
|
41
41
|
{
|
42
|
+
:'canonical' => :'String',
|
42
43
|
:'permalink' => :'String',
|
43
44
|
:'related_stories' => :'String',
|
44
|
-
:'
|
45
|
+
:'clusters' => :'String'
|
45
46
|
}
|
46
47
|
end
|
47
48
|
|
49
|
+
# List of attributes with nullable: true
|
50
|
+
def self.openapi_nullable
|
51
|
+
Set.new([
|
52
|
+
])
|
53
|
+
end
|
54
|
+
|
48
55
|
# Initializes the object
|
49
56
|
# @param [Hash] attributes Model attributes in the form of hash
|
50
57
|
def initialize(attributes = {})
|
51
|
-
|
58
|
+
if (!attributes.is_a?(Hash))
|
59
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `AylienNewsApi::StoryLinks` initialize method"
|
60
|
+
end
|
61
|
+
|
62
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
63
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
64
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
65
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `AylienNewsApi::StoryLinks`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
66
|
+
end
|
67
|
+
h[k.to_sym] = v
|
68
|
+
}
|
52
69
|
|
53
|
-
|
54
|
-
|
70
|
+
if attributes.key?(:'canonical')
|
71
|
+
self.canonical = attributes[:'canonical']
|
72
|
+
end
|
55
73
|
|
56
|
-
if attributes.
|
74
|
+
if attributes.key?(:'permalink')
|
57
75
|
self.permalink = attributes[:'permalink']
|
58
76
|
end
|
59
77
|
|
60
|
-
if attributes.
|
78
|
+
if attributes.key?(:'related_stories')
|
61
79
|
self.related_stories = attributes[:'related_stories']
|
62
80
|
end
|
63
81
|
|
64
|
-
if attributes.
|
65
|
-
self.
|
82
|
+
if attributes.key?(:'clusters')
|
83
|
+
self.clusters = attributes[:'clusters']
|
66
84
|
end
|
67
|
-
|
68
85
|
end
|
69
86
|
|
70
87
|
# Show invalid properties with the reasons. Usually used together with valid?
|
71
|
-
# @return Array for valid
|
88
|
+
# @return Array for valid properties with the reasons
|
72
89
|
def list_invalid_properties
|
73
90
|
invalid_properties = Array.new
|
74
|
-
|
91
|
+
invalid_properties
|
75
92
|
end
|
76
93
|
|
77
94
|
# Check to see if the all the properties in the model are valid
|
78
95
|
# @return true if the model is valid
|
79
96
|
def valid?
|
80
|
-
|
97
|
+
true
|
81
98
|
end
|
82
99
|
|
83
100
|
# Checks equality by comparing each attribute.
|
@@ -85,9 +102,10 @@ module AylienNewsApi
|
|
85
102
|
def ==(o)
|
86
103
|
return true if self.equal?(o)
|
87
104
|
self.class == o.class &&
|
105
|
+
canonical == o.canonical &&
|
88
106
|
permalink == o.permalink &&
|
89
107
|
related_stories == o.related_stories &&
|
90
|
-
|
108
|
+
clusters == o.clusters
|
91
109
|
end
|
92
110
|
|
93
111
|
# @see the `==` method
|
@@ -97,9 +115,16 @@ module AylienNewsApi
|
|
97
115
|
end
|
98
116
|
|
99
117
|
# Calculates hash code according to all attributes.
|
100
|
-
# @return [
|
118
|
+
# @return [Integer] Hash code
|
101
119
|
def hash
|
102
|
-
[permalink, related_stories,
|
120
|
+
[canonical, permalink, related_stories, clusters].hash
|
121
|
+
end
|
122
|
+
|
123
|
+
# Builds the object from hash
|
124
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
125
|
+
# @return [Object] Returns the model itself
|
126
|
+
def self.build_from_hash(attributes)
|
127
|
+
new.build_from_hash(attributes)
|
103
128
|
end
|
104
129
|
|
105
130
|
# Builds the object from hash
|
@@ -107,12 +132,12 @@ module AylienNewsApi
|
|
107
132
|
# @return [Object] Returns the model itself
|
108
133
|
def build_from_hash(attributes)
|
109
134
|
return nil unless attributes.is_a?(Hash)
|
110
|
-
self.class.
|
111
|
-
if type =~
|
112
|
-
# check to ensure the input is an array given that the
|
135
|
+
self.class.openapi_types.each_pair do |key, type|
|
136
|
+
if type =~ /\AArray<(.*)>/i
|
137
|
+
# check to ensure the input is an array given that the attribute
|
113
138
|
# is documented as an array but the input is not
|
114
139
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
115
|
-
self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) }
|
140
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
116
141
|
end
|
117
142
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
118
143
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
@@ -138,8 +163,8 @@ module AylienNewsApi
|
|
138
163
|
value.to_i
|
139
164
|
when :Float
|
140
165
|
value.to_f
|
141
|
-
when :
|
142
|
-
if value.to_s =~
|
166
|
+
when :Boolean
|
167
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
143
168
|
true
|
144
169
|
else
|
145
170
|
false
|
@@ -150,7 +175,7 @@ module AylienNewsApi
|
|
150
175
|
when /\AArray<(?<inner_type>.+)>\z/
|
151
176
|
inner_type = Regexp.last_match[:inner_type]
|
152
177
|
value.map { |v| _deserialize(inner_type, v) }
|
153
|
-
when /\AHash<(?<k_type
|
178
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
154
179
|
k_type = Regexp.last_match[:k_type]
|
155
180
|
v_type = Regexp.last_match[:v_type]
|
156
181
|
{}.tap do |hash|
|
@@ -159,8 +184,7 @@ module AylienNewsApi
|
|
159
184
|
end
|
160
185
|
end
|
161
186
|
else # model
|
162
|
-
|
163
|
-
temp_model.build_from_hash(value)
|
187
|
+
AylienNewsApi.const_get(type).build_from_hash(value)
|
164
188
|
end
|
165
189
|
end
|
166
190
|
|
@@ -182,7 +206,11 @@ module AylienNewsApi
|
|
182
206
|
hash = {}
|
183
207
|
self.class.attribute_map.each_pair do |attr, param|
|
184
208
|
value = self.send(attr)
|
185
|
-
|
209
|
+
if value.nil?
|
210
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
211
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
212
|
+
end
|
213
|
+
|
186
214
|
hash[param] = _to_hash(value)
|
187
215
|
end
|
188
216
|
hash
|
@@ -194,7 +222,7 @@ module AylienNewsApi
|
|
194
222
|
# @return [Hash] Returns the value in the form of hash
|
195
223
|
def _to_hash(value)
|
196
224
|
if value.is_a?(Array)
|
197
|
-
value.compact.map{ |v| _to_hash(v) }
|
225
|
+
value.compact.map { |v| _to_hash(v) }
|
198
226
|
elsif value.is_a?(Hash)
|
199
227
|
{}.tap do |hash|
|
200
228
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
@@ -205,7 +233,5 @@ module AylienNewsApi
|
|
205
233
|
value
|
206
234
|
end
|
207
235
|
end
|
208
|
-
|
209
236
|
end
|
210
|
-
|
211
237
|
end
|