iex-ruby-client 1.0.0 → 1.2.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/.github/FUNDING.yml +1 -0
- data/.rubocop.yml +4 -1
- data/CHANGELOG.md +37 -7
- data/Dangerfile +2 -2
- data/Gemfile +2 -2
- data/README.md +159 -37
- data/iex-ruby-client.gemspec +3 -2
- data/lib/iex-ruby-client.rb +1 -0
- data/lib/iex/api.rb +3 -0
- data/lib/iex/api/client.rb +3 -0
- data/lib/iex/api/config.rb +2 -0
- data/lib/iex/cloud/connection.rb +21 -19
- data/lib/iex/cloud/request.rb +1 -1
- data/lib/iex/cloud/response.rb +1 -1
- 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 +3 -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 +14 -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/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/key_stats/invalid.yml +7 -41
- data/spec/fixtures/iex/key_stats/msft.yml +11 -43
- 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 +6 -1
- 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 +42 -29
- data/spec/iex/endpoints/quote_spec.rb +2 -0
- data/spec/iex/endpoints/ref_data_spec.rb +66 -0
- data/spec/iex/endpoints/stock_market_spec.rb +14 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/support/vcr.rb +3 -0
- metadata +41 -13
| @@ -1,83 +1,49 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            http_interactions:
         | 
| 3 | 
            -
             | 
| 4 | 
            -
             | 
| 5 | 
            -
             | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 | 
            -
             | 
| 48 | 
            -
             | 
| 49 | 
            -
             | 
| 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 | 
            -
                    Strict-Transport-Security:
         | 
| 69 | 
            -
                      - max-age=15768000
         | 
| 70 | 
            -
                    Access-Control-Allow-Origin:
         | 
| 71 | 
            -
                      - "*"
         | 
| 72 | 
            -
                    Access-Control-Allow-Credentials:
         | 
| 73 | 
            -
                      - "true"
         | 
| 74 | 
            -
                    Access-Control-Allow-Methods:
         | 
| 75 | 
            -
                      - GET, OPTIONS
         | 
| 76 | 
            -
                    Access-Control-Allow-Headers:
         | 
| 77 | 
            -
                      - Origin, X-Requested-With, Content-Type, Accept
         | 
| 78 | 
            -
                  body:
         | 
| 79 | 
            -
                    encoding: ASCII-8BIT
         | 
| 80 | 
            -
                    string: Unknown symbol
         | 
| 81 | 
            -
                  http_version:
         | 
| 82 | 
            -
                recorded_at: Mon, 08 Apr 2019 11:43:28 GMT
         | 
| 83 | 
            -
            recorded_with: VCR 4.0.0
         | 
| 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 | 
            +
                  User-Agent:
         | 
| 13 | 
            +
                  - IEX Ruby Client/1.1.1
         | 
| 14 | 
            +
                  Accept-Encoding:
         | 
| 15 | 
            +
                  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
         | 
| 16 | 
            +
              response:
         | 
| 17 | 
            +
                status:
         | 
| 18 | 
            +
                  code: 404
         | 
| 19 | 
            +
                  message: Not Found
         | 
| 20 | 
            +
                headers:
         | 
| 21 | 
            +
                  Server:
         | 
| 22 | 
            +
                  - nginx
         | 
| 23 | 
            +
                  Date:
         | 
| 24 | 
            +
                  - Sat, 10 Aug 2019 15:56:38 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=79008684fa5c4f72aa32f47597abe313; Max-Age=43200; Path=/; Expires=Sun,
         | 
| 33 | 
            +
                    11 Aug 2019 03:56:38 GMT
         | 
| 34 | 
            +
                  Strict-Transport-Security:
         | 
| 35 | 
            +
                  - max-age=15768000
         | 
| 36 | 
            +
                  Access-Control-Allow-Origin:
         | 
| 37 | 
            +
                  - "*"
         | 
| 38 | 
            +
                  Access-Control-Allow-Credentials:
         | 
| 39 | 
            +
                  - 'true'
         | 
| 40 | 
            +
                  Access-Control-Allow-Methods:
         | 
| 41 | 
            +
                  - GET, OPTIONS
         | 
| 42 | 
            +
                  Access-Control-Allow-Headers:
         | 
| 43 | 
            +
                  - Origin, X-Requested-With, Content-Type, Accept
         | 
| 44 | 
            +
                body:
         | 
| 45 | 
            +
                  encoding: ASCII-8BIT
         | 
| 46 | 
            +
                  string: Unknown symbol
         | 
