forkandreturn 0.2.2 → 0.2.3

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/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