Permalink
Browse files

Initial commit (based on Ruby/ProgressBar 0.9).

  • Loading branch information...
0 parents commit 7b1c474983158a00c88519d699c167a3789062c4 Satoru Takabayashi committed with nex3 Feb 16, 2009
Showing with 657 additions and 0 deletions.
  1. +113 −0 ChangeLog
  2. +103 −0 progressbar.en.rd
  3. +100 −0 progressbar.ja.rd
  4. +236 −0 progressbar.rb
  5. +105 −0 test.rb
113 ChangeLog
@@ -0,0 +1,113 @@
+2005-05-21 Satoru Takabayashi <satoru@namazu.org>
+
+ * progressbar.rb (ProgressBar::show): Call IO#flush. Suggestted by
+ "Geert Fannes" <Geert.Fannes at ikanconsulting.com>
+
+2005-01-07 Satoru Takabayashi <satoru@namazu.org>
+
+ * progressbar.rb (ProgressBar::VERSION): Bumped version number to 0.9.
+ (ProgressBar::finished?): New method.
+ (ProgressBar::current): New attribute.
+ (ProgressBar::total): New attribute.
+ (ProgressBar::title): New attribute.
+ (ProgressBar::start_time): New attribute.
+ (ProgressBar::inspect): Change the format.
+ (ProgressBar::show_if_needed): Renamed from show_progress.
+ (ProgressBar::clear): New method.
+ (ProgressBar::initialize): Renamed a field: bar_width ->
+ terminal_width.
+ (ProgressBar::do_percentage): New method.
+ (ProgressBar::percentage): Use it.
+ (ReversedProgressBar): New class.
+ (ProgressBar::initialize): Use #clear.
+ (ProgressBar::fmt_bar): Ditto.
+ (ProgressBar::fmt_percentage): Renamed from percentage.
+ (ProgressBar::fmt_stat): Ditto.
+ (ProgressBar::fmt_stat_for_file_transfer): Ditto.
+ (ProgressBar::fmt_title): Ditto.
+
+ * test.rb: Use Test::Unit.
+
+ * Makefile (docs): Removed.
+ (progressbar.ja.html): Ditto.
+ (progressbar.en.html): Ditto.
+ (dist): New rule.
+ (check): New rule.
+
+2004-02-05 Satoru Takabayashi <satoru@namazu.org>
+
+ * Ruby/ProgressBar: Version 0.8 released!
+
+ * progressbar.rb (ProgressBar::set): Fixed the bug when caused by
+ the invalid count. <http://bugs.debian.org/231009>
+ (ProgressBar::VERSION): Bumped version number to 0.8.
+
+2004-01-19 Satoru Takabayashi <satoru@namazu.org>
+
+ * Ruby/ProgressBar: Version 0.7 released!
+
+ * progressbar.rb (ProgressBar::initialize): Rename a field:
+ @bar_length -> @bar_width.
+ (ProgressBar::initialize): New field: @title_width.
+ (ProgressBar::title): use it.
+ (ProgressBar::initialize): New field: @previous_time.
+ (ProgressBar::show_progress): Use it and update the progress bar
+ if one sec. elapsed.
+ (ProgressBar::initialize): Call show instead of show_progress.
+
+2004-01-16 Satoru Takabayashi <satoru@namazu.org>
+
+ * Ruby/ProgressBar: Version 0.6 released!
+
+ * progressbar.rb (ProgressBar::show): Remove the useless condition
+ after "else". Thanks to Neil Spring <nspring@cs.washington.edu>
+ for the report.
+ <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=227966>
+ (ProgressBar):
+
+2003-07-24 Satoru Takabayashi <satoru@namazu.org>
+
+ * Ruby/ProgressBar: Version 0.5 released!
+
+ * progressbar.rb (ProgressBar::initialize): New parameter: config.
+ (ProgressBar::convert_prefix_multiplier): New method.
+ (ProgressBar::transfer_rate): New method.
+ (ProgressBar::percentage): New method.
+ (ProgressBar::title): New method.
+ (ProgressBar::initialize): New fields: @bar_mark, @format,
+ @arguments.
+ (ProgressBar::get_width): New method.
+ (ProgressBar::stat_for_file_transfer): New method.
+ (ProgressBar::stat): Renamed from time.
+ (ProgressBar::format=): New method.
+ (ProgressBar::format_arguments=): New method.
+ (ProgressBar::convert_bytes): New method.
+ (ProgressBar::file_transfer_mode): New method.
+
+2002-10-21 Satoru Takabayashi <satoru@namazu.org>
+
+ * Ruby/ProgressBar: Version 0.4 released!
+
+ * progressbar.rb (ProgressBar::halt): New method. allowing a
+ "broken" ProgressBar in the event of error.
+ - Suggestted by Austin Ziegler <austin@halostatue.ca>
+
+2002-01-05 Satoru Takabayashi <satoru@namazu.org>
+
+ * Ruby/ProgressBar: Version 0.3 released!
+
+ * progressbar.rb (ProgressBar::show): Shorten @title to fall into
+ the format well.
+
+2001-11-03 Satoru Takabayashi <satoru@namazu.org>
+
+ * Ruby/ProgressBar: Version 0.2 released!
+
+ * progressbar.rb (ProgressBar::eta): Remove an unnecessary condition.
+
+ * progressbar.rb (ProgressBar::eta): Fix the return value bug.
+
+ * progressbar.rb (ProgressBar::inc): Add an optional parameter `step'.
+
+ * Ruby/ProgressBar: Version 0.1 released!
+
@@ -0,0 +1,103 @@
+=begin
+index:Ej
+
+= Ruby/ProgressBar: A Text Progress Bar Library for Ruby
+
+Last Modified: 2005-05-22 00:28:04
+
+--
+
+Ruby/ProgressBar is a text progress bar library for Ruby.
+It can indicate progress with percentage, a progress bar,
+and estimated remaining time.
+
+The latest version of Ruby/ProgressBar is available at
+((<URL:http://namazu.org/~satoru/ruby-progressbar/>))
+.
+
+== Examples
+
+ % irb --simple-prompt -r progressbar
+ >> pbar = ProgressBar.new("test", 100)
+ => (ProgressBar: 0/100)
+ >> 100.times {sleep(0.1); pbar.inc}; pbar.finish
+ test: 100% |oooooooooooooooooooooooooooooooooooooooo| Time: 00:00:10
+ => nil
+
+ >> pbar = ProgressBar.new("test", 100)
+ => (ProgressBar: 0/100)
+ >> (1..100).each{|x| sleep(0.1); pbar.set(x)}; pbar.finish
+ test: 67% |oooooooooooooooooooooooooo | ETA: 00:00:03
+
+== API
+
+--- ProgressBar#new (title, total, out = STDERR)
+ Display the initial progress bar and return a
+ ProgressBar object. ((|title|)) specifies the title,
+ and ((|total|)) specifies the total cost of processing.
+ Optional parameter ((|out|)) specifies the output IO.
+
+ The display of the progress bar is updated when one or
+ more percent is proceeded or one or more seconds are
+ elapsed from the previous display.
+
+--- ProgressBar#inc (step = 1)
+ Increase the internal counter by ((|step|)) and update
+ the display of the progress bar. Display the estimated
+ remaining time on the right side of the bar. The counter
+ does not go beyond the ((|total|)).
+
+--- ProgressBar#set (count)
+ Set the internal counter to ((|count|)) and update the
+ display of the progress bar. Display the estimated
+ remaining time on the right side of the bar. Raise if
+ ((|count|)) is a negative number or a number more than
+ the ((|total|)).
+
+--- ProgressBar#finish
+ Stop the progress bar and update the display of progress
+ bar. Display the elapsed time on the right side of the bar.
+ The progress bar always stops at 100 % by the method.
+
+--- ProgressBar#halt
+ Stop the progress bar and update the display of progress
+ bar. Display the elapsed time on the right side of the bar.
+ The progress bar stops at the current percentage by the method.
+
+--- ProgressBar#format=
+ Set the format for displaying a progress bar.
+ Default: "%-14s %3d%% %s %s".
+
+--- ProgressBar#format_arguments=
+ Set the methods for displaying a progress bar.
+ Default: [:title, :percentage, :bar, :stat].
+
+--- ProgressBar#file_transfer_mode
+ Use :stat_for_file_transfer instead of :stat to display
+ transfered bytes and transfer rate.
+
+
+ReverseProgressBar class is also available. The
+functionality is identical to ProgressBar but the direction
+of the progress bar is just opposite.
+
+== Limitations
+
+Since the progress is calculated by the proportion to the
+total cost of processing, Ruby/ProgressBar cannot be used if
+the total cost of processing is unknown in advance.
+Moreover, the estimation of remaining time cannot be
+accurately performed if the progress does not flow uniformly.
+
+== Download
+
+Ruby/ProgressBar is a free software with ABSOLUTELY NO WARRANTY
+under the terms of Ruby's license.
+
+ * ((<URL:http://namazu.org/~satoru/ruby-progressbar/ruby-progressbar-0.9.tar.gz>))
+ * ((<URL:http://cvs.namazu.org/ruby-progressbar/>))
+
+--
+
+- ((<Satoru Takabayashi|URL:http://namazu.org/~satoru/>)) -
+=end
@@ -0,0 +1,100 @@
+=begin
+index:eJ
+
+= Ruby/ProgressBar: プログレスバーをテキストで表示する Ruby用のライブラリ
+
+最終更新日: 2005-05-22 00:28:53
+
+
+--
+
+Ruby/ProgressBar はプログレスバーをテキストで表示する Ruby
+のライブラリです。処理の進捗状況をパーセント、プログレスバー、
+および推定残り時間として表示します。
+
+最新版は
+((<URL:http://namazu.org/~satoru/ruby-progressbar/>))
+から入手可能です
+
+== 使用例
+
+ % irb --simple-prompt -r progressbar
+ >> pbar = ProgressBar.new("test", 100)
+ => (ProgressBar: 0/100)
+ >> 100.times {sleep(0.1); pbar.inc}; pbar.finish
+ test: 100% |oooooooooooooooooooooooooooooooooooooooo| Time: 00:00:10
+ => nil
+
+ >> pbar = ProgressBar.new("test", 100)
+ => (ProgressBar: 0/100)
+ >> (1..100).each{|x| sleep(0.1); pbar.set(x)}; pbar.finish
+ test: 67% |oooooooooooooooooooooooooo | ETA: 00:00:03
+
+== API
+
+--- ProgressBar#new (title, total, out = STDERR)
+ プログレスバーの初期状態を表示し、新しい ProgressBarオブ
+ ジェクトを返す。((|title|)) で見出しを、((|total|)) で処
+ 理の総計を、((|out|)) で出力先の IO を設定する。
+
+ プログレスバーの表示は、前回の表示から進捗が 1%以上あっ
+ たとき、あるいは 1秒以上経過した場合に更新されます。
+
+--- ProgressBar#inc (step = 1)
+ 内部のカウンタを ((|step|)) 数だけ進めて、プログレスバー
+ の表示を更新する。バーの右側には推定残り時間を表示する。
+ カウンタは ((|total|)) を越えて進むことはない。
+
+--- ProgressBar#set (count)
+ カウンタの値を ((|count|)) に設定し、プログレスバーの
+ 表示を更新する。バーの右側には推定残り時間を表示する。
+ ((|count|)) にマイナスの値あるいは ((|total|)) より大き
+ い値を渡すと例外が発生する。
+
+--- ProgressBar#finish
+ プログレスバーを停止し、プログレスバーの表示を更新する。
+ プログレスバーの右側には経過時間を表示する。
+ このとき、プログレスバーは 100% で終了する。
+
+--- ProgressBar#halt
+ プログレスバーを停止し、プログレスバーの表示を更新する。
+ プログレスバーの右側には経過時間を表示する。
+ このとき、プログレスバーはその時点のパーセンテージで終了する。
+
+--- ProgressBar#format=
+ プログレスバー表示のフォーマットを設定する。
+ 未変更時は "%-14s %3d%% %s %s"
+
+--- ProgressBar#format_arguments=
+ プログレスバー表示に使う関数を設定する。
+ 未変更時は [:title, :percentage, :bar, :stat]
+ ファイル転送時には :stat の変わりに :stat_for_file_transfer
+ を使うと転送バイト数と転送速度を表示できる。
+
+--- ProgressBar#file_transfer_mode
+ プログレスバー表示に :stat の変わりに :stat_for_file_transfer
+ を使い、転送バイト数と転送速度を表示する。
+
+
+ReverseProgressBar というクラスも提供されます。機能は
+ProgressBar とまったく同じですが、プログレスバーの進行方向が
+逆になっています。
+
+== 制限事項
+
+進捗状況を処理の総計に対する割合として計算するため、処理の総
+計が事前にわからない状況では使えません。また、進捗の流れが均
+一でないときには残り時間の推定は正しく行えません。
+
+== ダウンロード
+
+Ruby のライセンスに従ったフリーソフトウェアとして公開します。
+完全に無保証です。
+
+ * ((<URL:http://namazu.org/~satoru/ruby-progressbar/ruby-progressbar-0.9.tar.gz>))
+ * ((<URL:http://cvs.namazu.org/ruby-progressbar/>))
+
+--
+
+- ((<Satoru Takabayashi|URL:http://namazu.org/~satoru/>)) -
+=end
Oops, something went wrong.

0 comments on commit 7b1c474

Please sign in to comment.