active_scheduler 0.2.0 → 0.7.0
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.
- checksums.yaml +5 -5
- data/.gitignore +1 -0
- data/.travis.yml +41 -8
- data/CHANGELOG.markdown +26 -2
- data/Gemfile +5 -1
- data/README.markdown +30 -4
- data/active_scheduler.gemspec +4 -8
- data/lib/active_scheduler.rb +0 -1
- data/lib/active_scheduler/resque_wrapper.rb +27 -9
- data/lib/active_scheduler/version.rb +1 -1
- data/spec/active_scheduler/resque_wrapper_spec.rb +105 -3
- data/spec/fixtures/named_args_job.yaml +9 -0
- data/spec/fixtures/persist_job.yaml +10 -0
- data/spec/fixtures/simple_job.yaml +1 -0
- metadata +16 -30
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 3073d561f9035ada866836665d88d99bb7a23badd33171706a7f84c7f0b97a58
|
|
4
|
+
data.tar.gz: 5b50684ed4c4882d05ebc42b44f09d6f252333884c01177cc379c335324d684f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 16df38caebab620ed732b88ae40b6296b05afb7d1d78ed62b116a9cfebc55e281908935f886447c1380f405f323e4848d1594815f5ba069b45f7f9187dd520b5
|
|
7
|
+
data.tar.gz: 3c72338f022ef31687ffd9085f32bbaf21c318cad169e1fc17feff73c55ee5445fe23e28cfbad2197da1d18c74e60b291fd5df2d5b48ce9faa95890515a6fc01
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
|
@@ -1,15 +1,48 @@
|
|
|
1
1
|
language: ruby
|
|
2
2
|
rvm:
|
|
3
|
-
-
|
|
4
|
-
- 2.
|
|
5
|
-
- 2.
|
|
6
|
-
- 2.
|
|
7
|
-
- 2.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
- 2.0
|
|
4
|
+
- 2.1
|
|
5
|
+
- 2.2
|
|
6
|
+
- 2.3
|
|
7
|
+
- 2.4
|
|
8
|
+
- 2.5
|
|
9
|
+
- 2.6
|
|
10
|
+
- 2.7
|
|
11
11
|
env:
|
|
12
12
|
- "RAILS_VERSION=4.2.0"
|
|
13
|
+
- "RAILS_VERSION=5.0.0"
|
|
14
|
+
- "RAILS_VERSION=5.1.0"
|
|
15
|
+
- "RAILS_VERSION=5.2.0"
|
|
16
|
+
- "RAILS_VERSION=6.0.0"
|
|
17
|
+
matrix:
|
|
18
|
+
exclude:
|
|
19
|
+
- rvm: 2.0
|
|
20
|
+
env: "RAILS_VERSION=5.0.0"
|
|
21
|
+
- rvm: 2.0
|
|
22
|
+
env: "RAILS_VERSION=5.1.0"
|
|
23
|
+
- rvm: 2.0
|
|
24
|
+
env: "RAILS_VERSION=5.2.0"
|
|
25
|
+
- rvm: 2.0
|
|
26
|
+
env: "RAILS_VERSION=6.0.0"
|
|
27
|
+
- rvm: 2.1
|
|
28
|
+
env: "RAILS_VERSION=5.0.0"
|
|
29
|
+
- rvm: 2.1
|
|
30
|
+
env: "RAILS_VERSION=5.1.0"
|
|
31
|
+
- rvm: 2.1
|
|
32
|
+
env: "RAILS_VERSION=5.2.0"
|
|
33
|
+
- rvm: 2.1
|
|
34
|
+
env: "RAILS_VERSION=6.0.0"
|
|
35
|
+
- rvm: 2.2
|
|
36
|
+
env: "RAILS_VERSION=5.1.0"
|
|
37
|
+
- rvm: 2.2
|
|
38
|
+
env: "RAILS_VERSION=6.0.0"
|
|
39
|
+
- rvm: 2.3
|
|
40
|
+
env: "RAILS_VERSION=6.0.0"
|
|
41
|
+
- rvm: 2.4
|
|
42
|
+
env: "RAILS_VERSION=4.2.0"
|
|
43
|
+
- rvm: 2.4
|
|
44
|
+
env: "RAILS_VERSION=6.0.0"
|
|
45
|
+
|
|
13
46
|
notifications:
|
|
14
47
|
email:
|
|
15
48
|
recipients:
|
data/CHANGELOG.markdown
CHANGED
|
@@ -1,9 +1,33 @@
|
|
|
1
|
+
# 0.7.0
|
|
2
|
+
- Remove deprecated Rubyforge reference [#19](https://github.com/JustinAiken/active_scheduler/pull/19) (Thanks @kensentor)
|
|
3
|
+
- Implement ActiveScheduler::ResqueWrapper.scheduled [#17](https://github.com/JustinAiken/active_scheduler/pull/17) (Thanks @AMHOL)
|
|
4
|
+
|
|
5
|
+
# 0.6.0
|
|
6
|
+
|
|
7
|
+
- Add `persist` option [#15](https://github.com/JustinAiken/active_scheduler/pull/15) (Thanks @SpiffyStores)
|
|
8
|
+
- Remove hardcoded class references [#16](https://github.com/JustinAiken/active_scheduler/pull/16) (Thanks @kensentor)
|
|
9
|
+
|
|
10
|
+
# 0.5.0
|
|
11
|
+
- Expand Travis matrix to include Rails 5 and more ruby versions
|
|
12
|
+
- Allow `rails_env` option since [resque-scheduler](https://github.com/resque/resque-scheduler) does [#10](https://github.com/JustinAiken/active_scheduler/pull/10) (Thanks @blahutka)
|
|
13
|
+
|
|
14
|
+
# 0.4.0
|
|
15
|
+
- Use job's queue instead of hardcoded `default` [#9](https://github.com/JustinAiken/active_scheduler/pull/9) (Thanks @r3trofitted)
|
|
16
|
+
|
|
17
|
+
# 0.3.0
|
|
18
|
+
|
|
19
|
+
- Remove explicit active_support dependency (it's pulled in by activejob)
|
|
20
|
+
- Updated testing matrix for more rubies 💎💎💎
|
|
21
|
+
- Support named args [#6](https://github.com/JustinAiken/active_scheduler/pull/6) (Thanks @jdguzman)
|
|
22
|
+
|
|
1
23
|
# 0.2.0
|
|
2
24
|
|
|
3
|
-
- Deprecate `arguments` in favor of `args` [#5](https://github.com/JustinAiken/active_scheduler/pull/5)
|
|
25
|
+
- Deprecate `arguments` in favor of `args` [#5](https://github.com/JustinAiken/active_scheduler/pull/5) (Thanks @ximus)
|
|
4
26
|
|
|
5
27
|
# 0.1.0
|
|
6
28
|
|
|
7
|
-
- Only wrap jobs that are descendants of `ActiveJob::Base` [#3](https://github.com/JustinAiken/active_scheduler/pull/3)
|
|
29
|
+
- Only wrap jobs that are descendants of `ActiveJob::Base` [#3](https://github.com/JustinAiken/active_scheduler/pull/3) (Thanks @ximus)
|
|
8
30
|
|
|
9
31
|
# 0.0.3
|
|
32
|
+
|
|
33
|
+
- Use schedule name as class name if unspecified [#1](https://github.com/JustinAiken/active_scheduler/pull/1) (Thanks @jeremycrosbie)
|
data/Gemfile
CHANGED
|
@@ -4,6 +4,10 @@ rails_version = ENV['RAILS_VERSION'] || '4.2.0'
|
|
|
4
4
|
rails = "~> #{rails_version}"
|
|
5
5
|
|
|
6
6
|
gem "activejob", rails
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
gem "guard-rspec", '~> 4.2' unless ENV['CI']
|
|
9
|
+
|
|
10
|
+
# Randomly grabbed 'tins' version doesn't like ancient rubies
|
|
11
|
+
gem "tins", '~> 1.6.0' if RUBY_VERSION == '1.9.3'
|
|
8
12
|
|
|
9
13
|
gemspec
|
data/README.markdown
CHANGED
|
@@ -8,9 +8,10 @@ Currently only Resque is supported, but pull requests to add other queues (sidek
|
|
|
8
8
|
|
|
9
9
|
## Requirements/Support
|
|
10
10
|
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
-
|
|
11
|
+
- Ruby 2.0+
|
|
12
|
+
- ActiveJob
|
|
13
|
+
- 4.2 is tested and used in production
|
|
14
|
+
- 5.0-6.0 is tested against CI, but I haven't tried it in production.
|
|
14
15
|
- Resque
|
|
15
16
|
- Resque Scheduler
|
|
16
17
|
|
|
@@ -57,11 +58,36 @@ ThisIsTheClass:
|
|
|
57
58
|
|
|
58
59
|
Only classes that are descended from `ActiveJob::Base` will be wrapped
|
|
59
60
|
|
|
61
|
+
### Job Classes With Named Args
|
|
62
|
+
|
|
63
|
+
If you have a job class that uses named arguments you can specify that. `args`
|
|
64
|
+
should be a hash nested in the array and you need to add the named_args key.
|
|
65
|
+
|
|
66
|
+
```yaml
|
|
67
|
+
simple_job:
|
|
68
|
+
every: "30s"
|
|
69
|
+
queue: "simple"
|
|
70
|
+
class: "SimpleJob"
|
|
71
|
+
args:
|
|
72
|
+
- foo: 1
|
|
73
|
+
bar: 2
|
|
74
|
+
description: "It's a simple job."
|
|
75
|
+
named_args: true
|
|
76
|
+
```
|
|
77
|
+
|
|
60
78
|
## Credits
|
|
61
79
|
|
|
62
80
|
- Written by [@JustinAiken](https://www.github.com/JustinAiken)
|
|
63
81
|
- Wrapper class idea by [@ryanwjackson](https://www.github.com/ryanwjackson)
|
|
64
|
-
- Special thanks to [Rocketmade](
|
|
82
|
+
- Special thanks to [Rocketmade](https://www.rocketmade.com/) for development resources.
|
|
83
|
+
- Other Contributors:
|
|
84
|
+
- [@jeremycrosbie](https://github.com/jeremycrosbie)
|
|
85
|
+
- [@ximus](https://github.com/ximus)
|
|
86
|
+
- [@jdguzman](https://github.com/jdguzman)
|
|
87
|
+
- [@r3trofitted](https://github.com/r3trofitted)
|
|
88
|
+
- [@blahutka](https://github.com/blahutka)
|
|
89
|
+
- [@SpiffyStores](https://github.com/SpiffyStores)
|
|
90
|
+
- [@kensentor](https://github.com/kensentor)
|
|
65
91
|
|
|
66
92
|
## License
|
|
67
93
|
|
data/active_scheduler.gemspec
CHANGED
|
@@ -6,22 +6,18 @@ Gem::Specification.new do |s|
|
|
|
6
6
|
s.name = "active_scheduler"
|
|
7
7
|
s.version = ActiveScheduler::VERSION
|
|
8
8
|
s.authors = ["Justin Aiken"]
|
|
9
|
-
s.email = ["
|
|
9
|
+
s.email = ["60tonangel@gmail.com"]
|
|
10
10
|
s.license = 'MIT'
|
|
11
11
|
s.homepage = "https://github.com/JustinAiken/active_scheduler"
|
|
12
12
|
s.summary = %q{Scheduling for ActiveJob}
|
|
13
13
|
s.description = %q{A wrapper for scheduling jobs through ActiveJob}
|
|
14
14
|
|
|
15
|
-
s.rubyforge_project = "active_scheduler"
|
|
16
|
-
|
|
17
15
|
s.files = `git ls-files`.split("\n")
|
|
18
16
|
s.test_files = `git ls-files -- {spec}/*`.split("\n")
|
|
19
17
|
s.require_paths = ["lib"]
|
|
20
18
|
|
|
21
|
-
s.add_dependency '
|
|
22
|
-
s.add_dependency '
|
|
23
|
-
|
|
24
|
-
s.add_development_dependency 'rspec-rails', '~> 3.1'
|
|
25
|
-
s.add_development_dependency 'guard-rspec', '~> 4.2'
|
|
19
|
+
s.add_dependency 'rake'
|
|
20
|
+
s.add_dependency 'activejob', '>= 4.2.0'
|
|
21
|
+
s.add_development_dependency 'rspec', '~> 3.5'
|
|
26
22
|
s.add_development_dependency 'coveralls'
|
|
27
23
|
end
|
data/lib/active_scheduler.rb
CHANGED
|
@@ -3,24 +3,38 @@ module ActiveScheduler
|
|
|
3
3
|
|
|
4
4
|
def self.perform(job_data)
|
|
5
5
|
klass = Object.const_get job_data['job_class']
|
|
6
|
+
named_args = job_data.delete('named_args') || false
|
|
6
7
|
|
|
7
8
|
if job_data.has_key? 'arguments'
|
|
8
|
-
|
|
9
|
+
if named_args
|
|
10
|
+
args = job_data['arguments'].first.symbolize_keys
|
|
11
|
+
else
|
|
12
|
+
args = job_data['arguments']
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
named_args ? klass.perform_later(**args) : klass.perform_later(*args)
|
|
9
16
|
else
|
|
10
17
|
klass.perform_later
|
|
11
18
|
end
|
|
12
19
|
end
|
|
13
20
|
|
|
21
|
+
def self.scheduled(_queue, _wrapper_klass, *args)
|
|
22
|
+
perform(*args)
|
|
23
|
+
end
|
|
24
|
+
|
|
14
25
|
def self.wrap(schedule)
|
|
15
26
|
schedule = HashWithIndifferentAccess.new(schedule)
|
|
16
27
|
|
|
17
28
|
schedule.each do |job, opts|
|
|
18
29
|
class_name = opts[:class] || job
|
|
19
|
-
next if class_name =~ /
|
|
20
|
-
|
|
30
|
+
next if class_name =~ /#{self.to_s}/
|
|
31
|
+
|
|
32
|
+
klass = class_name.constantize
|
|
33
|
+
next unless klass <= ActiveJob::Base
|
|
21
34
|
|
|
22
|
-
queue = opts[:queue] ||
|
|
35
|
+
queue = opts[:queue] || klass.queue_name
|
|
23
36
|
args = opts[:args]
|
|
37
|
+
named_args = opts[:named_args] || false
|
|
24
38
|
|
|
25
39
|
if !args && opts.has_key?(:arguments)
|
|
26
40
|
warn 'active_scheduler: [DEPRECATION] using the `arguments` key in ' \
|
|
@@ -30,18 +44,22 @@ module ActiveScheduler
|
|
|
30
44
|
end
|
|
31
45
|
|
|
32
46
|
schedule[job] = {
|
|
33
|
-
class:
|
|
47
|
+
class: self.to_s,
|
|
34
48
|
queue: queue,
|
|
35
49
|
args: [{
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
50
|
+
job_class: class_name,
|
|
51
|
+
queue_name: queue,
|
|
52
|
+
arguments: args,
|
|
53
|
+
}]
|
|
40
54
|
}
|
|
41
55
|
|
|
56
|
+
schedule[job][:args].first.merge!({ named_args: named_args }) if named_args
|
|
57
|
+
|
|
42
58
|
schedule[job][:description] = opts.fetch(:description, nil) if opts.fetch(:description, nil)
|
|
43
59
|
schedule[job][:every] = opts.fetch(:every, nil) if opts.fetch(:every, nil)
|
|
44
60
|
schedule[job][:cron] = opts.fetch(:cron, nil) if opts.fetch(:cron, nil)
|
|
61
|
+
schedule[job][:rails_env] = opts.fetch(:rails_env, nil) if opts.fetch(:rails_env, nil)
|
|
62
|
+
schedule[job][:persist] = true if opts.fetch(:persist, nil)
|
|
45
63
|
end
|
|
46
64
|
end
|
|
47
65
|
end
|
|
@@ -15,6 +15,7 @@ describe ActiveScheduler::ResqueWrapper do
|
|
|
15
15
|
"queue" => "simple",
|
|
16
16
|
"description" => "It's a simple job.",
|
|
17
17
|
"every" => "30s",
|
|
18
|
+
"rails_env" => "test",
|
|
18
19
|
"args" => [{
|
|
19
20
|
"job_class" => "SimpleJob",
|
|
20
21
|
"queue_name" => "simple",
|
|
@@ -31,10 +32,34 @@ describe ActiveScheduler::ResqueWrapper do
|
|
|
31
32
|
"queue" => "simple",
|
|
32
33
|
"description" => "It's a simple job.",
|
|
33
34
|
"every" => "30s",
|
|
35
|
+
"rails_env" => "test",
|
|
34
36
|
"args" => ['foo-arg-1', 'foo-arg-2'],
|
|
35
37
|
)
|
|
36
38
|
end
|
|
37
39
|
end
|
|
40
|
+
|
|
41
|
+
context 'with a custom wrapper class' do
|
|
42
|
+
class CustomWrapper < ActiveScheduler::ResqueWrapper
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
let(:schedule) { YAML.load_file 'spec/fixtures/simple_job.yaml' }
|
|
46
|
+
|
|
47
|
+
it "queues up a simple job" do
|
|
48
|
+
stub_jobs("SimpleJob")
|
|
49
|
+
expect(CustomWrapper.wrap(schedule)['simple_job']).to eq(
|
|
50
|
+
"class" => "CustomWrapper",
|
|
51
|
+
"queue" => "simple",
|
|
52
|
+
"description" => "It's a simple job.",
|
|
53
|
+
"every" => "30s",
|
|
54
|
+
"rails_env" => "test",
|
|
55
|
+
"args" => [{
|
|
56
|
+
"job_class" => "SimpleJob",
|
|
57
|
+
"queue_name" => "simple",
|
|
58
|
+
"arguments" => ['foo-arg-1', 'foo-arg-2'],
|
|
59
|
+
}]
|
|
60
|
+
)
|
|
61
|
+
end
|
|
62
|
+
end
|
|
38
63
|
end
|
|
39
64
|
|
|
40
65
|
context "with a simple job json" do
|
|
@@ -56,6 +81,27 @@ describe ActiveScheduler::ResqueWrapper do
|
|
|
56
81
|
end
|
|
57
82
|
end
|
|
58
83
|
|
|
84
|
+
context "with a persist key" do
|
|
85
|
+
let(:schedule) { YAML.load_file 'spec/fixtures/persist_job.yaml' }
|
|
86
|
+
|
|
87
|
+
it "queues up a simple job" do
|
|
88
|
+
stub_jobs("SimpleJob")
|
|
89
|
+
expect(wrapped['persist_job']).to eq(
|
|
90
|
+
"class" => "ActiveScheduler::ResqueWrapper",
|
|
91
|
+
"queue" => "simple",
|
|
92
|
+
"description" => "It's a simple job. That persists.",
|
|
93
|
+
"every" => "30s",
|
|
94
|
+
"rails_env" => "test",
|
|
95
|
+
"persist" => true,
|
|
96
|
+
"args" => [{
|
|
97
|
+
"job_class" => "SimpleJob",
|
|
98
|
+
"queue_name" => "simple",
|
|
99
|
+
"arguments" => ['foo-arg-1', 'foo-arg-2'],
|
|
100
|
+
}]
|
|
101
|
+
)
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
|
|
59
105
|
context "with a multiple jobs in the schedule" do
|
|
60
106
|
let(:schedule) { YAML.load_file 'spec/fixtures/two_jobs.yaml' }
|
|
61
107
|
|
|
@@ -79,9 +125,14 @@ describe ActiveScheduler::ResqueWrapper do
|
|
|
79
125
|
context "when the queue is blank" do
|
|
80
126
|
let(:schedule) { YAML.load_file 'spec/fixtures/no_queue.yaml' }
|
|
81
127
|
|
|
82
|
-
it "uses '
|
|
83
|
-
|
|
84
|
-
|
|
128
|
+
it "uses the job's queue" do
|
|
129
|
+
simple_job = Class.new(ActiveJob::Base) do
|
|
130
|
+
queue_as :myscheduledjobqueue
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
stub_const("SimpleJob", simple_job)
|
|
134
|
+
|
|
135
|
+
expect(wrapped['no_queue_job']['queue']).to eq 'myscheduledjobqueue'
|
|
85
136
|
end
|
|
86
137
|
end
|
|
87
138
|
|
|
@@ -103,6 +154,26 @@ describe ActiveScheduler::ResqueWrapper do
|
|
|
103
154
|
)
|
|
104
155
|
end
|
|
105
156
|
end
|
|
157
|
+
|
|
158
|
+
context "when the schedule is for a job with named arguments" do
|
|
159
|
+
let(:schedule) { YAML.load_file 'spec/fixtures/named_args_job.yaml' }
|
|
160
|
+
|
|
161
|
+
it "queues up a job, specifing that there are named args in the job" do
|
|
162
|
+
stub_jobs("NamedArgsJob")
|
|
163
|
+
expect(wrapped['named_args_job']).to eq(
|
|
164
|
+
"class" => "ActiveScheduler::ResqueWrapper",
|
|
165
|
+
"queue" => "simple",
|
|
166
|
+
"description" => "It's a named args job.",
|
|
167
|
+
"every" => "30s",
|
|
168
|
+
"args" => [{
|
|
169
|
+
"job_class" => "NamedArgsJob",
|
|
170
|
+
"queue_name" => "simple",
|
|
171
|
+
"arguments" => [{'foo' => 1, 'bar' => 2}],
|
|
172
|
+
"named_args" => true
|
|
173
|
+
}]
|
|
174
|
+
)
|
|
175
|
+
end
|
|
176
|
+
end
|
|
106
177
|
end
|
|
107
178
|
|
|
108
179
|
describe ".perform" do
|
|
@@ -124,5 +195,36 @@ describe ActiveScheduler::ResqueWrapper do
|
|
|
124
195
|
expect(TestKlass).to receive(:perform_later).with 1, 2
|
|
125
196
|
end
|
|
126
197
|
end
|
|
198
|
+
|
|
199
|
+
context "with named_arguments specified" do
|
|
200
|
+
let(:job_data) do
|
|
201
|
+
{
|
|
202
|
+
'job_class' => 'TestKlass',
|
|
203
|
+
'arguments' => [{ 'foo' => 1, 'bar' => 2 }],
|
|
204
|
+
'named_args' => true
|
|
205
|
+
}
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
it "passed the arguments as Named args" do
|
|
209
|
+
expect(TestKlass).to receive(:perform_later).with(foo: 1, bar: 2)
|
|
210
|
+
end
|
|
211
|
+
end
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
describe '.scheduled' do
|
|
215
|
+
let(:queue_name) { 'test_queue' }
|
|
216
|
+
let(:job_data) { {'job_class' => 'TestKlass'} }
|
|
217
|
+
|
|
218
|
+
before do
|
|
219
|
+
allow(described_class).to receive(:perform)
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
after do
|
|
223
|
+
described_class.scheduled(queue_name, described_class, job_data)
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
it 'delegates to .perform with job_data' do
|
|
227
|
+
expect(described_class).to receive(:perform).with(job_data)
|
|
228
|
+
end
|
|
127
229
|
end
|
|
128
230
|
end
|
metadata
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: active_scheduler
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.7.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Justin Aiken
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-08-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: rake
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: '0'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
26
|
+
version: '0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
28
|
+
name: activejob
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - ">="
|
|
@@ -39,33 +39,19 @@ dependencies:
|
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: 4.2.0
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: rspec
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - "~>"
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '3.1'
|
|
48
|
-
type: :development
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - "~>"
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '3.1'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: guard-rspec
|
|
42
|
+
name: rspec
|
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
|
58
44
|
requirements:
|
|
59
45
|
- - "~>"
|
|
60
46
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
47
|
+
version: '3.5'
|
|
62
48
|
type: :development
|
|
63
49
|
prerelease: false
|
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
51
|
requirements:
|
|
66
52
|
- - "~>"
|
|
67
53
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '
|
|
54
|
+
version: '3.5'
|
|
69
55
|
- !ruby/object:Gem::Dependency
|
|
70
56
|
name: coveralls
|
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -82,7 +68,7 @@ dependencies:
|
|
|
82
68
|
version: '0'
|
|
83
69
|
description: A wrapper for scheduling jobs through ActiveJob
|
|
84
70
|
email:
|
|
85
|
-
-
|
|
71
|
+
- 60tonangel@gmail.com
|
|
86
72
|
executables: []
|
|
87
73
|
extensions: []
|
|
88
74
|
extra_rdoc_files: []
|
|
@@ -102,7 +88,9 @@ files:
|
|
|
102
88
|
- lib/active_scheduler/version.rb
|
|
103
89
|
- spec/active_scheduler/resque_wrapper_spec.rb
|
|
104
90
|
- spec/fixtures/cron_job.yaml
|
|
91
|
+
- spec/fixtures/named_args_job.yaml
|
|
105
92
|
- spec/fixtures/no_queue.yaml
|
|
93
|
+
- spec/fixtures/persist_job.yaml
|
|
106
94
|
- spec/fixtures/schedule_name_is_class_name.yaml
|
|
107
95
|
- spec/fixtures/simple_job.json
|
|
108
96
|
- spec/fixtures/simple_job.yaml
|
|
@@ -112,7 +100,7 @@ homepage: https://github.com/JustinAiken/active_scheduler
|
|
|
112
100
|
licenses:
|
|
113
101
|
- MIT
|
|
114
102
|
metadata: {}
|
|
115
|
-
post_install_message:
|
|
103
|
+
post_install_message:
|
|
116
104
|
rdoc_options: []
|
|
117
105
|
require_paths:
|
|
118
106
|
- lib
|
|
@@ -127,10 +115,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
127
115
|
- !ruby/object:Gem::Version
|
|
128
116
|
version: '0'
|
|
129
117
|
requirements: []
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
signing_key:
|
|
118
|
+
rubygems_version: 3.0.6
|
|
119
|
+
signing_key:
|
|
133
120
|
specification_version: 4
|
|
134
121
|
summary: Scheduling for ActiveJob
|
|
135
122
|
test_files: []
|
|
136
|
-
has_rdoc:
|