iex-ruby-client 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +30 -5
  3. data/CHANGELOG.md +7 -0
  4. data/README.md +67 -0
  5. data/lib/iex/api.rb +3 -0
  6. data/lib/iex/api/chart.rb +30 -0
  7. data/lib/iex/api/company.rb +2 -6
  8. data/lib/iex/api/news.rb +18 -0
  9. data/lib/iex/api/price.rb +13 -0
  10. data/lib/iex/api/quote.rb +2 -6
  11. data/lib/iex/resources.rb +3 -0
  12. data/lib/iex/resources/chart.rb +27 -0
  13. data/lib/iex/resources/chart/base.rb +14 -0
  14. data/lib/iex/resources/chart/default.rb +21 -0
  15. data/lib/iex/resources/chart/one_day.rb +20 -0
  16. data/lib/iex/resources/company.rb +1 -1
  17. data/lib/iex/resources/news.rb +20 -0
  18. data/lib/iex/resources/price.rb +11 -0
  19. data/lib/iex/resources/quote.rb +3 -1
  20. data/lib/iex/version.rb +1 -1
  21. data/spec/fixtures/iex/chart/1d.yml +447 -0
  22. data/spec/fixtures/iex/chart/20180227.yml +452 -0
  23. data/spec/fixtures/iex/chart/chartInterval.yml +101 -0
  24. data/spec/fixtures/iex/chart/dynamic/1m.yml +84 -0
  25. data/spec/fixtures/iex/chart/invalid.yml +61 -0
  26. data/spec/fixtures/iex/chart/msft.yml +84 -0
  27. data/spec/fixtures/iex/news/invalid.yml +61 -0
  28. data/spec/fixtures/iex/news/market.yml +64 -0
  29. data/spec/fixtures/iex/news/msft.yml +64 -0
  30. data/spec/fixtures/iex/news/msft_7.yml +64 -0
  31. data/spec/fixtures/iex/price/invalid.yml +61 -0
  32. data/spec/fixtures/iex/price/msft.yml +63 -0
  33. data/spec/fixtures/iex/quote/invalid.yml +14 -10
  34. data/spec/fixtures/iex/quote/msft.yml +17 -13
  35. data/spec/iex/resources/chart_spec.rb +75 -0
  36. data/spec/iex/resources/news_spec.rb +44 -0
  37. data/spec/iex/resources/price_spec.rb +20 -0
  38. data/spec/iex/resources/quote_spec.rb +11 -11
  39. metadata +41 -2
