delayed_job 2.0.8 → 2.1.0.pre

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.
@@ -1,53 +1,30 @@
1
1
  require 'spec_helper'
2
2
 
3
- class StoryReader
4
- def read(story)
5
- "Epilog: #{story.tell}"
6
- end
7
- end
8
-
9
3
  describe Delayed::PerformableMethod do
10
-
11
- it "should ignore ActiveRecord::RecordNotFound errors because they are permanent" do
12
- story = Story.create :text => 'Once upon...'
13
- p = Delayed::PerformableMethod.new(story, :tell, [])
14
- story.destroy
15
- lambda { p.perform }.should_not raise_error
16
- end
17
-
18
- it "should store the object as string if its an active record" do
19
- story = Story.create :text => 'Once upon...'
20
- p = Delayed::PerformableMethod.new(story, :tell, [])
21
- p.class.should == Delayed::PerformableMethod
22
- p.object.should == "LOAD;Story;#{story.id}"
23
- p.method.should == :tell
24
- p.args.should == []
25
- p.perform.should == 'Once upon...'
26
- end
27
-
28
- it "should allow class methods to be called on ActiveRecord models" do
29
- p = Delayed::PerformableMethod.new(Story, :count, [])
30
- lambda { p.send(:load, p.object) }.should_not raise_error
31
- end
32
-
33
- it "should store arguments as string if they are active record objects" do
34
- story = Story.create :text => 'Once upon...'
35
- reader = StoryReader.new
36
- p = Delayed::PerformableMethod.new(reader, :read, [story])
37
- p.class.should == Delayed::PerformableMethod
38
- p.method.should == :read
39
- p.args.should == ["LOAD;Story;#{story.id}"]
40
- p.perform.should == 'Epilog: Once upon...'
41
- end
42
-
43
- it "should not raise NoMethodError if target method is private" do
44
- clazz = Class.new do
45
- def private_method
4
+ describe "perform" do
5
+ before do
6
+ @method = Delayed::PerformableMethod.new("foo", :count, ['o'])
7
+ end
8
+
9
+ context "with the persisted record cannot be found" do
10
+ before do
11
+ @method.object = nil
12
+ end
13
+
14
+ it "should be a no-op if object is nil" do
15
+ lambda { @method.perform }.should_not raise_error
46
16
  end
47
- private :private_method
48
17
  end
18
+
19
+ it "should call the method on the object" do
20
+ @method.object.should_receive(:count).with('o')
21
+ @method.perform
22
+ end
23
+ end
24
+
25
+ it "should raise a ArgumentError if target method doesn't exist" do
49
26
  lambda {
50
- Delayed::PerformableMethod.new(clazz.new, :private_method, [])
51
- }.should_not raise_error(NoMethodError)
27
+ Delayed::PerformableMethod.new(Object, :method_that_does_not_exist, [])
28
+ }.should raise_error(NoMethodError)
52
29
  end
53
30
  end
data/spec/sample_jobs.rb CHANGED
@@ -15,7 +15,6 @@ end
15
15
  class OnPermanentFailureJob < SimpleJob
16
16
  def on_permanent_failure
17
17
  end
18
- def max_attempts; 1; end
19
18
  end
20
19
 
21
20
  module M
@@ -0,0 +1,7 @@
1
+ require 'couchrest'
2
+ require 'delayed/backend/couch_rest'
3
+
4
+ Delayed::Backend::CouchRest::Job.use_database CouchRest::Server.new.database!('delayed_job_spec')
5
+
6
+ # try to perform a query to check that we can connect
7
+ Delayed::Backend::CouchRest::Job.all
data/spec/spec_helper.rb CHANGED
@@ -4,7 +4,7 @@ require 'rubygems'
4
4
  require 'spec'
5
5
  require 'logger'
6
6
 
7
- gem 'rails', '~>2.3.5'
7
+ gem 'activerecord', ENV['RAILS_VERSION'] if ENV['RAILS_VERSION']
8
8
 
9
9
  require 'delayed_job'
10
10
  require 'sample_jobs'
