module QuestradeClient
Constants
- USER_AGENT
- VERSION
Public Class Methods
login(refresh_token, practice = false)
click to toggle source
# File lib/questrade_client/client.rb, line 8 def self.login(refresh_token, practice = false) url = if practice "https://practicelogin.questrade.com/oauth2/" else "https://login.questrade.com/oauth2/" end conn = Faraday.new @endpoint do |f| f.headers[:user_agent] = QuestradeClient::USER_AGENT f.headers['Content-length'] = '0' f.response :json, content_type: /\bjson$/ f.adapter Faraday.default_adapter end endpoint = "#{url}token?grant_type=refresh_token&refresh_token=#{refresh_token}" r = conn.send(:post, endpoint) if r.success? # puts "New refresh token: #{r.body['refresh_token']}" endpoint = r.body['api_server'] token = r.body['access_token'] return Client.new(endpoint: endpoint, token: token) else # puts "Login failed!" # puts r.body return nil end end