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