Class: Gem::StreamUI::SimpleProgressReporter
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Instance Chain:
|
|
Inherits: | Object |
Defined in: | lib/rubygems/user_interaction.rb |
Overview
A basic dotted progress reporter.
Class Method Summary
-
.new(out_stream, size, initial_message, terminal_message = "complete") ⇒ SimpleProgressReporter
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 a dot and ignores
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 |
Constructor Details
.new(out_stream, size, initial_message, terminal_message = "complete") ⇒ SimpleProgressReporter
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 463
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 456
attr_reader :count
Instance Method Details
#done
Prints out the terminal message.
# File 'lib/rubygems/user_interaction.rb', line 485
def done @out.puts "\n#{@terminal_message}" end
#updated(message)
Prints out a dot and ignores message
.
# File 'lib/rubygems/user_interaction.rb', line 476
def updated( ) @count += 1 @out.print "." @out.flush end