finnhub_ruby 1.1.2 → 1.1.4

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 (237) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +42 -12
  3. data/docs/AggregateIndicators.md +10 -9
  4. data/docs/BasicFinancials.md +14 -11
  5. data/docs/BreakdownItem.md +20 -0
  6. data/docs/Company.md +20 -19
  7. data/docs/CompanyExecutive.md +10 -9
  8. data/docs/CompanyNewsStatistics.md +12 -11
  9. data/docs/CompanyProfile.md +62 -61
  10. data/docs/CompanyProfile2.md +30 -29
  11. data/docs/CountryMetadata.md +18 -17
  12. data/docs/CovidInfo.md +14 -13
  13. data/docs/CryptoCandles.md +20 -19
  14. data/docs/CryptoSymbol.md +12 -11
  15. data/docs/DefaultApi.md +2927 -891
  16. data/docs/Development.md +16 -13
  17. data/docs/Dividends.md +22 -21
  18. data/docs/Dividends2Basic.md +20 -0
  19. data/docs/ETFCountryExposureData.md +10 -9
  20. data/docs/ETFHoldingsData.md +20 -11
  21. data/docs/ETFProfileData.md +52 -0
  22. data/docs/ETFSectorExposureData.md +10 -9
  23. data/docs/ETFsCountryExposure.md +10 -9
  24. data/docs/ETFsHoldings.md +14 -9
  25. data/docs/ETFsProfile.md +10 -9
  26. data/docs/ETFsSectorExposure.md +20 -0
  27. data/docs/EarningEstimate.md +16 -15
  28. data/docs/EarningRelease.md +24 -23
  29. data/docs/EarningResult.md +18 -13
  30. data/docs/EarningsCalendar.md +8 -7
  31. data/docs/EarningsCallTranscripts.md +24 -23
  32. data/docs/EarningsCallTranscriptsList.md +10 -9
  33. data/docs/EarningsEstimates.md +12 -11
  34. data/docs/EconomicCalendar.md +8 -7
  35. data/docs/EconomicCode.md +14 -13
  36. data/docs/EconomicData.md +10 -9
  37. data/docs/EconomicEvent.md +22 -21
  38. data/docs/Estimate.md +16 -15
  39. data/docs/FDAComitteeMeeting.md +24 -0
  40. data/docs/Filing.md +22 -21
  41. data/docs/FilingSentiment.md +34 -0
  42. data/docs/FinancialStatements.md +10 -9
  43. data/docs/FinancialsAsReported.md +12 -11
  44. data/docs/ForexCandles.md +20 -19
  45. data/docs/ForexSymbol.md +12 -11
  46. data/docs/Forexrates.md +10 -9
  47. data/docs/FundOwnership.md +10 -9
  48. data/docs/HistoricalNBBO.md +40 -0
  49. data/docs/IPOCalendar.md +8 -7
  50. data/docs/IPOEvent.md +22 -21
  51. data/docs/IndexHistoricalConstituent.md +12 -11
  52. data/docs/Indicator.md +12 -11
  53. data/docs/IndicesConstituents.md +10 -9
  54. data/docs/IndicesHistoricalConstituents.md +10 -9
  55. data/docs/InsiderTransactions.md +20 -0
  56. data/docs/InternationalFiling.md +34 -0
  57. data/docs/InvestmentThemePortfolio.md +18 -0
  58. data/docs/InvestmentThemesThematicInvesting.md +20 -0
  59. data/docs/Investor.md +14 -13
  60. data/docs/KeyCustomersSuppliers.md +24 -0
  61. data/docs/LastBidAsk.md +16 -15
  62. data/docs/MajorPressReleases.md +20 -0
  63. data/docs/MutualFundCountryExposureData.md +20 -0
  64. data/docs/MutualFundSectorExposure.md +20 -0
  65. data/docs/MutualFundSectorExposureData.md +20 -0
  66. data/docs/MutualFundsCountryExposure.md +20 -0
  67. data/docs/MutualFundsHoldings.md +24 -0
  68. data/docs/MutualFundsProfile.md +20 -0
  69. data/docs/News.md +24 -23
  70. data/docs/NewsSentiment.md +18 -17
  71. data/docs/Ownership.md +20 -0
  72. data/docs/PatternRecognition.md +8 -7
  73. data/docs/PriceTarget.md +18 -17
  74. data/docs/Quote.md +20 -15
  75. data/docs/RecommendationTrend.md +20 -19
  76. data/docs/RedditSentimentContent.md +30 -0
  77. data/docs/Report.md +28 -27
  78. data/docs/RevenueBreakdown.md +22 -0
  79. data/docs/RevenueEstimates.md +12 -11
  80. data/docs/SECSentimentAnalysis.md +24 -0
  81. data/docs/Sentiment.md +10 -9
  82. data/docs/SimilarityIndex.md +12 -11
  83. data/docs/SocialSentiment.md +22 -0
  84. data/docs/Split.md +14 -13
  85. data/docs/Stock.md +14 -15
  86. data/docs/StockCandles.md +20 -19
  87. data/docs/StockTranscripts.md +16 -15
  88. data/docs/SupplyChainRelationships.md +20 -0
  89. data/docs/SupportResistance.md +8 -7
  90. data/docs/SymbolLookup.md +20 -0
  91. data/docs/TechnicalAnalysis.md +10 -9
  92. data/docs/TickData.md +24 -21
  93. data/docs/Transactions.md +30 -0
  94. data/docs/TranscriptContent.md +12 -9
  95. data/docs/TranscriptParticipant.md +12 -9
  96. data/docs/Trend.md +10 -9
  97. data/docs/TwitterSentimentContent.md +30 -0
  98. data/docs/UpgradeDowngrade.md +18 -17
  99. data/finnhub_ruby.gemspec +7 -8
  100. data/lib/finnhub_ruby.rb +32 -7
  101. data/lib/finnhub_ruby/api/default_api.rb +1514 -466
  102. data/lib/finnhub_ruby/api_client.rb +52 -49
  103. data/lib/finnhub_ruby/api_error.rb +1 -1
  104. data/lib/finnhub_ruby/configuration.rb +39 -10
  105. data/lib/finnhub_ruby/models/aggregate_indicators.rb +19 -7
  106. data/lib/finnhub_ruby/models/basic_financials.rb +29 -8
  107. data/lib/finnhub_ruby/models/breakdown_item.rb +228 -0
  108. data/lib/finnhub_ruby/models/company.rb +19 -7
  109. data/lib/finnhub_ruby/models/company_executive.rb +19 -7
  110. data/lib/finnhub_ruby/models/company_news_statistics.rb +19 -7
  111. data/lib/finnhub_ruby/models/company_profile.rb +19 -7
  112. data/lib/finnhub_ruby/models/company_profile2.rb +19 -7
  113. data/lib/finnhub_ruby/models/country_metadata.rb +19 -7
  114. data/lib/finnhub_ruby/models/covid_info.rb +20 -8
  115. data/lib/finnhub_ruby/models/crypto_candles.rb +19 -7
  116. data/lib/finnhub_ruby/models/crypto_symbol.rb +19 -7
  117. data/lib/finnhub_ruby/models/development.rb +34 -12
  118. data/lib/finnhub_ruby/models/dividends.rb +19 -7
  119. data/lib/finnhub_ruby/models/dividends2_basic.rb +231 -0
  120. data/lib/finnhub_ruby/models/earning_estimate.rb +20 -8
  121. data/lib/finnhub_ruby/models/earning_release.rb +20 -8
  122. data/lib/finnhub_ruby/models/earning_result.rb +40 -8
  123. data/lib/finnhub_ruby/models/earnings_calendar.rb +19 -7
  124. data/lib/finnhub_ruby/models/earnings_call_transcripts.rb +20 -8
  125. data/lib/finnhub_ruby/models/earnings_call_transcripts_list.rb +19 -7
  126. data/lib/finnhub_ruby/models/earnings_estimates.rb +19 -7
  127. data/lib/finnhub_ruby/models/economic_calendar.rb +19 -7
  128. data/lib/finnhub_ruby/models/economic_code.rb +19 -7
  129. data/lib/finnhub_ruby/models/economic_data.rb +19 -7
  130. data/lib/finnhub_ruby/models/economic_event.rb +19 -7
  131. data/lib/finnhub_ruby/models/estimate.rb +20 -8
  132. data/lib/finnhub_ruby/models/etf_country_exposure_data.rb +20 -8
  133. data/lib/finnhub_ruby/models/etf_holdings_data.rb +63 -11
  134. data/lib/finnhub_ruby/models/etf_profile_data.rb +389 -0
  135. data/lib/finnhub_ruby/models/etf_sector_exposure_data.rb +20 -8
  136. data/lib/finnhub_ruby/models/etfs_country_exposure.rb +231 -0
  137. data/lib/finnhub_ruby/models/etfs_holdings.rb +251 -0
  138. data/lib/finnhub_ruby/models/etfs_profile.rb +228 -0
  139. data/lib/finnhub_ruby/models/etfs_sector_exposure.rb +231 -0
  140. data/lib/finnhub_ruby/models/fda_comittee_meeting.rb +249 -0
  141. data/lib/finnhub_ruby/models/filing.rb +21 -9
  142. data/lib/finnhub_ruby/models/filing_sentiment.rb +299 -0
  143. data/lib/finnhub_ruby/models/financial_statements.rb +19 -7
  144. data/lib/finnhub_ruby/models/financials_as_reported.rb +19 -7
  145. data/lib/finnhub_ruby/models/forex_candles.rb +19 -7
  146. data/lib/finnhub_ruby/models/forex_symbol.rb +19 -7
  147. data/lib/finnhub_ruby/models/forexrates.rb +19 -7
  148. data/lib/finnhub_ruby/models/fund_ownership.rb +19 -7
  149. data/lib/finnhub_ruby/models/historical_nbbo.rb +345 -0
  150. data/lib/finnhub_ruby/models/index_historical_constituent.rb +19 -7
  151. data/lib/finnhub_ruby/models/indicator.rb +19 -7
  152. data/lib/finnhub_ruby/models/indices_constituents.rb +19 -7
  153. data/lib/finnhub_ruby/models/indices_historical_constituents.rb +19 -7
  154. data/lib/finnhub_ruby/models/insider_transactions.rb +231 -0
  155. data/lib/finnhub_ruby/models/international_filing.rb +299 -0
  156. data/lib/finnhub_ruby/models/investment_theme_portfolio.rb +219 -0
  157. data/lib/finnhub_ruby/models/investment_themes_thematic_investing.rb +231 -0
  158. data/lib/finnhub_ruby/models/investor.rb +19 -7
  159. data/lib/finnhub_ruby/models/ipo_calendar.rb +19 -7
  160. data/lib/finnhub_ruby/models/ipo_event.rb +19 -7
  161. data/lib/finnhub_ruby/models/key_customers_suppliers.rb +249 -0
  162. data/lib/finnhub_ruby/models/last_bid_ask.rb +19 -7
  163. data/lib/finnhub_ruby/models/major_press_releases.rb +231 -0
  164. data/lib/finnhub_ruby/models/mutual_fund_country_exposure_data.rb +229 -0
  165. data/lib/finnhub_ruby/models/mutual_fund_sector_exposure.rb +231 -0
  166. data/lib/finnhub_ruby/models/mutual_fund_sector_exposure_data.rb +229 -0
  167. data/lib/finnhub_ruby/models/mutual_funds_country_exposure.rb +231 -0
  168. data/lib/finnhub_ruby/models/mutual_funds_holdings.rb +251 -0
  169. data/lib/finnhub_ruby/models/mutual_funds_profile.rb +228 -0
  170. data/lib/finnhub_ruby/models/news.rb +19 -7
  171. data/lib/finnhub_ruby/models/news_sentiment.rb +19 -7
  172. data/lib/finnhub_ruby/models/ownership.rb +231 -0
  173. data/lib/finnhub_ruby/models/pattern_recognition.rb +19 -7
  174. data/lib/finnhub_ruby/models/price_target.rb +20 -8
  175. data/lib/finnhub_ruby/models/quote.rb +43 -11
  176. data/lib/finnhub_ruby/models/recommendation_trend.rb +19 -7
  177. data/lib/finnhub_ruby/models/reddit_sentiment_content.rb +279 -0
  178. data/lib/finnhub_ruby/models/report.rb +23 -11
  179. data/lib/finnhub_ruby/models/revenue_breakdown.rb +241 -0
  180. data/lib/finnhub_ruby/models/revenue_estimates.rb +19 -7
  181. data/lib/finnhub_ruby/models/sec_sentiment_analysis.rb +248 -0
  182. data/lib/finnhub_ruby/models/sentiment.rb +19 -7
  183. data/lib/finnhub_ruby/models/similarity_index.rb +19 -7
  184. data/lib/finnhub_ruby/models/social_sentiment.rb +243 -0
  185. data/lib/finnhub_ruby/models/split.rb +19 -7
  186. data/lib/finnhub_ruby/models/stock.rb +23 -21
  187. data/lib/finnhub_ruby/models/stock_candles.rb +19 -7
  188. data/lib/finnhub_ruby/models/stock_transcripts.rb +20 -8
  189. data/lib/finnhub_ruby/models/supply_chain_relationships.rb +231 -0
  190. data/lib/finnhub_ruby/models/support_resistance.rb +19 -7
  191. data/lib/finnhub_ruby/models/symbol_lookup.rb +231 -0
  192. data/lib/finnhub_ruby/models/technical_analysis.rb +19 -7
  193. data/lib/finnhub_ruby/models/tick_data.rb +36 -12
  194. data/lib/finnhub_ruby/models/transactions.rb +279 -0
  195. data/lib/finnhub_ruby/models/transcript_content.rb +33 -11
  196. data/lib/finnhub_ruby/models/transcript_participant.rb +33 -11
  197. data/lib/finnhub_ruby/models/trend.rb +19 -7
  198. data/lib/finnhub_ruby/models/twitter_sentiment_content.rb +279 -0
  199. data/lib/finnhub_ruby/models/upgrade_downgrade.rb +19 -7
  200. data/lib/finnhub_ruby/version.rb +2 -2
  201. data/release.sh +1 -1
  202. data/spec/api_client_spec.rb +1 -1
  203. data/spec/configuration_spec.rb +1 -1
  204. data/spec/models/breakdown_item_spec.rb +40 -0
  205. data/spec/models/dividends2_basic_spec.rb +40 -0
  206. data/spec/models/etf_profile_data_spec.rb +136 -0
  207. data/spec/models/etfs_country_exposure_spec.rb +40 -0
  208. data/spec/models/etfs_holdings_spec.rb +52 -0
  209. data/spec/models/etfs_profile_spec.rb +40 -0
  210. data/spec/models/etfs_sector_exposure_spec.rb +40 -0
  211. data/spec/models/fda_comittee_meeting_spec.rb +52 -0
  212. data/spec/models/filing_sentiment_spec.rb +82 -0
  213. data/spec/models/historical_nbbo_spec.rb +100 -0
  214. data/spec/models/insider_transactions_spec.rb +40 -0
  215. data/spec/models/international_filing_spec.rb +82 -0
  216. data/spec/models/investment_theme_portfolio_spec.rb +34 -0
  217. data/spec/models/investment_themes_thematic_investing_spec.rb +40 -0
  218. data/spec/models/key_customers_suppliers_spec.rb +52 -0
  219. data/spec/models/major_press_releases_spec.rb +40 -0
  220. data/spec/models/mutual_fund_country_exposure_data_spec.rb +40 -0
  221. data/spec/models/mutual_fund_sector_exposure_data_spec.rb +40 -0
  222. data/spec/models/mutual_fund_sector_exposure_spec.rb +40 -0
  223. data/spec/models/mutual_funds_country_exposure_spec.rb +40 -0
  224. data/spec/models/mutual_funds_holdings_spec.rb +52 -0
  225. data/spec/models/mutual_funds_profile_spec.rb +40 -0
  226. data/spec/models/ownership_spec.rb +40 -0
  227. data/spec/models/reddit_sentiment_content_spec.rb +70 -0
  228. data/spec/models/revenue_breakdown_spec.rb +46 -0
  229. data/spec/models/sec_sentiment_analysis_spec.rb +52 -0
  230. data/spec/models/social_sentiment_spec.rb +46 -0
  231. data/spec/models/supply_chain_relationships_spec.rb +40 -0
  232. data/spec/models/symbol_lookup_spec.rb +40 -0
  233. data/spec/models/transactions_spec.rb +70 -0
  234. data/spec/models/twitter_sentiment_content_spec.rb +70 -0
  235. data/spec/spec_helper.rb +1 -1
  236. metadata +129 -29
  237. data/test.rb +0 -157
