Class: Devilicious::Formatter::Table

Inherits:
Base
  • Object
show all
Defined in:
lib/devilicious/formatters/table.rb

Instance Method Summary collapse

Methods inherited from Base

inherited, #to_s

Instance Method Details

#output(opportunity) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/devilicious/formatters/table.rb', line 4

def output(opportunity)
  pair = [opportunity.order_book_1.market, " to ", opportunity.order_book_2.market, " " * 4].map(&:to_s).join
  @best_trades ||= {}
  @best_trades[pair] = opportunity

  Log.info "", timestamp: false
  Log.info "PAIR                    \tPROFIT       \tVOLUME \tBUY          \tSELL        \tPERCENT", timestamp: false
  @best_trades.sort_by { |_, opportunity| opportunity.profit }.each do |pair, opportunity|
    pair = pair.dup << " " * [30 - pair.size, 0].max # padding
    percent = sprintf("%.2f%%", opportunity.profit / opportunity.ask_offer.price * 100)
    Log.info [pair, opportunity.profit, opportunity.volume.to_f, opportunity.ask_offer.price, opportunity.bid_offer.price, percent].join(" \t"), timestamp: false
  end
end