iex-ruby-client 1.1.1 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/.env.sample +2 -0
  3. data/.github/FUNDING.yml +1 -0
  4. data/.rubocop_todo.yml +0 -8
  5. data/CHANGELOG.md +49 -12
  6. data/Dangerfile +2 -2
  7. data/Gemfile +3 -2
  8. data/README.md +276 -20
  9. data/RELEASING.md +2 -2
  10. data/iex-ruby-client.gemspec +2 -1
  11. data/lib/iex/api.rb +8 -1
  12. data/lib/iex/api/client.rb +15 -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/response.rb +1 -1
  17. data/lib/iex/endpoints/advanced_stats.rb +11 -0
  18. data/lib/iex/endpoints/balance_sheet.rb +13 -0
  19. data/lib/iex/endpoints/cash_flow.rb +13 -0
  20. data/lib/iex/endpoints/historial_prices.rb +30 -0
  21. data/lib/iex/endpoints/ref_data.rb +27 -0
  22. data/lib/iex/endpoints/stock_market.rb +11 -0
  23. data/lib/iex/resources.rb +6 -0
  24. data/lib/iex/resources/advanced_stats.rb +84 -0
  25. data/lib/iex/resources/balance_sheet.rb +60 -0
  26. data/lib/iex/resources/cash_flow.rb +43 -0
  27. data/lib/iex/resources/historical_prices.rb +31 -0
  28. data/lib/iex/resources/income.rb +2 -0
  29. data/lib/iex/resources/key_stats.rb +1 -1
  30. data/lib/iex/resources/news.rb +3 -0
  31. data/lib/iex/resources/quote.rb +12 -2
  32. data/lib/iex/resources/resource.rb +12 -0
  33. data/lib/iex/resources/symbol.rb +10 -0
  34. data/lib/iex/resources/symbols.rb +19 -0
  35. data/lib/iex/version.rb +1 -1
  36. data/spec/fixtures/iex/advanced_stats/invalid.yml +50 -0
  37. data/spec/fixtures/iex/advanced_stats/msft.yml +57 -0
  38. data/spec/fixtures/iex/balance_sheet/invalid.yml +50 -0
  39. data/spec/fixtures/iex/balance_sheet/msft.yml +56 -0
  40. data/spec/fixtures/iex/cash_flow/invalid.yml +50 -0
  41. data/spec/fixtures/iex/cash_flow/msft.yml +56 -0
  42. data/spec/fixtures/iex/historical_prices/abcd.yml +56 -0
  43. data/spec/fixtures/iex/historical_prices/invalid.yml +50 -0
  44. data/spec/fixtures/iex/historical_prices/invalid_date.yml +50 -0
  45. data/spec/fixtures/iex/historical_prices/invalid_range.yml +47 -0
  46. data/spec/fixtures/iex/historical_prices/msft.yml +79 -0
  47. data/spec/fixtures/iex/historical_prices/msft_5d.yml +61 -0
  48. data/spec/fixtures/iex/historical_prices/msft_date_and_chart_by_day.yml +57 -0
  49. data/spec/fixtures/iex/historical_prices/msft_specific_date_trimmed.yml +445 -0
  50. data/spec/fixtures/iex/income/msft.yml +54 -51
  51. data/spec/fixtures/iex/ref-data/exchange_symbols.yml +1926 -0
  52. data/spec/fixtures/iex/ref-data/isin.yml +9 -9
  53. data/spec/fixtures/iex/ref-data/isin_mapped.yml +57 -0
  54. data/spec/fixtures/iex/ref-data/symbols.yml +9002 -0
  55. data/spec/fixtures/iex/ref-data/wrong_isin_mapped.yml +57 -0
  56. data/spec/fixtures/iex/stock_market/list_mostactive.yml +76 -0
  57. data/spec/iex/client_spec.rb +96 -13
  58. data/spec/iex/config/client_spec.rb +49 -0
  59. data/spec/iex/config/logger_spec.rb +46 -0
  60. data/spec/iex/endpoints/advanced_stats_spec.rb +110 -0
  61. data/spec/iex/endpoints/balance_sheet_spec.rb +80 -0
  62. data/spec/iex/endpoints/cash_flow_spec.rb +59 -0
  63. data/spec/iex/endpoints/historical_prices_spec.rb +206 -0
  64. data/spec/iex/endpoints/income_spec.rb +31 -29
  65. data/spec/iex/endpoints/key_stats_spec.rb +1 -0
  66. data/spec/iex/endpoints/news_spec.rb +3 -0
  67. data/spec/iex/endpoints/quote_spec.rb +2 -0
  68. data/spec/iex/endpoints/ref_data_spec.rb +103 -8
  69. data/spec/iex/endpoints/stock_market_spec.rb +14 -0
  70. data/spec/iex/resources/resource_spec.rb +36 -0
  71. data/spec/spec_helper.rb +3 -3
  72. metadata +74 -9
  73. data/lib/iex/api/config.rb +0 -47
  74. data/spec/iex/config_spec.rb +0 -22
