class Derrick::CLI::ProgressDisplay

Public Class Methods

new(progress, output) click to toggle source
# File lib/derrick/cli.rb, line 8
def initialize(progress, output)
  @progress = progress
  @output = output
  @last_output_size = 0
end

Public Instance Methods

clear() click to toggle source
# File lib/derrick/cli.rb, line 21
def clear
  @output.print "\b" * @last_output_size
end
render() click to toggle source
# File lib/derrick/cli.rb, line 14
def render
  clear
  message = "collected: #{@progress.collected}/#{@progress.total} fetched: #{@progress.fetched}/#{@progress.total}"
  @last_output_size = message.size
  @output.print message
end
start() click to toggle source
# File lib/derrick/cli.rb, line 25
def start
  @thread = Thread.new do
    loop do
      render
      sleep 1
    end
  end
end
stop() click to toggle source
# File lib/derrick/cli.rb, line 34
def stop
  @thread.kill
  clear
end