Sha256: 7f98cc3192111c9fb8a899f45c17791568364d80dad38668fa95e0c801d9950c

Contents?: true

Size: 741 Bytes

Versions: 4

Compression:

Stored size: 741 Bytes

Contents

require_relative 'chart/base'
require_relative 'chart/one_day'
require_relative 'chart/default'

module IEX
  module Resources
    module Chart
      def self.get(symbol, range = nil, options = {})
        response = IEX::Api::Chart.get(symbol, range, options)
        if range && range.to_s == 'dynamic'
          range = response['range']
          response = response['data']
        end
        response.map do |data|
          case range
          when '1d', Date, DateTime
            Chart::OneDay.new data
          else
            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

4 entries across 4 versions & 1 rubygems

Version Path
iex-ruby-client-0.3.3 lib/iex/resources/chart.rb
iex-ruby-client-0.3.2 lib/iex/resources/chart.rb
iex-ruby-client-0.3.1 lib/iex/resources/chart.rb
iex-ruby-client-0.3.0 lib/iex/resources/chart.rb