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,96 +1,96 @@
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 TimeSeriesList
22
- # An array of time series
23
- attr_accessor :time_series
24
-
25
- # The size of each date range expressed as an interval to be added to the lower bound.
17
+ # The size of each date range expressed as an interval to be added to the lower bound.
26
18
  attr_accessor :period
27
19
 
28
- # The start published date of the time series
29
- attr_accessor :published_at_start
30
-
31
20
  # The end published date of the time series
32
21
  attr_accessor :published_at_end
33
22
 
23
+ # The start published date of the time series
24
+ attr_accessor :published_at_start
25
+
26
+ # An array of time series
27
+ attr_accessor :time_series
34
28
 
35
29
  # Attribute mapping from ruby-style variable name to JSON key.
36
30
  def self.attribute_map
37
31
  {
38
- :'time_series' => :'time_series',
39
32
  :'period' => :'period',
33
+ :'published_at_end' => :'published_at.end',
40
34
  :'published_at_start' => :'published_at.start',
41
- :'published_at_end' => :'published_at.end'
35
+ :'time_series' => :'time_series'
42
36
  }
43
37
  end
44
38
 
45
39
  # Attribute type mapping.
46
- def self.api_types
40
+ def self.openapi_types
47
41
  {
48
- :'time_series' => :'Array<TimeSeries>',
49
42
  :'period' => :'String',
43
+ :'published_at_end' => :'DateTime',
50
44
  :'published_at_start' => :'DateTime',
51
- :'published_at_end' => :'DateTime'
45
+ :'time_series' => :'Array<TimeSeries>'
52
46
  }
53
47
  end
54
48
 
55
49
  # Initializes the object
56
50
  # @param [Hash] attributes Model attributes in the form of hash
57
51
  def initialize(attributes = {})