| 47 | 
            +
                http_version:
         | 
| 48 | 
            +
              recorded_at: Sat, 10 Aug 2019 15:56:38 GMT
         | 
| 49 | 
            +
            recorded_with: VCR 5.0.0
         | 
| @@ -1,109 +1,76 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            http_interactions:
         | 
| 3 | 
            -
             | 
| 4 | 
            -
             | 
| 5 | 
            -
             | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 | 
            -
             | 
| 48 | 
            -
             | 
| 49 | 
            -
             | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 52 | 
            -
             | 
| 53 | 
            -
             | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 60 | 
            -
             | 
| 61 | 
            -
             | 
| 62 | 
            -
             | 
| 63 | 
            -
             | 
| 64 | 
            -
                     | 
| 65 | 
            -
             | 
| 66 | 
            -
                     | 
| 67 | 
            -
             | 
| 68 | 
            -
                     | 
| 69 | 
            -
             | 
| 70 | 
            -
                     | 
| 71 | 
            -
             | 
| 72 | 
            -
                     | 
| 73 | 
            -
             | 
| 74 | 
            -
             | 
| 75 | 
            -
             | 
| 76 | 
            -
             | 
| 77 | 
            -
                      - GET, OPTIONS
         | 
| 78 | 
            -
                    Access-Control-Allow-Headers:
         | 
| 79 | 
            -
                      - Origin, X-Requested-With, Content-Type, Accept
         | 
| 80 | 
            -
                  body:
         | 
| 81 | 
            -
                    encoding: ASCII-8BIT
         | 
| 82 | 
            -
                    string:
         | 
| 83 | 
            -
                      '[{"date":"2019-03-06","open":111.87,"close":111.75,"high":112.66,"low":111.43,"volume":17686996,"uOpen":111.87,"uClose":111.75,"uHigh":112.66,"uLow":111.43,"uVolume":17686996,"change":0,"changePercent":0,"label":"Mar
         | 
| 84 | 
            -
                      6","changeOverTime":0},{"date":"2019-03-07","open":111.4,"close":110.39,"high":111.55,"low":109.86,"volume":25338954,"uOpen":111.4,"uClose":110.39,"uHigh":111.55,"uLow":109.86,"uVolume":25338954,"change":-1.36,"changePercent":-1.217,"label":"Mar
         | 
| 85 | 
            -
                      7","changeOverTime":-0.01217},{"date":"2019-03-08","open":109.16,"close":110.51,"high":110.71,"low":108.8,"volume":22818430,"uOpen":109.16,"uClose":110.51,"uHigh":110.71,"uLow":108.8,"uVolume":22818430,"change":0.12,"changePercent":0.1087,"label":"Mar
         | 
| 86 | 
            -
                      8","changeOverTime":-0.011096},{"date":"2019-03-11","open":110.99,"close":112.83,"high":112.95,"low":110.98,"volume":26491618,"uOpen":110.99,"uClose":112.83,"uHigh":112.95,"uLow":110.98,"uVolume":26491618,"change":2.32,"changePercent":2.0994,"label":"Mar
         | 
| 87 | 
            -
                      11","changeOverTime":0.009664},{"date":"2019-03-12","open":112.82,"close":113.62,"high":113.99,"low":112.65,"volume":26132717,"uOpen":112.82,"uClose":113.62,"uHigh":113.99,"uLow":112.65,"uVolume":26132717,"change":0.79,"changePercent":0.7002,"label":"Mar
         | 
| 88 | 
            -
                      12","changeOverTime":0.016734},{"date":"2019-03-13","open":114.13,"close":114.5,"high":115,"low":113.78,"volume":35513771,"uOpen":114.13,"uClose":114.5,"uHigh":115,"uLow":113.78,"uVolume":35513771,"change":0.88,"changePercent":0.7745,"label":"Mar
         | 
| 89 | 
            -
                      13","changeOverTime":0.024609},{"date":"2019-03-14","open":114.54,"close":114.59,"high":115.2,"low":114.33,"volume":30763367,"uOpen":114.54,"uClose":114.59,"uHigh":115.2,"uLow":114.33,"uVolume":30763367,"change":0.09,"changePercent":0.0786,"label":"Mar
         | 
| 90 | 
            -
                      14","changeOverTime":0.025414},{"date":"2019-03-15","open":115.34,"close":115.91,"high":117.25,"low":114.59,"volume":54630661,"uOpen":115.34,"uClose":115.91,"uHigh":117.25,"uLow":114.59,"uVolume":54630661,"change":1.32,"changePercent":1.1519,"label":"Mar
         | 
