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