类 Gem::StreamUI::ThreadedDownloadReporter

一个可以很好地处理线程下载的进度报告器。

常量

MUTEX

属性

file_name[R]

当前正在显示的文件名

公共类方法

new(out_stream, *args) 点击切换源代码

创建一个新的线程下载报告器,它将在 out_stream 上显示。其他参数将被忽略。

# File rubygems/user_interaction.rb, line 553
def initialize(out_stream, *args)
  @file_name = nil
  @out = out_stream
end

公共实例方法

done() 点击切换源代码

指示下载已完成。

# File rubygems/user_interaction.rb, line 579
def done
  # Do nothing.
end
fetch(file_name, *args) 点击切换源代码

告诉下载报告器正在获取 file_name。其他参数将被忽略。

# File 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
update(bytes) 点击切换源代码

根据给定的 bytes 数量更新线程下载报告器。

# File rubygems/user_interaction.rb, line 572
def update(bytes)
  # Do nothing.
end

私有实例方法

locked_puts(message) 点击切换源代码
# File rubygems/user_interaction.rb, line 585
def locked_puts(message)
  MUTEX.synchronize do
    @out.puts message
  end
end