forkandreturn 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ 0.2.3 (17-03-2012)
2
+
3
+ * Ruby 1.9?
4
+
1
5
  0.2.2 (11-02-2012)
2
6
 
3
7
  * Using Tempfile instead of home brewed Utils.tempfile.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.2
1
+ 0.2.3
@@ -131,7 +131,9 @@ module ForkAndReturn
131
131
  # This runs each "object*2" statement in a seperate process, concurrently.
132
132
 
133
133
  def self.fork_and_return_core(*args, &block)
134
- tempfile = Tempfile.new("fork_and_return").unlink
134
+ tempfile = Tempfile.new("fork_and_return")
135
+
136
+ tempfile.unlink
135
137
 
136
138
  #begin
137
139
  pid =
@@ -1,3 +1,3 @@
1
1
  module ForkAndReturn
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
data/test/test.rb CHANGED
@@ -105,103 +105,94 @@ class ForkAndReturnEnumerableTest < Test::Unit::TestCase
105
105
 
106
106
  def test_array
107
107
  data = (1..10).to_a
108
- block = lambda{|n| n**n}
109
- result = data.collect(&block)
108
+ result = data.collect{|n| n**n}
110
109
 
111
- assert_equal(result, data.concurrent_collect(0, &block))
112
- assert_equal(result, data.concurrent_collect(3, &block))
113
- assert_equal(result, data.concurrent_collect(-1, &block))
110
+ assert_equal(result, data.concurrent_collect(0){|n| n**n})
111
+ assert_equal(result, data.concurrent_collect(3){|n| n**n})
112
+ assert_equal(result, data.concurrent_collect(-1){|n| n**n})
114
113
  end
115
114
 
116
115
  def test_array_of_array
117
116
  data = (1..10).zip(51..60)
118
- block = lambda{|x, y| [x, y, x**y]}
119
- result = data.collect(&block)
117
+ result = data.collect{|x, y| [x, y, x**y]}
120
118
 
121
- assert_equal(result, data.concurrent_collect(0, &block))
122
- assert_equal(result, data.concurrent_collect(3, &block))
123
- assert_equal(result, data.concurrent_collect(-1, &block))
119
+ assert_equal(result, data.concurrent_collect(0){|x, y| [x, y, x**y]})
120
+ assert_equal(result, data.concurrent_collect(3){|x, y| [x, y, x**y]})
121
+ assert_equal(result, data.concurrent_collect(-1){|x, y| [x, y, x**y]})
124
122
  end
125
123
 
126
124
  def test_hash
127
125
  data = Hash[*(1..10).zip(51..60).flatten]
128
- block = lambda{|x, y| [x, y, x**y]}
129
- result = data.collect(&block)
126
+ result = data.collect{|x, y| [x, y, x**y]}
130
127
 
131
- assert_equal(result, data.concurrent_collect(0, &block))
132
- assert_equal(result, data.concurrent_collect(3, &block))
133
- assert_equal(result, data.concurrent_collect(-1, &block))
128
+ assert_equal(result, data.concurrent_collect(0){|x, y| [x, y, x**y]})
129
+ assert_equal(result, data.concurrent_collect(3){|x, y| [x, y, x**y]})
130
+ assert_equal(result, data.concurrent_collect(-1){|x, y| [x, y, x**y]})
134
131
  end
135
132
 
136
133
  def test_range
137
134
  data = 1..10
138
- block = lambda{|n| n**n}
139
- result = data.collect(&block)
135
+ result = data.collect{|n| n**n}
140
136
 
141
- assert_equal(result, data.concurrent_collect(0, &block))
142
- assert_equal(result, data.concurrent_collect(3, &block))
143
- assert_equal(result, data.concurrent_collect(-1, &block))
137
+ assert_equal(result, data.concurrent_collect(0){|n| n**n})
138
+ assert_equal(result, data.concurrent_collect(3){|n| n**n})
139
+ assert_equal(result, data.concurrent_collect(-1){|n| n**n})
144
140
  end
145
141
 
146
142
  def test_select
147
143
  data = (1..10).zip(51..60)
148
- block = lambda{|x, y| y%x==0}
149
- result = data.select(&block)
144
+ result = data.select{|x, y| y%x==0}
150
145
 
151
- assert_equal(result, data.concurrent_select(0, &block))
152
- assert_equal(result, data.concurrent_select(3, &block))
153
- assert_equal(result, data.concurrent_select(-1, &block))
146
+ assert_equal(result, data.concurrent_select(0){|x, y| y%x==0})
147
+ assert_equal(result, data.concurrent_select(3){|x, y| y%x==0})
148
+ assert_equal(result, data.concurrent_select(-1){|x, y| y%x==0})
154
149
  end
155
150
 
156
151
  def test_reject
157
152
  data = (1..10).zip(51..60)
158
- block = lambda{|x, y| y%x==0}
159
- result = data.reject(&block)
153
+ result = data.reject{|x, y| y%x==0}
160
154
 
161
- assert_equal(result, data.concurrent_reject(0, &block))
162
- assert_equal(result, data.concurrent_reject(3, &block))
163
- assert_equal(result, data.concurrent_reject(-1, &block))
155
+ assert_equal(result, data.concurrent_reject(0){|x, y| y%x==0})
156
+ assert_equal(result, data.concurrent_reject(3){|x, y| y%x==0})
157
+ assert_equal(result, data.concurrent_reject(-1){|x, y| y%x==0})
164
158
  end
165
159
 
166
160
  def test_each_as_well_as_scope
167
161
  data = (1..10).zip(51..60)
168
162
  count = nil
169
- block = lambda{|x, y| count += x + y}
170
163
 
171
164
  count = 0
172
- result1 = data.each(&block)
165
+ result1 = data.each{|x, y| count += x + y}
173
166
  result2 = count
174
167
 
175
168
  count = 0
176
- assert_equal(result1, data.concurrent_each(0, &block))
169
+ assert_equal(result1, data.concurrent_each(0){|x, y| count += x + y})
177
170
  assert_equal(result2, count)
178
171
 
179
172
  count = 0
180
- assert_equal(result1, data.concurrent_each(3, &block))
173
+ assert_equal(result1, data.concurrent_each(3){|x, y| count += x + y})
181
174
  assert_equal(0, count) # count isn't shared among processes!
182
175
 
183
176
  count = 0
184
- assert_equal(result1, data.concurrent_each(-1, &block))
177
+ assert_equal(result1, data.concurrent_each(-1){|x, y| count += x + y})
185
178
  assert_equal(0, count) # count isn't shared among processes!
186
179
  end
187
180
 
188
181
  def test_pids
189
182
  data = 1..10
190
- block = lambda{$$}
191
- result = data.collect(&block)
183
+ result = data.collect{$$}
192
184
 
193
- assert_equal(result, data.concurrent_collect(0, &block))
194
- assert_not_equal(result, data.concurrent_collect(3, &block))
195
- assert_not_equal(result, data.concurrent_collect(-1, &block))
185
+ assert_equal(result, data.concurrent_collect(0){$$})
186
+ assert_not_equal(result, data.concurrent_collect(3){$$})
187
+ assert_not_equal(result, data.concurrent_collect(-1){$$})
196
188
  end
197
189
 
198
190
  def test_exceptions
199
191
  data = 1..10
200
- block = lambda{|n| raise ForkAndReturnEnumerableTestException if n == 2}
201
192
 
202
- assert_raise(ForkAndReturnEnumerableTestException){data.concurrent_collect(0, &block)}
203
- assert_raise(ForkAndReturnEnumerableTestException){data.concurrent_collect(3, &block)}
204
- assert_raise(ForkAndReturnEnumerableTestException){data.concurrent_collect(-1, &block)}
193
+ assert_raise(ForkAndReturnEnumerableTestException){data.concurrent_collect(0){|n| raise ForkAndReturnEnumerableTestException if n == 2}}
194
+ assert_raise(ForkAndReturnEnumerableTestException){data.concurrent_collect(3){|n| raise ForkAndReturnEnumerableTestException if n == 2}}
195
+ assert_raise(ForkAndReturnEnumerableTestException){data.concurrent_collect(-1){|n| raise ForkAndReturnEnumerableTestException if n == 2}}
205
196
  end
206
197
 
207
198
  def test_at_exit_handler
@@ -229,43 +220,39 @@ class ForkAndReturnEnumerableTest < Test::Unit::TestCase
229
220
 
230
221
  def test_clustered_concurrent_collect
231
222
  data = 1..10
232
- block = lambda{$$}
233
- result = data.collect(&block)
223
+ result = data.collect{$$}
234
224
 
235
- assert_equal(3, data.clustered_concurrent_collect(3, &block).sort.uniq.length)
236
- assert_equal(result, data.clustered_concurrent_collect(0, &block))
237
- assert_not_equal(result, data.clustered_concurrent_collect(3, &block))
238
- assert_not_equal(result, data.clustered_concurrent_collect(-1, &block))
225
+ assert_equal(3, data.clustered_concurrent_collect(3){$$}.sort.uniq.length)
226
+ assert_equal(result, data.clustered_concurrent_collect(0){$$})
227
+ assert_not_equal(result, data.clustered_concurrent_collect(3){$$})
228
+ assert_not_equal(result, data.clustered_concurrent_collect(-1){$$})
239
229
  end
240
230
 
241
231
  def test_clustered_select
242
232
  data = (1..10).zip(51..60)
243
- block = lambda{|x, y| y%x==0}
244
- result = data.select(&block)
233
+ result = data.select{|x, y| y%x==0}
245
234
 
246
- assert_equal(result, data.clustered_concurrent_select(0, &block))
247
- assert_equal(result, data.clustered_concurrent_select(3, &block))
248
- assert_equal(result, data.clustered_concurrent_select(-1, &block))
235
+ assert_equal(result, data.clustered_concurrent_select(0){|x, y| y%x==0})
236
+ assert_equal(result, data.clustered_concurrent_select(3){|x, y| y%x==0})
237
+ assert_equal(result, data.clustered_concurrent_select(-1){|x, y| y%x==0})
249
238
  end
250
239
 
251
240
  def test_clustered_reject
252
241
  data = (1..10).zip(51..60)
253
- block = lambda{|x, y| y%x==0}
254
- result = data.reject(&block)
242
+ result = data.reject{|x, y| y%x==0}
255
243
 
256
- assert_equal(result, data.clustered_concurrent_reject(0, &block))
257
- assert_equal(result, data.clustered_concurrent_reject(3, &block))
258
- assert_equal(result, data.clustered_concurrent_reject(-1, &block))
244
+ assert_equal(result, data.clustered_concurrent_reject(0){|x, y| y%x==0})
245
+ assert_equal(result, data.clustered_concurrent_reject(3){|x, y| y%x==0})
246
+ assert_equal(result, data.clustered_concurrent_reject(-1){|x, y| y%x==0})
259
247
  end
260
248
 
261
249
  def test_clustered_each
262
250
  data = (1..10).zip(51..60)
263
- block = lambda{|x, y| y%x==0}
264
- result = data.each(&block)
251
+ result = data.each{|x, y| y%x==0}
265
252
 
266
- assert_equal(result, data.clustered_concurrent_each(0, &block))
267
- assert_equal(result, data.clustered_concurrent_each(3, &block))
268
- assert_equal(result, data.clustered_concurrent_each(-1, &block))
253
+ assert_equal(result, data.clustered_concurrent_each(0){|x, y| y%x==0})
254
+ assert_equal(result, data.clustered_concurrent_each(3){|x, y| y%x==0})
255
+ assert_equal(result, data.clustered_concurrent_each(-1){|x, y| y%x==0})
269
256
  end
270
257
 
271
258
  def test_multi_core
metadata CHANGED
@@ -1,47 +1,39 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: forkandreturn
3
- version: !ruby/object:Gem::Version
4
- hash: 19
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.3
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 2
9
- - 2
10
- version: 0.2.2
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Erik Veenstra
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-02-11 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-03-17 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: threadlimiter
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 31
29
- segments:
30
- - 0
31
- - 1
32
- - 2
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
33
21
  version: 0.1.2
34
22
  type: :runtime
35
- version_requirements: *id001
36
- description: Runs a block of code in a seperate process and collects the result later. Includes a lot of convenient methods on Enumerable.
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 0.1.2
30
+ description: Runs a block of code in a seperate process and collects the result later.
31
+ Includes a lot of convenient methods on Enumerable.
37
32
  email: forkandreturn@erikveen.dds.nl
38
33
  executables: []
39
-
40
34
  extensions: []
41
-
42
35
  extra_rdoc_files: []
43
-
44
- files:
36
+ files:
45
37
  - lib/forkandreturn/forkandreturn.rb
46
38
  - lib/forkandreturn/util.rb
47
39
  - lib/forkandreturn/enumerable.rb
@@ -56,44 +48,37 @@ files:
56
48
  - test/test.rb
57
49
  homepage: http://www.erikveen.dds.nl/forkandreturn/index.html
58
50
  licenses: []
59
-
60
51
  post_install_message:
61
- rdoc_options:
52
+ rdoc_options:
62
53
  - README
63
54
  - LICENSE
64
55
  - VERSION
65
56
  - CHANGELOG
66
57
  - example.txt
67
58
  - --title
68
- - forkandreturn (0.2.2)
59
+ - forkandreturn (0.2.3)
69
60
  - --main
70
61
  - README
71
- require_paths:
62
+ require_paths:
72
63
  - lib
73
- required_ruby_version: !ruby/object:Gem::Requirement
64
+ required_ruby_version: !ruby/object:Gem::Requirement
74
65
  none: false
75
- requirements:
76
- - - ">="
77
- - !ruby/object:Gem::Version
78
- hash: 3
79
- segments:
80
- - 0
81
- version: "0"
82
- required_rubygems_version: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ required_rubygems_version: !ruby/object:Gem::Requirement
83
71
  none: false
84
- requirements:
85
- - - ">="
86
- - !ruby/object:Gem::Version
87
- hash: 3
88
- segments:
89
- - 0
90
- version: "0"
72
+ requirements:
73
+ - - ! '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
91
76
  requirements: []
92
-
93
77
  rubyforge_project: forkandreturn
94
- rubygems_version: 1.8.12
78
+ rubygems_version: 1.8.18
95
79
  signing_key:
96
80
  specification_version: 3
97
- summary: Runs a block of code in a seperate process and collects the result later. Includes a lot of convenient methods on Enumerable.
98
- test_files:
81
+ summary: Runs a block of code in a seperate process and collects the result later.
82
+ Includes a lot of convenient methods on Enumerable.
83
+ test_files:
99
84
  - test/test.rb