aylien_news_api 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -4
  3. data/README.md +8 -7
  4. data/aylien_news_api.gemspec +15 -2
  5. data/docs/CategoryLinks.md +2 -2
  6. data/docs/Coverages.md +1 -0
  7. data/docs/DefaultApi.md +315 -252
  8. data/docs/Media.md +1 -1
  9. data/docs/RelatedStories.md +1 -0
  10. data/docs/Scope.md +4 -4
  11. data/docs/Story.md +5 -5
  12. data/lib/aylien_news_api/api/default_api.rb +615 -549
  13. data/lib/aylien_news_api/api_client.rb +2 -2
  14. data/lib/aylien_news_api/configuration.rb +8 -0
  15. data/lib/aylien_news_api/models/author.rb +25 -6
  16. data/lib/aylien_news_api/models/autocomplete.rb +23 -5
  17. data/lib/aylien_news_api/models/autocompletes.rb +21 -4
  18. data/lib/aylien_news_api/models/category.rb +57 -12
  19. data/lib/aylien_news_api/models/category_links.rb +25 -7
  20. data/lib/aylien_news_api/models/coverages.rb +45 -12
  21. data/lib/aylien_news_api/models/entities.rb +23 -5
  22. data/lib/aylien_news_api/models/entity.rb +49 -8
  23. data/lib/aylien_news_api/models/entity_links.rb +21 -4
  24. data/lib/aylien_news_api/models/error.rb +31 -9
  25. data/lib/aylien_news_api/models/error_links.rb +21 -4
  26. data/lib/aylien_news_api/models/errors.rb +21 -4
  27. data/lib/aylien_news_api/models/histogram_interval.rb +23 -5
  28. data/lib/aylien_news_api/models/histograms.rb +29 -8
  29. data/lib/aylien_news_api/models/location.rb +25 -6
  30. data/lib/aylien_news_api/models/media.rb +50 -9
  31. data/lib/aylien_news_api/models/related_stories.rb +43 -11
  32. data/lib/aylien_news_api/models/scope.rb +57 -14
  33. data/lib/aylien_news_api/models/sentiment.rb +69 -8
  34. data/lib/aylien_news_api/models/sentiments.rb +23 -5
  35. data/lib/aylien_news_api/models/share_count.rb +23 -5
  36. data/lib/aylien_news_api/models/share_counts.rb +27 -7
  37. data/lib/aylien_news_api/models/source.rb +31 -9
  38. data/lib/aylien_news_api/models/stories.rb +25 -6
  39. data/lib/aylien_news_api/models/story.rb +64 -28
  40. data/lib/aylien_news_api/models/story_cluster.rb +29 -8
  41. data/lib/aylien_news_api/models/story_links.rb +25 -6
  42. data/lib/aylien_news_api/models/summary.rb +21 -4
  43. data/lib/aylien_news_api/models/time_series.rb +23 -5
  44. data/lib/aylien_news_api/models/time_series_list.rb +27 -7
  45. data/lib/aylien_news_api/models/trend.rb +23 -5
  46. data/lib/aylien_news_api/models/trends.rb +23 -5
  47. data/lib/aylien_news_api/version.rb +1 -1
  48. data/spec/api_client_spec.rb +306 -0
  49. data/spec/configuration_spec.rb +39 -0
  50. data/spec/spec_helper.rb +113 -0
  51. metadata +34 -49
  52. data/Rakefile +0 -8
  53. data/aylien_news_api-0.0.1.gem +0 -0
@@ -15,6 +15,7 @@
15
15
  require 'date'
16
16
 
17
17
  module AylienNewsApi
18
+
18
19
  class RelatedStories
19
20
  # The input story title
20
21
  attr_accessor :story_title
@@ -28,13 +29,18 @@ module AylienNewsApi
28
29
  # An array of related stories for the input story
29
30
  attr_accessor :related_stories
30
31
 
