class QuestradeApi::REST::Position
Public Class Methods
endpoint(account_id)
click to toggle source
# File lib/questrade_api/rest/position.rb, line 27 def self.endpoint(account_id) "#{BASE_ENDPOINT}/accounts/#{account_id}/positions" end
fetch(authorization, account_number)
click to toggle source
Calls superclass method
QuestradeApi::REST::Base#fetch
# File lib/questrade_api/rest/position.rb, line 13 def self.fetch(authorization, account_number) response = super(access_token: authorization.access_token, endpoint: endpoint(account_number), url: authorization.url) result = OpenStruct.new(positions: []) if response.status == 200 result.positions = parse_positions(account_number, response.body) end result end
new(params)
click to toggle source
# File lib/questrade_api/rest/position.rb, line 6 def initialize(params) @account_id = params[:account_id] @raw_body = params[:data] build_data(params[:data]) if @raw_body end
Private Class Methods
parse_positions(account_id, body)
click to toggle source
# File lib/questrade_api/rest/position.rb, line 31 def self.parse_positions(account_id, body) raw = JSON.parse(body) positions = [] raw['positions'].each do |position| positions << new(account_id: account_id, data: position) end positions end