| 91 | 
            -
                      15","changeOverTime":0.037226},{"date":"2019-03-18","open":116.17,"close":117.57,"high":117.61,"low":116.05,"volume":31207596,"uOpen":116.17,"uClose":117.57,"uHigh":117.61,"uLow":116.05,"uVolume":31207596,"change":1.66,"changePercent":1.4321,"label":"Mar
         | 
| 92 | 
            -
                      18","changeOverTime":0.052081},{"date":"2019-03-19","open":118.09,"close":117.65,"high":118.44,"low":116.99,"volume":37588697,"uOpen":118.09,"uClose":117.65,"uHigh":118.44,"uLow":116.99,"uVolume":37588697,"change":0.08,"changePercent":0.068,"label":"Mar
         | 
| 93 | 
            -
                      19","changeOverTime":0.052796},{"date":"2019-03-20","open":117.39,"close":117.52,"high":118.75,"low":116.71,"volume":28113343,"uOpen":117.39,"uClose":117.52,"uHigh":118.75,"uLow":116.71,"uVolume":28113343,"change":-0.13,"changePercent":-0.1105,"label":"Mar
         | 
| 94 | 
            -
                      20","changeOverTime":0.051633},{"date":"2019-03-21","open":117.14,"close":120.22,"high":120.82,"low":117.09,"volume":29854446,"uOpen":117.14,"uClose":120.22,"uHigh":120.82,"uLow":117.09,"uVolume":29854446,"change":2.7,"changePercent":2.2975,"label":"Mar
         | 
| 95 | 
            -
                      21","changeOverTime":0.075794},{"date":"2019-03-22","open":119.5,"close":117.05,"high":119.59,"low":117.04,"volume":33624528,"uOpen":119.5,"uClose":117.05,"uHigh":119.59,"uLow":117.04,"uVolume":33624528,"change":-3.17,"changePercent":-2.6368,"label":"Mar
         | 
| 96 | 
            -
                      22","changeOverTime":0.047427},{"date":"2019-03-25","open":116.56,"close":117.66,"high":118.01,"low":116.32,"volume":27067117,"uOpen":116.56,"uClose":117.66,"uHigh":118.01,"uLow":116.32,"uVolume":27067117,"change":0.61,"changePercent":0.5211,"label":"Mar
         | 
| 97 | 
            -
                      25","changeOverTime":0.052886},{"date":"2019-03-26","open":118.62,"close":117.91,"high":118.7,"low":116.85,"volume":26097665,"uOpen":118.62,"uClose":117.91,"uHigh":118.7,"uLow":116.85,"uVolume":26097665,"change":0.25,"changePercent":0.2125,"label":"Mar
         | 
| 98 | 
            -
                      26","changeOverTime":0.055123},{"date":"2019-03-27","open":117.88,"close":116.77,"high":118.21,"low":115.52,"volume":22733427,"uOpen":117.88,"uClose":116.77,"uHigh":118.21,"uLow":115.52,"uVolume":22733427,"change":-1.14,"changePercent":-0.9668,"label":"Mar
         | 
| 99 | 
            -
                      27","changeOverTime":0.044922},{"date":"2019-03-28","open":117.44,"close":116.93,"high":117.58,"low":116.13,"volume":18334755,"uOpen":117.44,"uClose":116.93,"uHigh":117.58,"uLow":116.13,"uVolume":18334755,"change":0.16,"changePercent":0.137,"label":"Mar
         | 
| 100 | 
            -
                      28","changeOverTime":0.046353},{"date":"2019-03-29","open":118.07,"close":117.94,"high":118.32,"low":116.96,"volume":25399752,"uOpen":118.07,"uClose":117.94,"uHigh":118.32,"uLow":116.96,"uVolume":25399752,"change":1.01,"changePercent":0.8638,"label":"Mar
         | 
| 101 | 
            -
                      29","changeOverTime":0.055391},{"date":"2019-04-01","open":118.95,"close":119.02,"high":119.11,"low":118.1,"volume":22789103,"uOpen":118.95,"uClose":119.02,"uHigh":119.11,"uLow":118.1,"uVolume":22789103,"change":1.08,"changePercent":0.9157,"label":"Apr
         | 
| 102 | 
            -
                      1","changeOverTime":0.065056},{"date":"2019-04-02","open":119.06,"close":119.19,"high":119.48,"low":118.52,"volume":18142297,"uOpen":119.06,"uClose":119.19,"uHigh":119.48,"uLow":118.52,"uVolume":18142297,"change":0.17,"changePercent":0.1428,"label":"Apr
         | 