@@ -0,0 +1,50 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://cloud.iexapis.com/v1/stock/INVALID/cash-flow?token=test-iex-api-publishable-token
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json; charset=utf-8
12
+ Content-Type:
13
+ - application/json; charset=utf-8
14
+ User-Agent:
15
+ - IEX Ruby Client/1.3.1
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 404
21
+ message: Not Found
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ Date:
26
+ - Sat, 07 Nov 2020 18:09:52 GMT
27
+ Content-Type:
28
+ - text/html; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ Set-Cookie:
34
+ - ctoken=7497e12ee379404295b0122ab7a15dde; Max-Age=43200; Path=/; Expires=Sun,
35
+ 08 Nov 2020 06:09:52 GMT
36
+ Strict-Transport-Security:
37
+ - max-age=15768000
38
+ Access-Control-Allow-Origin:
39
+ - "*"
40
+ Access-Control-Allow-Credentials:
41
+ - 'true'
42
+ Access-Control-Allow-Methods:
43
+ - GET, OPTIONS
44
+ Access-Control-Allow-Headers:
45
+ - Origin, X-Requested-With, Content-Type, Accept, Request-Source
46
+ body:
47
+ encoding: ASCII-8BIT
48
+ string: Unknown symbol
49
+ recorded_at: Sat, 07 Nov 2020 18:09:52 GMT
50
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,56 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://cloud.iexapis.com/v1/stock/MSFT/cash-flow?token=test-iex-api-publishable-token
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json; charset=utf-8
12
+ Content-Type:
13
+ - application/json; charset=utf-8
14
+ User-Agent:
15
+ - IEX Ruby Client/1.3.1
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ Date:
26
+ - Sat, 07 Nov 2020 18:09:52 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ Set-Cookie:
34
+ - ctoken=4b186c1ab1c44b9b8033cd2fba1a6749; Max-Age=43200; Path=/; Expires=Sun,
35
+ 08 Nov 2020 06:09:52 GMT
36
+ Iexcloud-Messages-Used:
37
+ - '1000'
38
+ Iexcloud-Premium-Messages-Used:
39
+ - '0'
40
+ X-Content-Type-Options:
41
+ - nosniff
42
+ Strict-Transport-Security:
43
+ - max-age=15768000
44
+ Access-Control-Allow-Origin:
45
+ - "*"
46
+ Access-Control-Allow-Credentials:
47
+ - 'true'
48
+ Access-Control-Allow-Methods:
49
+ - GET, OPTIONS
50
+ Access-Control-Allow-Headers:
51
+ - Origin, X-Requested-With, Content-Type, Accept, Request-Source
52
+ body:
53
+ encoding: ASCII-8BIT
54
+ string: '{"symbol":"MSFT","cashflow":[{"reportDate":"2020-09-30","fiscalDate":"2020-09-30","currency":"USD","netIncome":13893000000,"depreciation":2645000000,"changesInReceivables":9160000000,"changesInInventories":-808000000,"cashChange":3629000000,"cashFlow":19335000000,"capitalExpenditures":-4907000000,"investments":2100000000,"investingActivityOther":-2083000000,"totalInvestingCashFlows":-5371000000,"dividendsPaid":-3856000000,"netBorrowings":null,"otherFinancingCashFlows":-235000000,"cashFlowFinancing":-10289000000,"exchangeRateEffect":-46000000}]}'
55
+ recorded_at: Sat, 07 Nov 2020 18:09:52 GMT
56
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,56 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://cloud.iexapis.com/v1/stock/abcd/chart?token=test-iex-api-publishable-token
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json; charset=utf-8
12
+ Content-Type:
13
+ - application/json; charset=utf-8
14
+ User-Agent:
15
+ - IEX Ruby Client/1.3.1
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ Date:
26
+ - Sat, 07 Nov 2020 23:12:05 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '2'
31
+ Connection:
32
+ - keep-alive
33
+ Set-Cookie:
34
+ - ctoken=23487c1b32cf446280ff47256c945ba4; Max-Age=43200; Path=/; Expires=Sun,
35
+ 08 Nov 2020 11:12:05 GMT
36
+ Iexcloud-Messages-Used:
37
+ - '0'
38
+ Iexcloud-Premium-Messages-Used:
39
+ - '0'
40
+ X-Content-Type-Options:
41
+ - nosniff
42
+ Strict-Transport-Security:
43
+ - max-age=15768000
44
+ Access-Control-Allow-Origin:
45
+ - "*"
46
+ Access-Control-Allow-Credentials:
47
+ - 'true'
48
+ Access-Control-Allow-Methods:
49
+ - GET, OPTIONS
50
+ Access-Control-Allow-Headers:
51
+ - Origin, X-Requested-With, Content-Type, Accept, Request-Source
52
+ body:
53
+ encoding: UTF-8
54
+ string: "[]"
55
+ recorded_at: Sat, 07 Nov 2020 23:12:05 GMT
56
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,50 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://cloud.iexapis.com/v1/stock/INVALID/chart?token=test-iex-api-publishable-token
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json; charset=utf-8
12
+ Content-Type:
13
+ - application/json; charset=utf-8
14
+ User-Agent:
15
+ - IEX Ruby Client/1.3.1
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 404
21
+ message: Not Found
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ Date:
26
+ - Sat, 07 Nov 2020 23:11:01 GMT
27
+ Content-Type:
28
+ - text/html; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ Set-Cookie:
34
+ - ctoken=296ba00f07cf4147bd7ef12924544864; Max-Age=43200; Path=/; Expires=Sun,
35
+ 08 Nov 2020 11:11:01 GMT
36
+ Strict-Transport-Security:
37
+ - max-age=15768000
38
+ Access-Control-Allow-Origin:
39
+ - "*"
40
+ Access-Control-Allow-Credentials:
41
+ - 'true'
42
+ Access-Control-Allow-Methods:
43
+ - GET, OPTIONS
44
+ Access-Control-Allow-Headers:
45
+ - Origin, X-Requested-With, Content-Type, Accept, Request-Source
46
+ body:
47
+ encoding: ASCII-8BIT
48
+ string: Unknown symbol
49
+ recorded_at: Sat, 07 Nov 2020 23:11:01 GMT
50
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,50 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://cloud.iexapis.com/v1/stock/MSFT/chart/date/2020-11-10?chartByDay=true&token=test-iex-api-publishable-token
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json; charset=utf-8
12
+ Content-Type:
13
+ - application/json; charset=utf-8
14
+ User-Agent:
15
+ - IEX Ruby Client/1.3.1
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 400
21
+ message: Bad Request
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ Date:
26
+ - Sat, 14 Nov 2020 21:59:32 GMT
27
+ Content-Type:
28
+ - text/html; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ Set-Cookie:
34
+ - ctoken=4c55e4d6e6624ae8b27dec54d9f314bd; Max-Age=43200; Path=/; Expires=Sun,
35
+ 15 Nov 2020 09:59:32 GMT
36
+ Strict-Transport-Security:
37
+ - max-age=15768000
38
+ Access-Control-Allow-Origin:
39
+ - "*"
40
+ Access-Control-Allow-Credentials:
41
+ - 'true'
42
+ Access-Control-Allow-Methods:
43
+ - GET, OPTIONS
44
+ Access-Control-Allow-Headers:
45
+ - Origin, X-Requested-With, Content-Type, Accept, Request-Source
46
+ body:
47
+ encoding: UTF-8
48
+ string: You have supplied invalid values for this request
49
+ recorded_at: Sat, 14 Nov 2020 21:59:32 GMT
50
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,47 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://cloud.iexapis.com/v1/stock/MSFT/chart/invalid?token=test-iex-api-publishable-token
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json; charset=utf-8
12
+ Content-Type:
13
+ - application/json; charset=utf-8
14
+ User-Agent:
15
+ - IEX Ruby Client/1.3.1
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 403
21
+ message: Forbidden
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ Date:
26
+ - Wed, 11 Nov 2020 16:15:31 GMT
27
+ Content-Type:
28
+ - text/html; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ Strict-Transport-Security:
34
+ - max-age=15768000
35
+ Access-Control-Allow-Origin:
36
+ - "*"
37
+ Access-Control-Allow-Credentials:
38
+ - 'true'
39
+ Access-Control-Allow-Methods:
40
+ - GET, OPTIONS
41
+ Access-Control-Allow-Headers:
42
+ - Origin, X-Requested-With, Content-Type, Accept, Request-Source
43
+ body:
44
+ encoding: ASCII-8BIT
45
+ string: The API key provided is not valid.
46
+ recorded_at: Wed, 11 Nov 2020 16:15:31 GMT
47
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,79 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://cloud.iexapis.com/v1/stock/MSFT/chart?token=test-iex-api-publishable-token
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json; charset=utf-8
12
+ Content-Type:
13
+ - application/json; charset=utf-8
14
+ User-Agent:
15
+ - IEX Ruby Client/1.3.1
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ Date:
26
+ - Sat, 07 Nov 2020 23:11:00 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ Set-Cookie:
34
+ - ctoken=4539f7faf3d04f8abd91eea7da545e6b; Max-Age=43200; Path=/; Expires=Sun,
35
+ 08 Nov 2020 11:11:00 GMT
36
+ Iexcloud-Messages-Used:
37
+ - '230'
38
+ Iexcloud-Premium-Messages-Used:
39
+ - '0'
40
+ X-Content-Type-Options:
41
+ - nosniff
42
+ Strict-Transport-Security:
43
+ - max-age=15768000
44
+ Access-Control-Allow-Origin:
45
+ - "*"
46
+ Access-Control-Allow-Credentials:
47
+ - 'true'
48
+ Access-Control-Allow-Methods:
49
+ - GET, OPTIONS
50
+ Access-Control-Allow-Headers:
51
+ - Origin, X-Requested-With, Content-Type, Accept, Request-Source
52
+ body:
53
+ encoding: ASCII-8BIT
54
+ string: '[{"date":"2020-10-07","open":207.06,"close":209.83,"high":210.11,"low":206.72,"volume":25681054,"uOpen":207.06,"uClose":209.83,"uHigh":210.11,"uLow":206.72,"uVolume":25681054,"change":0,"changePercent":0,"label":"Oct
55
+ 7","changeOverTime":0},{"date":"2020-10-08","open":210.51,"close":210.58,"high":211.19,"low":208.32,"volume":19925837,"uOpen":210.51,"uClose":210.58,"uHigh":211.19,"uLow":208.32,"uVolume":19925837,"change":0.75,"changePercent":0.3574,"label":"Oct
56
+ 8","changeOverTime":0.003574},{"date":"2020-10-09","open":211.23,"close":215.81,"high":215.86,"low":211.23,"volume":26458047,"uOpen":211.23,"uClose":215.81,"uHigh":215.86,"uLow":211.23,"uVolume":26458047,"change":5.23,"changePercent":2.4836,"label":"Oct
57
+ 9","changeOverTime":0.028499},{"date":"2020-10-12","open":218.79,"close":221.4,"high":223.86,"low":216.81,"volume":40461368,"uOpen":218.79,"uClose":221.4,"uHigh":223.86,"uLow":216.81,"uVolume":40461368,"change":5.59,"changePercent":2.5902,"label":"Oct
58
+ 12","changeOverTime":0.05514},{"date":"2020-10-13","open":222.72,"close":222.86,"high":225.21,"low":220.43,"volume":28950843,"uOpen":222.72,"uClose":222.86,"uHigh":225.21,"uLow":220.43,"uVolume":28950843,"change":1.46,"changePercent":0.6594,"label":"Oct
59
+ 13","changeOverTime":0.062098},{"date":"2020-10-14","open":223,"close":220.86,"high":224.22,"low":219.13,"volume":23451713,"uOpen":223,"uClose":220.86,"uHigh":224.22,"uLow":219.13,"uVolume":23451713,"change":-2,"changePercent":-0.8974,"label":"Oct
60
+ 14","changeOverTime":0.052566},{"date":"2020-10-15","open":217.1,"close":219.66,"high":220.36,"low":216.01,"volume":22733064,"uOpen":217.1,"uClose":219.66,"uHigh":220.36,"uLow":216.01,"uVolume":22733064,"change":-1.2,"changePercent":-0.5433,"label":"Oct
61
+ 15","changeOverTime":0.046847},{"date":"2020-10-16","open":220.15,"close":219.66,"high":222.29,"low":219.32,"volume":26057882,"uOpen":220.15,"uClose":219.66,"uHigh":222.29,"uLow":219.32,"uVolume":26057882,"change":0,"changePercent":0,"label":"Oct
62
+ 16","changeOverTime":0.046847},{"date":"2020-10-19","open":220.42,"close":214.22,"high":222.3,"low":213.72,"volume":27625841,"uOpen":220.42,"uClose":214.22,"uHigh":222.3,"uLow":213.72,"uVolume":27625841,"change":-5.44,"changePercent":-2.4766,"label":"Oct
63
+ 19","changeOverTime":0.020922},{"date":"2020-10-20","open":215.8,"close":214.65,"high":217.37,"low":213.09,"volume":22753511,"uOpen":215.8,"uClose":214.65,"uHigh":217.37,"uLow":213.09,"uVolume":22753511,"change":0.43,"changePercent":0.2007,"label":"Oct
64
+ 20","changeOverTime":0.022971},{"date":"2020-10-21","open":213.12,"close":214.8,"high":216.92,"low":213.12,"volume":22724906,"uOpen":213.12,"uClose":214.8,"uHigh":216.92,"uLow":213.12,"uVolume":22724906,"change":0.15,"changePercent":0.0699,"label":"Oct
65
+ 21","changeOverTime":0.023686},{"date":"2020-10-22","open":213.93,"close":214.89,"high":216.06,"low":211.7,"volume":22351450,"uOpen":213.93,"uClose":214.89,"uHigh":216.06,"uLow":211.7,"uVolume":22351450,"change":0.09,"changePercent":0.0419,"label":"Oct
66
+ 22","changeOverTime":0.024115},{"date":"2020-10-23","open":215.03,"close":216.23,"high":216.28,"low":213.16,"volume":18879608,"uOpen":215.03,"uClose":216.23,"uHigh":216.28,"uLow":213.16,"uVolume":18879608,"change":1.34,"changePercent":0.6236,"label":"Oct
67
+ 23","changeOverTime":0.030501},{"date":"2020-10-26","open":213.85,"close":210.08,"high":216.34,"low":208.1,"volume":37111561,"uOpen":213.85,"uClose":210.08,"uHigh":216.34,"uLow":208.1,"uVolume":37111561,"change":-6.15,"changePercent":-2.8442,"label":"Oct
68
+ 26","changeOverTime":0.001191},{"date":"2020-10-27","open":211.59,"close":213.25,"high":214.67,"low":210.33,"volume":36700325,"uOpen":211.59,"uClose":213.25,"uHigh":214.67,"uLow":210.33,"uVolume":36700325,"change":3.17,"changePercent":1.5089,"label":"Oct
69
+ 27","changeOverTime":0.016299},{"date":"2020-10-28","open":207.67,"close":202.68,"high":208.84,"low":202.1,"volume":51195593,"uOpen":207.67,"uClose":202.68,"uHigh":208.84,"uLow":202.1,"uVolume":51195593,"change":-10.57,"changePercent":-4.9566,"label":"Oct
70
+ 28","changeOverTime":-0.034075},{"date":"2020-10-29","open":204.07,"close":204.72,"high":207.36,"low":203.37,"volume":31432563,"uOpen":204.07,"uClose":204.72,"uHigh":207.36,"uLow":203.37,"uVolume":31432563,"change":2.04,"changePercent":1.0065,"label":"Oct
71
+ 29","changeOverTime":-0.024353},{"date":"2020-10-30","open":203.5,"close":202.47,"high":204.29,"low":199.62,"volume":36980111,"uOpen":203.5,"uClose":202.47,"uHigh":204.29,"uLow":199.62,"uVolume":36980111,"change":-2.25,"changePercent":-1.0991,"label":"Oct
72
+ 30","changeOverTime":-0.035076},{"date":"2020-11-02","open":204.29,"close":202.33,"high":205.28,"low":200.12,"volume":30842163,"uOpen":204.29,"uClose":202.33,"uHigh":205.28,"uLow":200.12,"uVolume":30842163,"change":-0.14,"changePercent":-0.0691,"label":"Nov
73
+ 2","changeOverTime":-0.035743},{"date":"2020-11-03","open":203.89,"close":206.43,"high":208.12,"low":203.12,"volume":27512030,"uOpen":203.89,"uClose":206.43,"uHigh":208.12,"uLow":203.12,"uVolume":27512030,"change":4.1,"changePercent":2.0264,"label":"Nov
74
+ 3","changeOverTime":-0.016204},{"date":"2020-11-04","open":214.02,"close":216.39,"high":218.32,"low":212.42,"volume":42311777,"uOpen":214.02,"uClose":216.39,"uHigh":218.32,"uLow":212.42,"uVolume":42311777,"change":9.96,"changePercent":4.8249,"label":"Nov
75
+ 4","changeOverTime":0.031263},{"date":"2020-11-05","open":222.04,"close":223.29,"high":224.12,"low":221.15,"volume":36080137,"uOpen":222.04,"uClose":223.29,"uHigh":224.12,"uLow":221.15,"uVolume":36080137,"change":6.9,"changePercent":3.1887,"label":"Nov
76
+ 5","changeOverTime":0.064147},{"date":"2020-11-06","open":222.26,"close":223.72,"high":224.36,"low":218.03,"volume":25231895,"uOpen":222.26,"uClose":223.72,"uHigh":224.36,"uLow":218.03,"uVolume":25231895,"change":0.43,"changePercent":0.1926,"label":"Nov
77
+ 6","changeOverTime":0.066196}]'
78
+ recorded_at: Sat, 07 Nov 2020 23:11:00 GMT
79
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,61 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://cloud.iexapis.com/v1/stock/MSFT/chart/5d?token=test-iex-api-publishable-token
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json; charset=utf-8
12
+ Content-Type:
13
+ - application/json; charset=utf-8
14
+ User-Agent:
15
+ - IEX Ruby Client/1.3.1
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ Date:
26
+ - Wed, 11 Nov 2020 14:09:28 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ Set-Cookie:
34
+ - ctoken=95520aaad32643e9b294d472a4d74762; Max-Age=43200; Path=/; Expires=Thu,
35
+ 12 Nov 2020 02:09:28 GMT
36
+ Iexcloud-Messages-Used:
37
+ - '50'
38
+ Iexcloud-Premium-Messages-Used:
39
+ - '0'
40
+ X-Content-Type-Options:
41
+ - nosniff
42
+ Strict-Transport-Security:
43
+ - max-age=15768000
44
+ Access-Control-Allow-Origin:
45
+ - "*"
46
+ Access-Control-Allow-Credentials:
47
+ - 'true'
48
+ Access-Control-Allow-Methods:
49
+ - GET, OPTIONS
50
+ Access-Control-Allow-Headers:
51
+ - Origin, X-Requested-With, Content-Type, Accept, Request-Source
52
+ body:
53
+ encoding: ASCII-8BIT
54
+ string: '[{"date":"2020-11-04","open":214.02,"close":216.39,"high":218.32,"low":212.42,"volume":42311777,"uOpen":214.02,"uClose":216.39,"uHigh":218.32,"uLow":212.42,"uVolume":42311777,"change":0,"changePercent":0,"label":"Nov
55
+ 4","changeOverTime":0},{"date":"2020-11-05","open":222.04,"close":223.29,"high":224.12,"low":221.15,"volume":36080137,"uOpen":222.04,"uClose":223.29,"uHigh":224.12,"uLow":221.15,"uVolume":36080137,"change":6.9,"changePercent":3.1887,"label":"Nov
56
+ 5","changeOverTime":0.031887},{"date":"2020-11-06","open":222.26,"close":223.72,"high":224.36,"low":218.03,"volume":25231895,"uOpen":222.26,"uClose":223.72,"uHigh":224.36,"uLow":218.03,"uVolume":25231895,"change":0.43,"changePercent":0.1926,"label":"Nov
57
+ 6","changeOverTime":0.033874},{"date":"2020-11-09","open":224.44,"close":218.39,"high":228.12,"low":217.88,"volume":44394950,"uOpen":224.44,"uClose":218.39,"uHigh":228.12,"uLow":217.88,"uVolume":44394950,"change":-5.33,"changePercent":-2.3824,"label":"Nov
58
+ 9","changeOverTime":0.009243},{"date":"2020-11-10","open":214.5,"close":211.01,"high":216.5,"low":209.72,"volume":44045120,"uOpen":214.5,"uClose":211.01,"uHigh":216.5,"uLow":209.72,"uVolume":44045120,"change":-7.38,"changePercent":-3.3793,"label":"Nov
59
+ 10","changeOverTime":-0.024863}]'
60
+ recorded_at: Wed, 11 Nov 2020 14:09:28 GMT
61
+ recorded_with: VCR 6.0.0