class Screengif::StatusPrinter

Public Class Methods

new(stream) click to toggle source

inspired by stackoverflow.com/a/6679572/9621

# File lib/screengif/util.rb, line 7
def initialize(stream)
  @previous_size = 0
  @stream = stream || $stdout
end

Public Instance Methods

done() click to toggle source
# File lib/screengif/util.rb, line 23
def done()
  @previous_size = 0
  @stream.print "\n"
end
printText(text) click to toggle source
# File lib/screengif/util.rb, line 12
def printText(text)
  if @previous_size > 0
    @stream.print "\033[#{@previous_size}D"
    @stream.print(" " * @previous_size) 
    @stream.print "\033[#{@previous_size}D"
  end
  @stream.print text
  @stream.flush
  @previous_size = text.gsub(/\e\[\d+m/,"").size
end