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