@@ -0,0 +1,61 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.iextrading.com/1.0/stock/INVALID/price
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.14.0
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 404
19
+ message: Not Found
20
+ headers:
21
+ Server:
22
+ - nginx
23
+ Date:
24
+ - Mon, 26 Mar 2018 21:23:04 GMT
25
+ Content-Type:
26
+ - text/html; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Set-Cookie:
32
+ - ctoken=7cab87f11efa4ba89c9775415d6f840c; Domain=.iextrading.com; Path=/; Expires=Tue,
33
+ 27 Mar 2018 09:23:04 GMT; Secure
34
+ Content-Security-Policy:
35
+ - default-src 'self'; child-src 'none'; object-src 'none'; style-src 'self'
36
+ 'unsafe-inline'; font-src data:; connect-src 'self' https://auth.iextrading.com
37
+ wss://iextrading.com wss://tops.iextrading.com; script-src 'self';
38
+ X-Content-Security-Policy:
39
+ - default-src 'self'; child-src 'none'; object-src 'none'; style-src 'self'
40
+ 'unsafe-inline'; font-src data:; connect-src 'self' https://auth.iextrading.com
41
+ wss://iextrading.com wss://tops.iextrading.com; script-src 'self';
42
+ Frame-Options:
43
+ - deny
44
+ X-Frame-Options:
45
+ - deny
46
+ Strict-Transport-Security:
47
+ - max-age=15768000
48
+ Access-Control-Allow-Origin:
49
+ - "*"
50
+ Access-Control-Allow-Credentials:
51
+ - 'true'
52
+ Access-Control-Allow-Methods:
53
+ - GET, OPTIONS
54
+ Access-Control-Allow-Headers:
55
+ - Origin, X-Requested-With, Content-Type, Accept
56
+ body:
57
+ encoding: ASCII-8BIT
58
+ string: Unknown symbol
59
+ http_version:
60
+ recorded_at: Mon, 26 Mar 2018 21:23:04 GMT
61
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,63 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.iextrading.com/1.0/stock/MSFT/price
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.14.0
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx
23
+ Date:
24
+ - Mon, 26 Mar 2018 21:23:04 GMT
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Content-Length:
28
+ - '5'
29
+ Connection:
30
+ - keep-alive
31
+ Set-Cookie:
32
+ - ctoken=b83775aae26e449c9e5565abfacb46f6; Domain=.iextrading.com; Path=/; Expires=Tue,
33
+ 27 Mar 2018 09:23:03 GMT; Secure
34
+ Content-Security-Policy:
35
+ - default-src 'self'; child-src 'none'; object-src 'none'; style-src 'self'
36
+ 'unsafe-inline'; font-src data:; connect-src 'self' https://auth.iextrading.com
37
+ wss://iextrading.com wss://tops.iextrading.com; script-src 'self';
38
+ X-Content-Security-Policy:
39
+ - default-src 'self'; child-src 'none'; object-src 'none'; style-src 'self'
40
+ 'unsafe-inline'; font-src data:; connect-src 'self' https://auth.iextrading.com
41
+ wss://iextrading.com wss://tops.iextrading.com; script-src 'self';
42
+ Frame-Options:
43
+ - deny
44
+ X-Frame-Options:
45
+ - deny
46
+ X-Content-Type-Options:
47
+ - nosniff
48
+ Strict-Transport-Security:
49
+ - max-age=15768000
50
+ Access-Control-Allow-Origin:
51
+ - "*"
52
+ Access-Control-Allow-Credentials:
53
+ - 'true'
54
+ Access-Control-Allow-Methods:
55
+ - GET, OPTIONS
56
+ Access-Control-Allow-Headers:
57
+ - Origin, X-Requested-With, Content-Type, Accept
58
+ body:
59
+ encoding: UTF-8
60
+ string: '93.78'
61
+ http_version:
62
+ recorded_at: Mon, 26 Mar 2018 21:23:04 GMT
63
+ recorded_with: VCR 4.0.0
@@ -21,7 +21,7 @@ http_interactions:
21
21
  Server:
22
22
  - nginx
23
23
  Date:
24
- - Fri, 23 Mar 2018 15:15:57 GMT
24
+ - Tue, 22 May 2018 20:13:00 GMT
25
25
  Content-Type:
26
26
  - text/html; charset=utf-8
27
27
  Transfer-Encoding:
@@ -29,20 +29,24 @@ http_interactions:
29
29
  Connection:
30
30
  - keep-alive
31
31
  Set-Cookie:
32
- - ctoken=8fdab40cfa8542669c3411d154319317; Domain=.iextrading.com; Path=/; Expires=Sat,
33
- 24 Mar 2018 03:15:57 GMT; Secure
32
+ - ctoken=7b2950e131e948bca00f5eed64893da3; Domain=.iextrading.com; Path=/; Expires=Wed,
33
+ 23 May 2018 08:13:00 GMT; Secure
34
34
  Content-Security-Policy:
35
35
  - default-src 'self'; child-src 'none'; object-src 'none'; style-src 'self'