@@ -6,11 +6,12 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.1
9
+ OpenAPI Generator version: 5.2.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module FinnhubRuby
16
17
  class PatternRecognition
@@ -24,6 +25,11 @@ module FinnhubRuby
24
25
  }
25
26
  end
26
27
 
28
+ # Returns all the JSON keys this model knows about
29
+ def self.acceptable_attributes
30
+ attribute_map.values
31
+ end
32
+
27
33
  # Attribute type mapping.
28
34
  def self.openapi_types
29
35
  {
@@ -105,7 +111,9 @@ module FinnhubRuby
105
111
  def build_from_hash(attributes)
106
112
  return nil unless attributes.is_a?(Hash)
107
113
  self.class.openapi_types.each_pair do |key, type|
108
- if type =~ /\AArray<(.*)>/i
114
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
115
+ self.send("#{key}=", nil)
116
+ elsif type =~ /\AArray<(.*)>/i
109
117
  # check to ensure the input is an array given that the attribute
110
118
  # is documented as an array but the input is not
111
119
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -113,7 +121,7 @@ module FinnhubRuby
113
121
  end
114
122
  elsif !attributes[self.class.attribute_map[key]].nil?
115
123
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
116
- end # or else data not found in attributes(hash), not an issue as the data can be optional
124
+ end
117
125
  end
118
126
 
119
127
  self
@@ -125,8 +133,8 @@ module FinnhubRuby
125
133
  # @return [Object] Deserialized data
126
134
  def _deserialize(type, value)
127
135
  case type.to_sym
128
- when :DateTime
129
- DateTime.parse(value)
136
+ when :Time
137
+ Time.parse(value)
130
138
  when :Date
131
139
  Date.parse(value)
132
140
  when :String
@@ -156,7 +164,9 @@ module FinnhubRuby
156
164
  end
157
165
  end
158
166
  else # model
159
- FinnhubRuby.const_get(type).build_from_hash(value)
167
+ # models (e.g. Pet) or oneOf
168
+ klass = FinnhubRuby.const_get(type)
169
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
160
170
  end
161
171
  end
162
172
 
@@ -182,7 +192,7 @@ module FinnhubRuby
182
192
  is_nullable = self.class.openapi_nullable.include?(attr)
183
193
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
184
194
  end
185
-
195
+
186
196
  hash[param] = _to_hash(value)
187
197
  end
188
198
  hash
@@ -205,5 +215,7 @@ module FinnhubRuby
205
215
  value
206
216
  end
207
217
  end
218
+
208
219
  end
220
+
209
221
  end
@@ -6,11 +6,12 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.1
9
+ OpenAPI Generator version: 5.2.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module FinnhubRuby
16
17
  class PriceTarget
@@ -44,6 +45,11 @@ module FinnhubRuby
44
45
  }
