iex-ruby-client 1.0.1 → 1.3.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 (78) hide show
  1. checksums.yaml +5 -5
  2. data/.env.sample +2 -0
  3. data/.github/FUNDING.yml +1 -0
  4. data/.rubocop.yml +4 -1
  5. data/.rubocop_todo.yml +0 -8
  6. data/CHANGELOG.md +43 -9
  7. data/Dangerfile +2 -2
  8. data/Gemfile +3 -2
  9. data/README.md +134 -10
  10. data/iex-ruby-client.gemspec +3 -2
  11. data/lib/iex/api.rb +6 -1
  12. data/lib/iex/api/client.rb +13 -2
  13. data/lib/iex/api/config/client.rb +52 -0
  14. data/lib/iex/api/config/logger.rb +35 -0
  15. data/lib/iex/cloud/connection.rb +22 -19
  16. data/lib/iex/cloud/request.rb +1 -1
  17. data/lib/iex/cloud/response.rb +1 -1
  18. data/lib/iex/endpoints/advanced_stats.rb +11 -0
  19. data/lib/iex/endpoints/chart.rb +5 -6
  20. data/lib/iex/endpoints/company.rb +1 -1
  21. data/lib/iex/endpoints/crypto.rb +1 -1
  22. data/lib/iex/endpoints/dividends.rb +1 -1
  23. data/lib/iex/endpoints/earnings.rb +1 -1
  24. data/lib/iex/endpoints/income.rb +13 -0
  25. data/lib/iex/endpoints/key_stats.rb +1 -1
  26. data/lib/iex/endpoints/largest_trades.rb +1 -1
  27. data/lib/iex/endpoints/logo.rb +1 -1
  28. data/lib/iex/endpoints/news.rb +1 -1
  29. data/lib/iex/endpoints/ohlc.rb +2 -2
  30. data/lib/iex/endpoints/price.rb +1 -1
  31. data/lib/iex/endpoints/quote.rb +1 -1
  32. data/lib/iex/endpoints/ref_data.rb +22 -0
  33. data/lib/iex/endpoints/sectors.rb +1 -1
  34. data/lib/iex/endpoints/stock_market.rb +11 -0
  35. data/lib/iex/resources.rb +4 -0
  36. data/lib/iex/resources/advanced_stats.rb +42 -0
  37. data/lib/iex/resources/chart.rb +9 -14
  38. data/lib/iex/resources/company.rb +1 -0
  39. data/lib/iex/resources/income.rb +36 -0
  40. data/lib/iex/resources/key_stats.rb +2 -2
  41. data/lib/iex/resources/quote.rb +15 -5
  42. data/lib/iex/resources/resource.rb +1 -1
  43. data/lib/iex/resources/symbol.rb +10 -0
  44. data/lib/iex/resources/symbols.rb +19 -0
  45. data/lib/iex/version.rb +1 -1
  46. data/spec/fixtures/iex/advanced_stats/invalid.yml +50 -0
  47. data/spec/fixtures/iex/advanced_stats/msft.yml +57 -0
  48. data/spec/fixtures/iex/chart/1d.yml +440 -473
  49. data/spec/fixtures/iex/chart/20190306.yml +440 -473
  50. data/spec/fixtures/iex/chart/bad_option.yml +47 -81
  51. data/spec/fixtures/iex/chart/chartInterval.yml +89 -122
  52. data/spec/fixtures/iex/chart/dynamic/1m.yml +73 -107
  53. data/spec/fixtures/iex/chart/invalid.yml +47 -81
  54. data/spec/fixtures/iex/chart/msft.yml +74 -107
  55. data/spec/fixtures/iex/income/invalid.yml +49 -0
  56. data/spec/fixtures/iex/income/msft.yml +53 -0
  57. data/spec/fixtures/iex/income/nsrgy.yml +55 -0
  58. data/spec/fixtures/iex/ref-data/isin.yml +57 -0
  59. data/spec/fixtures/iex/ref-data/isin_mapped.yml +57 -0
  60. data/spec/fixtures/iex/ref-data/symbols.yml +9002 -0
  61. data/spec/fixtures/iex/ref-data/wrong_isin_mapped.yml +57 -0
  62. data/spec/fixtures/iex/stock_market/list_mostactive.yml +76 -0
  63. data/spec/iex/client_spec.rb +97 -14
  64. data/spec/iex/config/client_spec.rb +49 -0
  65. data/spec/iex/config/logger_spec.rb +46 -0
  66. data/spec/iex/endpoints/advanced_stats_spec.rb +54 -0
  67. data/spec/iex/endpoints/chart_spec.rb +7 -7
  68. data/spec/iex/endpoints/company_spec.rb +1 -0
  69. data/spec/iex/endpoints/income_spec.rb +68 -0
  70. data/spec/iex/endpoints/key_stats_spec.rb +2 -1
  71. data/spec/iex/endpoints/quote_spec.rb +2 -0
  72. data/spec/iex/endpoints/ref_data_spec.rb +76 -0
  73. data/spec/iex/endpoints/stock_market_spec.rb +14 -0
  74. data/spec/spec_helper.rb +3 -2
  75. data/spec/support/vcr.rb +3 -0
  76. metadata +56 -16
  77. data/lib/iex/api/config.rb +0 -45
  78. data/spec/iex/config_spec.rb +0 -22