36
- 'unsafe-inline'; font-src data:; connect-src 'self' https://auth.iextrading.com
37
- wss://iextrading.com wss://tops.iextrading.com; script-src 'self';
36
+ 'unsafe-inline'; font-src data:; frame-src 'self'; connect-src 'self' https://auth.iextrading.com
37
+ https://api.iextrading.com https://api.iextrading.com wss://iextrading.com
38
+ wss://tops.iextrading.com wss://api.iextrading.com wss://iextrading.com; script-src
39
+ 'self' 'unsafe-inline' 'unsafe-eval';
38
40
  X-Content-Security-Policy:
39
41
  - default-src 'self'; child-src 'none'; object-src 'none'; style-src 'self'
40
- 'unsafe-inline'; font-src data:; connect-src 'self' https://auth.iextrading.com
41
- wss://iextrading.com wss://tops.iextrading.com; script-src 'self';
42
+ 'unsafe-inline'; font-src data:; frame-src 'self'; connect-src 'self' https://auth.iextrading.com
43
+ https://api.iextrading.com https://api.iextrading.com wss://iextrading.com
44
+ wss://tops.iextrading.com wss://api.iextrading.com wss://iextrading.com; script-src
45
+ 'self' 'unsafe-inline' 'unsafe-eval';
42
46
  Frame-Options:
43
- - deny
47
+ - SAMEORIGIN
44
48
  X-Frame-Options:
45
- - deny
49
+ - SAMEORIGIN
46
50
  Strict-Transport-Security:
47
51
  - max-age=15768000
48
52
  Access-Control-Allow-Origin:
@@ -57,5 +61,5 @@ http_interactions:
57
61
  encoding: ASCII-8BIT
58
62
  string: Unknown symbol
59
63
  http_version:
60
- recorded_at: Fri, 23 Mar 2018 15:15:57 GMT
64
+ recorded_at: Tue, 22 May 2018 20:13:00 GMT
61
65
  recorded_with: VCR 4.0.0
@@ -21,28 +21,32 @@ http_interactions:
21
21
  Server:
22
22
  - nginx
23
23
  Date:
24
- - Fri, 23 Mar 2018 15:15:57 GMT
24
+ - Tue, 22 May 2018 20:12:59 GMT
25
25
  Content-Type:
26
26
  - application/json; charset=utf-8
27
27
  Content-Length:
28
- - '836'
28
+ - '874'
29
29
  Connection:
30
30
  - keep-alive
31
31
  Set-Cookie:
32
- - ctoken=d3f239a37b4141acbf609e8663f3302a; Domain=.iextrading.com; Path=/; Expires=Sat,
33
- 24 Mar 2018 03:15:57 GMT; Secure
32
+ - ctoken=124dc8691fb84575bc5d622d323ab8bb; Domain=.iextrading.com; Path=/; Expires=Wed,
33
+ 23 May 2018 08:12:59 GMT; Secure
34
34
  Content-Security-Policy:
35
35
  - default-src 'self'; child-src 'none'; object-src 'none'; style-src 'self'
36
- 'unsafe-inline'; font-src data:; connect-src 'self' https://auth.iextrading.com
37
- wss://iextrading.com wss://tops.iextrading.com; script-src 'self';
36
+ 'unsafe-inline'; font-src data:; frame-src 'self'; connect-src 'self' https://auth.iextrading.com
37
+ https://api.iextrading.com https://api.iextrading.com wss://iextrading.com
38
+ wss://tops.iextrading.com wss://api.iextrading.com wss://iextrading.com; script-src
39
+ 'self' 'unsafe-inline' 'unsafe-eval';
38
40
  X-Content-Security-Policy:
39
41
  - default-src 'self'; child-src 'none'; object-src 'none'; style-src 'self'
40
- 'unsafe-inline'; font-src data:; connect-src 'self' https://auth.iextrading.com
41
- wss://iextrading.com wss://tops.iextrading.com; script-src 'self';
42
+ 'unsafe-inline'; font-src data:; frame-src 'self'; connect-src 'self' https://auth.iextrading.com
43
+ https://api.iextrading.com https://api.iextrading.com wss://iextrading.com
44
+ wss://tops.iextrading.com wss://api.iextrading.com wss://iextrading.com; script-src
45
+ 'self' 'unsafe-inline' 'unsafe-eval';
42
46
  Frame-Options:
43
- - deny
47
+ - SAMEORIGIN
44
48
  X-Frame-Options:
45
- - deny
49
+ - SAMEORIGIN
46
50
  X-Content-Type-Options:
47
51
  - nosniff
48
52
  Strict-Transport-Security:
@@ -58,8 +62,8 @@ http_interactions:
58
62
  body:
59
63
  encoding: UTF-8
60
64
  string: '{"symbol":"MSFT","companyName":"Microsoft Corporation","primaryExchange":"Nasdaq
61
- Global Select","sector":"Technology","calculationPrice":"tops","open":89.45,"openTime":1521811800352,"close":89.79,"closeTime":1521748800315,"high":90.46,"low":89.161,"latestPrice":90.165,"latestSource":"IEX
62
- real time price","latestTime":"11:15:45 AM","latestUpdate":1521818145007,"latestVolume":10015072,"iexRealtimePrice":90.165,"iexRealtimeSize":200,"iexLastUpdated":1521818145007,"delayedPrice":90.34,"delayedPriceTime":1521817252749,"previousClose":89.79,"change":0.375,"changePercent":0.00418,"iexMarketPercent":0.03178,"iexVolume":318279,"avgTotalVolume":32176892,"iexBidPrice":89.8,"iexBidSize":100,"iexAskPrice":92.31,"iexAskSize":100,"marketCap":694251822501,"peRatio":27.32,"week52High":97.24,"week52Low":64.35,"ytdChange":0.049583743433526506}'
65
+ Global Select","sector":"Technology","calculationPrice":"tops","open":97.71,"openTime":1526995800716,"close":97.6,"closeTime":1526932800235,"high":98.17,"low":97.2,"latestPrice":97.54,"latestSource":"IEX
66
+ real time price","latestTime":"3:59:47 PM","latestUpdate":1527019187506,"latestVolume":13670424,"iexRealtimePrice":97.54,"iexRealtimeSize":100,"iexLastUpdated":1527019187506,"delayedPrice":97.375,"delayedPriceTime":1527019077341,"extendedPrice":97.71,"extendedPriceTime":1526995800696,"previousClose":97.6,"change":-0.06,"changePercent":-0.00061,"iexMarketPercent":0.01322,"iexVolume":180723,"avgTotalVolume":26330377,"iexBidPrice":0,"iexBidSize":0,"iexAskPrice":0,"iexAskSize":0,"marketCap":749419084443,"peRatio":28.86,"week52High":98.69,"week52Low":67.5,"ytdChange":0.14582232709940235}'
63
67
  http_version:
64
- recorded_at: Fri, 23 Mar 2018 15:15:57 GMT
68
+ recorded_at: Tue, 22 May 2018 20:12:59 GMT
65
69
  recorded_with: VCR 4.0.0
