worker_roulette 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NzQ2MGVkMWQ0ZDcwYTQzOGM0OGJlMDM5M2I1OGU2YjkzZTU2MzIzZA==
5
+ data.tar.gz: !binary |-
6
+ Mjc3ZTk1YTJjOWMxMzYyNmE3YTdhNTNiZjM4ZWRhMTEwN2ZjNjAxNA==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ NjA4NmI3NTc1M2MwNjg3N2FmZDIxNjIyZGQ1YjA4NTFjMzBlNzVmZDhhNjZi
10
+ ZWU5NjI5NmY1MmYzZWFjNTZjOWY5OTRhMGZkNzY3ODVjNDVhN2ViOGEzZGE2
11
+ NzU3MDdiYmM4MzY1YjU2NDI0YjFlMGU0NjAzYWY0ZDNmMjdjNDg=
12
+ data.tar.gz: !binary |-
13
+ MjE2Nzc5YmE3MDBhZWQ5YjdmMzdmNDZlY2U4ZmQ3NmI2NzQ4OTFkNjFjNDZj
14
+ YjU2M2M0MmViZjdiN2I0ZDE0MGJmZjk3YmQ3NWMxZjk5ZGMxY2MzNGM3MzMz
15
+ NmRlMzJlMmNmZTg0YjA2ODRiYjI3Njk5NzUyY2U5MTAxMGY5ZTM=
data/.simplecov ADDED
@@ -0,0 +1,16 @@
1
+ require 'simplecov'
2
+ require 'simplecov-rcov'
3
+
4
+ class SimpleCov::Formatter::MergedFormatter
5
+ def format(result)
6
+ SimpleCov::Formatter::HTMLFormatter.new.format(result)
7
+ SimpleCov::Formatter::RcovFormatter.new.format(result)
8
+ end
9
+ end
10
+ SimpleCov.formatter = SimpleCov::Formatter::MergedFormatter
11
+
12
+ SimpleCov.start do
13
+ add_filter "_spec.rb"
14
+
15
+ SimpleCov.minimum_coverage 99
16
+ end
data/Rakefile CHANGED
@@ -7,19 +7,26 @@ RSpec::Core::RakeTask.new
7
7
  task :default => :spec
8
8
  task :test => :spec
9
9
 
10
- # def rspec_out_file
11
- # require 'rspec_junit_formatter'
12
- # "-f RspecJunitFormatter -o results.xml"
13
- # end
14
-
15
- desc "Run all unit and integration tests"
16
- task :'spec:ci' do
17
- rspec_out_file = nil
18
- sh "bundle exec rspec #{rspec_out_file} spec"
10
+ def rspec_out_file
11
+ require 'rspec_junit_formatter'
12
+ "-f RspecJunitFormatter -o results.xml"
19
13
  end
20
14
 
21
- desc "Run perf tests"
22
- task :'spec:perf' do
23
- rspec_out_file = nil
24
- sh "bundle exec ruby ./spec/benchmark/perf_test.rb"
15
+ namespace :spec do
16
+ desc "Run all unit and integration tests"
17
+ task :ci do
18
+ rspec_out_file = nil
19
+ sh "bundle exec rspec #{rspec_out_file} spec"
20
+ end
21
+
22
+ desc "Run perf tests"
23
+ task :perf do
24
+ rspec_out_file = nil
25
+ sh "bundle exec ruby ./spec/benchmark/perf_test.rb"
26
+ end
27
+
28
+ desc "Run all tests and generate coverage xml"
29
+ task :cov do
30
+ sh "bundle exec rspec #{rspec_out_file} spec"
31
+ end
25
32
  end
@@ -4,7 +4,8 @@ module WorkerRoulette
4
4
  def wait_for_work_orders(on_subscribe_callback = nil, &on_message_callback)
5
5
  @redis_pubsub ||= WorkerRoulette.new_redis_pubsub #cannot use connection pool bc redis expects each obj to own its own pubsub connection for the life of the subscription
6
6
  @redis_pubsub.on(:subscribe) {|channel, subscription_count| on_subscribe_callback.call(channel, subscription_count) if on_subscribe_callback}
