class QuestradeApi::REST::Option

Public Class Methods

endpoint(symbol_id) click to toggle source
# File lib/questrade_api/rest/option.rb, line 25
def self.endpoint(symbol_id)
  "#{BASE_ENDPOINT}/symbol/#{symbol_id}/options"
end
fetch(authorization, symbol_id) click to toggle source
Calls superclass method QuestradeApi::REST::Base#fetch
# File lib/questrade_api/rest/option.rb, line 11
def self.fetch(authorization, symbol_id)
  response = super(access_token: authorization.access_token,
                   endpoint: endpoint(symbol_id),
                   url: authorization.url)

  if response.status == 200
    result = OpenStruct.new(options: [])
    result.options = parse_options(response.body)
    response = result
  end

  response
end
new(params) click to toggle source
# File lib/questrade_api/rest/option.rb, line 6
def initialize(params)
  @raw_body = params[:data]
  build_data(params[:data]) if @raw_body
end

Private Class Methods

parse_options(body) click to toggle source
# File lib/questrade_api/rest/option.rb, line 29
def self.parse_options(body)
  raw = JSON.parse(body)

  options = []

  raw['options'].each do |option|
    options << new(data: option)
  end

  options
end