32
+ # An array of clusters
33
+ attr_accessor :clusters
34
+
35
+
31
36
  # Attribute mapping from ruby-style variable name to JSON key.
32
37
  def self.attribute_map
33
38
  {
34
39
  :'story_title' => :'story_title',
35
40
  :'story_body' => :'story_body',
36
41
  :'story_language' => :'story_language',
37
- :'related_stories' => :'related_stories'
42
+ :'related_stories' => :'related_stories',
43
+ :'clusters' => :'clusters'
38
44
  }
39
45
  end
40
46
 
@@ -44,7 +50,8 @@ module AylienNewsApi
44
50
  :'story_title' => :'String',
45
51
  :'story_body' => :'String',
46
52
  :'story_language' => :'String',
47
- :'related_stories' => :'Array<Story>'
53
+ :'related_stories' => :'Array<Story>',
54
+ :'clusters' => :'Array<StoryCluster>'
48
55
  }
49
56
  end
50
57
 
@@ -56,35 +63,59 @@ module AylienNewsApi
56
63
  # convert string to symbol for hash key
57
64
  attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
58
65
 
59
- if attributes[:'story_title']
66
+ if attributes.has_key?(:'story_title')
60
67
  self.story_title = attributes[:'story_title']
61
68
  end
62
- if attributes[:'story_body']
69
+
70
+ if attributes.has_key?(:'story_body')
63
71
  self.story_body = attributes[:'story_body']
64
72
  end
65
- if attributes[:'story_language']
73
+
74
+ if attributes.has_key?(:'story_language')
66
75
  self.story_language = attributes[:'story_language']
67
76
  end
68
- if attributes[:'related_stories']
77
+
78
+ if attributes.has_key?(:'related_stories')
69
79
  if (value = attributes[:'related_stories']).is_a?(Array)
70
80
  self.related_stories = value
71
81
  end
72
82
  end
83
+
84
+ if attributes.has_key?(:'clusters')
85
+ if (value = attributes[:'clusters']).is_a?(Array)
86
+ self.clusters = value
87
+ end
88
+ end
89
+
90
+ end
91
+
92
+ # Show invalid properties with the reasons. Usually used together with valid?
93
+ # @return Array for valid properies with the reasons
94
+ def list_invalid_properties
95
+ invalid_properties = Array.new
96
+ return invalid_properties
97
+ end
98
+
99
+ # Check to see if the all the properties in the model are valid
100
+ # @return true if the model is valid
101
+ def valid?
102
+ return true
73
103
  end
74
104
 
75
105
  # Checks equality by comparing each attribute.
76
- # @param [Object] Object to be compared
106
+ # @param [Object] Object to be compared
77
107
  def ==(o)
78
108
  return true if self.equal?(o)
79
109
  self.class == o.class &&
80
110
  story_title == o.story_title &&
81
111
  story_body == o.story_body &&
82
112
  story_language == o.story_language &&
83
- related_stories == o.related_stories
113
+ related_stories == o.related_stories &&
114
+ clusters == o.clusters
84
115
  end
85
116
 
86
117
  # @see the `==` method
87
- # @param [Object] Object to be compared
118
+ # @param [Object] Object to be compared
88
119
  def eql?(o)
89
120
  self == o
90
121
  end
@@ -92,7 +123,7 @@ module AylienNewsApi
92
123
  # Calculates hash code according to all attributes.
93
124
  # @return [Fixnum] Hash code
94
125
  def hash
95
- [story_title, story_body, story_language, related_stories].hash
126
+ [story_title, story_body, story_language, related_stories, clusters].hash
96
127
  end
97
128
 
98
129
  # Builds the object from hash
@@ -183,7 +214,7 @@ module AylienNewsApi
183
214
 
184
215
  # Outputs non-array value in the form of hash
185
216
  # For object, use to_hash. Otherwise, just return the value
186
- # @param [Object] value Any valid value
217
+ # @param [Object] value Any valid value
187
218
  # @return [Hash] Returns the value in the form of hash
188
219
  def _to_hash(value)