| 103 | 
            -
                      2","changeOverTime":0.066577},{"date":"2019-04-03","open":119.86,"close":119.97,"high":120.43,"low":119.15,"volume":22860744,"uOpen":119.86,"uClose":119.97,"uHigh":120.43,"uLow":119.15,"uVolume":22860744,"change":0.78,"changePercent":0.6544,"label":"Apr
         | 
| 104 | 
            -
                      3","changeOverTime":0.073557},{"date":"2019-04-04","open":120.1,"close":119.36,"high":120.23,"low":118.38,"volume":20112848,"uOpen":120.1,"uClose":119.36,"uHigh":120.23,"uLow":118.38,"uVolume":20112848,"change":-0.61,"changePercent":-0.5085,"label":"Apr
         | 
| 105 | 
            -
                      4","changeOverTime":0.068098},{"date":"2019-04-05","open":119.39,"close":119.89,"high":120.23,"low":119.37,"volume":15826245,"uOpen":119.39,"uClose":119.89,"uHigh":120.23,"uLow":119.37,"uVolume":15826245,"change":0.53,"changePercent":0.444,"label":"Apr
         | 
| 106 | 
            -
                      5","changeOverTime":0.072841}]'
         | 
| 107 | 
            -
                  http_version:
         | 
| 108 | 
            -
                recorded_at: Mon, 08 Apr 2019 11:43:23 GMT
         | 
| 109 | 
            -
            recorded_with: VCR 4.0.0
         | 
| 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 | 
            +
                  User-Agent:
         | 
| 13 | 
            +
                  - IEX Ruby Client/1.1.1
         | 
| 14 | 
            +
                  Accept-Encoding:
         | 
| 15 | 
            +
                  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
         | 
| 16 | 
            +
              response:
         | 
| 17 | 
            +
                status:
         | 
| 18 | 
            +
                  code: 200
         | 
| 19 | 
            +
                  message: OK
         | 
| 20 | 
            +
                headers:
         | 
| 21 | 
            +
                  Server:
         | 
| 22 | 
            +
                  - nginx
         | 
| 23 | 
            +
                  Date:
         | 
| 24 | 
            +
                  - Sat, 10 Aug 2019 15:56:34 GMT
         | 
| 25 | 
            +
                  Content-Type:
         | 
| 26 | 
            +
                  - application/json; charset=utf-8
         | 
| 27 | 
            +
                  Transfer-Encoding:
         | 
| 28 | 
            +
                  - chunked
         | 
| 29 | 
            +
                  Connection:
         | 
| 30 | 
            +
                  - keep-alive
         | 
| 31 | 
            +
                  Set-Cookie:
         | 
| 32 | 
            +
                  - ctoken=0595b3b4441d4f178ddab8118fb03f5c; Max-Age=43200; Path=/; Expires=Sun,
         | 
| 33 | 
            +
                    11 Aug 2019 03:56:34 GMT
         | 
| 34 | 
            +
                  Iexcloud-Messages-Used:
         | 
| 35 | 
            +
                  - '230'
         | 
| 36 | 
            +
                  X-Content-Type-Options:
         | 
| 37 | 
            +
                  - nosniff
         | 
| 38 | 
            +
                  Strict-Transport-Security:
         | 
| 39 | 
            +
                  - max-age=15768000
         | 
| 40 | 
            +
                  Access-Control-Allow-Origin:
         | 
| 41 | 
            +
                  - "*"
         | 
| 42 | 
            +
                  Access-Control-Allow-Credentials:
         | 
| 43 | 
            +
                  - 'true'
         | 
| 44 | 
            +
                  Access-Control-Allow-Methods:
         | 
| 45 | 
            +
                  - GET, OPTIONS
         | 
| 46 | 
            +
                  Access-Control-Allow-Headers:
         | 
| 47 | 
            +
                  - Origin, X-Requested-With, Content-Type, Accept
         | 
| 48 | 
            +
                body:
         | 
| 49 | 
            +
                  encoding: ASCII-8BIT
         | 
| 50 | 
            +
                  string: '[{"date":"2019-07-10","open":137.13,"close":137.85,"high":138.58,"low":137.02,"volume":24204362,"uOpen":137.13,"uClose":137.85,"uHigh":138.58,"uLow":137.02,"uVolume":24204362,"change":0,"changePercent":0,"label":"Jul
         | 
