class Progress

Public Class Methods

new(message, time = nil) click to toggle source

ANSI escape code to clear line from cursor to end of line ā€œeā€ is an alternative to ā€œ033ā€ cf. en.wikipedia.org/wiki/ANSI_escape_code

# File lib/progress.rb, line 6
def initialize(message, time = nil)
  @message = message
  @time = time ? time : Time.now
  @reset = "\r\e[0K"
end

Public Instance Methods

finish!(message_addition = "") click to toggle source
# File lib/progress.rb, line 17
def finish!(message_addition = "")
  time = Time.now - @time
  message = @message + message_addition
  str = "#{@reset} #{message}" + "100%".rjust(60-message.length)
  print  str + "Took: #{"%.2f" % time} sec.\n".rjust(100-str.length)
  $stdout.flush
end
progress(num, message_addition = "") click to toggle source
# File lib/progress.rb, line 11
def progress(num, message_addition = "")
  message = @message+message_addition
  # reset lines
  print "#{@reset} #{message}" + "#{num}%".rjust(60-message.length)
  $stdout.flush
end
Also aliased as: update
update(num, message_addition = "")
Alias for: progress