class CoinSync::Importers::BinanceAPI::HistoryEntry
Attributes
asset[RW]
buyer[RW]
commission[RW]
commission_asset[RW]
currency[RW]
price[RW]
quantity[RW]
time[RW]
Public Class Methods
new(hash)
click to toggle source
# File lib/coinsync/importers/binance_api.rb, line 25 def initialize(hash) @quantity = BigDecimal.new(hash['qty']) @commission = BigDecimal.new(hash['commission']) @commission_asset = CryptoCurrency.new(hash['commissionAsset']) @price = BigDecimal.new(hash['price']) @time = Time.at(hash['time'] / 1000) @buyer = hash['isBuyer'] @asset, @currency = parse_coins(hash['symbol']) if (@buyer && @commission_asset != @asset) || (!@buyer && @commission_asset != @currency) raise "Binance API: Unexpected fee: #{hash}" end end
Public Instance Methods
parse_coins(symbol)
click to toggle source
# File lib/coinsync/importers/binance_api.rb, line 40 def parse_coins(symbol) BASE_COINS.each do |coin| if symbol.end_with?(coin) asset = symbol.gsub(/#{coin}$/, '') return [CryptoCurrency.new(asset), CryptoCurrency.new(coin)] end end raise "Binance API: Unexpected trade symbol: #{symbol}" end