| 51 | 
            +
                    10","changeOverTime":0},{"date":"2019-07-11","open":138.2,"close":138.4,"high":139.22,"low":137.87,"volume":22327942,"uOpen":138.2,"uClose":138.4,"uHigh":139.22,"uLow":137.87,"uVolume":22327942,"change":0.55,"changePercent":0.399,"label":"Jul
         | 
| 52 | 
            +
                    11","changeOverTime":0.00399},{"date":"2019-07-12","open":138.85,"close":138.9,"high":139.13,"low":138,"volume":18936832,"uOpen":138.85,"uClose":138.9,"uHigh":139.13,"uLow":138,"uVolume":18936832,"change":0.5,"changePercent":0.3613,"label":"Jul
         | 
| 53 | 
            +
                    12","changeOverTime":0.007617},{"date":"2019-07-15","open":139.44,"close":138.9,"high":139.54,"low":138.46,"volume":16651457,"uOpen":139.44,"uClose":138.9,"uHigh":139.54,"uLow":138.46,"uVolume":16651457,"change":0,"changePercent":0,"label":"Jul
         | 
| 54 | 
            +
                    15","changeOverTime":0.007617},{"date":"2019-07-16","open":138.96,"close":137.08,"high":139.05,"low":136.52,"volume":22726128,"uOpen":138.96,"uClose":137.08,"uHigh":139.05,"uLow":136.52,"uVolume":22726128,"change":-1.82,"changePercent":-1.3103,"label":"Jul
         | 
| 55 | 
            +
                    16","changeOverTime":-0.005586},{"date":"2019-07-17","open":137.7,"close":136.27,"high":137.93,"low":136.22,"volume":20210956,"uOpen":137.7,"uClose":136.27,"uHigh":137.93,"uLow":136.22,"uVolume":20210956,"change":-0.81,"changePercent":-0.5909,"label":"Jul
         | 
| 56 | 
            +
                    17","changeOverTime":-0.011462},{"date":"2019-07-18","open":135.55,"close":136.42,"high":136.62,"low":134.67,"volume":30808707,"uOpen":135.55,"uClose":136.42,"uHigh":136.62,"uLow":134.67,"uVolume":30808707,"change":0.15,"changePercent":0.1101,"label":"Jul
         | 
| 57 | 
            +
                    18","changeOverTime":-0.010374},{"date":"2019-07-19","open":140.22,"close":136.62,"high":140.67,"low":136.45,"volume":48992364,"uOpen":140.22,"uClose":136.62,"uHigh":140.67,"uLow":136.45,"uVolume":48992364,"change":0.2,"changePercent":0.1466,"label":"Jul
         | 
| 58 | 
            +
                    19","changeOverTime":-0.008923},{"date":"2019-07-22","open":137.41,"close":138.43,"high":139.19,"low":137.33,"volume":25080760,"uOpen":137.41,"uClose":138.43,"uHigh":139.19,"uLow":137.33,"uVolume":25080760,"change":1.81,"changePercent":1.3248,"label":"Jul
         | 
| 59 | 
            +
                    22","changeOverTime":0.004207},{"date":"2019-07-23","open":139.76,"close":139.29,"high":139.99,"low":138.03,"volume":18034589,"uOpen":139.76,"uClose":139.29,"uHigh":139.99,"uLow":138.03,"uVolume":18034589,"change":0.86,"changePercent":0.6213,"label":"Jul
         | 
| 60 | 
            +
                    23","changeOverTime":0.010446},{"date":"2019-07-24","open":138.9,"close":140.72,"high":140.74,"low":138.85,"volume":20738275,"uOpen":138.9,"uClose":140.72,"uHigh":140.74,"uLow":138.85,"uVolume":20738275,"change":1.43,"changePercent":1.0266,"label":"Jul
         | 
| 61 | 
            +
                    24","changeOverTime":0.02082},{"date":"2019-07-25","open":140.43,"close":140.19,"high":140.61,"low":139.32,"volume":18356883,"uOpen":140.43,"uClose":140.19,"uHigh":140.61,"uLow":139.32,"uVolume":18356883,"change":-0.53,"changePercent":-0.3766,"label":"Jul
         | 
| 62 | 
            +
                    25","changeOverTime":0.016975},{"date":"2019-07-26","open":140.37,"close":141.34,"high":141.67,"low":140.3,"volume":19037600,"uOpen":140.37,"uClose":141.34,"uHigh":141.67,"uLow":140.3,"uVolume":19037600,"change":1.15,"changePercent":0.8203,"label":"Jul
         | 
