class Trader::TransactionEvent

Attributes

forced_pair[R]

Public Class Methods

new(_raw, _forced_pair = nil) click to toggle source
# File lib/trade-o-matic/core/transaction_event.rb, line 3
def initialize(_raw, _forced_pair = nil)
  @raw = _raw
  @forced_pair = _forced_pair
end

Public Instance Methods

convert_to(_pair, _quote=nil) click to toggle source
# File lib/trade-o-matic/core/transaction_event.rb, line 8
def convert_to(_pair, _quote=nil)
  forced_pair = CurrencyPair.for_code _pair, _quote
  return self if forced_pair == pair
  self.class.new @raw, forced_pair
end
direction() click to toggle source
# File lib/trade-o-matic/core/transaction_event.rb, line 26
def direction
  @raw[:direction]
end
original_pair() click to toggle source
# File lib/trade-o-matic/core/transaction_event.rb, line 18
def original_pair
  @raw[:pair]
end
pair() click to toggle source
# File lib/trade-o-matic/core/transaction_event.rb, line 14
def pair
  forced_pair || original_pair
end
price() click to toggle source
# File lib/trade-o-matic/core/transaction_event.rb, line 30
def price
  convert_quote original_pair.quote.pack @raw[:price]
end
timestamp() click to toggle source
# File lib/trade-o-matic/core/transaction_event.rb, line 22
def timestamp
  @raw[:ts]
end
volume() click to toggle source
# File lib/trade-o-matic/core/transaction_event.rb, line 34
def volume
  convert_base original_pair.quote.pack @raw[:volume]
end

Private Instance Methods

convert_base(_price) click to toggle source
# File lib/trade-o-matic/core/transaction_event.rb, line 42
def convert_base(_price)
  return _price if forced_pair.nil?
  _price.convert_to forced_pair.base
end
convert_quote(_price) click to toggle source
# File lib/trade-o-matic/core/transaction_event.rb, line 47
def convert_quote(_price)
  return _price if forced_pair.nil?
  _price.convert_to forced_pair.quote
end