class QuestradeApi::REST::Quote
Public Class Methods
endpoint()
click to toggle source
# File lib/questrade_api/rest/quote.rb, line 43 def self.endpoint "#{BASE_ENDPOINT}/markets/quotes" end
fetch(authorization, ids)
click to toggle source
Calls superclass method
QuestradeApi::REST::Base#fetch
# File lib/questrade_api/rest/quote.rb, line 24 def self.fetch(authorization, ids) response = super(access_token: authorization.access_token, endpoint: endpoint, url: authorization.url, params: { ids: ids.join(',') }) if response.status == 200 result = OpenStruct.new(quotes: []) result.quotes = parse_quotes(authorization, response.body) response = result end response end
new(params)
click to toggle source
Calls superclass method
QuestradeApi::REST::Base::new
# File lib/questrade_api/rest/quote.rb, line 6 def initialize(params) super(params[:authorization]) @id = params[:id] @raw_body = params[:data] build_data(params[:data]) if @raw_body end
Private Class Methods
parse_quotes(authorization, body)
click to toggle source
# File lib/questrade_api/rest/quote.rb, line 47 def self.parse_quotes(authorization, body) raw = JSON.parse(body) quotes = [] raw['quotes'].each do |quote| quotes << new(authorization: authorization, id: quote['symbolId'], data: quote) end quotes end
Public Instance Methods
endpoint()
click to toggle source
# File lib/questrade_api/rest/quote.rb, line 39 def endpoint self.class.endpoint + "/#{id}" end
fetch()
click to toggle source
Calls superclass method
QuestradeApi::REST::Base#fetch
# File lib/questrade_api/rest/quote.rb, line 14 def fetch response = super(endpoint: endpoint) if response.status == 200 parse_quotes(response.body) end response end
Private Instance Methods
parse_quotes(body)
click to toggle source
# File lib/questrade_api/rest/quote.rb, line 64 def parse_quotes(body) raw = JSON.parse(body) raw['quotes'].each do |quote| build_data(quote) end end