| 63 | 
            +
                    26","changeOverTime":0.025317},{"date":"2019-07-29","open":141.5,"close":141.03,"high":141.51,"low":139.36,"volume":16605870,"uOpen":141.5,"uClose":141.03,"uHigh":141.51,"uLow":139.36,"uVolume":16605870,"change":-0.31,"changePercent":-0.2193,"label":"Jul
         | 
| 64 | 
            +
                    29","changeOverTime":0.023069},{"date":"2019-07-30","open":140.14,"close":140.35,"high":141.21,"low":139.8,"volume":16846528,"uOpen":140.14,"uClose":140.35,"uHigh":141.21,"uLow":139.8,"uVolume":16846528,"change":-0.68,"changePercent":-0.4822,"label":"Jul
         | 
| 65 | 
            +
                    30","changeOverTime":0.018136},{"date":"2019-07-31","open":140.33,"close":136.27,"high":140.49,"low":135.08,"volume":38598786,"uOpen":140.33,"uClose":136.27,"uHigh":140.49,"uLow":135.08,"uVolume":38598786,"change":-4.08,"changePercent":-2.907,"label":"Jul
         | 
| 66 | 
            +
                    31","changeOverTime":-0.011462},{"date":"2019-08-01","open":137,"close":138.06,"high":140.93,"low":136.93,"volume":40557502,"uOpen":137,"uClose":138.06,"uHigh":140.93,"uLow":136.93,"uVolume":40557502,"change":1.79,"changePercent":1.3136,"label":"Aug
         | 
| 67 | 
            +
                    1","changeOverTime":0.001523},{"date":"2019-08-02","open":138.09,"close":136.9,"high":138.32,"low":135.26,"volume":30791624,"uOpen":138.09,"uClose":136.9,"uHigh":138.32,"uLow":135.26,"uVolume":30791624,"change":-1.16,"changePercent":-0.8402,"label":"Aug
         | 
| 68 | 
            +
                    2","changeOverTime":-0.006892},{"date":"2019-08-05","open":133.3,"close":132.21,"high":133.92,"low":130.78,"volume":42749551,"uOpen":133.3,"uClose":132.21,"uHigh":133.92,"uLow":130.78,"uVolume":42749551,"change":-4.69,"changePercent":-3.4259,"label":"Aug
         | 
| 69 | 
            +
                    5","changeOverTime":-0.040914},{"date":"2019-08-06","open":133.8,"close":134.69,"high":135.68,"low":133.21,"volume":32696651,"uOpen":133.8,"uClose":134.69,"uHigh":135.68,"uLow":133.21,"uVolume":32696651,"change":2.48,"changePercent":1.8758,"label":"Aug
         | 
| 70 | 
            +
                    6","changeOverTime":-0.022923},{"date":"2019-08-07","open":133.79,"close":135.28,"high":135.65,"low":131.82,"volume":33414539,"uOpen":133.79,"uClose":135.28,"uHigh":135.65,"uLow":131.82,"uVolume":33414539,"change":0.59,"changePercent":0.438,"label":"Aug
         | 
| 71 | 
            +
                    7","changeOverTime":-0.018643},{"date":"2019-08-08","open":136.6,"close":138.89,"high":138.99,"low":135.93,"volume":27496508,"uOpen":136.6,"uClose":138.89,"uHigh":138.99,"uLow":135.93,"uVolume":27496508,"change":3.61,"changePercent":2.6685,"label":"Aug
         | 
| 72 | 
            +
                    8","changeOverTime":0.007544},{"date":"2019-08-09","open":138.61,"close":137.71,"high":139.38,"low":136.46,"volume":23466701,"uOpen":138.61,"uClose":137.71,"uHigh":139.38,"uLow":136.46,"uVolume":23466701,"change":-1.18,"changePercent":-0.8496,"label":"Aug
         | 
| 73 | 
            +
                    9","changeOverTime":-0.001016}]'
         | 
| 74 | 
            +
                http_version:
         | 
| 75 | 
            +
              recorded_at: Sat, 10 Aug 2019 15:56:34 GMT
         | 
| 76 | 
            +
            recorded_with: VCR 5.0.0
         | 
| @@ -0,0 +1,49 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            http_interactions:
         | 
| 3 | 
            +
            - request:
         | 
| 4 | 
            +
                method: get
         | 
| 5 | 
            +
                uri: https://cloud.iexapis.com/v1/stock/INVALID/income?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 | 
            +
                  User-Agent:
         | 
