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.
- 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
|