@@ -12,11 +12,11 @@ describe IEX::Resources::Chart do
12
12
  it 'retrieves a default chart' do
13
13
  expect(subject.count).to eq 23
14
14
  expect(first).to be_a IEX::Resources::Chart::Default
15
- expect(first.label).to eq 'Mar 6'
15
+ expect(first.label).to eq 'Jul 10'
16
16
  expect(first.change_percent_s).to eq '0.00%'
17
- expect(first.close).to eq 111.75
18
- expect(first.date).to eq Date.new(2019, 3, 6)
19
- expect(last.label).to eq 'Apr 5'
17
+ expect(first.close).to eq 137.85
18
+ expect(first.date).to eq Date.new(2019, 7, 10)
19
+ expect(last.label).to eq 'Aug 9'
20
20
  end
21
21
  end
22
22
 
@@ -30,8 +30,8 @@ describe IEX::Resources::Chart do
30
30
  expect(subject.count).to eq 390
31
31
  expect(first).to be_a IEX::Resources::Chart::OneDay
32
32
  expect(first.label).to eq '09:30 AM'
33
- expect(first.high).to eq 119.67
34
- expect(first.low).to eq 119.43
33
+ expect(first.high).to eq 138.72
34
+ expect(first.low).to eq 138.5
35
35
  expect(first.minute).to eq '09:30'
36
36
  end
37
37
  end
@@ -67,7 +67,7 @@ describe IEX::Resources::Chart do
67
67
  it 'retrieves a 1m chart from' do
68
68
  expect(subject.count).to eq 23
69
69
  expect(first).to be_a IEX::Resources::Chart::Default
70
- expect(first.date).to eq Date.new(2019, 3, 6)
70
+ expect(first.date).to eq Date.new(2019, 7, 10)
71
71
  end
72
72
  end
73
73
 
@@ -19,6 +19,7 @@ describe IEX::Resources::Company do
19
19
  expect(subject.sector).to eq 'Technology Services'
20
20
  expect(subject.employees).to eq 131_000
21
21
  expect(subject.security_name).to eq 'Microsoft Corporation'
22
+ expect(subject.tags).to eq ['Technology Services', 'Packaged Software']
22
23
  end
23
24
  end
