module Abot::Info
Constants
- VERSION
Public Class Methods
run()
click to toggle source
# File lib/abot/info.rb, line 18 def run Info::OptionParser.instance do |parser| parser.program_name = 'abot-info' parser.version = Abot::Info::VERSION parser.separator '' parser.separator 'Application options:' parser.add_option( :template, '--template=TEMPLATE', 'Шаблон (default || mobile)', ) parser.add_option( :add, '--add=COLUMN1,COLUMN2,COLUMN3', "Добавить колонки:\n" \ " name: Названия монет\n" \ " name_mobile: Название монет(без изменения по дню)\n" \ " sell_up: Прибыль со сделки\n" \ " sell_price: Цена продажи\n" \ " max_price: Максимальная цена за 24ч.\n" \ " min_price: Минимальная цена за 24ч.\n" \ " current_price: Текущая цена\n" \ " next_average_price: Цена следующего усреднения\n" \ " current_quote: Текущая стоимость позиции, $\n" \ " buy_date: Дата покупки\n" \ " timer: Время с покупки\n" \ " current_profit: Текущая прибыль\n" \ " potential_profit: Потенциальная прибыль\n", " current_price_perc_of_order: Текущая цена (подсчет процента от ордера за продажу)\n" \ " max_price_perc_of_order: Максимальная цена за 24ч (подсчет процента от ордера за продажу)\n" \ ) parser.add_option( :del, '--del=COLUMN1,COLUMN2,COLUMN3', "Удалить колонки:\n" \ " name: Названия монет\n" \ " name_mobile: Название монет(без изменения по дню)\n" \ " sell_up: Прибыль со сделки\n" \ " sell_price: Цена продажи\n" \ " max_price: Максимальная цена за 24ч.\n" \ " min_price: Минимальная цена за 24ч.\n" \ " current_price: Текущая цена\n" \ " next_average_price: Цена следующего усреднения\n" \ " current_quote: Текущая стоимость позиции, $\n" \ " buy_date: Дата покупки\n" \ " timer: Время с покупки\n" \ " current_profit: Текущая прибыль\n" \ " potential_profit: Потенциальная прибыль\n", " current_price_perc_of_order: Текущая цена (подсчет процента от ордера за продажу)\n" \ " max_price_perc_of_order: Максимальная цена за 24ч (подсчет процента от ордера за продажу)\n" ) parser.add_option( :db_path, '--db_path=DB_PATH', 'Абсолютный путь до базы A-bot', required: true ) parser.add_option( :symbols, '--symbols=SYMBOL1,SYMBOL2,SYMBOL3', 'Пары для отображения курсов', ) end.final! require_relative 'info/database_table' start_stats({ rate_coins: rate_coins, columns: columns }) end
start_stats(opts)
click to toggle source
# File lib/abot/info.rb, line 84 def start_stats(opts) while true do begin table = Table.new(opts.merge({ account: binance_account })).generate system 'clear' puts table rescue StandardError => e puts "ERROR: #{e.message}" end sleep 10 end end
Private Class Methods
binance_account()
click to toggle source
# File lib/abot/info.rb, line 125 def binance_account BinanceAccount.new(DatabaseTable::API_KEY, DatabaseTable::SECRET_KEY) end
columns()
click to toggle source
# File lib/abot/info.rb, line 109 def columns add = Info::OptionParser.instance.options[:add]&.split(',')&.map { |m| m.to_sym } || [] del = Info::OptionParser.instance.options[:del]&.split(',')&.map { |m| m.to_sym } || [] columns = case template when 'default' Table::HEADINGS_COINS_TABLE_DEFAULT when 'mobile' Table::HEADINGS_COINS_TABLE_MOBILE else [] end columns += add columns -= del Table.last_columns_set(columns) end
rate_coins()
click to toggle source
# File lib/abot/info.rb, line 101 def rate_coins @rate_coins ||= Info::OptionParser.instance.options[:symbols]&.split(',') || [] end
template()
click to toggle source
# File lib/abot/info.rb, line 105 def template @template ||= Info::OptionParser.instance.options[:template] end