45
46
  end
46
47
 
48
+ # Returns all the JSON keys this model knows about
49
+ def self.acceptable_attributes
50
+ attribute_map.values
51
+ end
52
+
47
53
  # Attribute type mapping.
48
54
  def self.openapi_types
49
55
  {
@@ -52,7 +58,7 @@ module FinnhubRuby
52
58
  :'target_low' => :'Float',
53
59
  :'target_mean' => :'Float',
54
60
  :'target_median' => :'Float',
55
- :'last_updated' => :'DateTime'
61
+ :'last_updated' => :'Time'
56
62
  }
57
63
  end
58
64
 
@@ -153,7 +159,9 @@ module FinnhubRuby
153
159
  def build_from_hash(attributes)
154
160
  return nil unless attributes.is_a?(Hash)
155
161
  self.class.openapi_types.each_pair do |key, type|
156
- if type =~ /\AArray<(.*)>/i
162
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
163
+ self.send("#{key}=", nil)
164
+ elsif type =~ /\AArray<(.*)>/i
157
165
  # check to ensure the input is an array given that the attribute
158
166
  # is documented as an array but the input is not
159
167
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -161,7 +169,7 @@ module FinnhubRuby
161
169
  end
162
170
  elsif !attributes[self.class.attribute_map[key]].nil?