| 13 | 
            +
                  - IEX Ruby Client/1.1.1
         | 
| 14 | 
            +
                  Accept-Encoding:
         | 
| 15 | 
            +
                  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
         | 
| 16 | 
            +
              response:
         | 
| 17 | 
            +
                status:
         | 
| 18 | 
            +
                  code: 404
         | 
| 19 | 
            +
                  message: Not Found
         | 
| 20 | 
            +
                headers:
         | 
| 21 | 
            +
                  Server:
         | 
| 22 | 
            +
                  - nginx
         | 
| 23 | 
            +
                  Date:
         | 
| 24 | 
            +
                  - Fri, 31 Jan 2020 23:27:10 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=8a37f605f30c430cbacbe804d3c9816f; Max-Age=43200; Path=/; Expires=Sat,
         | 
| 33 | 
            +
                    01 Feb 2020 11:27:10 GMT
         | 
| 34 | 
            +
                  Strict-Transport-Security:
         | 
| 35 | 
            +
                  - max-age=15768000
         | 
| 36 | 
            +
                  Access-Control-Allow-Origin:
         | 
| 37 | 
            +
                  - "*"
         | 
| 38 | 
            +
                  Access-Control-Allow-Credentials:
         | 
| 39 | 
            +
                  - 'true'
         | 
| 40 | 
            +
                  Access-Control-Allow-Methods:
         | 
| 41 | 
            +
                  - GET, OPTIONS
         | 
| 42 | 
            +
                  Access-Control-Allow-Headers:
         | 
| 43 | 
            +
                  - Origin, X-Requested-With, Content-Type, Accept
         | 
| 44 | 
            +
                body:
         | 
| 45 | 
            +
                  encoding: ASCII-8BIT
         | 
| 46 | 
            +
                  string: Unknown symbol
         | 
| 47 | 
            +
                http_version:
         | 
| 48 | 
            +
              recorded_at: Fri, 31 Jan 2020 23:27:10 GMT
         | 
| 49 | 
            +
            recorded_with: VCR 5.0.0
         | 
| @@ -0,0 +1,53 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            http_interactions:
         | 
| 3 | 
            +
              - request:
         | 
| 4 | 
            +
                  method: get
         | 
| 5 | 
            +
                  uri: https://cloud.iexapis.com/v1/stock/MSFT/income?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 | 
            +
                    User-Agent:
         | 
| 13 | 
            +
                      - IEX Ruby Client/1.0.1
         | 
| 14 | 
            +
                    Accept-Encoding:
         | 
| 15 | 
            +
                      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
         | 
| 16 | 
            +
                response:
         | 
| 17 | 
            +
                  status:
         | 
| 18 | 
            +
                    code: 200
         | 
| 19 | 
            +
                    message: OK
         | 
| 20 | 
            +
                  headers:
         | 
| 21 | 
            +
                    Server:
         | 
| 22 | 
            +
                      - nginx
         | 
| 23 | 
            +
                    Date:
         | 
| 24 | 
            +
                      - Mon, 08 Jul 2019 04:53:26 GMT
         | 
| 25 | 
            +
                    Content-Type:
         | 
| 26 | 
            +
                      - application/json; charset=utf-8
         | 
| 27 | 
            +
                    Transfer-Encoding:
         | 
| 28 | 
            +
                      - chunked
         | 
| 29 | 
            +
                    Connection:
         | 
| 30 | 
            +
                      - keep-alive
         | 
| 31 | 
            +
                    Set-Cookie:
         | 
| 32 | 
            +
                      - ctoken=153fb65c56854cf995c8112a5cd5f554; Max-Age=43200; Path=/; Expires=Mon,
         | 
| 33 | 
            +
                        08 Jul 2019 16:53:26 GMT
         | 
| 34 | 
            +
                    Iexcloud-Messages-Used:
         | 
| 35 | 
            +
                      - "1000"
         | 
| 36 | 
            +
                    X-Content-Type-Options:
         | 
| 37 | 
            +
                      - nosniff
         | 
| 38 | 
            +
                    Strict-Transport-Security:
         | 
| 39 | 
            +
                      - max-age=15768000
         | 
| 40 | 
            +
                    Access-Control-Allow-Origin:
         | 
| 41 | 
            +
                      - "*"
         | 
| 42 | 
            +
                    Access-Control-Allow-Credentials:
         | 
| 43 | 
            +
                      - "true"
         | 
| 44 | 
            +
                    Access-Control-Allow-Methods:
         | 