189
220
  if value.is_a?(Array)
@@ -200,4 +231,5 @@ module AylienNewsApi
200
231
  end
201
232
 
202
233
  end
234
+
203
235
  end
@@ -15,19 +15,42 @@
15
15
  require 'date'
16
16
 
17
17
  module AylienNewsApi
18
+
18
19
  class Scope
19
- # The country code of the scope. It supports [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country codes.
20
+ # The source scope by country code. It supports [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country codes.
20
21
  attr_accessor :country
21
22
 
22
- # The state of the scope
23
+ # The scope by state
23
24
  attr_accessor :state
24
25
 
25
- # The city of the scope
26
+ # The scope by city
26
27
  attr_accessor :city
27
28
 
28
- # The level of the scope
29
+ # The scope by level
29
30
  attr_accessor :level
30
31
 
32
+ class EnumAttributeValidator
33
+ attr_reader :datatype
34
+ attr_reader :allowable_values
35
+
36
+ def initialize(datatype, allowable_values)
37
+ @allowable_values = allowable_values.map do |value|
38
+ case datatype.to_s
39
+ when /Integer/i
40
+ value.to_i
41
+ when /Float/i
42
+ value.to_f
43
+ else
44
+ value
45
+ end
46
+ end
47
+ end
48
+
49
+ def valid?(value)
50
+ !value || allowable_values.include?(value)
51
+ end
52
+ end
53
+
31
54
  # Attribute mapping from ruby-style variable name to JSON key.
32
55
  def self.attribute_map