163
171
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
164
- end # or else data not found in attributes(hash), not an issue as the data can be optional
172
+ end
165
173
  end
166
174
 
167
175
  self
@@ -173,8 +181,8 @@ module FinnhubRuby
173
181
  # @return [Object] Deserialized data
174
182
  def _deserialize(type, value)
175
183
  case type.to_sym
176
- when :DateTime
177
- DateTime.parse(value)
184
+ when :Time
185
+ Time.parse(value)
178
186
  when :Date
179
187
  Date.parse(value)
180
188
  when :String
@@ -204,7 +212,9 @@ module FinnhubRuby
204
212
  end
205
213
  end
206
214
  else # model
207
- FinnhubRuby.const_get(type).build_from_hash(value)
215
+ # models (e.g. Pet) or oneOf
216
+ klass = FinnhubRuby.const_get(type)
217
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
208
218
  end
209
219
  end
210
220
 
@@ -230,7 +240,7 @@ module FinnhubRuby
230
240
  is_nullable = self.class.openapi_nullable.include?(attr)
231
241
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
232
242
  end
233
-
243
+
234
244
  hash[param] = _to_hash(value)
235
245
  end
236
246
  hash
@@ -253,5 +263,7 @@ module FinnhubRuby
253
263
  value
254
264
  end
