iex-ruby-client 1.3.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +21 -0
  4. data/README.md +202 -16
  5. data/RELEASING.md +3 -3
  6. data/UPGRADING.md +8 -0
  7. data/iex-ruby-client.gemspec +1 -1
  8. data/lib/iex/api/client.rb +5 -0
  9. data/lib/iex/api.rb +5 -0
  10. data/lib/iex/endpoints/balance_sheet.rb +13 -0
  11. data/lib/iex/endpoints/cash_flow.rb +13 -0
  12. data/lib/iex/endpoints/fx.rb +13 -0
  13. data/lib/iex/endpoints/historial_prices.rb +30 -0
  14. data/lib/iex/endpoints/key_stat.rb +14 -0
  15. data/lib/iex/endpoints/ref_data.rb +5 -0
  16. data/lib/iex/errors/invalid_symbols_list.rb +14 -0
  17. data/lib/iex/errors/stat_not_found_error.rb +13 -0
  18. data/lib/iex/errors.rb +3 -1
  19. data/lib/iex/resources/advanced_stats.rb +43 -1
  20. data/lib/iex/resources/balance_sheet.rb +60 -0
  21. data/lib/iex/resources/cash_flow.rb +43 -0
  22. data/lib/iex/resources/currency_rate.rb +9 -0
  23. data/lib/iex/resources/historical_prices.rb +31 -0
  24. data/lib/iex/resources/income.rb +2 -0
  25. data/lib/iex/resources/news.rb +3 -0
  26. data/lib/iex/resources/resource.rb +17 -1
  27. data/lib/iex/resources.rb +4 -0
  28. data/lib/iex/version.rb +1 -1
  29. data/lib/iex-ruby-client.rb +1 -1
  30. data/script/console +9 -0
  31. data/spec/fixtures/iex/balance_sheet/invalid.yml +50 -0
  32. data/spec/fixtures/iex/balance_sheet/msft.yml +56 -0
  33. data/spec/fixtures/iex/cash_flow/invalid.yml +50 -0
  34. data/spec/fixtures/iex/cash_flow/msft.yml +56 -0
  35. data/spec/fixtures/iex/fx/invalid.yml +83 -0
  36. data/spec/fixtures/iex/fx/latest.yml +85 -0
  37. data/spec/fixtures/iex/fx/latest_one_symbol.yml +85 -0
  38. data/spec/fixtures/iex/historical_prices/abcd.yml +56 -0
  39. data/spec/fixtures/iex/historical_prices/invalid.yml +50 -0
  40. data/spec/fixtures/iex/historical_prices/invalid_date.yml +50 -0
  41. data/spec/fixtures/iex/historical_prices/invalid_range.yml +47 -0
  42. data/spec/fixtures/iex/historical_prices/msft.yml +79 -0
  43. data/spec/fixtures/iex/historical_prices/msft_5d.yml +61 -0
  44. data/spec/fixtures/iex/historical_prices/msft_date_and_chart_by_day.yml +57 -0
  45. data/spec/fixtures/iex/historical_prices/msft_specific_date_trimmed.yml +445 -0
  46. data/spec/fixtures/iex/income/msft.yml +54 -51
  47. data/spec/fixtures/iex/key_stat/individual.yml +60 -0
  48. data/spec/fixtures/iex/key_stat/invalid_stat.yml +60 -0
  49. data/spec/fixtures/iex/key_stat/invalid_symbol.yml +50 -0
  50. data/spec/fixtures/iex/ref-data/exchange_symbols.yml +1926 -0
  51. data/spec/iex/endpoints/advanced_stats_spec.rb +56 -0
  52. data/spec/iex/endpoints/balance_sheet_spec.rb +80 -0
  53. data/spec/iex/endpoints/cash_flow_spec.rb +59 -0
  54. data/spec/iex/endpoints/fx_spec.rb +48 -0
  55. data/spec/iex/endpoints/historical_prices_spec.rb +206 -0
  56. data/spec/iex/endpoints/income_spec.rb +31 -29
  57. data/spec/iex/endpoints/key_stat_spec.rb +43 -0
  58. data/spec/iex/endpoints/news_spec.rb +3 -0
  59. data/spec/iex/endpoints/ref_data_spec.rb +44 -9
  60. data/spec/iex/resources/resource_spec.rb +36 -0
  61. metadata +68 -8
