Class: OandaAPI::Client::TokenClient

Inherits:
Object
  • Object
show all
Includes:
OandaAPI::Client
Defined in:
lib/oanda_api/client/token_client.rb

Overview

Makes requests to the API. Instances access Oanda's practice or live environments. Most API methods require an account API token to perform requests in the associated environment. See the Oanda Development Guide for information about obtaining a personal access token from Oanda.

Examples:

Example usage

client = OandaAPI::Client::TokenClient.new :practice, ENV.fetch("OANDA_PRACTICE_TOKEN")

# Get information for an account.
# See http://developer.oanda.com/rest-live/accounts/
 = client.accounts.get.first   # => OandaAPI::Resource::Account

# Get a list of open positions.
# See http://developer.oanda.com/rest-live/positions/
positions = client.(.id)
                  .positions.get      # => OandaAPI::ResourceCollection

Constant Summary

Constants included from OandaAPI::Client

BASE_URI

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from OandaAPI::Client

#api_uri, #execute_request, last_throttled_at, map_method_to_http_verb, #proc, throttle_request_rate

Constructor Details

#initialize(domain, auth_token) ⇒ TokenClient


45
46
47
48
49
50
51
# File 'lib/oanda_api/client/token_client.rb', line 45

def initialize(domain, auth_token)
  super()
  @auth_token = auth_token
  @default_params = {}
  self.domain = domain
  @headers = auth
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class OandaAPI::Client

Instance Attribute Details

#auth_tokenString (readonly)


37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/oanda_api/client/token_client.rb', line 37

class TokenClient
  include Client

  attr_reader :auth_token
  attr_accessor :domain, :default_params, :headers

  # @param [Symbol] domain see {#domain}
  # @param [String] auth_token see {#auth_token}
  def initialize(domain, auth_token)
    super()
    @auth_token = auth_token
    @default_params = {}
    self.domain = domain
    @headers = auth
  end

  # Parameters used for authentication.
  # @return [Hash]
  def auth
    { "Authorization" => "Bearer #{auth_token}" }
  end

  # @private
  # Sets the domain the client can access. (Testing convenience only).
  # @return [void]
  def domain=(value)
    fail ArgumentError, "Invalid domain" unless OandaAPI::DOMAINS.include? value
    @domain = value
  end
end

#default_paramsHash


37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/oanda_api/client/token_client.rb', line 37

class TokenClient
  include Client

  attr_reader :auth_token
  attr_accessor :domain, :default_params, :headers

  # @param [Symbol] domain see {#domain}
  # @param [String] auth_token see {#auth_token}
  def initialize(domain, auth_token)
    super()
    @auth_token = auth_token
    @default_params = {}
    self.domain = domain
    @headers = auth
  end

  # Parameters used for authentication.
  # @return [Hash]
  def auth
    { "Authorization" => "Bearer #{auth_token}" }
  end

  # @private
  # Sets the domain the client can access. (Testing convenience only).
  # @return [void]
  def domain=(value)
    fail ArgumentError, "Invalid domain" unless OandaAPI::DOMAINS.include? value
    @domain = value
  end
end

#domainSymbol


37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/oanda_api/client/token_client.rb', line 37

class TokenClient
  include Client

  attr_reader :auth_token
  attr_accessor :domain, :default_params, :headers

  # @param [Symbol] domain see {#domain}
  # @param [String] auth_token see {#auth_token}
  def initialize(domain, auth_token)
    super()
    @auth_token = auth_token
    @default_params = {}
    self.domain = domain
    @headers = auth
  end

  # Parameters used for authentication.
  # @return [Hash]
  def auth
    { "Authorization" => "Bearer #{auth_token}" }
  end

  # @private
  # Sets the domain the client can access. (Testing convenience only).
  # @return [void]
  def domain=(value)
    fail ArgumentError, "Invalid domain" unless OandaAPI::DOMAINS.include? value
    @domain = value
  end
end

#headersHash


37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/oanda_api/client/token_client.rb', line 37

class TokenClient
  include Client

  attr_reader :auth_token
  attr_accessor :domain, :default_params, :headers

  # @param [Symbol] domain see {#domain}
  # @param [String] auth_token see {#auth_token}
  def initialize(domain, auth_token)
    super()
    @auth_token = auth_token
    @default_params = {}
    self.domain = domain
    @headers = auth
  end

  # Parameters used for authentication.
  # @return [Hash]
  def auth
    { "Authorization" => "Bearer #{auth_token}" }
  end

  # @private
  # Sets the domain the client can access. (Testing convenience only).
  # @return [void]
  def domain=(value)
    fail ArgumentError, "Invalid domain" unless OandaAPI::DOMAINS.include? value
    @domain = value
  end
end

Instance Method Details

#authHash

Parameters used for authentication.


55
56
57
# File 'lib/oanda_api/client/token_client.rb', line 55

def auth
  { "Authorization" => "Bearer #{auth_token}" }
end