| 45 | 
            +
                      - GET, OPTIONS
         | 
| 46 | 
            +
                    Access-Control-Allow-Headers:
         | 
| 47 | 
            +
                      - Origin, X-Requested-With, Content-Type, Accept
         | 
| 48 | 
            +
                  body:
         | 
| 49 | 
            +
                    encoding: ASCII-8BIT
         | 
| 50 | 
            +
                    string: '{"symbol":"MSFT","income":[{"reportDate":"2019-03-31","totalRevenue":30505000000,"costOfRevenue":10170000000,"grossProfit":20335000000,"researchAndDevelopment":4316000000,"sellingGeneralAndAdmin":5744000000,"operatingExpense":20230000000,"operatingIncome":10275000000,"otherIncomeExpenseNet":211000000,"ebit":10275000000,"interestIncome":671000000,"pretaxIncome":10486000000,"incomeTax":1677000000,"minorityInterest":0,"netIncome":8809000000,"netIncomeBasic":8809000000}]}'
         | 
| 51 | 
            +
                  http_version:
         | 
| 52 | 
            +
                recorded_at: Mon, 08 Jul 2019 04:53:26 GMT
         | 
| 53 | 
            +
            recorded_with: VCR 4.0.0
         | 
| @@ -0,0 +1,55 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            http_interactions:
         | 
| 3 | 
            +
            - request:
         | 
| 4 | 
            +
                method: get
         | 
| 5 | 
            +
                uri: https://cloud.iexapis.com/v1/stock/nsrgy/income?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 | 
            +
                  User-Agent:
         | 
| 13 | 
            +
                  - IEX Ruby Client/1.1.1
         | 
| 14 | 
            +
                  Accept-Encoding:
         | 
| 15 | 
            +
                  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
         | 
| 16 | 
            +
              response:
         | 
| 17 | 
            +
                status:
         | 
| 18 | 
            +
                  code: 200
         | 
| 19 | 
            +
                  message: OK
         | 
| 20 | 
            +
                headers:
         | 
| 21 | 
            +
                  Server:
         | 
| 22 | 
            +
                  - nginx
         | 
| 23 | 
            +
                  Date:
         | 
| 24 | 
            +
                  - Fri, 31 Jan 2020 23:24:06 GMT
         | 
| 25 | 
            +
                  Content-Type:
         | 
| 26 | 
            +
                  - application/json; charset=utf-8
         | 
| 27 | 
            +
                  Content-Length:
         | 
| 28 | 
            +
                  - '2'
         | 
| 29 | 
            +
                  Connection:
         | 
| 30 | 
            +
                  - keep-alive
         | 
| 31 | 
            +
                  Set-Cookie:
         | 
| 32 | 
            +
                  - ctoken=89c0198f95cf496092454e8c8afc0d4a; Max-Age=43200; Path=/; Expires=Sat,
         | 
| 33 | 
            +
                    01 Feb 2020 11:24:06 GMT
         | 
| 34 | 
            +
                  Iexcloud-Messages-Used:
         | 
| 35 | 
            +
                  - '0'
         | 
| 36 | 
            +
                  Iexcloud-Premium-Messages-Used:
         | 
| 37 | 
            +
                  - '0'
         | 
| 38 | 
            +
                  X-Content-Type-Options:
         | 
| 39 | 
            +
                  - nosniff
         | 
| 40 | 
            +
                  Strict-Transport-Security:
         | 
| 41 | 
            +
                  - max-age=15768000
         | 
| 42 | 
            +
                  Access-Control-Allow-Origin:
         | 
| 43 | 
            +
                  - "*"
         | 
| 44 | 
            +
                  Access-Control-Allow-Credentials:
         | 
| 45 | 
            +
                  - 'true'
         | 
| 46 | 
            +
                  Access-Control-Allow-Methods:
         | 
| 47 | 
            +
                  - GET, OPTIONS
         | 
| 48 | 
            +
                  Access-Control-Allow-Headers:
         | 
| 49 | 
            +
                  - Origin, X-Requested-With, Content-Type, Accept
         | 
| 50 | 
            +
                body:
         | 
| 51 | 
            +
                  encoding: UTF-8
         | 
| 52 | 
            +
                  string: "{}"
         | 
| 53 | 
            +
                http_version:
         | 
| 54 | 
            +
              recorded_at: Fri, 31 Jan 2020 23:24:06 GMT
         | 
| 55 | 
            +
            recorded_with: VCR 5.0.0
         |