24
25
  context 'invalid symbol', vcr: { cassette_name: 'company/invalid' } do
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe IEX::Resources::Income do
6
+ include_context 'client'
7
+
8
+ context 'known symbol' do
9
+ context 'with defaults', vcr: { cassette_name: 'income/msft' } do
10
+ subject do
11
+ client.income('MSFT')
12
+ end
13
+ let(:income) { subject.first }
14
+
15
+ it 'retrieves income statement' do
16
+ expect(subject.size).to eq 1
17
+ expect(income.report_date).to eq '2019-03-31'
18
+ expect(income.total_revenue).to eq 30_505_000_000
19
+ expect(income.total_revenue_dollar).to eq '$30,505,000,000'
20
+ expect(income.cost_of_revenue).to eq 10_170_000_000
21
+ expect(income.cost_of_revenue_dollar).to eq '$10,170,000,000'
22
+ expect(income.gross_profit).to eq 20_335_000_000
23
+ expect(income.gross_profit_dollar).to eq '$20,335,000,000'
24
+ expect(income.research_and_development).to eq 4_316_000_000
25
+ expect(income.research_and_development_dollar).to eq '$4,316,000,000'
26
+ expect(income.selling_general_and_admin).to eq 5_744_000_000
27
+ expect(income.selling_general_and_admin_dollar).to eq '$5,744,000,000'
28
+ expect(income.operating_expense).to eq 20_230_000_000
29
+ expect(income.operating_expense_dollar).to eq '$20,230,000,000'
30
+ expect(income.operating_income).to eq 10_275_000_000
31
+ expect(income.operating_income_dollar).to eq '$10,275,000,000'
32
+ expect(income.other_income_expense_net).to eq 211_000_000
33
+ expect(income.other_income_expense_net_dollar).to eq '$211,000,000'
34
+ expect(income.ebit_dollar).to eq '$10,275,000,000'
35
+ expect(income.ebit).to eq 10_275_000_000
36
+ expect(income.interest_income).to eq 671_000_000
37
+ expect(income.interest_income_dollar).to eq '$671,000,000'
38
+ expect(income.pretax_income).to eq 10_486_000_000
39
+ expect(income.pretax_income_dollar).to eq '$10,486,000,000'
40
+ expect(income.income_tax).to eq 1_677_000_000
41
+ expect(income.income_tax_dollar).to eq '$1,677,000,000'
42
+ expect(income.minority_interest).to eq 0
43
+ expect(income.net_income).to eq 8_809_000_000
44
+ expect(income.net_income_dollar).to eq '$8,809,000,000'
45
+ expect(income.net_income_basic).to eq 8_809_000_000
46
+ expect(income.net_income_basic_dollar).to eq '$8,809,000,000'
47
+ end
48
+ end
49
+ end
50
+
51
+ context 'no result', vcr: { cassette_name: 'income/nsrgy' } do
52
+ subject do
53
+ client.income('nsrgy')
54
+ end
55
+ it 'returns empty array' do
56
+ expect(subject).to eq []
57
+ end
58
+ end
59
+
60
+ context 'invalid symbol', vcr: { cassette_name: 'income/invalid' } do
61
+ subject do
62
+ client.income('INVALID')
63
+ end
64
+ it 'fails with SymbolNotFoundError' do
65
+ expect { subject }.to raise_error IEX::Errors::SymbolNotFoundError, 'Symbol INVALID Not Found'
66
+ end
67
+ end
68
+ end
@@ -10,7 +10,7 @@ describe IEX::Resources::KeyStats do
10
10
  it 'retrieves a keyStats' do
11
11
  expect(subject.company_name).to eq 'Microsoft Corp.'
12
12
  expect(subject.market_cap).to eq 990_869_169_557
13
- expect(subject.market_cap_dollars).to eq '$990,869,169,557'
13
+ expect(subject.market_cap_dollar).to eq '$990,869,169,557'
14
14
  expect(subject.employees).to eq 133_074
15
15
  end
16
16
 
@@ -19,6 +19,7 @@ describe IEX::Resources::KeyStats do
19
19
  expect(subject.week_52_high_dollar).to eq '$136.04'
20
20
  expect(subject.week_52_low).to eq 95.92
21
21
  expect(subject.week_52_low_dollar).to eq '$95.92'
22
+ expect(subject.week_52_change).to eq 0.371641
22
23
  expect(subject.week_52_change_dollar).to eq '$0.37'
23
24
  end
24
25
 
@@ -18,6 +18,8 @@ describe IEX::Resources::Quote do
18
18
  expect(subject.week_52_low).to eq 87.73
19
19
  expect(subject.change_percent).to eq(-0.00508)
20
20
  expect(subject.change_percent_s).to eq '-0.51%'
21
+ expect(subject.extended_change_percent).to eq(-0.00008)
22
+ expect(subject.extended_change_percent_s).to eq '-0.01%'
21
23
  end
22
24
  it 'coerces times' do
23
25
  expect(subject.latest_update).to eq 1_554_408_000_193
