class CoinSync::Importers::Kraken::LedgerEntry

Attributes

aclass[RW]
amount[RW]
asset[RW]
balance[RW]
fee[RW]
refid[RW]
time[RW]
txid[RW]
type[RW]

Public Class Methods

from_csv(line) click to toggle source
# File lib/coinsync/importers/kraken_common.rb, line 13
def self.from_csv(line)
  entry = self.new
  entry.txid = line[0]
  entry.refid = line[1]
  entry.time = Time.parse(line[2] + " +0000")
  entry.type = line[3]
  entry.aclass = line[4]
  entry.asset = parse_currency(line[5])
  entry.amount = BigDecimal.new(line[6])
  entry.fee = BigDecimal.new(line[7])
  entry.balance = BigDecimal.new(line[8])
  entry
end
from_json(hash) click to toggle source
# File lib/coinsync/importers/kraken_common.rb, line 27
def self.from_json(hash)
  entry = self.new
  entry.refid = hash['refid']
  entry.time = Time.at(hash['time'])
  entry.type = hash['type']
  entry.aclass = hash['aclass']
  entry.asset = parse_currency(hash['asset'])
  entry.amount = BigDecimal.new(hash['amount'])
  entry.fee = BigDecimal.new(hash['fee'])
  entry.balance = BigDecimal.new(hash['balance'])
  entry
end
parse_currency(code) click to toggle source
# File lib/coinsync/importers/kraken_common.rb, line 40
def self.parse_currency(code)
  case code
  when 'BCH' then CryptoCurrency.new('BCH')
  when 'DASH' then CryptoCurrency.new('DASH')
  when 'EOS' then CryptoCurrency.new('EOS')
  when 'GNO' then CryptoCurrency.new('GNO')
  when 'KFEE' then CryptoCurrency.new('KFEE')
  when 'USDT' then CryptoCurrency.new('USDT')

  when 'XDAO' then CryptoCurrency.new('DAO')
  when 'XETC' then CryptoCurrency.new('ETC')
  when 'XETH' then CryptoCurrency.new('ETH')
  when 'XICN' then CryptoCurrency.new('ICN')
  when 'XLTC' then CryptoCurrency.new('LTC')
  when 'XMLN' then CryptoCurrency.new('MLN')
  when 'XNMC' then CryptoCurrency.new('NMC')
  when 'XREP' then CryptoCurrency.new('REP')
  when 'XXBT' then CryptoCurrency.new('BTC')
  when 'XXDG' then CryptoCurrency.new('DOGE')
  when 'XXLM' then CryptoCurrency.new('XLM')
  when 'XXMR' then CryptoCurrency.new('XMR')
  when 'XXRP' then CryptoCurrency.new('XRP')
  when 'XXVN' then CryptoCurrency.new('VEN')
  when 'XZEC' then CryptoCurrency.new('ZEC')

  when 'ZCAD' then FiatCurrency.new('CAD')
  when 'ZEUR' then FiatCurrency.new('EUR')
  when 'ZGBP' then FiatCurrency.new('GBP')
  when 'ZJPY' then FiatCurrency.new('JPY')
  when 'ZKRW' then FiatCurrency.new('KRW')
  when 'ZUSD' then FiatCurrency.new('USD')

  else raise "Unknown currency: #{code}"
  end
end

Public Instance Methods

crypto?() click to toggle source
# File lib/coinsync/importers/kraken_common.rb, line 76
def crypto?
  @asset.crypto?
end