Ruby:CLI进度条,带有open-uri

时间:2013-02-18 15:00:57

标签: ruby progress-bar command-line-interface

我试图尝试使用open-uri并想要创建一个命令行界面进度条。

我查看了OpenURI :: OpenRead的文档,其中有一个进度条形码示例。

pbar = nil
open('latest.zip', 'wb') do |fo|
  fo.print open('http://wordpress.org/latest.zip',
    :content_length_proc => lambda { |t|
    if t && 0 < t
      pbar = ProgressBar.new("...", t)
      pbar.file_transfer_mode
    end
    },

    :progress_proc => lambda {|s|
      pbar.set s if pbar
    }).read
end

但是我可以继续收到以下错误:

zip_dowloader.rb:11:in `block (2 levels) in <main>': uninitialized constant ProgressBar (NameError)

1 个答案:

答案 0 :(得分:3)

gem install progressbar

然后添加:

require 'progressbar'

到脚本的顶部。

或者,在启用了捆绑程序的项目中,添加:

gem 'progressbar'

Gemfile并运行bundle install