58
- return unless attributes.is_a?(Hash)
59
-
60
- # convert string to symbol for hash key
61
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AylienNewsApi::TimeSeriesList` initialize method"
54
+ end
62
55
 
63
- if attributes.has_key?(:'time_series')
64
- if (value = attributes[:'time_series']).is_a?(Array)
65
- self.time_series = value
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `AylienNewsApi::TimeSeriesList`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
66
60
  end
67
- end
61
+ h[k.to_sym] = v
62
+ }
68
63
 
69
- if attributes.has_key?(:'period')
64
+ if attributes.key?(:'period')
70
65
  self.period = attributes[:'period']
71
66
  end
72
67
 
73
- if attributes.has_key?(:'published_at.start')
74
- self.published_at_start = attributes[:'published_at.start']
68
+ if attributes.key?(:'published_at_end')
69
+ self.published_at_end = attributes[:'published_at_end']
75
70
  end
76
71
 
77
- if attributes.has_key?(:'published_at.end')
78
- self.published_at_end = attributes[:'published_at.end']
72
+ if attributes.key?(:'published_at_start')
73
+ self.published_at_start = attributes[:'published_at_start']
79
74
  end
80
75
 
76
+ if attributes.key?(:'time_series')
77
+ if (value = attributes[:'time_series']).is_a?(Array)
78
+ self.time_series = value
79
+ end
80
+ end
81
81
  end
82
82
 
83
83
  # Show invalid properties with the reasons. Usually used together with valid?
84
- # @return Array for valid properies with the reasons
84
+ # @return Array for valid properties with the reasons
85
85
  def list_invalid_properties
86
86
  invalid_properties = Array.new
87
- return invalid_properties
87
+ invalid_properties
88
88
  end
89
89
 
90
90
  # Check to see if the all the properties in the model are valid
91
91
  # @return true if the model is valid
92
92
  def valid?
93
- return true
93
+ true
94
94
  end
95
95
 
96
96
  # Checks equality by comparing each attribute.
@@ -98,10 +98,10 @@ module AylienNewsApi
98
98
  def ==(o)
99
99
  return true if self.equal?(o)
100
100
  self.class == o.class &&
101
- time_series == o.time_series &&
102
101
  period == o.period &&
102
+ published_at_end == o.published_at_end &&
103
103
  published_at_start == o.published_at_start &&
104
- published_at_end == o.published_at_end
104
+ time_series == o.time_series
105
105
  end
106
106
 
107
107
  # @see the `==` method
@@ -111,9 +111,16 @@ module AylienNewsApi
111
111
  end
112
112
 
113
113
  # Calculates hash code according to all attributes.
114
- # @return [Fixnum] Hash code
114
+ # @return [Integer] Hash code
115
115
  def hash
116
- [time_series, period, published_at_start, published_at_end].hash
116
+ [period, published_at_end, published_at_start, time_series].hash
117
+ end
118
+
119
+ # Builds the object from hash
120
+ # @param [Hash] attributes Model attributes in the form of hash
121
+ # @return [Object] Returns the model itself
122
+ def self.build_from_hash(attributes)
123
+ new.build_from_hash(attributes)
117
124
  end
118
125
 
119
126
  # Builds the object from hash
@@ -121,12 +128,12 @@ module AylienNewsApi
121
128
  # @return [Object] Returns the model itself
122
129
  def build_from_hash(attributes)
123
130
  return nil unless attributes.is_a?(Hash)
124
- self.class.api_types.each_pair do |key, type|
131
+ self.class.openapi_types.each_pair do |key, type|
125
132
  if type =~ /\AArray<(.*)>/i
126
- # check to ensure the input is an array given that the the attribute
133
+ # check to ensure the input is an array given that the attribute
127
134
  # is documented as an array but the input is not
128
135
  if attributes[self.class.attribute_map[key]].is_a?(Array)
129
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
136
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
130
137
  end
131
138
  elsif !attributes[self.class.attribute_map[key]].nil?
132
139
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
@@ -152,7 +159,7 @@ module AylienNewsApi
152
159
  value.to_i
153
160
  when :Float
154
161
  value.to_f
155
- when :BOOLEAN
162
+ when :Boolean
156
163
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
157
164
  true
158
165
  else
@@ -173,8 +180,7 @@ module AylienNewsApi
173
180
  end
174
181
  end
175
182
  else # model
176
- temp_model = AylienNewsApi.const_get(type).new
177
- temp_model.build_from_hash(value)
183
+ AylienNewsApi.const_get(type).build_from_hash(value)
178
184
  end
179
185
  end
180
186
 
@@ -208,7 +214,7 @@ module AylienNewsApi
208
214
  # @return [Hash] Returns the value in the form of hash
209
215
  def _to_hash(value)
210
216
  if value.is_a?(Array)
211
- value.compact.map{ |v| _to_hash(v) }
217
+ value.compact.map { |v| _to_hash(v) }
212
218
  elsif value.is_a?(Hash)
213
219
  {}.tap do |hash|
214
220
  value.each { |k, v| hash[k] = _to_hash(v) }
@@ -219,7 +225,5 @@ module AylienNewsApi
219
225
  value
220
226
  end
221
227
  end
222
-
223
228
  end
224
-
225
229
  end
@@ -1,76 +1,76 @@
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 Trend
22
- # The value of the trend
23
- attr_accessor :value
24
-
25
17
  # The count of the trend
26
18
  attr_accessor :count
27
19
 
20
+ # The value of the trend
21
+ attr_accessor :value
28
22
 
29
23
  # Attribute mapping from ruby-style variable name to JSON key.
30
24
  def self.attribute_map
31
25
  {
32
- :'value' => :'value',
33
- :'count' => :'count'
26
+ :'count' => :'count',
27
+ :'value' => :'value'
34
28
  }
35
29
  end
36
30
 
37
31
  # Attribute type mapping.
38
- def self.api_types
32
+ def self.openapi_types
39
33
  {
40
- :'value' => :'String',
41
- :'count' => :'Integer'
34
+ :'count' => :'Integer',
35
+ :'value' => :'String'
42
36
  }
43
37
  end
44
38
 
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)
49
-
50
- # convert string to symbol for hash key
51
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
52
-
53
- if attributes.has_key?(:'value')
54
- self.value = attributes[:'value']
42
+ if (!attributes.is_a?(Hash))
43
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AylienNewsApi::Trend` initialize method"
55
44
  end
56
45
 
57
- if attributes.has_key?(:'count')
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::Trend`. 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
+ }
53
+
54
+ if attributes.key?(:'count')
58
55
  self.count = attributes[:'count']
59
56
  end
60
57
 
58
+ if attributes.key?(:'value')
59
+ self.value = attributes[:'value']
60
+ end
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.
@@ -78,8 +78,8 @@ module AylienNewsApi
78
78
  def ==(o)
79
79
  return true if self.equal?(o)
80
80
  self.class == o.class &&
81
- value == o.value &&
82
- count == o.count
81
+ count == o.count &&
82
+ value == o.value
83
83
  end
84
84
 
85
85
  # @see the `==` method
@@ -89,9 +89,16 @@ 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
- [value, count].hash
94
+ [count, value].hash
95
+ end
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)
95
102
  end
96
103
 
97
104
  # Builds the object from hash
@@ -99,12 +106,12 @@ module AylienNewsApi
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,78 +1,78 @@
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 Trends
22
- # An array of trends
23
- attr_accessor :trends
24
-
25
17
  # The field of trends
26
18
  attr_accessor :field
27
19
 
20
+ # An array of trends
21
+ attr_accessor :trends
28
22
 
29
23
  # Attribute mapping from ruby-style variable name to JSON key.
30
24
  def self.attribute_map
31
25
  {
32
- :'trends' => :'trends',
33
- :'field' => :'field'
26
+ :'field' => :'field',
27
+ :'trends' => :'trends'
34
28
  }
35
29
  end
36
30
 
37
31
  # Attribute type mapping.
38
- def self.api_types
32
+ def self.openapi_types
39
33
  {
40
- :'trends' => :'Array<Trend>',
41
- :'field' => :'String'
34
+ :'field' => :'String',
35
+ :'trends' => :'Array<Trend>'
42
36
  }
43
37
  end
44
38
 
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)
49
-
50
- # convert string to symbol for hash key
51
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
42
+ if (!attributes.is_a?(Hash))
43
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AylienNewsApi::Trends` initialize method"
44
+ end
52
45
 
