Sha256: 00d93d59f3fe70ce4f2a247afefaf55883c9b1860b73400926a81ccc4ef2e4c4
Contents?: true
Size: 1.1 KB
Versions: 3
Compression:
Stored size: 1.1 KB
Contents
module IEX module Endpoints module HistoricalPrices def historical_prices(symbol, options = {}) if options[:range] == 'date' raise ArgumentError unless options[:date].present? raise ArgumentError unless options[:chartByDay].present? end options = options.dup # Historical prices IEX endpoint expects dates passed in a specific format - YYYYMMDD options[:date] = options[:date].strftime('%Y%m%d') if options[:date].is_a?(Date) path = "stock/#{symbol}/chart" path += "/#{options[:range]}" if options.key?(:range) path += "/#{options[:date]}" if options[:range] == 'date' # We only want options to include query params at this point, remove :range and :date options.delete(:range) options.delete(:date) (get(path, { token: publishable_token }.merge(options)) || []).map do |data| IEX::Resources::HistorialPrices.new(data) end rescue Faraday::ResourceNotFound => e raise IEX::Errors::SymbolNotFoundError.new(symbol, e.response[:body]) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
iex-ruby-client-1.5.0 | lib/iex/endpoints/historial_prices.rb |
iex-ruby-client-1.4.1 | lib/iex/endpoints/historial_prices.rb |
iex-ruby-client-1.4.0 | lib/iex/endpoints/historial_prices.rb |