@@ -0,0 +1,75 @@
1
+ require 'spec_helper'
2
+
3
+ describe IEX::Resources::Chart do
4
+ context 'known symbol', vcr: { cassette_name: 'chart/msft' } do
5
+ subject do
6
+ IEX::Resources::Chart.get('MSFT')
7
+ end
8
+ let(:first) { subject.first }
9
+ let(:last) { subject.last }
10
+ it 'retrieves a default chart' do
11
+ expect(subject.count).to eq 21
12
+ expect(first).to be_a IEX::Resources::Chart::Default
13
+ expect(first.label).to eq 'Feb 26'
14
+ expect(first.change_percent_s).to eq '+1.45%'
15
+ expect(first.close).to eq 95.42
16
+ expect(first.date).to eq Date.new(2018, 2, 26)
17
+ expect(last.label).to eq 'Mar 26'
18
+ end
19
+ end
20
+ context '1d', vcr: { cassette_name: 'chart/1d' } do
21
+ subject do
22
+ IEX::Resources::Chart.get('MSFT', '1d')
23
+ end
24
+ let(:first) { subject.first }
25
+ let(:last) { subject.last }
26
+ it 'retrieves a 1 day chart' do
27
+ expect(subject.count).to eq 385
28
+ expect(first).to be_a IEX::Resources::Chart::OneDay
29
+ expect(first.label).to eq '09:30 AM'
30
+ expect(first.high).to eq 94.97
31
+ expect(first.low).to eq 94.76
32
+ expect(first.minute).to eq '09:30'
33
+ end
34
+ end
35
+ context 'with options', vcr: { cassette_name: 'chart/chartInterval' } do
36
+ subject do
37
+ IEX::Resources::Chart.get('MSFT', '1d', chart_interval: 10)
38
+ end
39
+ let(:first) { subject.first }
40
+ it 'retrieves a 1 day chart with chartInterval applied' do
41
+ expect(subject.count).to eq 39
42
+ expect(first).to be_a IEX::Resources::Chart::OneDay
43
+ end
44
+ end
45
+ context 'date', vcr: { cassette_name: 'chart/20180227' } do
46
+ subject do
47
+ IEX::Resources::Chart.get('MSFT', Date.new(2018, 2, 27))
48
+ end
49
+ let(:first) { subject.first }
50
+ it 'retrieves a 1 day chart from 2018/2/27' do
51
+ expect(subject.count).to eq 390
52
+ expect(first).to be_a IEX::Resources::Chart::OneDay
53
+ expect(first.date).to eq Date.new(2018, 2, 27)
54
+ end
55
+ end
56
+ context 'dynamic 1m', vcr: { cassette_name: 'chart/dynamic/1m' } do
57
+ subject do
58
+ IEX::Resources::Chart.get('MSFT', :dynamic)
59
+ end
60
+ let(:first) { subject.first }
61
+ it 'retrieves a 1m chart from' do
62
+ expect(subject.count).to eq 21
63
+ expect(first).to be_a IEX::Resources::Chart::Default
64
+ expect(first.date).to eq Date.new(2018, 2, 26)
65
+ end
66
+ end
67
+ context 'invalid symbol', vcr: { cassette_name: 'chart/invalid' } do
68
+ subject do
69
+ IEX::Resources::Chart.get('INVALID')
70
+ end
71
+ it 'fails with SymbolNotFoundError' do
72
+ expect { subject }.to raise_error IEX::Errors::SymbolNotFoundError, 'Symbol INVALID Not Found'
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,44 @@
1
+ require 'spec_helper'
2
+
3
+ describe IEX::Resources::News do
4
+ context 'known symbol' do
5
+ context 'with defaults', vcr: { cassette_name: 'news/msft' } do
6
+ subject do
7
+ IEX::Resources::News.get('MSFT')
8
+ end
9
+ let(:news) { subject.first }
10
+ it 'retrieves news' do
11
+ expect(subject.size).to eq 10
12
+ expect(news.datetime).to eq DateTime.parse('2018-03-26T15:09:52-04:00')
13
+ expect(news.headline).to eq 'Smartsheet files for $100M IPO with growing losses'
14
+ expect(news.related).to eq(['APPSOFTW', 'IPO', 'MSFT', 'NASDAQ01', 'SOF31165134', 'Computing and Information Technology'])
15
+ end
16
+ end
17
+ context 'with range', vcr: { cassette_name: 'news/msft_7' } do
18
+ subject do
19
+ IEX::Resources::News.get('MSFT', 7)
20
+ end
21
+ it 'retrieves news' do
22
+ expect(subject.size).to eq 7
23
+ end
24
+ end
25
+ context 'market', vcr: { cassette_name: 'news/market' } do
26
+ subject do
27
+ IEX::Resources::News.get(:market, 1)
28
+ end
29
+ let(:news) { subject.first }
30
+ it 'retrieves market news' do
31
+ expect(subject.size).to eq 1
32
+ expect(news.url).to eq 'https://api.iextrading.com/1.0/stock/market/article/8517337832229674'
33
+ end
34
+ end
35
+ end
36
+ context 'invalid symbol', vcr: { cassette_name: 'news/invalid' } do
37
+ subject do
38
+ IEX::Resources::News.get('INVALID')
39
+ end
40
+ it 'fails with SymbolNotFoundError' do
41
+ expect { subject }.to raise_error IEX::Errors::SymbolNotFoundError, 'Symbol INVALID Not Found'
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe IEX::Resources::Price do
4
+ context 'known symbol', vcr: { cassette_name: 'price/msft' } do
5
+ subject do
6
+ IEX::Resources::Price.get('MSFT')
7
+ end
8
+ it 'retrieves a price' do
9
+ expect(subject).to eq 93.78
10
+ end
11
+ end
12
+ context 'invalid symbol', vcr: { cassette_name: 'price/invalid' } do
13
+ subject do
14
+ IEX::Resources::Price.get('INVALID')
15
+ end
16
+ it 'fails with SymbolNotFoundError' do
17
+ expect { subject }.to raise_error IEX::Errors::SymbolNotFoundError, 'Symbol INVALID Not Found'
18
+ end
19
+ end
20
+ end
@@ -9,21 +9,21 @@ describe IEX::Resources::Quote do
9
9
  expect(subject.symbol).to eq 'MSFT'