53
- if attributes.has_key?(:'trends')
54
- if (value = attributes[:'trends']).is_a?(Array)
55
- self.trends = value
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::Trends`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
50
  end
57
- end
51
+ h[k.to_sym] = v
52
+ }
58
53
 
59
- if attributes.has_key?(:'field')
54
+ if attributes.key?(:'field')
60
55
  self.field = attributes[:'field']
61
56
  end
62
57
 
58
+ if attributes.key?(:'trends')
59
+ if (value = attributes[:'trends']).is_a?(Array)
60
+ self.trends = value
61
+ end
62
+ end
63
63
  end
64
64
 
65
65
  # Show invalid properties with the reasons. Usually used together with valid?
66
- # @return Array for valid properies with the reasons
66
+ # @return Array for valid properties with the reasons
67
67
  def list_invalid_properties
68
68
  invalid_properties = Array.new
69
- return invalid_properties
69
+ invalid_properties
70
70
  end
71
71
 
72
72
  # Check to see if the all the properties in the model are valid
73
73
  # @return true if the model is valid
74
74
  def valid?
75
- return true
75
+ true
76
76
  end
77
77
 
78
78
  # Checks equality by comparing each attribute.
@@ -80,8 +80,8 @@ module AylienNewsApi
80
80
  def ==(o)
81
81
  return true if self.equal?(o)
82
82
  self.class == o.class &&
83
- trends == o.trends &&
84
- field == o.field
83
+ field == o.field &&
84
+ trends == o.trends
85
85
  end
86
86
 
87
87
  # @see the `==` method
@@ -91,9 +91,16 @@ module AylienNewsApi
91
91
  end
92
92
 
93
93
  # Calculates hash code according to all attributes.
94
- # @return [Fixnum] Hash code
94
+ # @return [Integer] Hash code
95
95
  def hash
96
- [trends, field].hash
96
+ [field, trends].hash
97
+ end
98
+
99
+ # Builds the object from hash
100
+ # @param [Hash] attributes Model attributes in the form of hash
101
+ # @return [Object] Returns the model itself
102
+ def self.build_from_hash(attributes)
103
+ new.build_from_hash(attributes)
97
104
  end
98
105
 
99
106
  # Builds the object from hash
@@ -101,12 +108,12 @@ module AylienNewsApi
101
108
  # @return [Object] Returns the model itself
102
109
  def build_from_hash(attributes)
103
110
  return nil unless attributes.is_a?(Hash)
104
- self.class.api_types.each_pair do |key, type|
111
+ self.class.openapi_types.each_pair do |key, type|
105
112
  if type =~ /\AArray<(.*)>/i
106
- # check to ensure the input is an array given that the the attribute
113
+ # check to ensure the input is an array given that the attribute
107
114
  # is documented as an array but the input is not
108
115
  if attributes[self.class.attribute_map[key]].is_a?(Array)
109
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
116
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
110
117
  end
111
118
  elsif !attributes[self.class.attribute_map[key]].nil?
112
119
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
@@ -132,7 +139,7 @@ module AylienNewsApi
132
139
  value.to_i
133
140
  when :Float
134
141
  value.to_f
135
- when :BOOLEAN
142
+ when :Boolean
136
143
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
137
144
  true
138
145
  else
@@ -153,8 +160,7 @@ module AylienNewsApi
153
160
  end
154
161
  end
155
162
  else # model
156
- temp_model = AylienNewsApi.const_get(type).new
157
- temp_model.build_from_hash(value)
163
+ AylienNewsApi.const_get(type).build_from_hash(value)
158
164
  end
159
165
  end
160
166
 
@@ -188,7 +194,7 @@ module AylienNewsApi
188
194
  # @return [Hash] Returns the value in the form of hash
189
195
  def _to_hash(value)
190
196
  if value.is_a?(Array)
191
- value.compact.map{ |v| _to_hash(v) }
197
+ value.compact.map { |v| _to_hash(v) }
192
198
  elsif value.is_a?(Hash)
193
199
  {}.tap do |hash|
194
200
  value.each { |k, v| hash[k] = _to_hash(v) }
@@ -199,7 +205,5 @@ module AylienNewsApi
199
205
  value
200
206
  end
201
207
  end
202
-
203
208
  end
204
-
205
209
  end