255
265
  end
266
+
256
267
  end
268
+
257
269
  end
@@ -6,11 +6,12 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.1
9
+ OpenAPI Generator version: 5.2.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module FinnhubRuby
16
17
  class Quote
@@ -29,6 +30,12 @@ module FinnhubRuby
29
30
  # Previous close price
30
31
  attr_accessor :pc
31
32
 
33
+ # Change
34
+ attr_accessor :d
35
+
36
+ # Percent change
37
+ attr_accessor :dp
38
+
32
39
  # Attribute mapping from ruby-style variable name to JSON key.
33
40
  def self.attribute_map
34
41
  {
@@ -36,10 +43,17 @@ module FinnhubRuby
36
43
  :'h' => :'h',
37
44
  :'l' => :'l',
38
45
  :'c' => :'c',
39
- :'pc' => :'pc'
46
+ :'pc' => :'pc',
47
+ :'d' => :'d',
48
+ :'dp' => :'dp'
40
49
  }
41
50
  end
42
51
 
52
+ # Returns all the JSON keys this model knows about
53
+ def self.acceptable_attributes
54
+ attribute_map.values
55
+ end
56
+
43
57
  # Attribute type mapping.
44
58
  def self.openapi_types
45
59
  {
@@ -47,7 +61,9 @@ module FinnhubRuby
47
61
  :'h' => :'Float',
48
62
  :'l' => :'Float',
49
63
  :'c' => :'Float',
50
- :'pc' => :'Float'
64
+ :'pc' => :'Float',
65
+ :'d' => :'Float',
66
+ :'dp' => :'Float'
51
67
  }
52
68
  end
53
69
 