10
10
  expect(subject.primary_exchange).to eq 'Nasdaq Global Select'
11
11
  expect(subject.company_name).to eq 'Microsoft Corporation'
12
- expect(subject.market_cap).to eq 694_251_822_501
12
+ expect(subject.market_cap).to eq 749_419_084_443
13
13
  end
14
14
  it 'coerces numbers' do
15
- expect(subject.latest_price).to eq 90.165
16
- expect(subject.change).to eq 0.375
17
- expect(subject.week_52_high).to eq 97.24
18
- expect(subject.week_52_low).to eq 64.35
19
- expect(subject.change_percent).to eq 0.00418
20
- expect(subject.change_percent_s).to eq '+0.42%'
15
+ expect(subject.latest_price).to eq 97.54
16
+ expect(subject.change).to eq -0.06
17
+ expect(subject.week_52_high).to eq 98.69
18
+ expect(subject.week_52_low).to eq 67.5
19
+ expect(subject.change_percent).to eq -0.00061
20
+ expect(subject.change_percent_s).to eq '-0.06%'
21
21
  end
22
22
  it 'coerces times' do
23
- expect(subject.latest_update).to eq 1_521_818_145_007
24
- expect(subject.latest_update_t).to eq Time.at(1_521_818_145)
25
- expect(subject.iex_last_updated).to eq 1_521_818_145_007
26
- expect(subject.iex_last_updated_t).to eq Time.at(1_521_818_145)
23
+ expect(subject.latest_update).to eq 1_527_019_187_506
24
+ expect(subject.latest_update_t).to eq Time.at(1_527_019_187)
25
+ expect(subject.iex_last_updated).to eq 1_527_019_187_506
26
+ expect(subject.iex_last_updated_t).to eq Time.at(1_527_019_187)
27
27
  end
28
28
  end
29
29
  context 'invalid symbol', vcr: { cassette_name: 'quote/invalid' } do
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: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Doubrovkine
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-26 00:00:00.000000000 Z
11
+ date: 2018-05-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -143,20 +143,44 @@ files:
143
143
  - iex-ruby-client.gemspec
144
144
  - lib/iex-ruby-client.rb
145
145
  - lib/iex/api.rb
146
+ - lib/iex/api/chart.rb
146
147
  - lib/iex/api/company.rb
