class Fortschritt::Printer
Public Instance Methods
eol(meter)
click to toggle source
# File lib/fortschritt/printer.rb, line 35 def eol(meter) meter.completed? ? "\n" : '' end
eta(meter)
click to toggle source
# File lib/fortschritt/printer.rb, line 21 def eta(meter) result = Time.now + meter.remaining_seconds "ETA #{result.strftime "%Y-%m-%d %H:%M:%S"}" end
finished_after(meter)
click to toggle source
# File lib/fortschritt/printer.rb, line 26 def finished_after(meter) meter.completed? or return "took #{format_seconds(meter.total_elapsed_seconds)}" end
output(meter)
click to toggle source
# File lib/fortschritt/printer.rb, line 7 def output(meter) result = [ slice(meter), remaining(meter), eta(meter), finished_after(meter), ].compact.join ' → ' "\r#{result}#{eol(meter)}" end
print(meter, stream = STDOUT)
click to toggle source
# File lib/fortschritt/printer.rb, line 3 def print(meter, stream = STDOUT) stream.print output(meter) if stream.tty? end
remaining(meter)
click to toggle source
# File lib/fortschritt/printer.rb, line 31 def remaining(meter) format_seconds meter.remaining_seconds end
slice(meter)
click to toggle source
# File lib/fortschritt/printer.rb, line 17 def slice(meter) "#{meter.done}/#{meter.total}" end
Private Instance Methods
format_seconds(seconds)
click to toggle source