delayed_job_groups_mongoid 0.2.4 → 0.3.1

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/Gemfile CHANGED
@@ -2,7 +2,7 @@ source :rubygems
2
2
 
3
3
  gem 'rails'
4
4
  gem 'delayed_job', '2.1.1'
5
- gem 'delayed_job_mongoid', '1.0.0'
5
+ gem 'delayed_job_mongoid', '1.0.1'
6
6
  gem 'mongoid', '2.0.0.beta.20'
7
7
  gem 'bson_ext'
8
8
 
@@ -10,10 +10,14 @@ gem 'bson_ext'
10
10
  group :test do
11
11
  gem 'rspec-rails'
12
12
  gem 'sqlite3-ruby'
13
- gem 'autotest'
14
- gem 'autotest-fsevent'
15
- gem 'autotest-growl'
16
13
  gem 'database_cleaner'
17
14
  gem 'ruby-debug'
18
15
  gem 'awesome_print'
19
- end
16
+ gem 'timecop'
17
+ end
18
+
19
+ group :local do
20
+ gem 'autotest'
21
+ gem 'autotest-fsevent'
22
+ gem 'autotest-growl'
23
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,131 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ abstract (1.0.0)
5
+ actionmailer (3.0.1)
6
+ actionpack (= 3.0.1)
7
+ mail (~> 2.2.5)
8
+ actionpack (3.0.1)
9
+ activemodel (= 3.0.1)
10
+ activesupport (= 3.0.1)
11
+ builder (~> 2.1.2)
12
+ erubis (~> 2.6.6)
13
+ i18n (~> 0.4.1)
14
+ rack (~> 1.2.1)
15
+ rack-mount (~> 0.6.12)
16
+ rack-test (~> 0.5.4)
17
+ tzinfo (~> 0.3.23)
18
+ activemodel (3.0.1)
19
+ activesupport (= 3.0.1)
20
+ builder (~> 2.1.2)
21
+ i18n (~> 0.4.1)
22
+ activerecord (3.0.1)
23
+ activemodel (= 3.0.1)
24
+ activesupport (= 3.0.1)
25
+ arel (~> 1.0.0)
26
+ tzinfo (~> 0.3.23)
27
+ activeresource (3.0.1)
28
+ activemodel (= 3.0.1)
29
+ activesupport (= 3.0.1)
30
+ activesupport (3.0.1)
31
+ arel (1.0.1)
32
+ activesupport (~> 3.0.0)
33
+ autotest (4.4.1)
34
+ autotest-fsevent (0.2.3)
35
+ sys-uname
36
+ autotest-growl (0.2.6)
37
+ awesome_print (0.3.1)
38
+ bson (1.1.2)
39
+ bson_ext (1.1.2)
40
+ builder (2.1.2)
41
+ columnize (0.3.2)
42
+ daemons (1.1.0)
43
+ database_cleaner (0.6.0)
44
+ delayed_job (2.1.1)
45
+ activesupport (~> 3.0)
46
+ daemons
47
+ delayed_job_mongoid (1.0.1)
48
+ delayed_job (~> 2.1.1)
49
+ mongoid (~> 2.0)
50
+ diff-lcs (1.1.2)
51
+ erubis (2.6.6)
52
+ abstract (>= 1.0.0)
53
+ i18n (0.4.2)
54
+ linecache (0.43)
55
+ mail (2.2.9)
56
+ activesupport (>= 2.3.6)
57
+ i18n (~> 0.4.1)
58
+ mime-types (~> 1.16)
59
+ treetop (~> 1.4.8)
60
+ mime-types (1.16)
61
+ mongo (1.1.2)
62
+ bson (>= 1.1.1)
63
+ mongoid (2.0.0.beta.20)
64
+ activemodel (~> 3.0)
65
+ mongo (~> 1.1)
66
+ tzinfo (~> 0.3.22)
67
+ will_paginate (~> 3.0.pre)
68
+ polyglot (0.3.1)
69
+ rack (1.2.1)
70
+ rack-mount (0.6.13)
71
+ rack (>= 1.0.0)
72
+ rack-test (0.5.6)
73
+ rack (>= 1.0)
74
+ rails (3.0.1)
75
+ actionmailer (= 3.0.1)
76
+ actionpack (= 3.0.1)
77
+ activerecord (= 3.0.1)
78
+ activeresource (= 3.0.1)
79
+ activesupport (= 3.0.1)
80
+ bundler (~> 1.0.0)
81
+ railties (= 3.0.1)
82
+ railties (3.0.1)
83
+ actionpack (= 3.0.1)
84
+ activesupport (= 3.0.1)
85
+ rake (>= 0.8.4)
86
+ thor (~> 0.14.0)
87
+ rake (0.8.7)
88
+ rspec (2.0.1)
89
+ rspec-core (~> 2.0.1)
90
+ rspec-expectations (~> 2.0.1)
91
+ rspec-mocks (~> 2.0.1)
92
+ rspec-core (2.0.1)
93
+ rspec-expectations (2.0.1)
94
+ diff-lcs (>= 1.1.2)
95
+ rspec-mocks (2.0.1)
96
+ rspec-core (~> 2.0.1)
97
+ rspec-expectations (~> 2.0.1)
98
+ rspec-rails (2.0.1)
99
+ rspec (~> 2.0.0)
100
+ ruby-debug (0.10.4)
101
+ columnize (>= 0.1)
102
+ ruby-debug-base (~> 0.10.4.0)
103
+ ruby-debug-base (0.10.4)
104
+ linecache (>= 0.3)
105
+ sqlite3-ruby (1.3.1)
106
+ sys-uname (0.8.4)
107
+ thor (0.14.3)
108
+ timecop (0.3.5)
109
+ treetop (1.4.8)
110
+ polyglot (>= 0.3.1)
111
+ tzinfo (0.3.23)
112
+ will_paginate (3.0.pre2)
113
+
114
+ PLATFORMS
115
+ ruby
116
+
117
+ DEPENDENCIES
118
+ autotest
119
+ autotest-fsevent
120
+ autotest-growl
121
+ awesome_print
122
+ bson_ext
123
+ database_cleaner
124
+ delayed_job (= 2.1.1)
125
+ delayed_job_mongoid (= 1.0.1)
126
+ mongoid (= 2.0.0.beta.20)
127
+ rails
128
+ rspec-rails
129
+ ruby-debug
130
+ sqlite3-ruby
131
+ timecop
data/Rakefile.rb ADDED
@@ -0,0 +1,26 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'rspec/core'
4
+ require 'rspec/core/rake_task'
5
+
6
+ begin
7
+ require 'jeweler'
8
+ Jeweler::Tasks.new do |gem|
9
+ gem.name = "delayed_job_groups_mongoid"
10
+ gem.summary = %Q{Adds job groups to delayed_job_mongoid}
11
+ gem.description = %Q{Adds job groups to delayed_job_mongoid}
12
+ gem.email = "oliver@opsb.co.uk"
13
+ gem.homepage = "http://github.com/opsb/delayed_job_groups_mongoid"
14
+ gem.authors = ["opsb"]
15
+ end
16
+ Jeweler::GemcutterTasks.new
17
+ rescue LoadError
18
+ puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
19
+ end
20
+
21
+ desc "run rspec scenarios"
22
+ task :spec do
23
+ RSpec::Core::RakeTask.new do |t|
24
+ t.pattern = "./spec/**/*_spec.rb"
25
+ end
26
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.3.1
data/config.ru ADDED
File without changes
@@ -1,29 +1,43 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile.rb, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in Rakefile.rb, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{delayed_job_groups_mongoid}
8
- s.version = "0.2.4"
8
+ s.version = "0.3.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["opsb"]
12
- s.date = %q{2010-11-04}
13
- s.description = %q{Adds job groups to delayed_job}
12
+ s.date = %q{2010-12-07}
13
+ s.description = %q{Adds job groups to delayed_job_mongoid}
14
14
  s.email = %q{oliver@opsb.co.uk}
