class Fasten::UI::Console
Attributes
runner[RW]
Public Class Methods
new(runner:)
click to toggle source
# File lib/fasten/ui/console.rb, line 13 def initialize(runner:) @runner = runner @old_done = [] @old_failed = [] end
Public Instance Methods
cleanup()
click to toggle source
# File lib/fasten/ui/console.rb, line 39 def cleanup puts '========== ========= ======== ======= ====== ===== ==== === == =' @setup_done = false end
force_clear()
click to toggle source
# File lib/fasten/ui/console.rb, line 44 def force_clear; end
setup()
click to toggle source
# File lib/fasten/ui/console.rb, line 19 def setup puts <<~FIN = == === ==== ===== ====== ======= ======== ========= ========== Fasten your seatbelts! #{'💺' * jobs} #{jobs} #{runner.use_threads ? 'threads' : 'processes'} #{tasks.count} tasks #{name} FIN $stdout.sync = true @setup_done = true end
update()
click to toggle source
# File lib/fasten/ui/console.rb, line 32 def update setup unless @setup_done display_task_message(tasks.done, @old_done, 'Done in') display_task_message(tasks.failed, @old_failed, 'Fail in') end
Protected Instance Methods
count_str(count, total)
click to toggle source
# File lib/fasten/ui/console.rb, line 61 def count_str(count, total) len = total.to_s.length format "%#{len}d/%#{len}d", count, total end
display_task_message(orig, old, message)
click to toggle source
# File lib/fasten/ui/console.rb, line 48 def display_task_message(orig, old, message) return unless old.count != orig.count elapsed_str = hformat Time.new - runner.ini time_str = [elapsed_str, eta_str].compact.join(' ') (orig - old).each do |task| old << task puts "#{count_str(old.count, tasks.count)} Time: #{time_str} #{message} #{hformat task.dif} #{task.worker} Task #{task}" end end
eta_str()
click to toggle source
# File lib/fasten/ui/console.rb, line 66 def eta_str @eta_str ||= begin @runner_last_avg = runner.last_avg if runner.last_avg && runner.last_err format 'ETA ≈ %s ± %.2f', hformat(runner.last_avg), runner.last_err elsif runner.last_avg format 'ETA ≈ %s', hformat(runner.last_avg) end end end