iex-ruby-client 1.0.1 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.env.sample +2 -0
- data/.github/FUNDING.yml +1 -0
- data/.rubocop.yml +4 -1
- data/.rubocop_todo.yml +0 -8
- data/CHANGELOG.md +43 -9
- data/Dangerfile +2 -2
- data/Gemfile +3 -2
- data/README.md +134 -10
- data/iex-ruby-client.gemspec +3 -2
- data/lib/iex/api.rb +6 -1
- data/lib/iex/api/client.rb +13 -2
- data/lib/iex/api/config/client.rb +52 -0
- data/lib/iex/api/config/logger.rb +35 -0
- data/lib/iex/cloud/connection.rb +22 -19
- data/lib/iex/cloud/request.rb +1 -1
- data/lib/iex/cloud/response.rb +1 -1
- data/lib/iex/endpoints/advanced_stats.rb +11 -0
- data/lib/iex/endpoints/chart.rb +5 -6
- data/lib/iex/endpoints/company.rb +1 -1
- data/lib/iex/endpoints/crypto.rb +1 -1
- data/lib/iex/endpoints/dividends.rb +1 -1
- data/lib/iex/endpoints/earnings.rb +1 -1
- data/lib/iex/endpoints/income.rb +13 -0
- data/lib/iex/endpoints/key_stats.rb +1 -1
- data/lib/iex/endpoints/largest_trades.rb +1 -1
- data/lib/iex/endpoints/logo.rb +1 -1
- data/lib/iex/endpoints/news.rb +1 -1
- data/lib/iex/endpoints/ohlc.rb +2 -2
- data/lib/iex/endpoints/price.rb +1 -1
- data/lib/iex/endpoints/quote.rb +1 -1
- data/lib/iex/endpoints/ref_data.rb +22 -0
- data/lib/iex/endpoints/sectors.rb +1 -1
- data/lib/iex/endpoints/stock_market.rb +11 -0
- data/lib/iex/resources.rb +4 -0
- data/lib/iex/resources/advanced_stats.rb +42 -0
- data/lib/iex/resources/chart.rb +9 -14
- data/lib/iex/resources/company.rb +1 -0
- data/lib/iex/resources/income.rb +36 -0
- data/lib/iex/resources/key_stats.rb +2 -2
- data/lib/iex/resources/quote.rb +15 -5
- data/lib/iex/resources/resource.rb +1 -1
- data/lib/iex/resources/symbol.rb +10 -0
- data/lib/iex/resources/symbols.rb +19 -0
- data/lib/iex/version.rb +1 -1
- data/spec/fixtures/iex/advanced_stats/invalid.yml +50 -0
- data/spec/fixtures/iex/advanced_stats/msft.yml +57 -0
- data/spec/fixtures/iex/chart/1d.yml +440 -473
- data/spec/fixtures/iex/chart/20190306.yml +440 -473
- data/spec/fixtures/iex/chart/bad_option.yml +47 -81
- data/spec/fixtures/iex/chart/chartInterval.yml +89 -122
- data/spec/fixtures/iex/chart/dynamic/1m.yml +73 -107
- data/spec/fixtures/iex/chart/invalid.yml +47 -81
- data/spec/fixtures/iex/chart/msft.yml +74 -107
- data/spec/fixtures/iex/income/invalid.yml +49 -0
- data/spec/fixtures/iex/income/msft.yml +53 -0
- data/spec/fixtures/iex/income/nsrgy.yml +55 -0
- data/spec/fixtures/iex/ref-data/isin.yml +57 -0
- data/spec/fixtures/iex/ref-data/isin_mapped.yml +57 -0
- data/spec/fixtures/iex/ref-data/symbols.yml +9002 -0
- data/spec/fixtures/iex/ref-data/wrong_isin_mapped.yml +57 -0
- data/spec/fixtures/iex/stock_market/list_mostactive.yml +76 -0
- data/spec/iex/client_spec.rb +97 -14
- data/spec/iex/config/client_spec.rb +49 -0
- data/spec/iex/config/logger_spec.rb +46 -0
- data/spec/iex/endpoints/advanced_stats_spec.rb +54 -0
- data/spec/iex/endpoints/chart_spec.rb +7 -7
- data/spec/iex/endpoints/company_spec.rb +1 -0
- data/spec/iex/endpoints/income_spec.rb +68 -0
- data/spec/iex/endpoints/key_stats_spec.rb +2 -1
- data/spec/iex/endpoints/quote_spec.rb +2 -0
- data/spec/iex/endpoints/ref_data_spec.rb +76 -0
- data/spec/iex/endpoints/stock_market_spec.rb +14 -0
- data/spec/spec_helper.rb +3 -2
- data/spec/support/vcr.rb +3 -0
- metadata +56 -16
- data/lib/iex/api/config.rb +0 -45
- 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 '
|
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
|
18
|
-
expect(first.date).to eq Date.new(2019,
|
19
|
-
expect(last.label).to eq '
|
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
|
34
|
-
expect(first.low).to eq
|
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,
|
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.
|
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
|
data/spec/spec_helper.rb
CHANGED
@@ -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
|
-
|
13
|
+
Dotenv.load('.env', '.env.sample')
|
data/spec/support/vcr.rb
CHANGED
@@ -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
|
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:
|
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.
|
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.
|
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.
|
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.
|
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/
|
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:
|
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
|
-
|
275
|
-
|
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/
|
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
|