33
56
  {
@@ -56,32 +79,51 @@ module AylienNewsApi
56
79
  # convert string to symbol for hash key
57
80
  attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
58
81
 
59
- if attributes[:'country']
82
+ if attributes.has_key?(:'country')
60
83
  self.country = attributes[:'country']
61
84
  end
62
- if attributes[:'state']
85
+
86
+ if attributes.has_key?(:'state')
63
87
  self.state = attributes[:'state']
64
88
  end
65
- if attributes[:'city']
89
+
90
+ if attributes.has_key?(:'city')
66
91
  self.city = attributes[:'city']
67
92
  end
68
- if attributes[:'level']
93
+
94
+ if attributes.has_key?(:'level')
69
95
  self.level = attributes[:'level']
70
96
  end
97
+
98
+ end
99
+
100
+ # Show invalid properties with the reasons. Usually used together with valid?
101
+ # @return Array for valid properies with the reasons
102
+ def list_invalid_properties
103
+ invalid_properties = Array.new
104
+ return invalid_properties
105
+ end
106
+
107
+ # Check to see if the all the properties in the model are valid
108
+ # @return true if the model is valid
109
+ def valid?
110
+ level_validator = EnumAttributeValidator.new('String', ["international", "national", "local"])
111
+ return false unless level_validator.valid?(@level)
112
+ return true
71
113
  end
72
114
 
73
115
  # Custom attribute writer method checking allowed values (enum).
74
116
  # @param [Object] level Object to be assigned
75
117
  def level=(level)
76
- allowed_values = ["international", "national", "local"]
77
- if level && !allowed_values.include?(level)
78
- fail "invalid value for 'level', must be one of #{allowed_values}"
118
+ validator = EnumAttributeValidator.new('String', ["international", "national", "local"])
119
+ unless validator.valid?(level)
120
+ fail ArgumentError, "invalid value for 'level', must be one of #{validator.allowable_values}."
79
121
  end
80
122
  @level = level
81
123
  end
82
124
 
83
125
  # Checks equality by comparing each attribute.
84
- # @param [Object] Object to be compared
126
+ # @param [Object] Object to be compared
85
127
  def ==(o)
86
128
  return true if self.equal?(o)
87
129
  self.class == o.class &&
@@ -92,7 +134,7 @@ module AylienNewsApi
92
134
  end
93
135
 
94
136
  # @see the `==` method
95
- # @param [Object] Object to be compared
137
+ # @param [Object] Object to be compared
96
138
  def eql?(o)
97
139
  self == o
98
140
  end
@@ -191,7 +233,7 @@ module AylienNewsApi
191
233
 
192
234
  # Outputs non-array value in the form of hash
193
235
  # For object, use to_hash. Otherwise, just return the value
194
- # @param [Object] value Any valid value
236
+ # @param [Object] value Any valid value
195
237
  # @return [Hash] Returns the value in the form of hash
196
238
  def _to_hash(value)
197
239
  if value.is_a?(Array)
@@ -208,4 +250,5 @@ module AylienNewsApi
208
250
  end
209
251
 
210
252
  end
253
+
211
254
  end
@@ -15,6 +15,7 @@
15
15
  require 'date'
16
16
 
17
17
  module AylienNewsApi
18
+
18
19
  class Sentiment
19
20
  # Polarity of the sentiment
20
21
  attr_accessor :polarity
@@ -22,6 +23,28 @@ module AylienNewsApi
22
23
  # Polarity score of the sentiment
23
24
  attr_accessor :score
24
25
 
26
+ class EnumAttributeValidator
27
+ attr_reader :datatype
28
+ attr_reader :allowable_values
29
+
30
+ def initialize(datatype, allowable_values)
31
+ @allowable_values = allowable_values.map do |value|
32
+ case datatype.to_s
33
+ when /Integer/i
34
+ value.to_i
35
+ when /Float/i
36
+ value.to_f
37
+ else
38
+ value
39
+ end
40
+ end
41
+ end
42
+
43
+ def valid?(value)
44
+ !value || allowable_values.include?(value)
45
+ end
46
+ end
47
+
25
48
  # Attribute mapping from ruby-style variable name to JSON key.
26
49
  def self.attribute_map
27
50
  {
@@ -46,26 +69,63 @@ module AylienNewsApi
46
69
  # convert string to symbol for hash key
47
70
  attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
48
71
 
49
- if attributes[:'polarity']
72
+ if attributes.has_key?(:'polarity')
50
73
  self.polarity = attributes[:'polarity']
51
74
  end
52
- if attributes[:'score']
75
+
76
+ if attributes.has_key?(:'score')
53
77
  self.score = attributes[:'score']
54
78
  end
79
+
80
+ end
81
+
82
+ # Show invalid properties with the reasons. Usually used together with valid?
83
+ # @return Array for valid properies with the reasons
84
+ def list_invalid_properties
85
+ invalid_properties = Array.new
86
+ return invalid_properties
87
+ end
88
+
89
+ # Check to see if the all the properties in the model are valid
90
+ # @return true if the model is valid
91
+ def valid?
92
+ polarity_validator = EnumAttributeValidator.new('String', ["positive", "neutral", "negative"])
93
+ return false unless polarity_validator.valid?(@polarity)
94
+ return false if @score > 1.0
95
+ return false if @score < 0.0
96
+ return true
55
97
  end
56
98
 
57
99
  # Custom attribute writer method checking allowed values (enum).
58
100
  # @param [Object] polarity Object to be assigned
59
101
  def polarity=(polarity)
60
- allowed_values = ["positive", "neutral", "negative"]
61
- if polarity && !allowed_values.include?(polarity)
62
- fail "invalid value for 'polarity', must be one of #{allowed_values}"
102
+ validator = EnumAttributeValidator.new('String', ["positive", "neutral", "negative"])
103
+ unless validator.valid?(polarity)
104
+ fail ArgumentError, "invalid value for 'polarity', must be one of #{validator.allowable_values}."
63
105
  end
64
106
  @polarity = polarity
65
107
  end
66
108
 
109
+ # Custom attribute writer method with validation
110
+ # @param [Object] score Value to be assigned
111
+ def score=(score)
112
+ if score.nil?
113
+ fail ArgumentError, "score cannot be nil"
114
+ end
115
+
116
+ if score > 1.0
117
+ fail ArgumentError, "invalid value for 'score', must be smaller than or equal to 1.0."
118
+ end
119
+
120
+ if score < 0.0
121
+ fail ArgumentError, "invalid value for 'score', must be greater than or equal to 0.0."
122
+ end
123
+
124
+ @score = score
125
+ end
126
+
67
127
  # Checks equality by comparing each attribute.
68
- # @param [Object] Object to be compared
128
+ # @param [Object] Object to be compared
69
129
  def ==(o)
70
130
  return true if self.equal?(o)
71
131
  self.class == o.class &&
@@ -74,7 +134,7 @@ module AylienNewsApi
74
134
  end
75
135
 
76
136
  # @see the `==` method
77
- # @param [Object] Object to be compared
137
+ # @param [Object] Object to be compared
78
138
  def eql?(o)
79
139
  self == o
80
140
  end
@@ -173,7 +233,7 @@ module AylienNewsApi
173
233
 
174
234
  # Outputs non-array value in the form of hash
175
235
  # For object, use to_hash. Otherwise, just return the value
176
- # @param [Object] value Any valid value
236
+ # @param [Object] value Any valid value
177
237
  # @return [Hash] Returns the value in the form of hash
178
238
  def _to_hash(value)
179
239
  if value.is_a?(Array)
@@ -190,4 +250,5 @@ module AylienNewsApi
190
250
  end
191
251
 
192
252
  end
253
+
193
254
  end
@@ -15,6 +15,7 @@
15
15
  require 'date'
16
16
 
17
17
  module AylienNewsApi
18
+
18
19
  class Sentiments
19
20
  # The sentiment for the story title
20
21
  attr_accessor :title
@@ -22,6 +23,7 @@ module AylienNewsApi
22
23
  # The sentiment for the story body
23
24
  attr_accessor :body
24
25
 
26
+
25
27
  # Attribute mapping from ruby-style variable name to JSON key.
26
28
  def self.attribute_map
27
29
  {
@@ -46,16 +48,31 @@ module AylienNewsApi
46
48
  # convert string to symbol for hash key
47
49
  attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
48
50
 
49
- if attributes[:'title']
51
+ if attributes.has_key?(:'title')
50
52
  self.title = attributes[:'title']
51
53
  end
52
- if attributes[:'body']
54
+
55
+ if attributes.has_key?(:'body')
53
56
  self.body = attributes[:'body']
54
57
  end
58
+
59
+ end
60
+
61
+ # Show invalid properties with the reasons. Usually used together with valid?
62
+ # @return Array for valid properies with the reasons
63
+ def list_invalid_properties
64
+ invalid_properties = Array.new
65
+ return invalid_properties
66
+ end
67
+
68
+ # Check to see if the all the properties in the model are valid
69
+ # @return true if the model is valid
70
+ def valid?
71
+ return true
55
72
  end
56
73
 
57
74
  # Checks equality by comparing each attribute.
58
- # @param [Object] Object to be compared
75
+ # @param [Object] Object to be compared
59
76
  def ==(o)
60
77
  return true if self.equal?(o)
61
78
  self.class == o.class &&
@@ -64,7 +81,7 @@ module AylienNewsApi
64
81
  end
65
82
 
66
83
  # @see the `==` method
67
- # @param [Object] Object to be compared
84
+ # @param [Object] Object to be compared
68
85
  def eql?(o)
69
86
  self == o
70
87
  end
@@ -163,7 +180,7 @@ module AylienNewsApi
163
180
 
164
181
  # Outputs non-array value in the form of hash
165
182
  # For object, use to_hash. Otherwise, just return the value
166
- # @param [Object] value Any valid value
183
+ # @param [Object] value Any valid value
167
184
  # @return [Hash] Returns the value in the form of hash
168
185
  def _to_hash(value)
169
186
  if value.is_a?(Array)
@@ -180,4 +197,5 @@ module AylienNewsApi
180
197
  end
181
198
 
182
199
  end
200
+
183
201
  end