Module: OandaApiV20::Transactions

Included in:
Api
Defined in:
lib/oanda_api_v20/transactions.rb

Instance Method Summary collapse

Instance Method Details

#transaction(id) ⇒ Object

GET /v3/accounts/:account_id/transactions/:transaction_id



5
6
7
# File 'lib/oanda_api_v20/transactions.rb', line 5

def transaction(id)
  Client.send(http_verb, "#{base_uri}/accounts/#{account_id}/transactions/#{id}", headers: headers)
end

#transactions(options = {}) ⇒ Object

GET /v3/accounts/:account_id/transactions



10
11
12
# File 'lib/oanda_api_v20/transactions.rb', line 10

def transactions(options = {})
  Client.send(http_verb, "#{base_uri}/accounts/#{account_id}/transactions", headers: headers, query: options)
end

#transactions_id_range(options) ⇒ Object

GET /v3/accounts/:account_id/transactions/idrange



15
16
17
# File 'lib/oanda_api_v20/transactions.rb', line 15

def transactions_id_range(options)
  Client.send(http_verb, "#{base_uri}/accounts/#{account_id}/transactions/idrange", headers: headers, query: options)
end

#transactions_since_id(options) ⇒ Object

GET /v3/accounts/:account_id/transactions/sinceid



20
21
22
# File 'lib/oanda_api_v20/transactions.rb', line 20

def transactions_since_id(options)
  Client.send(http_verb, "#{base_uri}/accounts/#{account_id}/transactions/sinceid", headers: headers, query: options)
end

#transactions_stream(options = {}, &block) ⇒ Object

GET /v3/accounts/:account_id/transactions/stream



25
26
27
28
29
30
31
32
33
34
# File 'lib/oanda_api_v20/transactions.rb', line 25

def transactions_stream(options = {}, &block)
  buffer = String.new

  Client.send(http_verb, "#{base_uri}/accounts/#{account_id}/transactions/stream", headers: headers, query: options, stream_body: true) do |fragment|
    if !fragment.empty?
      buffer << fragment
      parse(buffer, fragment, &block) if fragment.match(/\n\Z/)
    end
  end
end