class Gem::StreamUI::ThreadedDownloadReporter
A progress reporter that behaves nicely with threaded downloading.
Constants
- MUTEX
Attributes
The current file name being displayed
Public Class Methods
Source
# File lib/rubygems/user_interaction.rb, line 553 def initialize(out_stream, *args) @file_name = nil @out = out_stream end
Creates a new threaded download reporter that will display on out_stream
. The other arguments are ignored.
Public Instance Methods
Source
# File lib/rubygems/user_interaction.rb, line 579 def done # Do nothing. end
Indicates the download is complete.
Source
# File lib/rubygems/user_interaction.rb, line 562 def fetch(file_name, *args) if @file_name.nil? @file_name = file_name locked_puts "Fetching #{@file_name}" end end
Tells the download reporter that the file_name
is being fetched. The other arguments are ignored.
Source
# File lib/rubygems/user_interaction.rb, line 572 def update(bytes) # Do nothing. end
Updates the threaded download reporter for the given number of bytes
.
Private Instance Methods
Source
# File lib/rubygems/user_interaction.rb, line 585 def locked_puts(message) MUTEX.synchronize do @out.puts message end end