@@ -20,9 +20,12 @@ Dir.glob("#{File.dirname(__FILE__)}/setup/*.rb") do |backend|
20
20
  require "setup/#{backend}"
21
21
  require "backend/#{backend}_job_spec"
22
22
  BACKENDS << backend.to_sym
23
- rescue LoadError, Exception
24
- puts "Unable to load #{backend} backend! #{$!}"
23
+ rescue Exception
24
+ puts "Unable to load #{backend} backend: #{$!}"
25
25
  end
26
26
  end
27
27
 
28
28
  Delayed::Worker.backend = BACKENDS.first
29
+
30
+ # Add this directory so the ActiveSupport autoloading works
31
+ ActiveSupport::Dependencies.load_paths << File.dirname(__FILE__)
data/spec/worker_spec.rb CHANGED
@@ -6,14 +6,16 @@ describe Delayed::Worker do
6
6
  end
7
7
 
8
8
  describe "backend=" do
9
- it "should set the Delayed::Job constant to the backend" do
9
+ before do
10
10
  @clazz = Class.new
11
11
  Delayed::Worker.backend = @clazz
12
+ end
13
+
14
+ it "should set the Delayed::Job constant to the backend" do
12
15
  Delayed::Job.should == @clazz
13
16
  end
14
17
 
15
18
  it "should set backend with a symbol" do
16
- Delayed::Worker.backend = Class.new
17
19
  Delayed::Worker.backend = :active_record
18
20
  Delayed::Worker.backend.should == Delayed::Backend::ActiveRecord::Job
19
21
  end
@@ -51,8 +53,6 @@ describe Delayed::Worker do
51
53
  end
52
54
 
53
55
  it "should only work_off jobs that are >= min_priority" do
54
- SimpleJob.runs.should == 0
55
-
56
56
  job_create(:priority => -10)
57
57
  job_create(:priority => 0)
58
58
  @worker.work_off
@@ -61,8 +61,6 @@ describe Delayed::Worker do
61
61
  end
62
62
 
63
63
  it "should only work_off jobs that are <= max_priority" do
64
- SimpleJob.runs.should == 0
65
-
66
64
  job_create(:priority => 10)
67
65
  job_create(:priority => 0)
68
66
 
@@ -104,7 +102,6 @@ describe Delayed::Worker do
104
102
  # reset defaults
105
103
  Delayed::Worker.destroy_failed_jobs = true
106
104
  Delayed::Worker.max_attempts = 25
107
- Delayed::Job.delete_all
108
105
 
109
106
  @job = Delayed::Job.enqueue ErrorJob.new
110
107
  end
@@ -121,33 +118,13 @@ describe Delayed::Worker do
121
118
  end
122
119
 
123
120
  it "should re-schedule jobs after failing" do
124
- @worker.work_off
121
+ @worker.run(@job)
125
122
  @job.reload
126
123
  @job.last_error.should =~ /did not work/