@@ -91,6 +107,14 @@ module FinnhubRuby
91
107
  if attributes.key?(:'pc')
92
108
  self.pc = attributes[:'pc']
93
109
  end
110
+
111
+ if attributes.key?(:'d')
112
+ self.d = attributes[:'d']
113
+ end
114
+
115
+ if attributes.key?(:'dp')
116
+ self.dp = attributes[:'dp']
117
+ end
94
118
  end
95
119
 
96
120
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -115,7 +139,9 @@ module FinnhubRuby
115
139
  h == o.h &&
116
140
  l == o.l &&
117
141
  c == o.c &&
118
- pc == o.pc
142
+ pc == o.pc &&
143
+ d == o.d &&
144
+ dp == o.dp
119
145
  end
120
146
 
121
147
  # @see the `==` method
@@ -127,7 +153,7 @@ module FinnhubRuby
127
153
  # Calculates hash code according to all attributes.
128
154
  # @return [Integer] Hash code
129
155
  def hash
130
- [o, h, l, c, pc].hash
156
+ [o, h, l, c, pc, d, dp].hash
131
157
  end
132
158
 
133
159
  # Builds the object from hash
@@ -143,7 +169,9 @@ module FinnhubRuby
143
169
  def build_from_hash(attributes)
144
170
  return nil unless attributes.is_a?(Hash)
145
171
  self.class.openapi_types.each_pair do |key, type|
146
- if type =~ /\AArray<(.*)>/i
172
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
173
+ self.send("#{key}=", nil)
174
+ elsif type =~ /\AArray<(.*)>/i
147
175
  # check to ensure the input is an array given that the attribute
148
176
  # is documented as an array but the input is not
149
177
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -151,7 +179,7 @@ module FinnhubRuby
151
179
  end
152
180
  elsif !attributes[self.class.attribute_map[key]].nil?
153
181
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
154
- end # or else data not found in attributes(hash), not an issue as the data can be optional
182
+ end
155
183
  end
156
184
 
157
185
  self
@@ -163,8 +191,8 @@ module FinnhubRuby
163
191
  # @return [Object] Deserialized data
164
192
  def _deserialize(type, value)
165
193
  case type.to_sym
166
- when :DateTime
167
- DateTime.parse(value)
194
+ when :Time
195
+ Time.parse(value)
168
196
  when :Date
169
197
  Date.parse(value)
170
198
  when :String
@@ -194,7 +222,9 @@ module FinnhubRuby
194
222
  end
195
223
  end
196
224
  else # model
197
- FinnhubRuby.const_get(type).build_from_hash(value)
225
+ # models (e.g. Pet) or oneOf
226
+ klass = FinnhubRuby.const_get(type)
227
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
198
228
  end
199
229
  end
200
230
 
@@ -220,7 +250,7 @@ module FinnhubRuby
220
250
  is_nullable = self.class.openapi_nullable.include?(attr)
221
251
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
222
252
  end
223
-
253
+
224
254
  hash[param] = _to_hash(value)
225
255
  end
226
256
  hash
@@ -243,5 +273,7 @@ module FinnhubRuby
243
273
  value
244
274
  end
245
275
  end
276
+
246
277
  end
278
+
247
279
  end
@@ -6,11 +6,12 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.1
9
+ OpenAPI Generator version: 5.2.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module FinnhubRuby
16
17
  class RecommendationTrend
@@ -48,6 +49,11 @@ module FinnhubRuby
48
49
  }
49
50
  end
50
51
 
52
+ # Returns all the JSON keys this model knows about
53
+ def self.acceptable_attributes
54
+ attribute_map.values
55
+ end
56
+
51
57
  # Attribute type mapping.
52
58
  def self.openapi_types
