class Gem::StreamUI::VerboseProgressReporter

A progress reporter that prints out messages about the current progress.

Attributes

count[R]

The number of progress items counted so far.

Public Class Methods

new(out_stream, size, initial_message, terminal_message = 'complete') click to toggle source

Creates a new progress reporter that will write to out_stream for size items. Shows the given initial_message when progress starts and the terminal_message when it is complete.

# File lib/rubygems/user_interaction.rb, line 488
def initialize(out_stream, size, initial_message,
               terminal_message = 'complete')
  @out = out_stream
  @total = size
  @count = 0
  @terminal_message = terminal_message

  @out.puts initial_message
end

Public Instance Methods

done() click to toggle source

Prints out the terminal message.

# File lib/rubygems/user_interaction.rb, line 509
def done
  @out.puts @terminal_message
end
updated(message) click to toggle source

Prints out the position relative to the total and the message.

# File lib/rubygems/user_interaction.rb, line 501
def updated(message)
  @count += 1
  @out.puts "#{@count}/#{@total}: #{message}"
end