progress-meter 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/progress-meter.rb +17 -0
- data/samples/collect.rb +11 -0
- data/samples/hash-loop.rb +17 -0
- metadata +3 -1
data/lib/progress-meter.rb
CHANGED
@@ -116,6 +116,20 @@ class Array
|
|
116
116
|
end
|
117
117
|
end
|
118
118
|
|
119
|
+
alias :orig_collect :collect
|
120
|
+
def collect (&block)
|
121
|
+
if Progress.active? then
|
122
|
+
@@progress_meters.push(Progress.new(self.length, @@progress_meters.size ))
|
123
|
+
res = orig_collect {|w| r = block.call(w);@@progress_meters.last.tick; r}
|
124
|
+
@@progress_meters.pop
|
125
|
+
res
|
126
|
+
else
|
127
|
+
orig_collect &block
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
|
132
|
+
|
119
133
|
end
|
120
134
|
|
121
135
|
|
@@ -135,3 +149,6 @@ class Hash
|
|
135
149
|
end
|
136
150
|
|
137
151
|
end
|
152
|
+
|
153
|
+
|
154
|
+
|
data/samples/collect.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# This is an example using a hash. It also shows what happens when you
|
2
|
+
# print stuff. In this case, we print new lines, and the progress meter
|
3
|
+
# is always moved to the line above the last one.
|
4
|
+
|
5
|
+
require 'progress-meter'
|
6
|
+
|
7
|
+
h = Hash.new
|
8
|
+
|
9
|
+
('a'..'z').to_a.each{|l|
|
10
|
+
h[l] = l.upcase
|
11
|
+
}
|
12
|
+
|
13
|
+
Progress.monitor
|
14
|
+
h.each{|d,u|
|
15
|
+
puts "#{d} => #{u}, "
|
16
|
+
sleep(0.2)
|
17
|
+
}
|
metadata
CHANGED
@@ -3,7 +3,7 @@ rubygems_version: 0.9.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: progress-meter
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.0.
|
6
|
+
version: 0.0.2
|
7
7
|
date: 2007-12-05 00:00:00 +01:00
|
8
8
|
summary: Allows to monitor the progress of some loop. Currently only Array.each and Hash.each
|
9
9
|
require_paths:
|
@@ -31,6 +31,8 @@ authors:
|
|
31
31
|
files:
|
32
32
|
- lib/progress-meter.rb
|
33
33
|
- samples/two-loops.rb
|
34
|
+
- samples/collect.rb
|
35
|
+
- samples/hash-loop.rb
|
34
36
|
- README
|
35
37
|
test_files: []
|
36
38
|
|