@@ -0,0 +1,85 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://cloud.iexapis.com/v1/fx/latest?symbols=USDCAD&token=test-iex-api-publishable-token
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ""
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.15.4
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
+ - Fri, 05 Apr 2019 02:59:48 GMT
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Content-Length:
28
+ - "6"
29
+ Connection:
30
+ - keep-alive
31
+ Set-Cookie:
32
+ - ctoken=3859f7adf5e24bb0ac6a2283b1d2c588; Max-Age=43200; Path=/; Expires=Fri,
33
+ 05 Apr 2019 14:59:48 GMT
34
+ Content-Security-Policy:
35
+ - "default-src 'self'; child-src 'none'; object-src 'self'; style-src
36
+ 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self'
37
+ https://js.intercomcdn.com/fonts/ https://fonts.gstatic.com; frame-src 'self'
38
+ https://portal.productboard.com/ https://js.stripe.com/; img-src 'self'
39
+ data: https://*.intercomcdn.com/ https://static.intercomassets.com/ https://www.google-analytics.com
40
+ https://downloads.intercomcdn.com/; connect-src 'self' https://auth.iexcloud.io
41
+ https://api.iexcloud.io https://api.iexcloud.io https://cloud.iexapis.com
42
+ wss://iexcloud.io wss://tops.iexcloud.io wss://api.iexcloud.io wss://iexcloud.io
43
+ https://api-iam.intercom.io/messenger/ https://nexus-websocket-a.intercom.io/
44
+ https://nexus-websocket-b.intercom.io/ wss://nexus-websocket-a.intercom.io/
45
+ wss://nexus-websocket-b.intercom.io/ https://www.google-analytics.com; script-src
46
+ 'self' 'unsafe-inline' 'unsafe-eval' https://www.google.com/recaptcha/api.js
47
+ https://www.google-analytics.com https://js.stripe.com/v3/ https://widget.intercom.io/widget/lhos563b
48
+ https://js.intercomcdn.com/ https://www.googletagmanager.com;"
49
+ X-Content-Security-Policy:
50
+ - "default-src 'self'; child-src 'none'; object-src 'self'; style-src
51
+ 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self'
52
+ https://js.intercomcdn.com/fonts/ https://fonts.gstatic.com; frame-src 'self'
53
+ https://portal.productboard.com/ https://js.stripe.com/; img-src 'self'
54
+ data: https://*.intercomcdn.com/ https://static.intercomassets.com/ https://www.google-analytics.com
55
+ https://downloads.intercomcdn.com/; connect-src 'self' https://auth.iexcloud.io
56
+ https://api.iexcloud.io https://api.iexcloud.io https://cloud.iexapis.com
57
+ wss://iexcloud.io wss://tops.iexcloud.io wss://api.iexcloud.io wss://iexcloud.io
58
+ https://api-iam.intercom.io/messenger/ https://nexus-websocket-a.intercom.io/
59
+ https://nexus-websocket-b.intercom.io/ wss://nexus-websocket-a.intercom.io/
60
+ wss://nexus-websocket-b.intercom.io/ https://www.google-analytics.com; script-src
61
+ 'self' 'unsafe-inline' 'unsafe-eval' https://www.google.com/recaptcha/api.js
62
+ https://www.google-analytics.com https://js.stripe.com/v3/ https://widget.intercom.io/widget/lhos563b
63
+ https://js.intercomcdn.com/ https://www.googletagmanager.com;"
64
+ Frame-Options:
65
+ - SAMEORIGIN
66
+ X-Frame-Options:
67
+ - SAMEORIGIN
68
+ X-Content-Type-Options:
69
+ - nosniff
70
+ Strict-Transport-Security:
71
+ - max-age=15768000
72
+ Access-Control-Allow-Origin:
73
+ - "*"
74
+ Access-Control-Allow-Credentials:
75
+ - "true"
76
+ Access-Control-Allow-Methods:
77
+ - GET, OPTIONS
78
+ Access-Control-Allow-Headers:
79
+ - Origin, X-Requested-With, Content-Type, Accept
80
+ body:
81
+ encoding: ASCII-8BIT
82
+ string: '[{"symbol":"USDCAD","rate":1.25674,"timestamp":1627045829863}]'
83
+ http_version:
84
+ recorded_at: Fri, 05 Apr 2019 02:59:48 GMT
85
+ recorded_with: VCR 4.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
@@ -0,0 +1,57 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://cloud.iexapis.com/v1/stock/MSFT/chart/date/20201110?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: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ Date:
26
+ - Sat, 14 Nov 2020 17:05:44 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=fdf61fe698e045c2bd2139fc7dbe15bf; Max-Age=43200; Path=/; Expires=Sun,
35
+ 15 Nov 2020 05:05:44 GMT
36
+ Iexcloud-Messages-Used:
37
+ - '2'
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-10","uClose":211.01,"uOpen":214.5,"uHigh":216.5,"uLow":209.72,"uVolume":44045120,"close":211.01,"open":214.5,"high":216.5,"low":209.72,"volume":44045120,"currency":"","change":-7.38,"changePercent":-3.3793,"label":"Nov
55
+ 10","changeOverTime":-0.033793}]'
56
+ recorded_at: Sat, 14 Nov 2020 17:05:44 GMT
57
+ recorded_with: VCR 6.0.0