@@ -0,0 +1,76 @@
1
+ require 'spec_helper'
2
+
3
+ describe IEX::Api::Client do
4
+ include_context 'client'
5
+
6
+ describe '#ref_data_isin', vcr: { cassette_name: 'ref-data/isin' } do
7
+ context 'without options' do
8
+ subject { client.ref_data_isin(['US0378331005']) }
9
+
10
+ it 'converts ISIN to IEX Cloud symbols' do
11
+ expect(subject.count).to eq(2)
12
+ expect(subject.first).to eq('exchange' => 'NAS', 'iex_id' => 'IEX_4D48333344362D52', 'region' => 'US', 'symbol' => 'AAPL')
13
+ expect(subject.last).to eq('exchange' => 'ETR', 'iex_id' => 'IEX_464D46474C312D52', 'region' => 'DE', 'symbol' => 'APC-GY')
14
+ end
15
+ end
16
+
17
+ context 'graciously handle parameter as string', vcr: { cassette_name: 'ref-data/isin' } do
18
+ subject { client.ref_data_isin('US0378331005') }
19
+
20
+ it 'converts ISIN to IEX Cloud symbols' do
21
+ expect(subject.count).to eq(2)
22
+ expect(subject.first).to eq('exchange' => 'NAS', 'iex_id' => 'IEX_4D48333344362D52', 'region' => 'US', 'symbol' => 'AAPL')
23
+ expect(subject.last).to eq('exchange' => 'ETR', 'iex_id' => 'IEX_464D46474C312D52', 'region' => 'DE', 'symbol' => 'APC-GY')
24
+ end
25
+ end
26
+
27
+ context 'with mapped option', vcr: { cassette_name: 'ref-data/isin_mapped' } do
28
+ subject { client.ref_data_isin(%w[US0378331005 US5949181045], mapped: true) }
29
+
30
+ it 'converts ISINs to IEX Cloud symbols mapped by ISIN' do
31
+ expect(subject.keys).to contain_exactly('US0378331005', 'US5949181045')
32
+
33
+ expect(subject['US0378331005'].first).to eq('exchange' => 'NAS', 'iex_id' => 'IEX_4D48333344362D52', 'region' => 'US', 'symbol' => 'AAPL')
34
+ expect(subject['US0378331005'].last).to eq('exchange' => 'ETR', 'iex_id' => 'IEX_464D46474C312D52', 'region' => 'DE', 'symbol' => 'APC-GY')
35
+
36
+ expect(subject['US5949181045'][0]).to eq('exchange' => 'NAS', 'iex_id' => 'IEX_5038523343322D52', 'region' => 'US', 'symbol' => 'MSFT')
37
+ expect(subject['US5949181045'][1]).to eq('exchange' => 'ETR', 'iex_id' => 'IEX_4C42583859482D52', 'region' => 'DE', 'symbol' => 'MSF-GY')
38
+ expect(subject['US5949181045'][2]).to eq('exchange' => 'BRU', 'iex_id' => 'IEX_5833345950432D52', 'region' => 'BE', 'symbol' => 'MSF-BB')
39
+ end
40
+ end
41
+
42
+ context 'with wrong ISIN', vcr: { cassette_name: 'ref-data/wrong_isin_mapped' } do
43
+ subject { client.ref_data_isin(%w[WRONG12345], mapped: true) }
44
+
45
+ it 'returns nil value for given ISIN' do
46
+ expect(subject).to eq('WRONG12345' => nil)
47
+ end
48
+ end
49
+ end
50
+
51
+ describe '#ref_data_symbols', vcr: { cassette_name: 'ref-data/symbols' } do
52
+ subject { client.ref_data_symbols }
53
+
54
+ it 'retrieves all symbols' do
55
+ expect(subject.count).to eq 8808
56
+ end
57
+
58
+ context 'first symbol' do
59
+ subject { client.ref_data_symbols.first }
60
+ it 'retrieves a symbol data' do
61
+ expect(subject.symbol).to eq 'A'
62
+ expect(subject.exchange).to eq 'NYS'
63
+ expect(subject.name).to eq 'Agilent Technologies Inc.'
64
+ expect(subject.date).to eq Date.parse('2020-04-30')
65
+ expect(subject.enabled).to eq true
66
+ expect(subject.enabled?).to eq true
67
+ expect(subject.type).to eq 'cs'
68
+ expect(subject.region).to eq 'US'
69
+ expect(subject.currency).to eq 'USD'
70
+ expect(subject.iex_id).to eq 'IEX_46574843354B2D52'
71
+ expect(subject.figi).to eq 'BBG000C2V3D6'
72
+ expect(subject.cik).to eq '1090872'
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,14 @@
1
+ require 'spec_helper'
2
+
3
+ describe IEX::Endpoints::StockMarket do
4
+ include_context 'client'
5
+
6
+ describe '#stock_market_list', vcr: { cassette_name: 'stock_market/list_mostactive' } do
7
+ subject { client.stock_market_list(:mostactive) }
8
+
9
+ it 'retrieves a list of quotes' do
10
+ expect(subject).to all(be_a(IEX::Resources::Quote))
11
+ expect(subject.map(&:symbol)).to match_array(%w[AAPL AMD BAC F GE INO INTC MSFT T XOM])
12
+ end
13
+ end
14
+ end
@@ -2,11 +2,12 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..'))
2
2
 