7
- @redis_pubsub.on(:message) {|channel, message| set_timer(on_message_callback); get_messages(message, channel, on_message_callback)}
7
+ @redis_pubsub.on(:message) {|channel, message| get_messages(message, channel, on_message_callback)}
8
+ set_timer(on_message_callback);
8
9
  @redis_pubsub.subscribe(@channel)
9
10
  end
10
11
 
@@ -34,8 +35,7 @@ module WorkerRoulette
34
35
  end
35
36
 
36
37
  def set_timer(on_message_callback)
37
- return unless on_message_callback
38
- @timer && @timer.cancel
38
+ return if (@timer || !on_message_callback)
39
39
  @timer = EM::PeriodicTimer.new(rand(20..25)) do
40
40
  work_orders! {|work_orders| on_message_callback.call(work_orders, nil, nil)}
41
41
  end
@@ -1,3 +1,3 @@
1
1
  module WorkerRoulette
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
data/spec/spec_helper.rb CHANGED
@@ -1,19 +1,8 @@
1
1
  require 'worker_roulette'
2
2
  require 'evented-spec'
3
- require 'simplecov'
4
- require 'simplecov-rcov'
5
3
  require 'rspec'
6
4
  require 'pry'
7
5
 
8
- class SimpleCov::Formatter::MergedFormatter
9
- def format(result)
10
- SimpleCov::Formatter::HTMLFormatter.new.format(result)
11
- SimpleCov::Formatter::RcovFormatter.new.format(result)
12
- end
13
- end
14
- SimpleCov.formatter = SimpleCov::Formatter::MergedFormatter
15
- SimpleCov.start
16
-
17
6
  require File.expand_path(File.join("..", "..", "lib", "worker_roulette.rb"), __FILE__)
18
7
  include WorkerRoulette
19
8
 
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: worker_roulette
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
5
- prerelease:
4
+ version: 0.1.6
6
5
  platform: ruby
7
6
  authors:
8
7
  - Paul Saieg
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-03-11 00:00:00.000000000 Z
11
+ date: 2014-06-13 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: oj
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: redis
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: hiredis
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: em-hiredis
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ~>
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ~>
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: connection_pool
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ! '>='
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ! '>='
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: eventmachine
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ~>
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ~>
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: bundler
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ! '>='
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ! '>='
124
109
  - !ruby/object:Gem::Version
@@ -126,7 +111,6 @@ dependencies:
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: rake
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
115
  - - ! '>='
132
116
  - !ruby/object:Gem::Version
@@ -134,7 +118,6 @@ dependencies:
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
122
  - - ! '>='
140
123
  - !ruby/object:Gem::Version
@@ -142,7 +125,6 @@ dependencies:
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: rspec
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
129
  - - ! '>='
148
130
  - !ruby/object:Gem::Version
@@ -150,7 +132,6 @@ dependencies:
150
132
  type: :development
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
136
  - - ! '>='
156
137
  - !ruby/object:Gem::Version
@@ -158,7 +139,6 @@ dependencies:
158
139
  - !ruby/object:Gem::Dependency
159
140
  name: pry-debugger
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
143
  - - ! '>='
164
144
  - !ruby/object:Gem::Version
@@ -166,7 +146,6 @@ dependencies:
166
146
  type: :development
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
150
  - - ! '>='
172
151
  - !ruby/object:Gem::Version
@@ -174,7 +153,6 @@ dependencies:
174
153
  - !ruby/object:Gem::Dependency
175
154
  name: simplecov
176
155
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
156
  requirements:
179
157
  - - ! '>='
180
158
  - !ruby/object:Gem::Version
@@ -182,7 +160,6 @@ dependencies:
182
160
  type: :development
183
161
  prerelease: false
184
162
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
163
  requirements:
187
164
  - - ! '>='
188
165
  - !ruby/object:Gem::Version
@@ -190,7 +167,6 @@ dependencies:
190
167
  - !ruby/object:Gem::Dependency
191
168
  name: simplecov-rcov
192
169
  requirement: !ruby/object:Gem::Requirement
193
- none: false
194
170
  requirements:
195
171
  - - ! '>='
196
172
  - !ruby/object:Gem::Version
@@ -198,7 +174,6 @@ dependencies:
198
174
  type: :development
199
175
  prerelease: false
200
176
  version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
177
  requirements:
