Sha256: abad70a72830688157de91772553d2ac12bf88914ec39eb127d9addb2e450f06
Contents?: true
Size: 1021 Bytes
Versions: 1
Compression:
Stored size: 1021 Bytes
Contents
module Fortschritt class Printer def print(meter, stream = STDOUT) stream.print output(meter) end def output(meter) result = [ slice(meter), remaining(meter), eta(meter), ].join ' → ' "\r#{result}#{eol(meter)}" # stream.print result # print "\r#{done}/#{total}, avg #{average.round(3)}, remaining #{remaining}"#, percent: #{?| * (percent / 10)}> #{percent}%" end def slice(meter) "#{meter.done}/#{meter.total}" end def eta(meter) result = Time.now + meter.remaining_seconds "ETA #{result.strftime "%Y-%m-%d %H:%M:%S"}" end def remaining(meter) mm, ss = meter.remaining_seconds.divmod(60) hh, mm = mm.divmod(60) dd, hh = hh.divmod(24) "%02d:%02d:%02d" % [hh, mm, ss] # "%d days, %d hours, %d minutes and %d seconds" % [dd, hh, mm, ss] #=> 3 days, 3 hours, 15 minutes and 21 seconds end def eol(meter) meter.completed? ? "\n" : '' end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fortschritt-0.1.1 | lib/fortschritt/printer.rb |