3
3
  require 'rubygems'
4
4
  require 'rspec'
5
+ require 'dotenv'
5
6
 
6
7
  require 'iex-ruby-client'
7
8
 
8
- Dir[File.join(File.dirname(__FILE__), 'support', '**/*.rb')].each do |file|
9
+ Dir[File.join(File.dirname(__FILE__), 'support', '**/*.rb')].sort.each do |file|
9
10
  require file
10
11
  end
11
12
 
12
- ENV['IEX_API_PUBLISHABLE_TOKEN'] ||= 'test-iex-api-publishable-token'
13
+ Dotenv.load('.env', '.env.sample')
@@ -6,4 +6,7 @@ VCR.configure do |config|
6
6
  config.hook_into :webmock
7
7
  # config.default_cassette_options = { record: :new_episodes }
8
8
  config.configure_rspec_metadata!
9
+
10
+ config.filter_sensitive_data('test-iex-api-publishable-token') { ENV['IEX_API_PUBLISHABLE_TOKEN'] }
11
+ config.filter_sensitive_data('test-iex-api-secret-token') { ENV['IEX_API_SECRET_TOKEN'] }
9
12
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iex-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Doubrovkine
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-08 00:00:00.000000000 Z
11
+ date: 2020-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0.9'
19
+ version: '0.17'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0.9'
26
+ version: '0.17'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: faraday_middleware
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - '='
102
102
  - !ruby/object:Gem::Version
103
- version: 0.67.2
103
+ version: 0.72.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - '='
109
109
  - !ruby/object:Gem::Version
110
- version: 0.67.2
110
+ version: 0.72.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: vcr
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -136,12 +136,14 @@ dependencies:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
- description:
139
+ description:
140
140
  email: dblock@dblock.org
141
141
  executables: []
142
142
  extensions: []
143
143
  extra_rdoc_files: []
144
144
  files:
145
+ - ".env.sample"
146
+ - ".github/FUNDING.yml"
145
147
  - ".gitignore"
146
148
  - ".rspec"
147
149
  - ".rubocop.yml"
@@ -160,16 +162,19 @@ files:
160
162
  - lib/iex-ruby-client.rb
161
163
  - lib/iex/api.rb
162
164
  - lib/iex/api/client.rb
163
- - lib/iex/api/config.rb
165
+ - lib/iex/api/config/client.rb
166
+ - lib/iex/api/config/logger.rb
164
167
  - lib/iex/cloud.rb
165
168
  - lib/iex/cloud/connection.rb
166
169
  - lib/iex/cloud/request.rb
167
170
  - lib/iex/cloud/response.rb
171
+ - lib/iex/endpoints/advanced_stats.rb
168
172
  - lib/iex/endpoints/chart.rb
169
173
  - lib/iex/endpoints/company.rb
170
174
  - lib/iex/endpoints/crypto.rb
171
175
  - lib/iex/endpoints/dividends.rb
172
176
  - lib/iex/endpoints/earnings.rb
177
+ - lib/iex/endpoints/income.rb
173
178
  - lib/iex/endpoints/key_stats.rb
174
179
  - lib/iex/endpoints/largest_trades.rb
175
180
  - lib/iex/endpoints/logo.rb
@@ -177,18 +182,22 @@ files:
177
182
  - lib/iex/endpoints/ohlc.rb
178
183
  - lib/iex/endpoints/price.rb
179
184
  - lib/iex/endpoints/quote.rb
185
+ - lib/iex/endpoints/ref_data.rb
180
186
  - lib/iex/endpoints/sectors.rb
187
+ - lib/iex/endpoints/stock_market.rb
181
188
  - lib/iex/errors.rb
182
189
  - lib/iex/errors/client_error.rb
183
190
  - lib/iex/errors/permission_denied_error.rb