15
15
  s.extra_rdoc_files = [
16
16
  "README.markdown"
17
17
  ]
18
- s.files = Dir.glob("lib/**/*") + %w(Gemfile delayed_job_groups_mongoid.gemspec README.markdown)
19
- s.homepage = %q{http://github.com/opsb/delayed_job_groups}
20
- s.rdoc_options = ["--charset=UTF-8"]
18
+ s.files = [
19
+ "Gemfile",
20
+ "Gemfile.lock",
21
+ "README.markdown",
22
+ "Rakefile.rb",
23
+ "VERSION",
24
+ "config.ru",
25
+ "delayed_job_groups_mongoid.gemspec",
26
+ "lib/delayed_job_groups/init.rb",
27
+ "lib/delayed_job_groups/job_groups.rb",
28
+ "lib/delayed_job_groups/mongoid_groups.rb",
29
+ "lib/delayed_job_groups_mongoid.rb",
30
+ "spec/database.yml",
31
+ "spec/delayed_job_groups_spec.rb",
32
+ "spec/spec_helper.rb"
33
+ ]
34
+ s.homepage = %q{http://github.com/opsb/delayed_job_groups_mongoid}
21
35
  s.require_paths = ["lib"]
22
36
  s.rubygems_version = %q{1.3.7}
23
- s.summary = %q{Adds job groups to delayed_job}
37
+ s.summary = %q{Adds job groups to delayed_job_mongoid}
24
38
  s.test_files = [
25
39
  "spec/delayed_job_groups_spec.rb",
26
- "spec/spec_helper.rb"
40
+ "spec/spec_helper.rb"
27
41
  ]
28
42
 
29
43
  if s.respond_to? :specification_version then
@@ -31,9 +45,24 @@ Gem::Specification.new do |s|
31
45
  s.specification_version = 3
32
46
 
33
47
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
48
+ s.add_runtime_dependency(%q<rails>, [">= 0"])
49
+ s.add_runtime_dependency(%q<delayed_job>, ["= 2.1.1"])
50
+ s.add_runtime_dependency(%q<delayed_job_mongoid>, ["= 1.0.1"])
51
+ s.add_runtime_dependency(%q<mongoid>, ["= 2.0.0.beta.20"])
52
+ s.add_runtime_dependency(%q<bson_ext>, [">= 0"])
34
53
  else
54
+ s.add_dependency(%q<rails>, [">= 0"])
55
+ s.add_dependency(%q<delayed_job>, ["= 2.1.1"])
56
+ s.add_dependency(%q<delayed_job_mongoid>, ["= 1.0.1"])
57
+ s.add_dependency(%q<mongoid>, ["= 2.0.0.beta.20"])
58
+ s.add_dependency(%q<bson_ext>, [">= 0"])
35
59
  end
36
60
  else
61
+ s.add_dependency(%q<rails>, [">= 0"])
62
+ s.add_dependency(%q<delayed_job>, ["= 2.1.1"])
63
+ s.add_dependency(%q<delayed_job_mongoid>, ["= 1.0.1"])
64
+ s.add_dependency(%q<mongoid>, ["= 2.0.0.beta.20"])
65
+ s.add_dependency(%q<bson_ext>, [">= 0"])
37
66
  end
38
67
  end
39
68
 
@@ -5,37 +5,34 @@ module Delayed
5
5
  class Backend::Mongoid::Job
6
6
  field :lock_group
7
7
  scope :in_unlocked_group, lambda{ where(:lock_group.nin => self.locked_groups) }
8
+ scope :locked_jobs, lambda{ where(:locked_at.gt => time_out_threshold ) }
8
9
 
10
+ def self.time_out_threshold
11
+ db_time_now - Delayed::Worker.max_run_time
12
+ end
13
+
9
14
  def self.locked_groups
10
- Delayed::Job.only(:lock_group).where(:locked_by.ne => nil).group.map{ |grouping| grouping["lock_group"] }
15
+ Delayed::Job.locked_jobs.only(:lock_group).group.map{ |grouping| grouping["lock_group"] }
11
16
  end
12
17
 
13
- def self.find_available(worker_name, limit = 5, max_run_time = Worker.max_run_time)
18
+ def self.reserve(worker, max_run_time = Worker.max_run_time)
14
19
  right_now = db_time_now
15
20
 
16
- conditions = {:run_at => {"$lte" => right_now}, :failed_at => nil}
21
+ conditions = {:run_at => {"$lte" => right_now}, :failed_at => nil, :lock_group => { "$nin" => self.locked_groups } }
17
22
  (conditions[:priority] ||= {})['$gte'] = Worker.min_priority.to_i if Worker.min_priority
18
23
  (conditions[:priority] ||= {})['$lte'] = Worker.max_priority.to_i if Worker.max_priority
19
24
 
20
-
21
- where = "this.locked_at == null || this.locked_at < #{make_date(right_now - max_run_time)}"
22
- results = self.in_unlocked_group.where(conditions.merge(:locked_by => worker_name)).limit(-limit).order_by([['priority', 1], ['run_at', 1]]).to_a
23
- results += self.in_unlocked_group.where(conditions.merge('$where' => where)).limit(-limit+results.size).order_by([['priority', 1], ['run_at', 1]]).to_a if results.size < limit
24
- results
25
- end
26
-
25
+ where = "this.locked_by == '#{worker.name}' || this.locked_at == null || this.locked_at < #{make_date(right_now - max_run_time)}"
26
+ conditions.merge!('$where' => where)
27
+
28
+ begin
29
+ result = self.db.collection(self.collection.name).find_and_modify(:query => conditions, :sort => [['locked_by', -1], ['priority', 1], ['run_at', 1]], :update => {"$set" => {:locked_at => right_now, :locked_by => worker.name}})
30
+ # Return result as a Mongoid document.
31
+ # When Mongoid starts supporting findAndModify, this extra step should no longer be necessary.
32
+ self.find(:first, :conditions => {:_id => result["_id"]})
33
+ rescue Mongo::OperationFailure
34
+ nil # no jobs available
35
+ end
36
+ end
27
37
  end
28
- end
29
-
30
- __END__
31
-
32
- scope :in_unlocked_group, lambda{
33
- delayed_jobs = self.table_name
34
- unlocked_groups_select = "select distinct #{delayed_jobs}.lock_group from #{delayed_jobs} where #{delayed_jobs}.locked_by is not null"
35
- where("#{delayed_jobs}.lock_group not in (#{unlocked_groups_select}) or #{delayed_jobs}.lock_group is null")
36
- }
37
- scope :orig_ready_to_run, scopes[:ready_to_run]
38
- scope :ready_to_run, lambda{ |*args|
39
- orig_ready_to_run(*args).
40
- in_unlocked_group
41
- }
38
+ end
data/spec/database.yml ADDED
@@ -0,0 +1,3 @@
1
+ sqlite:
2
+ adapter: sqlite3
3
+ database: delayed_job.sqlite3
@@ -1,6 +1,5 @@
1
1
  require 'spec/spec_helper'
2
2
 
3
-
4
3
  class GroupedJob
5
4
  include Mongoid::Document
6
5
  include JobGroups
@@ -36,9 +35,19 @@ class User
36
35
  end
37
36
  end
38
37
 
38
+ module Delayed
39
+ class Backend::Mongoid::Job
40
+ def lock!(worker, time = Time.now.utc)
41
+ self.locked_by = worker.name
42
+ self.locked_at = time
43
+ save!
44
+ end
45
+ end
46
+ end
47
+
39
48
  describe Delayed::Job do
40
- MAX_RUN_TIME = 4000 # seconds? TBC
41
- WORKER = 'name_of_worker'
49
+ Delayed::Worker.max_run_time = MAX_RUN_TIME = 5.hours
50
+ WORKER = OpenStruct.new.tap{|worker| worker.name = "name_of_worker"}
42
51
 
43
52
  context "a job" do
44
53
  before do
@@ -52,22 +61,23 @@ describe Delayed::Job do
52
61
 
53
62
  context "with 2 jobs in the same group, one locked, one unlocked and 1 job in a different group" do
54
63
  before do
55
- a, b, c = ['repo1', 'repo1', 'repo2'].map{ |repo| GroupedJob.new(:repository => repo) }
56
- job_a, job_b, job_c = [a, b, c].map{ |group_job| Delayed::Job.enqueue group_job }
57
-
58
- 2.times do
59
- GroupedJob.new(:repository => 'repo1')
64
+ 2.times do |n|
65
+ Delayed::Job.enqueue GroupedJob.new(:repository => 'repo1', :priority => n)
60
66
  end
61
- 1.times{ GroupedJob.new(:repository => 'repo2') }
62
- Delayed::Job.where(:lock_group => "repo1").first.lock_exclusively!(MAX_RUN_TIME, WORKER)
67
+ 1.times{ Delayed::Job.enqueue GroupedJob.new(:repository => 'repo2', :priority => 3) }
68
+ Delayed::Job.where(:lock_group => "repo1").first.lock!(WORKER)
69
+ end
70
+
71
+ it "should have one locked job" do
72
+ Delayed::Job.locked_jobs.count.should == 1
63
73
  end
64
74
 
65
75
  it "should have one locked group" do
66
76
  Delayed::Job.locked_groups.should == ['repo1']
67
77
  end
68
78
 
69
- it "should find only the job in the different group" do
70
- Delayed::Job.find_available(WORKER, MAX_RUN_TIME).count.should == 1
79
+ it "should not reserve job from same group" do
80
+ Delayed::Job.reserve(WORKER).lock_group.should_not == "repo1"
71
81
  end
72
82
  end
73
83
 
@@ -76,7 +86,7 @@ describe Delayed::Job do
76
86
  Delayed::Job.enqueue SimpleJob.new
77
87
  end
78
88
  it "should still be queuable" do
79
- Delayed::Job.find_available(WORKER, MAX_RUN_TIME).count.should == 1
89
+ Delayed::Job.reserve(WORKER).should_not be_nil
80
90
  end
81
91
  end
82
92
 
@@ -85,13 +95,12 @@ describe Delayed::Job do
85
95
  2.times do
86
96
  User.create(:role => "admin").send_welcome_email
87
97
  end
88
- 1.times{ User.create(:role => "PA").send_welcome_email }
89
- Delayed::Job.where(:lock_group => "admin").first.lock_exclusively!(MAX_RUN_TIME, WORKER)
98
+ 1.times{ User.create(:role => "PA").send_welcome_email }
99
+ Delayed::Job.where(:lock_group => "admin").first.lock!(WORKER)
90
100
  end
91
101
 
92
102
  it "should only find the job in the different group" do
93
- Delayed::Job.find_available(WORKER, MAX_RUN_TIME).count.should == 1
94
- Delayed::Job.find_available(WORKER, MAX_RUN_TIME).first.lock_group.should == "PA"
103
+ Delayed::Job.reserve(WORKER).lock_group.should == "PA"
95
104
  end
96
105
  end
97
106
 
@@ -100,13 +109,30 @@ describe Delayed::Job do
100
109
  2.times do
101
110
  User.create(:role => "admin").delay.expensive_operation
102
111
  end
103
- 1.times{ Delayed::Job.enqueue GroupedJob.new(:repository => "repo2") }
104
- Delayed::Job.where(:lock_group => "admin").first.lock_exclusively!(MAX_RUN_TIME, WORKER)
112
+ 1.times{ Delayed::Job.enqueue GroupedJob.new(:repository => "repo2") }
113
+ Delayed::Job.where(:lock_group => "admin").each{ |job| job.update :priority => 1}
114
+ Delayed::Job.where(:lock_group => "repo2").each{ |job| job.update :priority => 2}
115
+ Delayed::Job.where(:lock_group => "admin").first.lock!(WORKER)
105
116
  end
106
117
 
107
118
  it "should find only the job in the different group" do
108
- Delayed::Job.find_available(WORKER, MAX_RUN_TIME).count.should == 1
109
- Delayed::Job.find_available(WORKER, MAX_RUN_TIME).first.lock_group.should == "repo2"
119
+ Delayed::Job.reserve(WORKER).lock_group.should == "repo2"
110
120
  end
111
121
  end
122
+
123
+ context "with 2 jobs in the same group, one timed out" do
124
+ before do
125
+ @timed_out, @other = (1..2).map{ Delayed::Job.enqueue GroupedJob.new(:repository => "repo1") }
126
+ @timed_out.lock!(WORKER)
127
+ Timecop.freeze(Time.now.utc + MAX_RUN_TIME + 1.minute)
128
+ end
129
+
130
+ after do
131
+ Timecop.return
132
+ end
133
+
134
+ it "should find no locked jobs" do
135
+ Delayed::Job.locked_jobs(MAX_RUN_TIME).count.should == 0
136
+ end
137
+ end
112
138
  end
data/spec/spec_helper.rb CHANGED
@@ -5,6 +5,7 @@ require 'bundler/setup'
5
5
  require 'logger'
6
6
  require 'mongoid'
7
7
  require 'ap'
8
+ require 'timecop'
8
9
 
9
10
 
10
11
 
@@ -14,10 +15,15 @@ require 'rails'
14
15
  Mongoid.configure do |config|
15
16
  name = "delayed_job_groups_mongoid"
16
17
  host = "localhost"
17
- config.master = Mongo::Connection.new.db(name)
18
- config.slaves = [
19
- Mongo::Connection.new(host, 27017, :slave_ok => true).db(name)
20
- ]
18
+
19
+ if ENV['ZENSLAP_ID']
20
+ config.from_hash("uri" => ENV['MONGOHQ_URL'])
21
+ else
22
+ config.master = Mongo::Connection.new.db(name)
23
+ config.slaves = [
24
+ Mongo::Connection.new(host, 27017, :slave_ok => true).db(name)
25
+ ]
26
+ end
21
27
  config.persist_in_safe_mode = false
22
28
  end
23
29
 
@@ -29,13 +35,13 @@ Delayed::Worker.logger = Logger.new('/tmp/dj.log')
29
35
 
30
36
  Delayed::Worker.backend = :mongoid
31
37
 
32
-
33
38
  require 'delayed_job_groups/init.rb'
34
39
  RSpec.configure do |config|
35
40
  require 'database_cleaner'
36
41
  DatabaseCleaner.strategy = :truncation
37
42
  config.after(:each) do
38
- DatabaseCleaner.clean
43
+ ::Mongoid.database.collections.select{ |c| c.name !~ /^system/ }.each{ |condemned| condemned.remove }
44
+ # DatabaseCleaner.clean
39
45
  end
40
46
  config.filter_run :focus => true
41
47
  config.run_all_when_everything_filtered = true
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: delayed_job_groups_mongoid
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 17
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 2
9
- - 4
10
- version: 0.2.4
8
+ - 3
9
+ - 1
10
+ version: 0.3.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - opsb
@@ -15,11 +15,88 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-11-04 00:00:00 +00:00
18
+ date: 2010-12-07 00:00:00 +00:00
19
19
  default_executable:
20
- dependencies: []
21
-
22
- description: Adds job groups to delayed_job
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ type: :runtime
23
+ prerelease: false
24
+ name: rails
25
+ version_requirements: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 3
31
+ segments:
32
+ - 0
33
+ version: "0"
34
+ requirement: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ type: :runtime
37
+ prerelease: false
38
+ name: delayed_job
39
+ version_requirements: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - "="
43
+ - !ruby/object:Gem::Version
44
+ hash: 9
45
+ segments:
46
+ - 2
47
+ - 1
48
+ - 1
49
+ version: 2.1.1
50
+ requirement: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ type: :runtime
53
+ prerelease: false
54
+ name: delayed_job_mongoid
55
+ version_requirements: &id003 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - "="
59
+ - !ruby/object:Gem::Version
60
+ hash: 21
61
+ segments:
62
+ - 1
63
+ - 0
64
+ - 1
65
+ version: 1.0.1
66
+ requirement: *id003
67
+ - !ruby/object:Gem::Dependency
68
+ type: :runtime
69
+ prerelease: false
70
+ name: mongoid
71
+ version_requirements: &id004 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - "="
75
+ - !ruby/object:Gem::Version
76
+ hash: 62196427
77
+ segments:
78
+ - 2
79
+ - 0
80
+ - 0
81
+ - beta
82
+ - 20
83
+ version: 2.0.0.beta.20
84
+ requirement: *id004
85
+ - !ruby/object:Gem::Dependency
86
+ type: :runtime
87
+ prerelease: false
88
+ name: bson_ext
89
+ version_requirements: &id005 !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ hash: 3
95
+ segments:
96
+ - 0
97
+ version: "0"
98
+ requirement: *id005
99
+ description: Adds job groups to delayed_job_mongoid
23
100
  email: oliver@opsb.co.uk
24
101
  executables: []
25
102
 
@@ -28,22 +105,27 @@ extensions: []
28
105
  extra_rdoc_files:
29
106
  - README.markdown
30
107
  files:
108
+ - Gemfile
109
+ - Gemfile.lock
110
+ - README.markdown
111
+ - Rakefile.rb
112
+ - VERSION
113
+ - config.ru
114
+ - delayed_job_groups_mongoid.gemspec
31
115
  - lib/delayed_job_groups/init.rb
32
116
  - lib/delayed_job_groups/job_groups.rb
33
117
  - lib/delayed_job_groups/mongoid_groups.rb
34
118
  - lib/delayed_job_groups_mongoid.rb
35
- - Gemfile
36
- - delayed_job_groups_mongoid.gemspec
37
- - README.markdown
119
+ - spec/database.yml
38
120
  - spec/delayed_job_groups_spec.rb
39
121
  - spec/spec_helper.rb
40
122
  has_rdoc: true
41
- homepage: http://github.com/opsb/delayed_job_groups
123
+ homepage: http://github.com/opsb/delayed_job_groups_mongoid
42
124
  licenses: []
43
125
 
44
126
  post_install_message:
45
- rdoc_options:
46
- - --charset=UTF-8
127
+ rdoc_options: []
128
+
47
129
  require_paths:
48
130
  - lib
49
131
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -70,7 +152,7 @@ rubyforge_project:
70
152
  rubygems_version: 1.3.7
71
153
  signing_key:
72
154
  specification_version: 3
73
- summary: Adds job groups to delayed_job
155
+ summary: Adds job groups to delayed_job_mongoid
74
156
  test_files:
75
157
  - spec/delayed_job_groups_spec.rb
76
158
  - spec/spec_helper.rb