Class: Fortschritt::Printer
Instance Method Summary collapse
- #eol(meter) ⇒ Object
- #eta(meter) ⇒ Object
- #finished_after(meter) ⇒ Object
- #output(meter) ⇒ Object
- #print(meter, stream = STDOUT) ⇒ Object
- #remaining(meter) ⇒ Object
- #slice(meter) ⇒ Object
Instance Method Details
#eol(meter) ⇒ Object
35 36 37 |
# File 'lib/fortschritt/printer.rb', line 35 def eol(meter) meter.completed? ? "\n" : '' end |
#eta(meter) ⇒ Object
21 22 23 24 |
# 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) ⇒ Object
26 27 28 29 |
# 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) ⇒ Object
7 8 9 10 11 12 13 14 15 |
# 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) ⇒ Object
3 4 5 |
# File 'lib/fortschritt/printer.rb', line 3 def print(meter, stream = STDOUT) stream.print output(meter) if stream.tty? end |
#remaining(meter) ⇒ Object
31 32 33 |
# File 'lib/fortschritt/printer.rb', line 31 def remaining(meter) format_seconds meter.remaining_seconds end |
#slice(meter) ⇒ Object
17 18 19 |
# File 'lib/fortschritt/printer.rb', line 17 def slice(meter) "#{meter.done}/#{meter.total}" end |