184
191
  - lib/iex/errors/symbol_not_found_error.rb
185
192
  - lib/iex/logger.rb
186
193
  - lib/iex/resources.rb
194
+ - lib/iex/resources/advanced_stats.rb
187
195
  - lib/iex/resources/chart.rb
188
196
  - lib/iex/resources/company.rb
189
197
  - lib/iex/resources/crypto.rb
190
198
  - lib/iex/resources/dividends.rb
191
199
  - lib/iex/resources/earnings.rb
200
+ - lib/iex/resources/income.rb
192
201
  - lib/iex/resources/key_stats.rb
193
202
  - lib/iex/resources/largest_trades.rb
194
203
  - lib/iex/resources/logo.rb
@@ -197,7 +206,11 @@ files:
197
206
  - lib/iex/resources/quote.rb
198
207
  - lib/iex/resources/resource.rb
199
208
  - lib/iex/resources/sectors.rb
209
+ - lib/iex/resources/symbol.rb
210
+ - lib/iex/resources/symbols.rb
200
211
  - lib/iex/version.rb
212
+ - spec/fixtures/iex/advanced_stats/invalid.yml
213
+ - spec/fixtures/iex/advanced_stats/msft.yml
201
214
  - spec/fixtures/iex/chart/1d.yml
202
215
  - spec/fixtures/iex/chart/20190306.yml
203
216
  - spec/fixtures/iex/chart/bad_option.yml
@@ -216,6 +229,9 @@ files:
216
229
  - spec/fixtures/iex/dividends/msft_invalid_range.yml
217
230
  - spec/fixtures/iex/earnings/invalid.yml
218
231
  - spec/fixtures/iex/earnings/msft.yml
232
+ - spec/fixtures/iex/income/invalid.yml
233
+ - spec/fixtures/iex/income/msft.yml
234
+ - spec/fixtures/iex/income/nsrgy.yml
219
235
  - spec/fixtures/iex/key_stats/invalid.yml
220
236
  - spec/fixtures/iex/key_stats/msft.yml
221
237
  - spec/fixtures/iex/largest-trades/aapl.yml
@@ -230,15 +246,23 @@ files:
230
246
  - spec/fixtures/iex/price/msft.yml
231
247
  - spec/fixtures/iex/quote/invalid.yml
232
248
  - spec/fixtures/iex/quote/msft.yml
249
+ - spec/fixtures/iex/ref-data/isin.yml
250
+ - spec/fixtures/iex/ref-data/isin_mapped.yml
251
+ - spec/fixtures/iex/ref-data/symbols.yml
252
+ - spec/fixtures/iex/ref-data/wrong_isin_mapped.yml
233
253
  - spec/fixtures/iex/sectors/invalid.yml
234
254
  - spec/fixtures/iex/sectors/sectors-performance.yml
255
+ - spec/fixtures/iex/stock_market/list_mostactive.yml
235
256
  - spec/iex/client_spec.rb
236
- - spec/iex/config_spec.rb
257
+ - spec/iex/config/client_spec.rb
258
+ - spec/iex/config/logger_spec.rb
259
+ - spec/iex/endpoints/advanced_stats_spec.rb
237
260
  - spec/iex/endpoints/chart_spec.rb
238
261
  - spec/iex/endpoints/company_spec.rb
239
262
  - spec/iex/endpoints/crypto_spec.rb
240
263
  - spec/iex/endpoints/dividends_spec.rb
241
264
  - spec/iex/endpoints/earnings_spec.rb
265
+ - spec/iex/endpoints/income_spec.rb
242
266
  - spec/iex/endpoints/key_stats_spec.rb
243
267
  - spec/iex/endpoints/largest_trades_spec.rb
244
268
  - spec/iex/endpoints/logo_spec.rb
@@ -246,7 +270,9 @@ files:
246
270
  - spec/iex/endpoints/ohlc_spec.rb
247
271
  - spec/iex/endpoints/price_spec.rb
248
272
  - spec/iex/endpoints/quote_spec.rb
273
+ - spec/iex/endpoints/ref_data_spec.rb
249
274
  - spec/iex/endpoints/sectors_spec.rb
275
+ - spec/iex/endpoints/stock_market_spec.rb
250
276
  - spec/iex/resources/resource_spec.rb
251
277
  - spec/iex/version_spec.rb
252
278
  - spec/spec_helper.rb