53
59
  {
@@ -163,7 +169,9 @@ module FinnhubRuby
163
169
  def build_from_hash(attributes)
164
170
  return nil unless attributes.is_a?(Hash)
165
171
  self.class.openapi_types.each_pair do |key, type|
166
- if type =~ /\AArray<(.*)>/i
172
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
173
+ self.send("#{key}=", nil)
174
+ elsif type =~ /\AArray<(.*)>/i
167
175
  # check to ensure the input is an array given that the attribute
168
176
  # is documented as an array but the input is not
169
177
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -171,7 +179,7 @@ module FinnhubRuby
171
179
  end
172
180
  elsif !attributes[self.class.attribute_map[key]].nil?
173
181
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
174
- end # or else data not found in attributes(hash), not an issue as the data can be optional
182
+ end
175
183
  end
176
184
 
177
185
  self
@@ -183,8 +191,8 @@ module FinnhubRuby
183
191
  # @return [Object] Deserialized data
184
192
  def _deserialize(type, value)
185
193
  case type.to_sym
186
- when :DateTime
187
- DateTime.parse(value)
194
+ when :Time
195
+ Time.parse(value)
188
196
  when :Date
189
197
  Date.parse(value)
190
198
  when :String
@@ -214,7 +222,9 @@ module FinnhubRuby
214
222
  end
215
223
  end
216
224
  else # model
217
- FinnhubRuby.const_get(type).build_from_hash(value)
225
+ # models (e.g. Pet) or oneOf
226
+ klass = FinnhubRuby.const_get(type)
227
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
218
228
  end
219
229
  end
220
230
 
@@ -240,7 +250,7 @@ module FinnhubRuby
240
250
  is_nullable = self.class.openapi_nullable.include?(attr)
241
251
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
242
252
  end
243
-
253
+
244
254
  hash[param] = _to_hash(value)
245
255
  end
246
256
  hash
@@ -263,5 +273,7 @@ module FinnhubRuby
263
273
  value
264
274
  end
265
275
  end
276
+
266
277
  end
278
+
267
279
  end
@@ -0,0 +1,279 @@
1
+ =begin
2
+ #Finnhub API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module FinnhubRuby
17
+ class RedditSentimentContent
18
+ # Number of mentions
19
+ attr_accessor :mention
20
+
21
+ # Number of positive mentions
22
+ attr_accessor :positive_mention
23
+
24
+ # Number of negative mentions
25
+ attr_accessor :negative_mention
26
+
27
+ # Positive score. Range 0-1
28
+ attr_accessor :positive_score
29
+
30
+ # Negative score. Range 0-1
31
+ attr_accessor :negative_score
32
+
33
+ # Final score. Range: -1 to 1 with 1 is very positive and -1 is very negative
34
+ attr_accessor :score
35
+
36
+ # Period.
37
+ attr_accessor :at_time
38
+
39
+ # Attribute mapping from ruby-style variable name to JSON key.
40
+ def self.attribute_map
41
+ {
42
+ :'mention' => :'mention',
43
+ :'positive_mention' => :'positiveMention',
44
+ :'negative_mention' => :'negativeMention',
45
+ :'positive_score' => :'positiveScore',
46
+ :'negative_score' => :'negativeScore',
47
+ :'score' => :'score',
48
+ :'at_time' => :'atTime'
49
+ }
50
+ end
51
+
52
+ # Returns all the JSON keys this model knows about
53
+ def self.acceptable_attributes
54
+ attribute_map.values
55
+ end
56
+
57
+ # Attribute type mapping.
58
+ def self.openapi_types
59
+ {
60
+ :'mention' => :'Integer',
61
+ :'positive_mention' => :'Integer',
62
+ :'negative_mention' => :'Integer',
63
+ :'positive_score' => :'Float',
64
+ :'negative_score' => :'Float',
65
+ :'score' => :'Float',
66
+ :'at_time' => :'Time'
67
+ }
68
+ end
69
+
70
+ # List of attributes with nullable: true
71
+ def self.openapi_nullable
72
+ Set.new([
73
+ ])
74
+ end
75
+
76
+ # Initializes the object
77
+ # @param [Hash] attributes Model attributes in the form of hash
78
+ def initialize(attributes = {})
79
+ if (!attributes.is_a?(Hash))
80
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FinnhubRuby::RedditSentimentContent` initialize method"
81
+ end
82
+
83
+ # check to see if the attribute exists and convert string to symbol for hash key
84
+ attributes = attributes.each_with_object({}) { |(k, v), h|
85
+ if (!self.class.attribute_map.key?(k.to_sym))
86
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FinnhubRuby::RedditSentimentContent`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
87
+ end
88
+ h[k.to_sym] = v
89
+ }
90
+
91
+ if attributes.key?(:'mention')
92
+ self.mention = attributes[:'mention']
93
+ end
94
+
95
+ if attributes.key?(:'positive_mention')
96
+ self.positive_mention = attributes[:'positive_mention']
97
+ end
98
+
99
+ if attributes.key?(:'negative_mention')
100
+ self.negative_mention = attributes[:'negative_mention']
101
+ end
102
+
103
+ if attributes.key?(:'positive_score')
104
+ self.positive_score = attributes[:'positive_score']
105
+ end
106
+
107
+ if attributes.key?(:'negative_score')
108
+ self.negative_score = attributes[:'negative_score']
109
+ end
110
+
111
+ if attributes.key?(:'score')
112
+ self.score = attributes[:'score']
113
+ end
114
+
115
+ if attributes.key?(:'at_time')
116
+ self.at_time = attributes[:'at_time']
117
+ end
118
+ end
119
+
120
+ # Show invalid properties with the reasons. Usually used together with valid?
121
+ # @return Array for valid properties with the reasons
122
+ def list_invalid_properties
123
+ invalid_properties = Array.new
124
+ invalid_properties
125
+ end
126
+
127
+ # Check to see if the all the properties in the model are valid
128
+ # @return true if the model is valid
129
+ def valid?
130
+ true
131
+ end
132
+
133
+ # Checks equality by comparing each attribute.
134
+ # @param [Object] Object to be compared
135
+ def ==(o)
136
+ return true if self.equal?(o)
137
+ self.class == o.class &&
138
+ mention == o.mention &&
139
+ positive_mention == o.positive_mention &&
140
+ negative_mention == o.negative_mention &&
141
+ positive_score == o.positive_score &&
142
+ negative_score == o.negative_score &&
143
+ score == o.score &&
144
+ at_time == o.at_time
145
+ end
146
+
147
+ # @see the `==` method
148
+ # @param [Object] Object to be compared
149
+ def eql?(o)
150
+ self == o
151
+ end
152
+
153
+ # Calculates hash code according to all attributes.
154
+ # @return [Integer] Hash code
155
+ def hash
156
+ [mention, positive_mention, negative_mention, positive_score, negative_score, score, at_time].hash
157
+ end
158
+
159
+ # Builds the object from hash
160
+ # @param [Hash] attributes Model attributes in the form of hash
161
+ # @return [Object] Returns the model itself
162
+ def self.build_from_hash(attributes)
163
+ new.build_from_hash(attributes)
164
+ end
165
+
166
+ # Builds the object from hash
167
+ # @param [Hash] attributes Model attributes in the form of hash
168
+ # @return [Object] Returns the model itself
169
+ def build_from_hash(attributes)
170
+ return nil unless attributes.is_a?(Hash)
171
+ self.class.openapi_types.each_pair do |key, type|
172
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
173
+ self.send("#{key}=", nil)
174
+ elsif type =~ /\AArray<(.*)>/i
175
+ # check to ensure the input is an array given that the attribute
176
+ # is documented as an array but the input is not
177
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
178
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
179
+ end
180
+ elsif !attributes[self.class.attribute_map[key]].nil?
181
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
182
+ end
183
+ end
184
+
185
+ self
186
+ end
187
+
188
+ # Deserializes the data based on type
189
+ # @param string type Data type
190
+ # @param string value Value to be deserialized
191
+ # @return [Object] Deserialized data
192
+ def _deserialize(type, value)
193
+ case type.to_sym
194
+ when :Time
195
+ Time.parse(value)
196
+ when :Date
197
+ Date.parse(value)
198
+ when :String
199
+ value.to_s
200
+ when :Integer
201
+ value.to_i
202
+ when :Float
203
+ value.to_f
204
+ when :Boolean
205
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
206
+ true
207
+ else
208
+ false
209
+ end
210
+ when :Object
211
+ # generic object (usually a Hash), return directly
212
+ value
213
+ when /\AArray<(?<inner_type>.+)>\z/
214
+ inner_type = Regexp.last_match[:inner_type]
215
+ value.map { |v| _deserialize(inner_type, v) }
216
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
217
+ k_type = Regexp.last_match[:k_type]
218
+ v_type = Regexp.last_match[:v_type]
219
+ {}.tap do |hash|
220
+ value.each do |k, v|
221
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
222
+ end
223
+ end
224
+ else # model
225
+ # models (e.g. Pet) or oneOf
226
+ klass = FinnhubRuby.const_get(type)
227
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
228
+ end
229
+ end
230
+
231
+ # Returns the string representation of the object
232
+ # @return [String] String presentation of the object
233
+ def to_s
234
+ to_hash.to_s
235
+ end
236
+
237
+ # to_body is an alias to to_hash (backward compatibility)
238
+ # @return [Hash] Returns the object in the form of hash
239
+ def to_body
240
+ to_hash
241
+ end
242
+
243
+ # Returns the object in the form of hash
244
+ # @return [Hash] Returns the object in the form of hash
245
+ def to_hash
246
+ hash = {}
247
+ self.class.attribute_map.each_pair do |attr, param|
248
+ value = self.send(attr)
249
+ if value.nil?
250
+ is_nullable = self.class.openapi_nullable.include?(attr)
251
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
252
+ end
253
+
254
+ hash[param] = _to_hash(value)
255
+ end
256
+ hash
257
+ end
258
+
259
+ # Outputs non-array value in the form of hash
260
+ # For object, use to_hash. Otherwise, just return the value
261
+ # @param [Object] value Any valid value
262
+ # @return [Hash] Returns the value in the form of hash
263
+ def _to_hash(value)
264
+ if value.is_a?(Array)
265
+ value.compact.map { |v| _to_hash(v) }
266
+ elsif value.is_a?(Hash)
267
+ {}.tap do |hash|
268
+ value.each { |k, v| hash[k] = _to_hash(v) }
269
+ end
270
+ elsif value.respond_to? :to_hash
271
+ value.to_hash
272
+ else
273
+ value
274
+ end
275
+ end
276
+
277
+ end
278
+
279
+ end