127
124
  @job.last_error.should =~ /sample_jobs.rb:8:in `perform'/
128
125
  @job.attempts.should == 1
129
126
  @job.run_at.should > Delayed::Job.db_time_now - 10.minutes
130
127
  @job.run_at.should < Delayed::Job.db_time_now + 10.minutes
131
- @job.locked_at.should be_nil
132
- @job.locked_by.should be_nil
133
- end
134
-
135
- context "when the job's payload implements #reschedule_at" do
136
- before(:each) do
137
- @reschedule_at = Time.current + 7.hours
138
- @job.payload_object.stub!(:reschedule_at).and_return(@reschedule_at)
139
- end
140
-
141
- it 'should invoke the strategy to re-schedule' do
142
- @job.payload_object.should_receive(:reschedule_at) do |time, attempts|
143
- (Delayed::Job.db_time_now - time).should < 2
144
- attempts.should == 1
145
-
146
- Delayed::Job.db_time_now + 5
147
- end
148
-
149
- @worker.run(@job)
150
- end
151
128
  end
152
129
  end
153
130
 
@@ -165,7 +142,7 @@ describe Delayed::Worker do
165
142
 
166
143
  it "should run that hook" do
167
144
  @job.payload_object.should_receive :on_permanent_failure
168
- @worker.reschedule(@job)
145
+ Delayed::Worker.max_attempts.times { @worker.reschedule(@job) }
169
146
  end
170
147
  end
171
148
 
metadata CHANGED
@@ -1,339 +1,253 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: delayed_job
3
- version: !ruby/object:Gem::Version
4
- version: 2.0.8
5
- prerelease:
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: true
5
+ segments:
6
+ - 2
7
+ - 1
8
+ - 0
9
+ - pre
10
+ version: 2.1.0.pre
6
11
  platform: ruby
7
- authors:
8
- - Chris Gaffney
12
+ authors:
9
13
  - Brandon Keepers
10
- - Tobias Lütke
14
+ - "Tobias L\xC3\xBCtke"
11
15
  autorequire:
12
16
  bindir: bin
13
17
  cert_chain: []
14
- date: 2013-05-28 00:00:00.000000000 Z
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
18
+
19
+ date: 2010-05-21 00:00:00 -04:00
20
+ default_executable:
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
17
23
  name: daemons
18
- requirement: !ruby/object:Gem::Requirement
19
- none: false
20
- requirements:
21
- - - '='
22
- - !ruby/object:Gem::Version
23
- version: 1.0.10
24
- type: :runtime
25
24
  prerelease: false
26
- version_requirements: !ruby/object:Gem::Requirement
27
- none: false
28
- requirements:
29
- - - '='
30
- - !ruby/object:Gem::Version
31
- version: 1.0.10
32
- - !ruby/object:Gem::Dependency
33
- name: activesupport
34
- requirement: !ruby/object:Gem::Requirement
35
- none: false
36
- requirements:
37
- - - ~>
38
- - !ruby/object:Gem::Version
39
- version: '2.0'
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ segments:
30
+ - 0
31
+ version: "0"
40
32
  type: :runtime
41
- prerelease: false
42
- version_requirements: !ruby/object:Gem::Requirement
43
- none: false
44
- requirements:
45
- - - ~>
46
- - !ruby/object:Gem::Version
47
- version: '2.0'
48
- - !ruby/object:Gem::Dependency
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
49
35
  name: rspec
50
- requirement: !ruby/object:Gem::Requirement
51
- none: false
52
- requirements:
53
- - - ~>
54
- - !ruby/object:Gem::Version
55
- version: '1.0'
56
- type: :development
57
- prerelease: false
58
- version_requirements: !ruby/object:Gem::Requirement
59
- none: false
60
- requirements:
61
- - - ~>
62
- - !ruby/object:Gem::Version
63
- version: '1.0'
64
- - !ruby/object:Gem::Dependency
65
- name: rake
66
- requirement: !ruby/object:Gem::Requirement
67
- none: false
68
- requirements:
69
- - - '='
70
- - !ruby/object:Gem::Version
71
- version: 0.8.7
72
- type: :development
73
36
  prerelease: false
74
- version_requirements: !ruby/object:Gem::Requirement
75
- none: false
76
- requirements:
77
- - - '='
78
- - !ruby/object:Gem::Version
79
- version: 0.8.7
80
- - !ruby/object:Gem::Dependency
81
- name: rails
82
- requirement: !ruby/object:Gem::Requirement
83
- none: false
84
- requirements:
85
- - - ~>
86
- - !ruby/object:Gem::Version
87
- version: '2.3'
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 0
43
+ version: "0"
88
44
  type: :development
45
+ version_requirements: *id002
46
+ - !ruby/object:Gem::Dependency
47
+ name: sqlite3-ruby
89
48
  prerelease: false
90
- version_requirements: !ruby/object:Gem::Requirement
91
- none: false
92
- requirements:
93
- - - ~>
94
- - !ruby/object:Gem::Version
95
- version: '2.3'
96
- - !ruby/object:Gem::Dependency
97
- name: sqlite3
98
- requirement: !ruby/object:Gem::Requirement
99
- none: false
100
- requirements:
101
- - - ! '>='
102
- - !ruby/object:Gem::Version
103
- version: '0'
49
+ requirement: &id003 !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ segments:
54
+ - 0
55
+ version: "0"
104
56
  type: :development
57
+ version_requirements: *id003
58
+ - !ruby/object:Gem::Dependency
59
+ name: activerecord
105
60
  prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- none: false
108
- requirements:
109
- - - ! '>='
110
- - !ruby/object:Gem::Version
111
- version: '0'
112
- - !ruby/object:Gem::Dependency
113
- name: mysql
114
- requirement: !ruby/object:Gem::Requirement
115
- none: false
116
- requirements:
117
- - - ! '>='
118
- - !ruby/object:Gem::Version
119
- version: '0'
61
+ requirement: &id004 !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ segments:
66
+ - 0
67
+ version: "0"
120
68
  type: :development
121
- prerelease: false
122
- version_requirements: !ruby/object:Gem::Requirement
123
- none: false
124
- requirements:
125
- - - ! '>='
126
- - !ruby/object:Gem::Version
127
- version: '0'
128
- - !ruby/object:Gem::Dependency
69
+ version_requirements: *id004
70
+ - !ruby/object:Gem::Dependency
129
71
  name: mongo_mapper
130
- requirement: !ruby/object:Gem::Requirement
131
- none: false
132
- requirements:
133
- - - ~>
134
- - !ruby/object:Gem::Version
135
- version: 0.8.0
136
- type: :development
137
72
  prerelease: false
138
- version_requirements: !ruby/object:Gem::Requirement
139
- none: false
140
- requirements:
141
- - - ~>
142
- - !ruby/object:Gem::Version
143
- version: 0.8.0
144
- - !ruby/object:Gem::Dependency
145
- name: dm-core
146
- requirement: !ruby/object:Gem::Requirement
147
- none: false
148
- requirements:
149
- - - ! '>='
150
- - !ruby/object:Gem::Version
151
- version: '0'
73
+ requirement: &id005 !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ segments:
78
+ - 0
79
+ version: "0"
152
80
  type: :development
81
+ version_requirements: *id005
82
+ - !ruby/object:Gem::Dependency
83
+ name: dm-core
153
84
  prerelease: false
154
- version_requirements: !ruby/object:Gem::Requirement
155
- none: false
156
- requirements:
157
- - - ! '>='
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- - !ruby/object:Gem::Dependency
161
- name: dm-observer
162
- requirement: !ruby/object:Gem::Requirement
163
- none: false
164
- requirements:
165
- - - ! '>='
166
- - !ruby/object:Gem::Version
167
- version: '0'
85
+ requirement: &id006 !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ segments:
90
+ - 0
91
+ version: "0"
168
92
  type: :development
93
+ version_requirements: *id006
94
+ - !ruby/object:Gem::Dependency
95
+ name: dm-observer
169
96
  prerelease: false
170
- version_requirements: !ruby/object:Gem::Requirement
171
- none: false
172
- requirements:
173
- - - ! '>='
174
- - !ruby/object:Gem::Version
175
- version: '0'
176
- - !ruby/object:Gem::Dependency
177
- name: dm-aggregates
178
- requirement: !ruby/object:Gem::Requirement
179
- none: false
180
- requirements:
181
- - - ! '>='
182
- - !ruby/object:Gem::Version
183
- version: '0'
97
+ requirement: &id007 !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ segments:
102
+ - 0
103
+ version: "0"
184
104
  type: :development
105
+ version_requirements: *id007
106
+ - !ruby/object:Gem::Dependency
107
+ name: dm-aggregates
185
108
  prerelease: false
186
- version_requirements: !ruby/object:Gem::Requirement
187
- none: false
188
- requirements:
189
- - - ! '>='
190
- - !ruby/object:Gem::Version
191
- version: '0'
192
- - !ruby/object:Gem::Dependency
193
- name: dm-validations
194
- requirement: !ruby/object:Gem::Requirement
195
- none: false
196
- requirements:
197
- - - ! '>='
198
- - !ruby/object:Gem::Version
199
- version: '0'
109
+ requirement: &id008 !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ segments:
114
+ - 0
115
+ version: "0"
200
116
  type: :development
117
+ version_requirements: *id008
118
+ - !ruby/object:Gem::Dependency
119
+ name: dm-validations
201
120
  prerelease: false
202
- version_requirements: !ruby/object:Gem::Requirement
203
- none: false
204
- requirements:
205
- - - ! '>='
206
- - !ruby/object:Gem::Version
207
- version: '0'
208
- - !ruby/object:Gem::Dependency
209
- name: do_sqlite3
210
- requirement: !ruby/object:Gem::Requirement
211
- none: false
212
- requirements:
213
- - - ! '>='
214
- - !ruby/object:Gem::Version
215
- version: '0'
121
+ requirement: &id009 !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ segments:
126
+ - 0
127
+ version: "0"
216
128
  type: :development
129
+ version_requirements: *id009
130
+ - !ruby/object:Gem::Dependency
131
+ name: do_sqlite3
217
132
  prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- none: false
220
- requirements:
221
- - - ! '>='
222
- - !ruby/object:Gem::Version
223
- version: '0'
224
- - !ruby/object:Gem::Dependency
225
- name: database_cleaner
226
- requirement: !ruby/object:Gem::Requirement
227
- none: false
228
- requirements:
229
- - - ! '>='
230
- - !ruby/object:Gem::Version
231
- version: '0'
133
+ requirement: &id010 !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ segments:
138
+ - 0
139
+ version: "0"
232
140
  type: :development
141
+ version_requirements: *id010
142
+ - !ruby/object:Gem::Dependency
143
+ name: couchrest
233
144
  prerelease: false
234
- version_requirements: !ruby/object:Gem::Requirement
235
- none: false
236
- requirements:
237
- - - ! '>='
238
- - !ruby/object:Gem::Version
239
- version: '0'
240
- description: ! 'Delayed_job (or DJ) encapsulates the common pattern of asynchronously
241
- executing longer tasks in the background. It is a direct extraction from Shopify
242
- where the job table is responsible for a multitude of core tasks.
243
-
244
-
245
- This gem is collectiveidea''s fork (http://github.com/collectiveidea/delayed_job).'
246
- email:
247
- - chris@collectiveidea.com
248
- - brandon@opensoul.org
145
+ requirement: &id011 !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ segments:
150
+ - 0
151
+ version: "0"
152
+ type: :development
153
+ version_requirements: *id011
154
+ description: |-
155
+ Delayed_job (or DJ) encapsulates the common pattern of asynchronously executing longer tasks in the background. It is a direct extraction from Shopify where the job table is responsible for a multitude of core tasks.
156
+
157
+ This gem is collectiveidea's fork (http://github.com/collectiveidea/delayed_job).
158
+ email: tobi@leetsoft.com
249
159
  executables: []
160
+
250
161
  extensions: []
251
- extra_rdoc_files:
162
+
163
+ extra_rdoc_files:
252
164
  - README.textile
253
- files:
165
+ files:
166
+ - .gitignore
167
+ - MIT-LICENSE
168
+ - README.textile
169
+ - Rakefile
170
+ - VERSION
171
+ - benchmarks.rb
254
172
  - contrib/delayed_job.monitrc
255
173
  - contrib/delayed_job_multiple.monitrc
174
+ - delayed_job.gemspec
175
+ - generators/delayed_job/delayed_job_generator.rb
176
+ - generators/delayed_job/templates/migration.rb
177
+ - generators/delayed_job/templates/script
178
+ - init.rb
256
179
  - lib/delayed/backend/active_record.rb
257
180
  - lib/delayed/backend/base.rb
181
+ - lib/delayed/backend/couch_rest.rb
258
182
  - lib/delayed/backend/data_mapper.rb
259
183
  - lib/delayed/backend/mongo_mapper.rb
260
184
  - lib/delayed/command.rb
261
- - lib/delayed/deserialization_error.rb
262
185
  - lib/delayed/message_sending.rb
263
186
  - lib/delayed/performable_method.rb
264
187
  - lib/delayed/railtie.rb
265
188
  - lib/delayed/recipes.rb
266
189
  - lib/delayed/tasks.rb
267
190
  - lib/delayed/worker.rb
191
+ - lib/delayed/yaml_ext.rb
268
192
  - lib/delayed_job.rb
269
- - generators/delayed_job/delayed_job_generator.rb
270
- - generators/delayed_job/templates/migration.rb
271
- - generators/delayed_job/templates/script
193
+ - lib/generators/delayed_job/delayed_job_generator.rb
194
+ - lib/generators/delayed_job/templates/migration.rb
195
+ - lib/generators/delayed_job/templates/script
272
196
  - rails/init.rb
273
197
  - recipes/delayed_job.rb
198
+ - spec/autoloaded/clazz.rb
199
+ - spec/autoloaded/struct.rb
274
200
  - spec/backend/active_record_job_spec.rb
201
+ - spec/backend/couch_rest_job_spec.rb
275
202
  - spec/backend/data_mapper_job_spec.rb
276
203
  - spec/backend/mongo_mapper_job_spec.rb
277
204
  - spec/backend/shared_backend_spec.rb
278
- - spec/delayed_method_spec.rb
279
205
  - spec/message_sending_spec.rb
280
206
  - spec/performable_method_spec.rb
281
207
  - spec/sample_jobs.rb
282
208
  - spec/setup/active_record.rb
209
+ - spec/setup/couch_rest.rb
283
210
  - spec/setup/data_mapper.rb
284
211
  - spec/setup/mongo_mapper.rb
285
212
  - spec/spec_helper.rb
286
- - spec/story_spec.rb
287
213
  - spec/worker_spec.rb
288
214
  - tasks/jobs.rake
289
- - MIT-LICENSE
290
- - README.textile
215
+ has_rdoc: true
291
216
  homepage: http://github.com/collectiveidea/delayed_job
292
217
  licenses: []
218
+
293
219
  post_install_message:
294
- rdoc_options:
220
+ rdoc_options:
295
221
  - --main
296
222
  - README.textile
297
223
  - --inline-source
298
224
  - --line-numbers
299
- require_paths:
225
+ require_paths:
300
226
  - lib
301
- required_ruby_version: !ruby/object:Gem::Requirement
302
- none: false
303
- requirements:
304
- - - ! '>='
305
- - !ruby/object:Gem::Version
306
- version: '0'
307
- segments:
227
+ required_ruby_version: !ruby/object:Gem::Requirement
228
+ requirements:
229
+ - - ">="
230
+ - !ruby/object:Gem::Version
231
+ segments:
308
232
  - 0
309
- hash: -534603219747213173
310
- required_rubygems_version: !ruby/object:Gem::Requirement
311
- none: false
312
- requirements:
313
- - - ! '>='
314
- - !ruby/object:Gem::Version
315
- version: '0'
316
- segments:
317
- - 0
318
- hash: -534603219747213173
233
+ version: "0"
234
+ required_rubygems_version: !ruby/object:Gem::Requirement
235
+ requirements:
236
+ - - ">"
237
+ - !ruby/object:Gem::Version
238
+ segments:
239
+ - 1
240
+ - 3
241
+ - 1
242
+ version: 1.3.1
319
243
  requirements: []
244
+
320
245
  rubyforge_project:
321
- rubygems_version: 1.8.23
246
+ rubygems_version: 1.3.6
322
247
  signing_key:
323
248
  specification_version: 3
324
249
  summary: Database-backed asynchronous priority queue system -- Extracted from Shopify
325
- test_files:
326
- - spec/backend/active_record_job_spec.rb
327
- - spec/backend/data_mapper_job_spec.rb
328
- - spec/backend/mongo_mapper_job_spec.rb
329
- - spec/backend/shared_backend_spec.rb
330
- - spec/delayed_method_spec.rb
250
+ test_files:
331
251
  - spec/message_sending_spec.rb
332
252
  - spec/performable_method_spec.rb
333
- - spec/sample_jobs.rb
334
- - spec/setup/active_record.rb
335
- - spec/setup/data_mapper.rb
336
- - spec/setup/mongo_mapper.rb
337
- - spec/spec_helper.rb
338
- - spec/story_spec.rb
339
253
  - spec/worker_spec.rb