203
178
  - - ! '>='
204
179
  - !ruby/object:Gem::Version
@@ -206,7 +181,6 @@ dependencies:
206
181
  - !ruby/object:Gem::Dependency
207
182
  name: rspec_junit_formatter
208
183
  requirement: !ruby/object:Gem::Requirement
209
- none: false
210
184
  requirements:
211
185
  - - ! '>='
212
186
  - !ruby/object:Gem::Version
@@ -214,7 +188,6 @@ dependencies:
214
188
  type: :development
215
189
  prerelease: false
216
190
  version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
191
  requirements:
219
192
  - - ! '>='
220
193
  - !ruby/object:Gem::Version
@@ -222,7 +195,6 @@ dependencies:
222
195
  - !ruby/object:Gem::Dependency
223
196
  name: evented-spec
224
197
  requirement: !ruby/object:Gem::Requirement
225
- none: false
226
198
  requirements:
227
199
  - - ! '>='
228
200
  - !ruby/object:Gem::Version
@@ -230,7 +202,6 @@ dependencies:
230
202
  type: :development
231
203
  prerelease: false
232
204
  version_requirements: !ruby/object:Gem::Requirement
233
- none: false
234
205
  requirements:
235
206
  - - ! '>='
236
207
  - !ruby/object:Gem::Version
@@ -238,7 +209,6 @@ dependencies:
238
209
  - !ruby/object:Gem::Dependency
239
210
  name: guard
240
211
  requirement: !ruby/object:Gem::Requirement
241
- none: false
242
212
  requirements:
243
213
  - - ! '>='
244
214
  - !ruby/object:Gem::Version
@@ -246,7 +216,6 @@ dependencies:
246
216
  type: :development
247
217
  prerelease: false
248
218
  version_requirements: !ruby/object:Gem::Requirement
249
- none: false
250
219
  requirements:
251
220
  - - ! '>='
252
221
  - !ruby/object:Gem::Version
@@ -254,7 +223,6 @@ dependencies:
254
223
  - !ruby/object:Gem::Dependency
255
224
  name: guard-rspec
256
225
  requirement: !ruby/object:Gem::Requirement
257
- none: false
258
226
  requirements:
259
227
  - - ! '>='
260
228
  - !ruby/object:Gem::Version
@@ -262,7 +230,6 @@ dependencies:
262
230
  type: :development
263
231
  prerelease: false
264
232
  version_requirements: !ruby/object:Gem::Requirement
265
- none: false
266
233
  requirements:
267
234
  - - ! '>='
268
235
  - !ruby/object:Gem::Version
@@ -276,6 +243,7 @@ extra_rdoc_files: []
276
243
  files:
277
244
  - .gitignore
278
245
  - .rspec
246
+ - .simplecov
279
247
  - Gemfile
280
248
  - Guardfile
281
249
  - LICENSE.txt
@@ -299,27 +267,26 @@ files:
299
267
  - worker_roulette.gemspec
300
268
  homepage: https://github.com/nexiahome/worker_roulette
301
269
  licenses: []
270
+ metadata: {}
302
271
  post_install_message:
303
272
  rdoc_options: []
304
273
  require_paths:
305
274
  - lib
306
275
  required_ruby_version: !ruby/object:Gem::Requirement
307
- none: false
308
276
  requirements:
309
277
  - - ! '>='
310
278
  - !ruby/object:Gem::Version
311
279
  version: '0'
312
280
  required_rubygems_version: !ruby/object:Gem::Requirement
313
- none: false
314
281
  requirements:
315
282
  - - ! '>='
316
283
  - !ruby/object:Gem::Version
317
284
  version: '0'
318
285
  requirements: []
319
286
  rubyforge_project:
320
- rubygems_version: 1.8.25
287
+ rubygems_version: 2.2.2
321
288
  signing_key:
322
- specification_version: 3
289
+ specification_version: 4
323
290
  summary: Write a gem summary
324
291
  test_files:
325
292
  - spec/benchmark/perf_test.rb
@@ -331,4 +298,3 @@ test_files:
331
298
  - spec/unit/lua_spec.rb
332
299
  - spec/unit/readlock_spec.rb
333
300
  - spec/unit/worker_roulette_spec.rb
334
- has_rdoc: