Class: Gem::StreamUI::VerboseProgressReporter
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Instance Chain:
|
|
Inherits: | Object |
Defined in: | lib/rubygems/user_interaction.rb |
Overview
A progress reporter that prints out messages about the current progress.
Class Method Summary
-
.new(out_stream, size, initial_message, terminal_message = 'complete') ⇒ VerboseProgressReporter
constructor
Creates a new progress reporter that will write to
out_stream
forsize
items.
Instance Attribute Summary
-
#count
readonly
The number of progress items counted so far.
::Gem::DefaultUserInteraction - Included
Instance Method Summary
-
#done
Prints out the terminal message.
-
#updated(message)
Prints out the position relative to the total and the
message
.
::Gem::DefaultUserInteraction - Included
Constructor Details
.new(out_stream, size, initial_message, terminal_message = 'complete') ⇒ VerboseProgressReporter
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 503
def initialize(out_stream, size, , = 'complete') @out = out_stream @total = size @count = 0 @terminal_message = @out.puts end
Instance Attribute Details
#count (readonly)
The number of progress items counted so far.
# File 'lib/rubygems/user_interaction.rb', line 496
attr_reader :count
Instance Method Details
#done
Prints out the terminal message.
# File 'lib/rubygems/user_interaction.rb', line 524
def done @out.puts @terminal_message end
#updated(message)
Prints out the position relative to the total and the message
.
# File 'lib/rubygems/user_interaction.rb', line 516
def updated( ) @count += 1 @out.puts "#{@count}/#{@total}: #{}" end