@@ -256,7 +282,7 @@ homepage: http://github.com/dblock/iex-ruby-client
256
282
  licenses:
257
283
  - MIT
258
284
  metadata: {}
259
- post_install_message:
285
+ post_install_message:
260
286
  rdoc_options: []
261
287
  require_paths:
262
288
  - lib
@@ -264,19 +290,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
264
290
  requirements:
265
291
  - - ">="
266
292
  - !ruby/object:Gem::Version
267
- version: '0'
293
+ version: 2.3.0
268
294
  required_rubygems_version: !ruby/object:Gem::Requirement
269
295
  requirements:
270
296
  - - ">="
271
297
  - !ruby/object:Gem::Version
272
298
  version: 1.3.6
273
299
  requirements: []
274
- rubyforge_project:
275
- rubygems_version: 2.6.14.1
276
- signing_key:
300
+ rubygems_version: 3.1.4
301
+ signing_key:
277
302
  specification_version: 4
278
303
  summary: IEX Finance API Ruby client with support for retrieving stock quotes.
279
304
  test_files:
305
+ - spec/fixtures/iex/advanced_stats/invalid.yml
306
+ - spec/fixtures/iex/advanced_stats/msft.yml
280
307
  - spec/fixtures/iex/chart/1d.yml
281
308
  - spec/fixtures/iex/chart/20190306.yml
282
309
  - spec/fixtures/iex/chart/bad_option.yml
@@ -295,6 +322,9 @@ test_files:
295
322
  - spec/fixtures/iex/dividends/msft_invalid_range.yml
296
323
  - spec/fixtures/iex/earnings/invalid.yml
297
324
  - spec/fixtures/iex/earnings/msft.yml
325
+ - spec/fixtures/iex/income/invalid.yml
326
+ - spec/fixtures/iex/income/msft.yml
327
+ - spec/fixtures/iex/income/nsrgy.yml
298
328
  - spec/fixtures/iex/key_stats/invalid.yml
299
329
  - spec/fixtures/iex/key_stats/msft.yml
300
330
  - spec/fixtures/iex/largest-trades/aapl.yml
@@ -309,15 +339,23 @@ test_files:
309
339
  - spec/fixtures/iex/price/msft.yml
310
340
  - spec/fixtures/iex/quote/invalid.yml
311
341
  - spec/fixtures/iex/quote/msft.yml
342
+ - spec/fixtures/iex/ref-data/isin.yml
343
+ - spec/fixtures/iex/ref-data/isin_mapped.yml
344
+ - spec/fixtures/iex/ref-data/symbols.yml
345
+ - spec/fixtures/iex/ref-data/wrong_isin_mapped.yml
312
346
  - spec/fixtures/iex/sectors/invalid.yml
313
347
  - spec/fixtures/iex/sectors/sectors-performance.yml
348
+ - spec/fixtures/iex/stock_market/list_mostactive.yml
314
349
  - spec/iex/client_spec.rb
315
- - spec/iex/config_spec.rb
350
+ - spec/iex/config/client_spec.rb
351
+ - spec/iex/config/logger_spec.rb
352
+ - spec/iex/endpoints/advanced_stats_spec.rb
316
353
  - spec/iex/endpoints/chart_spec.rb
317
354
  - spec/iex/endpoints/company_spec.rb
318
355
  - spec/iex/endpoints/crypto_spec.rb
319
356
  - spec/iex/endpoints/dividends_spec.rb
320
357
  - spec/iex/endpoints/earnings_spec.rb
358
+ - spec/iex/endpoints/income_spec.rb
321
359
  - spec/iex/endpoints/key_stats_spec.rb
322
360
  - spec/iex/endpoints/largest_trades_spec.rb
323
361
  - spec/iex/endpoints/logo_spec.rb
@@ -325,7 +363,9 @@ test_files:
325
363
  - spec/iex/endpoints/ohlc_spec.rb
326
364
  - spec/iex/endpoints/price_spec.rb
327
365
  - spec/iex/endpoints/quote_spec.rb
366
+ - spec/iex/endpoints/ref_data_spec.rb
328
367
  - spec/iex/endpoints/sectors_spec.rb
368
+ - spec/iex/endpoints/stock_market_spec.rb
329
369
  - spec/iex/resources/resource_spec.rb
330
370
  - spec/iex/version_spec.rb
331
371
  - spec/spec_helper.rb