Sha256: 59456d89c90f1df6fc7785ca23a6c576fdfff4cb606a51466b384c7d16e6125b
Contents?: true
Size: 1 KB
Versions: 1
Compression:
Stored size: 1 KB
Contents
module IEX module Endpoints module Chart def chart(symbol, range = nil, options = {}) url = [ 'stock', symbol, 'chart', range && range.respond_to?(:strftime) ? "date/#{range.strftime('%Y%m%d')}" : range ].compact.join('/') params = {} options&.each_pair do |k, v| k = k.to_s.split('_').map(&:capitalize).join.sub(/^[A-Z]/, &:downcase) params[k.to_sym] = v end response = get(url, params) if range && range.to_s == 'dynamic' range = response['range'] response = response['data'] end response.map do |data| case range when '1d', Date, DateTime IEX::Resources::Chart::OneDay.new data else IEX::Resources::Chart::Default.new data end end rescue Faraday::ResourceNotFound => e raise IEX::Errors::SymbolNotFoundError.new(symbol, e.response[:body]) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
iex-ruby-client-1.1.0 | lib/iex/endpoints/chart.rb |