lib/progress.rb in progress-1.2.1 vs lib/progress.rb in progress-2.0.0
- old
+ new
@@ -1,15 +1,23 @@
require 'singleton'
require 'thread'
# ==== Procedural example
# Progress.start('Test', 1000)
-# 1000.times{ Progress.step }
+# 1000.times do
+# Progress.step do
+# # do something
+# end
+# end
# Progress.stop
# ==== Block example
# Progress.start('Test', 1000) do
-# 1000.times{ Progress.step }
+# 1000.times do
+# Progress.step do
+# # do something
+# end
+# end
# end
# ==== Step must not always be one
# symbols = []
# Progress.start('Input 100 symbols', 100) do
# while symbols.length < 100
@@ -68,11 +76,11 @@
@started_at = Time.now
@eta = nil
@semaphore = Mutex.new
@beeper = Thread.new do
loop do
- sleep 3
+ sleep 1
print_message
end
end
end
levels << new(title, total)
@@ -119,16 +127,17 @@
print_message true
set_title nil
end
levels.pop
if levels.empty?
+ @beeper.kill
io.puts
end
end
end
- # set note (will be shown after progress message)
+ # set note
def note=(s)
if levels.last
levels.last.note = s
end
end
@@ -248,7 +257,13 @@
end
end
require 'progress/enumerable'
require 'progress/integer'
-require 'progress/kernel'
require 'progress/active_record'
+
+module Kernel
+ def Progress(title = nil, total = nil, &block)
+ Progress.start(title, total, &block)
+ end
+ private :Progress
+end