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
::Gem::Text - Included
#clean_text | Remove any non-printable characters and make the text suitable for printing. |
#format_text | Wraps |
#levenshtein_distance | This code is based directly on the ::Gem::Text gem implementation Returns a value representing the “cost” of transforming str1 into str2. |
#truncate_text, #min3 |
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 510
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 503
attr_reader :count
Instance Method Details
#done
Prints out the terminal message.
# File 'lib/rubygems/user_interaction.rb', line 531
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 523
def updated( ) @count += 1 @out.puts "#{@count}/#{@total}: #{}" end