148
+ - lib/iex/api/news.rb
149
+ - lib/iex/api/price.rb
147
150
  - lib/iex/api/quote.rb
148
151
  - lib/iex/errors.rb
149
152
  - lib/iex/errors/symbol_not_found_error.rb
150
153
  - lib/iex/resources.rb
154
+ - lib/iex/resources/chart.rb
155
+ - lib/iex/resources/chart/base.rb
156
+ - lib/iex/resources/chart/default.rb
157
+ - lib/iex/resources/chart/one_day.rb
151
158
  - lib/iex/resources/company.rb
159
+ - lib/iex/resources/news.rb
160
+ - lib/iex/resources/price.rb
152
161
  - lib/iex/resources/quote.rb
153
162
  - lib/iex/resources/resource.rb
154
163
  - lib/iex/version.rb
164
+ - spec/fixtures/iex/chart/1d.yml
165
+ - spec/fixtures/iex/chart/20180227.yml
166
+ - spec/fixtures/iex/chart/chartInterval.yml
167
+ - spec/fixtures/iex/chart/dynamic/1m.yml
168
+ - spec/fixtures/iex/chart/invalid.yml
169
+ - spec/fixtures/iex/chart/msft.yml
155
170
  - spec/fixtures/iex/company/invalid.yml
156
171
  - spec/fixtures/iex/company/msft.yml
172
+ - spec/fixtures/iex/news/invalid.yml
173
+ - spec/fixtures/iex/news/market.yml
174
+ - spec/fixtures/iex/news/msft.yml
175
+ - spec/fixtures/iex/news/msft_7.yml
176
+ - spec/fixtures/iex/price/invalid.yml
177
+ - spec/fixtures/iex/price/msft.yml
157
178
  - spec/fixtures/iex/quote/invalid.yml
158
179
  - spec/fixtures/iex/quote/msft.yml
180
+ - spec/iex/resources/chart_spec.rb
159
181
  - spec/iex/resources/company_spec.rb
182
+ - spec/iex/resources/news_spec.rb
183
+ - spec/iex/resources/price_spec.rb
160
184
  - spec/iex/resources/quote_spec.rb
161
185
  - spec/iex/version_spec.rb
162
186
  - spec/spec_helper.rb
@@ -186,11 +210,26 @@ signing_key:
186
210
  specification_version: 4
187
211
  summary: IEX Finance API Ruby client with support for retrieving stock quotes.
188
212
  test_files:
213
+ - spec/fixtures/iex/chart/1d.yml
214
+ - spec/fixtures/iex/chart/20180227.yml
215
+ - spec/fixtures/iex/chart/chartInterval.yml
216
+ - spec/fixtures/iex/chart/dynamic/1m.yml
217
+ - spec/fixtures/iex/chart/invalid.yml
218
+ - spec/fixtures/iex/chart/msft.yml
189
219
  - spec/fixtures/iex/company/invalid.yml
190
220
  - spec/fixtures/iex/company/msft.yml
221
+ - spec/fixtures/iex/news/invalid.yml
222
+ - spec/fixtures/iex/news/market.yml
223
+ - spec/fixtures/iex/news/msft.yml
224
+ - spec/fixtures/iex/news/msft_7.yml
225
+ - spec/fixtures/iex/price/invalid.yml
226
+ - spec/fixtures/iex/price/msft.yml
191
227
  - spec/fixtures/iex/quote/invalid.yml
192
228
  - spec/fixtures/iex/quote/msft.yml
229
+ - spec/iex/resources/chart_spec.rb
193
230
  - spec/iex/resources/company_spec.rb
231
+ - spec/iex/resources/news_spec.rb
232
+ - spec/iex/resources/price_spec.rb
194
233
  - spec/iex/resources/quote_spec.rb
195
234
  - spec/iex/version_spec.rb
196
235
  - spec/spec_helper.rb