Class: QuestradeApi::Client
- Inherits:
-
Object
- Object
- QuestradeApi::Client
- Defined in:
- lib/questrade_api/client.rb
Overview
Instance Attribute Summary collapse
-
#authorization ⇒ Object
readonly
Returns the value of attribute authorization.
Instance Method Summary collapse
-
#accounts ⇒ Array<QuestradeApi::REST::Account>
Fetch all accounts associated with user.
- #activities(account_id, params = {}) ⇒ Object
-
#balances(account_id) ⇒ OpenStruct(per_currency_balances)
Fetch all balances associated with account.
- #candles(symbol_id, params) ⇒ Object
- #executions(account_id, params = {}) ⇒ Object
-
#initialize(params = {}, mode = :practice) ⇒ Client
constructor
A new instance of Client.
- #markets ⇒ Object
- #orders(account_id, params = {}) ⇒ Object
-
#positions(account_id) ⇒ Array<QuestradeApi::REST::Position>
Fetch all positions associated with account.
- #quote(id) ⇒ Object
- #quotes(ids) ⇒ Object
-
#refresh_token ⇒ Object
Fetches a new access_token.
- #search_symbols(params) ⇒ Object
- #symbol_options(symbol_id) ⇒ Object
- #symbols(params) ⇒ Object
-
#time ⇒ DateTime?
Fetch current server time.
Constructor Details
#initialize(params = {}, mode = :practice) ⇒ Client
Returns a new instance of Client.
22 23 24 25 |
# File 'lib/questrade_api/client.rb', line 22 def initialize(params = {}, mode = :practice) @authorization = QuestradeApi::Authorization.new(params, mode) refresh_token if refresh_token? end |
Instance Attribute Details
#authorization ⇒ Object (readonly)
Returns the value of attribute authorization.
19 20 21 |
# File 'lib/questrade_api/client.rb', line 19 def @authorization end |
Instance Method Details
#accounts ⇒ Array<QuestradeApi::REST::Account>
Fetch all accounts associated with user.
46 47 48 |
# File 'lib/questrade_api/client.rb', line 46 def accounts QuestradeApi::REST::Account.all(@authorization).accounts end |
#activities(account_id, params = {}) ⇒ Object
72 73 74 |
# File 'lib/questrade_api/client.rb', line 72 def activities(account_id, params = {}) QuestradeApi::REST::Activity.all(@authorization, account_id, params) end |
#balances(account_id) ⇒ OpenStruct(per_currency_balances)
Fetch all balances associated with account.
64 65 66 |
# File 'lib/questrade_api/client.rb', line 64 def balances(account_id) QuestradeApi::REST::Balance.all(@authorization, account_id) end |
#candles(symbol_id, params) ⇒ Object
105 106 107 |
# File 'lib/questrade_api/client.rb', line 105 def candles(symbol_id, params) QuestradeApi::REST::Candle.all(@authorization, symbol_id, params) end |
#executions(account_id, params = {}) ⇒ Object
68 69 70 |
# File 'lib/questrade_api/client.rb', line 68 def executions(account_id, params = {}) QuestradeApi::REST::Execution.all(@authorization, account_id, params) end |
#markets ⇒ Object
80 81 82 |
# File 'lib/questrade_api/client.rb', line 80 def markets QuestradeApi::REST::Market.all(@authorization) end |
#orders(account_id, params = {}) ⇒ Object
76 77 78 |
# File 'lib/questrade_api/client.rb', line 76 def orders(account_id, params = {}) QuestradeApi::REST::Activity.all(@authorization, account_id, params) end |
#positions(account_id) ⇒ Array<QuestradeApi::REST::Position>
Fetch all positions associated with account.
55 56 57 |
# File 'lib/questrade_api/client.rb', line 55 def positions(account_id) QuestradeApi::REST::Position.all(@authorization, account_id).positions end |
#quote(id) ⇒ Object
96 97 98 99 100 101 102 103 |
# File 'lib/questrade_api/client.rb', line 96 def quote(id) quote = QuestradeApi::REST::Quote.new(authorization: @authorization, id: id) quote.get quote end |
#quotes(ids) ⇒ Object
92 93 94 |
# File 'lib/questrade_api/client.rb', line 92 def quotes(ids) QuestradeApi::REST::Quote.all(@authorization, ids) end |
#refresh_token ⇒ Object
Fetches a new access_token. (see QuestradeApi::Authorization#refresh_token)
28 29 30 |
# File 'lib/questrade_api/client.rb', line 28 def refresh_token @authorization.refresh_token end |
#search_symbols(params) ⇒ Object
88 89 90 |
# File 'lib/questrade_api/client.rb', line 88 def search_symbols(params) QuestradeApi::REST::Symbol.search(@authorization, params) end |
#symbol_options(symbol_id) ⇒ Object
109 110 111 |
# File 'lib/questrade_api/client.rb', line 109 def (symbol_id) QuestradeApi::REST::Option.all(@authorization, symbol_id) end |
#symbols(params) ⇒ Object
84 85 86 |
# File 'lib/questrade_api/client.rb', line 84 def symbols(params) QuestradeApi::REST::Symbol.all(@authorization, params) end |
#time ⇒ DateTime?
Fetch current server time.
36 37 38 39 40 41 |
# File 'lib/questrade_api/client.rb', line 36 def time time = QuestradeApi::REST::Time.new(@authorization) time.get time.data && time.data.time end |