inst-jobs 0.11.6 → 0.11.7
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 +4 -4
- data/lib/delayed/backend/base.rb +1 -1
- data/lib/delayed/message_sending.rb +31 -16
- data/lib/delayed/periodic.rb +0 -10
- data/lib/delayed/version.rb +1 -1
- data/lib/delayed/worker.rb +19 -13
- data/lib/delayed/yaml_extensions.rb +9 -58
- data/spec/gemfiles/32.gemfile.lock +160 -0
- data/spec/gemfiles/40.gemfile.lock +148 -0
- data/spec/gemfiles/41.gemfile.lock +154 -0
- data/spec/gemfiles/42.gemfile.lock +181 -0
- data/spec/gemfiles/50.gemfile +7 -0
- data/spec/shared/delayed_method.rb +38 -82
- data/spec/spec_helper.rb +10 -2
- metadata +13 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a2170987cb69f7ade5944dea6c79874867c04999
|
|
4
|
+
data.tar.gz: 274b57c924601a2a0e0196c9f72db968e22dc8d2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cf26bfccaa2b532ff7ae14a964d1c7c60ab88a7f30168bc2c503d723cc3bf758610965abc68cc5ae5b915c2c8b519f7794f3bfa0511c08b6d0afdf839de63671
|
|
7
|
+
data.tar.gz: 9ddc6fa740978e8cb4c323dde2832b957b30a361618776dc2fdb56f696966e31bfe715f64ba51eee065b2952a184c4cabbaf3e967f973119bb789b11f3f2c47b
|
data/lib/delayed/backend/base.rb
CHANGED
|
@@ -313,7 +313,7 @@ module Delayed
|
|
|
313
313
|
rescue TypeError, LoadError, NameError => e
|
|
314
314
|
raise DeserializationError,
|
|
315
315
|
"Job failed to load: #{e.message}. Try to manually require the required file."
|
|
316
|
-
rescue
|
|
316
|
+
rescue Psych::SyntaxError => e
|
|
317
317
|
raise DeserializationError,
|
|
318
318
|
"YAML parsing error: #{e.message}. Probably not recoverable."
|
|
319
319
|
end
|
|
@@ -98,24 +98,32 @@ module Delayed
|
|
|
98
98
|
def add_send_later_methods(method, enqueue_args={}, default_async=false)
|
|
99
99
|
aliased_method, punctuation = method.to_s.sub(/([?!=])$/, ''), $1
|
|
100
100
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
101
|
+
# we still need this for backwards compatibility
|
|
102
|
+
without_method = "#{aliased_method}_without_send_later#{punctuation}"
|
|
103
|
+
|
|
104
|
+
if public_method_defined?(method)
|
|
105
|
+
visibility = :public
|
|
106
|
+
elsif private_method_defined?(method)
|
|
107
|
+
visibility = :private
|
|
108
|
+
else
|
|
109
|
+
visibility = :protected
|
|
105
110
|
end
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
case
|
|
111
|
-
when public_method_defined?(without_method)
|
|
112
|
-
public method
|
|
113
|
-
when protected_method_defined?(without_method)
|
|
114
|
-
protected method
|
|
115
|
-
when private_method_defined?(without_method)
|
|
116
|
-
private method
|
|
111
|
+
|
|
112
|
+
generated_delayed_methods.class_eval(<<-EOF, __FILE__, __LINE__ + 1)
|
|
113
|
+
def #{without_method}(*args)
|
|
114
|
+
send(:#{method}, *args, synchronous: true)
|
|
117
115
|
end
|
|
118
|
-
|
|
116
|
+
#{visibility} :#{without_method}
|
|
117
|
+
|
|
118
|
+
def #{method}(*args, synchronous: #{!default_async})
|
|
119
|
+
if synchronous
|
|
120
|
+
super(*args)
|
|
121
|
+
else
|
|
122
|
+
send_later_enqueue_args(:#{method}, #{enqueue_args.inspect}, *args, synchronous: true)
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
#{visibility} :#{method}
|
|
126
|
+
EOF
|
|
119
127
|
end
|
|
120
128
|
|
|
121
129
|
def handle_asynchronously(method, enqueue_args={})
|
|
@@ -129,6 +137,13 @@ module Delayed
|
|
|
129
137
|
def handle_asynchronously_if_production(method, enqueue_args={})
|
|
130
138
|
add_send_later_methods(method, enqueue_args, Rails.env.production?)
|
|
131
139
|
end
|
|
140
|
+
|
|
141
|
+
private def generated_delayed_methods
|
|
142
|
+
@generated_delayed_methods ||= Module.new.tap do |mod|
|
|
143
|
+
const_set(:DelayedMethods, mod)
|
|
144
|
+
prepend mod
|
|
145
|
+
end
|
|
146
|
+
end
|
|
132
147
|
end
|
|
133
148
|
end
|
|
134
149
|
end
|
data/lib/delayed/periodic.rb
CHANGED
|
@@ -4,20 +4,10 @@ module Delayed
|
|
|
4
4
|
class Periodic
|
|
5
5
|
attr_reader :name, :cron
|
|
6
6
|
|
|
7
|
-
yaml_as "tag:ruby.yaml.org,2002:Delayed::Periodic"
|
|
8
|
-
|
|
9
|
-
def to_yaml(opts = {})
|
|
10
|
-
YAML.quick_emit(self.object_id, opts) { |out| out.scalar(taguri, @name) }
|
|
11
|
-
end
|
|
12
|
-
|
|
13
7
|
def encode_with(coder)
|
|
14
8
|
coder.scalar("!ruby/Delayed::Periodic", @name)
|
|
15
9
|
end
|
|
16
10
|
|
|
17
|
-
def self.yaml_new(klass, tag, val)
|
|
18
|
-
self.scheduled[val] || raise(NameError, "job #{val} is no longer scheduled")
|
|
19
|
-
end
|
|
20
|
-
|
|
21
11
|
cattr_accessor :scheduled, :overrides
|
|
22
12
|
self.scheduled = {}
|
|
23
13
|
self.overrides = {}
|
data/lib/delayed/version.rb
CHANGED
data/lib/delayed/worker.rb
CHANGED
|
@@ -28,6 +28,17 @@ class Worker
|
|
|
28
28
|
@lifecycle ||= Delayed::Lifecycle.new
|
|
29
29
|
end
|
|
30
30
|
|
|
31
|
+
def self.current_job
|
|
32
|
+
Thread.current[:running_delayed_job]
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def self.running_job(job)
|
|
36
|
+
Thread.current[:running_delayed_job] = job
|
|
37
|
+
yield
|
|
38
|
+
ensure
|
|
39
|
+
Thread.current[:running_delayed_job] = nil
|
|
40
|
+
end
|
|
41
|
+
|
|
31
42
|
def initialize(options = {})
|
|
32
43
|
@exit = false
|
|
33
44
|
@parent_pid = options[:parent_pid]
|
|
@@ -192,22 +203,18 @@ class Worker
|
|
|
192
203
|
# also set up a unique tmpdir, which will get removed at the end of the job.
|
|
193
204
|
def configure_for_job(job)
|
|
194
205
|
previous_tmpdir = ENV['TMPDIR']
|
|
195
|
-
Thread.current[:running_delayed_job] = job
|
|
196
206
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
207
|
+
self.class.running_job(job) do
|
|
208
|
+
dir = Dir.mktmpdir("job-#{job.id}-#{self.name.gsub(/[^\w\.]/, '.')}-")
|
|
209
|
+
begin
|
|
210
|
+
ENV['TMPDIR'] = dir
|
|
211
|
+
yield
|
|
212
|
+
ensure
|
|
213
|
+
FileUtils.remove_entry(dir, true)
|
|
214
|
+
end
|
|
203
215
|
end
|
|
204
216
|
ensure
|
|
205
217
|
ENV['TMPDIR'] = previous_tmpdir
|
|
206
|
-
Thread.current[:running_delayed_job] = nil
|
|
207
|
-
end
|
|
208
|
-
|
|
209
|
-
def self.current_job
|
|
210
|
-
Thread.current[:running_delayed_job]
|
|
211
218
|
end
|
|
212
219
|
|
|
213
220
|
# `sample` reports KB, not B
|
|
@@ -230,6 +237,5 @@ class Worker
|
|
|
230
237
|
end
|
|
231
238
|
end
|
|
232
239
|
end
|
|
233
|
-
|
|
234
240
|
end
|
|
235
241
|
end
|
|
@@ -2,71 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
require 'yaml'
|
|
4
4
|
|
|
5
|
-
#
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
# These two added domain types are for backwards compatibility with jobs created
|
|
6
|
+
# using the old syck tags, as syck didn't have built-in module/class dumping. We
|
|
7
|
+
# now use Psych's built-in tags, which are `!ruby/module` and `!ruby/class`. At
|
|
8
|
+
# some point we can remove these, once there are no more jobs in any queues with
|
|
9
|
+
# these tags.
|
|
10
10
|
Psych.add_domain_type("ruby/object", "Module") do |type, val|
|
|
11
11
|
val.constantize
|
|
12
12
|
end
|
|
13
|
-
|
|
14
13
|
Psych.add_domain_type("ruby/object", "Class") do |type, val|
|
|
15
14
|
val.constantize
|
|
16
15
|
end
|
|
17
16
|
|
|
18
|
-
|
|
19
|
-
def to_yaml(opts = {})
|
|
20
|
-
YAML.quick_emit(self.object_id, opts) do |out|
|
|
21
|
-
out.scalar(taguri, name)
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
# Now we have to do the same for Class.
|
|
27
|
-
YAML.add_ruby_type("object:Class") do |type, val|
|
|
28
|
-
val.constantize
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
class Class
|
|
32
|
-
def to_yaml(opts = {})
|
|
33
|
-
YAML.quick_emit(self.object_id, opts) do |out|
|
|
34
|
-
out.scalar(taguri, name)
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def encode_with(coder)
|
|
39
|
-
coder.scalar("!ruby/object:Class", name)
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
# Now, tell YAML how to intelligently load ActiveRecord objects, using the
|
|
17
|
+
# Tell YAML how to intelligently load ActiveRecord objects, using the
|
|
44
18
|
# database rather than just serializing their attributes to the YAML. This
|
|
45
19
|
# ensures the object is up to date when we use it in the job.
|
|
46
20
|
class ActiveRecord::Base
|
|
47
|
-
yaml_as "tag:ruby.yaml.org,2002:ActiveRecord"
|
|
48
|
-
|
|
49
|
-
def to_yaml(opts = {})
|
|
50
|
-
if id.nil?
|
|
51
|
-
raise("Can't serialize unsaved ActiveRecord object for delayed job: #{self.inspect}")
|
|
52
|
-
end
|
|
53
|
-
YAML.quick_emit(self.object_id, opts) do |out|
|
|
54
|
-
out.scalar(taguri, id.to_s)
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
|
|
58
21
|
def encode_with(coder)
|
|
59
22
|
if id.nil?
|
|
60
23
|
raise("Can't serialize unsaved ActiveRecord object for delayed job: #{self.inspect}")
|
|
61
24
|
end
|
|
62
25
|
coder.scalar("!ruby/ActiveRecord:#{self.class.name}", id.to_s)
|
|
63
26
|
end
|
|
64
|
-
|
|
65
|
-
def self.yaml_new(klass, tag, val)
|
|
66
|
-
klass.find(val)
|
|
67
|
-
rescue ActiveRecord::RecordNotFound
|
|
68
|
-
raise Delayed::Backend::RecordNotFound, "Couldn't find #{klass} with id #{val.inspect}"
|
|
69
|
-
end
|
|
70
27
|
end
|
|
71
28
|
|
|
72
29
|
module Delayed
|
|
@@ -81,7 +38,9 @@ module Delayed
|
|
|
81
38
|
rescue ActiveRecord::RecordNotFound
|
|
82
39
|
raise Delayed::Backend::RecordNotFound, "Couldn't find #{klass} with id #{object.value.inspect}"
|
|
83
40
|
end
|
|
84
|
-
when "
|
|
41
|
+
when "!ruby/Delayed::Periodic", "!ruby/object:Delayed::Periodic"
|
|
42
|
+
# The 2nd ruby/object tag is no longer generated, but some existing
|
|
43
|
+
# jobs use that tag. We can remove it later once those are all gone.
|
|
85
44
|
Delayed::Periodic.scheduled[object.value] || raise(NameError, "job #{object.value} is no longer scheduled")
|
|
86
45
|
else
|
|
87
46
|
super
|
|
@@ -99,11 +58,3 @@ module Delayed
|
|
|
99
58
|
end
|
|
100
59
|
|
|
101
60
|
Psych::Visitors::ToRuby.prepend(Delayed::PsychExt::ToRuby)
|
|
102
|
-
|
|
103
|
-
# Load Module/Class from yaml tag.
|
|
104
|
-
class Module
|
|
105
|
-
def yaml_tag_read_class(name)
|
|
106
|
-
name.constantize
|
|
107
|
-
name
|
|
108
|
-
end
|
|
109
|
-
end
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: ../../
|
|
3
|
+
specs:
|
|
4
|
+
inst-jobs (0.11.3)
|
|
5
|
+
after_transaction_commit (= 1.0.1)
|
|
6
|
+
rails (>= 3.2)
|
|
7
|
+
redis (> 3.0)
|
|
8
|
+
redis-scripting (~> 1.0.1)
|
|
9
|
+
rufus-scheduler (~> 3.1.2)
|
|
10
|
+
thor (>= 0.14.6, < 2.0)
|
|
11
|
+
|
|
12
|
+
GEM
|
|
13
|
+
remote: https://rubygems.org/
|
|
14
|
+
specs:
|
|
15
|
+
actionmailer (3.2.22.2)
|
|
16
|
+
actionpack (= 3.2.22.2)
|
|
17
|
+
mail (~> 2.5.4)
|
|
18
|
+
actionpack (3.2.22.2)
|
|
19
|
+
activemodel (= 3.2.22.2)
|
|
20
|
+
activesupport (= 3.2.22.2)
|
|
21
|
+
builder (~> 3.0.0)
|
|
22
|
+
erubis (~> 2.7.0)
|
|
23
|
+
journey (~> 1.0.4)
|
|
24
|
+
rack (~> 1.4.5)
|
|
25
|
+
rack-cache (~> 1.2)
|
|
26
|
+
rack-test (~> 0.6.1)
|
|
27
|
+
sprockets (~> 2.2.1)
|
|
28
|
+
activemodel (3.2.22.2)
|
|
29
|
+
activesupport (= 3.2.22.2)
|
|
30
|
+
builder (~> 3.0.0)
|
|
31
|
+
activerecord (3.2.22.2)
|
|
32
|
+
activemodel (= 3.2.22.2)
|
|
33
|
+
activesupport (= 3.2.22.2)
|
|
34
|
+
arel (~> 3.0.2)
|
|
35
|
+
tzinfo (~> 0.3.29)
|
|
36
|
+
activeresource (3.2.22.2)
|
|
37
|
+
activemodel (= 3.2.22.2)
|
|
38
|
+
activesupport (= 3.2.22.2)
|
|
39
|
+
activesupport (3.2.22.2)
|
|
40
|
+
i18n (~> 0.6, >= 0.6.4)
|
|
41
|
+
multi_json (~> 1.0)
|
|
42
|
+
after_transaction_commit (1.0.1)
|
|
43
|
+
activerecord (>= 3.2)
|
|
44
|
+
arel (3.0.3)
|
|
45
|
+
backports (3.6.8)
|
|
46
|
+
builder (3.0.4)
|
|
47
|
+
bump (0.5.3)
|
|
48
|
+
coderay (1.1.1)
|
|
49
|
+
database_cleaner (1.3.0)
|
|
50
|
+
diff-lcs (1.2.5)
|
|
51
|
+
erubis (2.7.0)
|
|
52
|
+
hike (1.2.3)
|
|
53
|
+
i18n (0.7.0)
|
|
54
|
+
journey (1.0.4)
|
|
55
|
+
json (1.8.3)
|
|
56
|
+
mail (2.5.4)
|
|
57
|
+
mime-types (~> 1.16)
|
|
58
|
+
treetop (~> 1.4.8)
|
|
59
|
+
method_source (0.8.2)
|
|
60
|
+
mime-types (1.25.1)
|
|
61
|
+
multi_json (1.12.1)
|
|
62
|
+
pg (0.18.4)
|
|
63
|
+
polyglot (0.3.5)
|
|
64
|
+
pry (0.10.4)
|
|
65
|
+
coderay (~> 1.1.0)
|
|
66
|
+
method_source (~> 0.8.1)
|
|
67
|
+
slop (~> 3.4)
|
|
68
|
+
rack (1.4.7)
|
|
69
|
+
rack-cache (1.6.1)
|
|
70
|
+
rack (>= 0.4)
|
|
71
|
+
rack-protection (1.5.3)
|
|
72
|
+
rack
|
|
73
|
+
rack-ssl (1.3.4)
|
|
74
|
+
rack
|
|
75
|
+
rack-test (0.6.3)
|
|
76
|
+
rack (>= 1.0)
|
|
77
|
+
rails (3.2.22.2)
|
|
78
|
+
actionmailer (= 3.2.22.2)
|
|
79
|
+
actionpack (= 3.2.22.2)
|
|
80
|
+
activerecord (= 3.2.22.2)
|
|
81
|
+
activeresource (= 3.2.22.2)
|
|
82
|
+
activesupport (= 3.2.22.2)
|
|
83
|
+
bundler (~> 1.0)
|
|
84
|
+
railties (= 3.2.22.2)
|
|
85
|
+
railties (3.2.22.2)
|
|
86
|
+
actionpack (= 3.2.22.2)
|
|
87
|
+
activesupport (= 3.2.22.2)
|
|
88
|
+
rack-ssl (~> 1.3.2)
|
|
89
|
+
rake (>= 0.8.7)
|
|
90
|
+
rdoc (~> 3.4)
|
|
91
|
+
thor (>= 0.14.6, < 2.0)
|
|
92
|
+
rake (11.2.2)
|
|
93
|
+
rdoc (3.12.2)
|
|
94
|
+
json (~> 1.4)
|
|
95
|
+
redis (3.3.1)
|
|
96
|
+
redis-scripting (1.0.1)
|
|
97
|
+
redis (>= 3.0)
|
|
98
|
+
rspec (3.4.0)
|
|
99
|
+
rspec-core (~> 3.4.0)
|
|
100
|
+
rspec-expectations (~> 3.4.0)
|
|
101
|
+
rspec-mocks (~> 3.4.0)
|
|
102
|
+
rspec-core (3.4.4)
|
|
103
|
+
rspec-support (~> 3.4.0)
|
|
104
|
+
rspec-expectations (3.4.0)
|
|
105
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
106
|
+
rspec-support (~> 3.4.0)
|
|
107
|
+
rspec-mocks (3.4.1)
|
|
108
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
109
|
+
rspec-support (~> 3.4.0)
|
|
110
|
+
rspec-support (3.4.1)
|
|
111
|
+
rufus-scheduler (3.1.10)
|
|
112
|
+
sinatra (1.4.6)
|
|
113
|
+
rack (~> 1.4)
|
|
114
|
+
rack-protection (~> 1.4)
|
|
115
|
+
tilt (>= 1.3, < 3)
|
|
116
|
+
sinatra-contrib (1.4.7)
|
|
117
|
+
backports (>= 2.0)
|
|
118
|
+
multi_json
|
|
119
|
+
rack-protection
|
|
120
|
+
rack-test
|
|
121
|
+
sinatra (~> 1.4.0)
|
|
122
|
+
tilt (>= 1.3, < 3)
|
|
123
|
+
slop (3.6.0)
|
|
124
|
+
sprockets (2.2.3)
|
|
125
|
+
hike (~> 1.2)
|
|
126
|
+
multi_json (~> 1.0)
|
|
127
|
+
rack (~> 1.0)
|
|
128
|
+
tilt (~> 1.1, != 1.3.0)
|
|
129
|
+
test_after_commit (0.4.1)
|
|
130
|
+
activerecord (>= 3.2)
|
|
131
|
+
thor (0.19.1)
|
|
132
|
+
tilt (1.4.1)
|
|
133
|
+
timecop (0.7.1)
|
|
134
|
+
treetop (1.4.15)
|
|
135
|
+
polyglot
|
|
136
|
+
polyglot (>= 0.3.1)
|
|
137
|
+
tzinfo (0.3.51)
|
|
138
|
+
wwtd (1.3.0)
|
|
139
|
+
|
|
140
|
+
PLATFORMS
|
|
141
|
+
ruby
|
|
142
|
+
|
|
143
|
+
DEPENDENCIES
|
|
144
|
+
bump
|
|
145
|
+
database_cleaner (= 1.3.0)
|
|
146
|
+
inst-jobs!
|
|
147
|
+
pg
|
|
148
|
+
pry
|
|
149
|
+
rack-test
|
|
150
|
+
rails (~> 3.2.19)
|
|
151
|
+
rake
|
|
152
|
+
rspec (= 3.4.0)
|
|
153
|
+
sinatra
|
|
154
|
+
sinatra-contrib
|
|
155
|
+
test_after_commit (= 0.4.1)
|
|
156
|
+
timecop (= 0.7.1)
|
|
157
|
+
wwtd (~> 1.3.0)
|
|
158
|
+
|
|
159
|
+
BUNDLED WITH
|
|
160
|
+
1.12.5
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: ../../
|
|
3
|
+
specs:
|
|
4
|
+
inst-jobs (0.11.3)
|
|
5
|
+
after_transaction_commit (= 1.0.1)
|
|
6
|
+
rails (>= 3.2)
|
|
7
|
+
redis (> 3.0)
|
|
8
|
+
redis-scripting (~> 1.0.1)
|
|
9
|
+
rufus-scheduler (~> 3.1.2)
|
|
10
|
+
thor (>= 0.14.6, < 2.0)
|
|
11
|
+
|
|
12
|
+
GEM
|
|
13
|
+
remote: https://rubygems.org/
|
|
14
|
+
specs:
|
|
15
|
+
actionmailer (4.0.13)
|
|
16
|
+
actionpack (= 4.0.13)
|
|
17
|
+
mail (~> 2.5, >= 2.5.4)
|
|
18
|
+
actionpack (4.0.13)
|
|
19
|
+
activesupport (= 4.0.13)
|
|
20
|
+
builder (~> 3.1.0)
|
|
21
|
+
erubis (~> 2.7.0)
|
|
22
|
+
rack (~> 1.5.2)
|
|
23
|
+
rack-test (~> 0.6.2)
|
|
24
|
+
activemodel (4.0.13)
|
|
25
|
+
activesupport (= 4.0.13)
|
|
26
|
+
builder (~> 3.1.0)
|
|
27
|
+
activerecord (4.0.13)
|
|
28
|
+
activemodel (= 4.0.13)
|
|
29
|
+
activerecord-deprecated_finders (~> 1.0.2)
|
|
30
|
+
activesupport (= 4.0.13)
|
|
31
|
+
arel (~> 4.0.0)
|
|
32
|
+
activerecord-deprecated_finders (1.0.4)
|
|
33
|
+
activesupport (4.0.13)
|
|
34
|
+
i18n (~> 0.6, >= 0.6.9)
|
|
35
|
+
minitest (~> 4.2)
|
|
36
|
+
multi_json (~> 1.3)
|
|
37
|
+
thread_safe (~> 0.1)
|
|
38
|
+
tzinfo (~> 0.3.37)
|
|
39
|
+
after_transaction_commit (1.0.1)
|
|
40
|
+
activerecord (>= 3.2)
|
|
41
|
+
arel (4.0.2)
|
|
42
|
+
backports (3.6.8)
|
|
43
|
+
builder (3.1.4)
|
|
44
|
+
bump (0.5.3)
|
|
45
|
+
coderay (1.1.1)
|
|
46
|
+
concurrent-ruby (1.0.2)
|
|
47
|
+
database_cleaner (1.3.0)
|
|
48
|
+
diff-lcs (1.2.5)
|
|
49
|
+
erubis (2.7.0)
|
|
50
|
+
i18n (0.7.0)
|
|
51
|
+
mail (2.6.4)
|
|
52
|
+
mime-types (>= 1.16, < 4)
|
|
53
|
+
method_source (0.8.2)
|
|
54
|
+
mime-types (3.1)
|
|
55
|
+
mime-types-data (~> 3.2015)
|
|
56
|
+
mime-types-data (3.2016.0521)
|
|
57
|
+
minitest (4.7.5)
|
|
58
|
+
multi_json (1.12.1)
|
|
59
|
+
pg (0.18.4)
|
|
60
|
+
pry (0.10.4)
|
|
61
|
+
coderay (~> 1.1.0)
|
|
62
|
+
method_source (~> 0.8.1)
|
|
63
|
+
slop (~> 3.4)
|
|
64
|
+
rack (1.5.5)
|
|
65
|
+
rack-protection (1.5.3)
|
|
66
|
+
rack
|
|
67
|
+
rack-test (0.6.3)
|
|
68
|
+
rack (>= 1.0)
|
|
69
|
+
rails (4.0.13)
|
|
70
|
+
actionmailer (= 4.0.13)
|
|
71
|
+
actionpack (= 4.0.13)
|
|
72
|
+
activerecord (= 4.0.13)
|
|
73
|
+
activesupport (= 4.0.13)
|
|
74
|
+
bundler (>= 1.3.0, < 2.0)
|
|
75
|
+
railties (= 4.0.13)
|
|
76
|
+
sprockets-rails (~> 2.0)
|
|
77
|
+
railties (4.0.13)
|
|
78
|
+
actionpack (= 4.0.13)
|
|
79
|
+
activesupport (= 4.0.13)
|
|
80
|
+
rake (>= 0.8.7)
|
|
81
|
+
thor (>= 0.18.1, < 2.0)
|
|
82
|
+
rake (11.2.2)
|
|
83
|
+
redis (3.3.1)
|
|
84
|
+
redis-scripting (1.0.1)
|
|
85
|
+
redis (>= 3.0)
|
|
86
|
+
rspec (3.4.0)
|
|
87
|
+
rspec-core (~> 3.4.0)
|
|
88
|
+
rspec-expectations (~> 3.4.0)
|
|
89
|
+
rspec-mocks (~> 3.4.0)
|
|
90
|
+
rspec-core (3.4.4)
|
|
91
|
+
rspec-support (~> 3.4.0)
|
|
92
|
+
rspec-expectations (3.4.0)
|
|
93
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
94
|
+
rspec-support (~> 3.4.0)
|
|
95
|
+
rspec-mocks (3.4.1)
|
|
96
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
97
|
+
rspec-support (~> 3.4.0)
|
|
98
|
+
rspec-support (3.4.1)
|
|
99
|
+
rufus-scheduler (3.1.10)
|
|
100
|
+
sinatra (1.4.7)
|
|
101
|
+
rack (~> 1.5)
|
|
102
|
+
rack-protection (~> 1.4)
|
|
103
|
+
tilt (>= 1.3, < 3)
|
|
104
|
+
sinatra-contrib (1.4.7)
|
|
105
|
+
backports (>= 2.0)
|
|
106
|
+
multi_json
|
|
107
|
+
rack-protection
|
|
108
|
+
rack-test
|
|
109
|
+
sinatra (~> 1.4.0)
|
|
110
|
+
tilt (>= 1.3, < 3)
|
|
111
|
+
slop (3.6.0)
|
|
112
|
+
sprockets (3.6.3)
|
|
113
|
+
concurrent-ruby (~> 1.0)
|
|
114
|
+
rack (> 1, < 3)
|
|
115
|
+
sprockets-rails (2.3.3)
|
|
116
|
+
actionpack (>= 3.0)
|
|
117
|
+
activesupport (>= 3.0)
|
|
118
|
+
sprockets (>= 2.8, < 4.0)
|
|
119
|
+
test_after_commit (0.4.1)
|
|
120
|
+
activerecord (>= 3.2)
|
|
121
|
+
thor (0.19.1)
|
|
122
|
+
thread_safe (0.3.5)
|
|
123
|
+
tilt (2.0.5)
|
|
124
|
+
timecop (0.7.1)
|
|
125
|
+
tzinfo (0.3.51)
|
|
126
|
+
wwtd (1.3.0)
|
|
127
|
+
|
|
128
|
+
PLATFORMS
|
|
129
|
+
ruby
|
|
130
|
+
|
|
131
|
+
DEPENDENCIES
|
|
132
|
+
bump
|
|
133
|
+
database_cleaner (= 1.3.0)
|
|
134
|
+
inst-jobs!
|
|
135
|
+
pg
|
|
136
|
+
pry
|
|
137
|
+
rack-test
|
|
138
|
+
rails (~> 4.0.10)
|
|
139
|
+
rake
|
|
140
|
+
rspec (= 3.4.0)
|
|
141
|
+
sinatra
|
|
142
|
+
sinatra-contrib
|
|
143
|
+
test_after_commit (= 0.4.1)
|
|
144
|
+
timecop (= 0.7.1)
|
|
145
|
+
wwtd (~> 1.3.0)
|
|
146
|
+
|
|
147
|
+
BUNDLED WITH
|
|
148
|
+
1.12.5
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: ../../
|
|
3
|
+
specs:
|
|
4
|
+
inst-jobs (0.11.3)
|
|
5
|
+
after_transaction_commit (= 1.0.1)
|
|
6
|
+
rails (>= 3.2)
|
|
7
|
+
redis (> 3.0)
|
|
8
|
+
redis-scripting (~> 1.0.1)
|
|
9
|
+
rufus-scheduler (~> 3.1.2)
|
|
10
|
+
thor (>= 0.14.6, < 2.0)
|
|
11
|
+
|
|
12
|
+
GEM
|
|
13
|
+
remote: https://rubygems.org/
|
|
14
|
+
specs:
|
|
15
|
+
actionmailer (4.1.16)
|
|
16
|
+
actionpack (= 4.1.16)
|
|
17
|
+
actionview (= 4.1.16)
|
|
18
|
+
mail (~> 2.5, >= 2.5.4)
|
|
19
|
+
actionpack (4.1.16)
|
|
20
|
+
actionview (= 4.1.16)
|
|
21
|
+
activesupport (= 4.1.16)
|
|
22
|
+
rack (~> 1.5.2)
|
|
23
|
+
rack-test (~> 0.6.2)
|
|
24
|
+
actionview (4.1.16)
|
|
25
|
+
activesupport (= 4.1.16)
|
|
26
|
+
builder (~> 3.1)
|
|
27
|
+
erubis (~> 2.7.0)
|
|
28
|
+
activemodel (4.1.16)
|
|
29
|
+
activesupport (= 4.1.16)
|
|
30
|
+
builder (~> 3.1)
|
|
31
|
+
activerecord (4.1.16)
|
|
32
|
+
activemodel (= 4.1.16)
|
|
33
|
+
activesupport (= 4.1.16)
|
|
34
|
+
arel (~> 5.0.0)
|
|
35
|
+
activesupport (4.1.16)
|
|
36
|
+
i18n (~> 0.6, >= 0.6.9)
|
|
37
|
+
json (~> 1.7, >= 1.7.7)
|
|
38
|
+
minitest (~> 5.1)
|
|
39
|
+
thread_safe (~> 0.1)
|
|
40
|
+
tzinfo (~> 1.1)
|
|
41
|
+
after_transaction_commit (1.0.1)
|
|
42
|
+
activerecord (>= 3.2)
|
|
43
|
+
arel (5.0.1.20140414130214)
|
|
44
|
+
backports (3.6.8)
|
|
45
|
+
builder (3.2.2)
|
|
46
|
+
bump (0.5.3)
|
|
47
|
+
coderay (1.1.1)
|
|
48
|
+
concurrent-ruby (1.0.2)
|
|
49
|
+
database_cleaner (1.3.0)
|
|
50
|
+
diff-lcs (1.2.5)
|
|
51
|
+
erubis (2.7.0)
|
|
52
|
+
i18n (0.7.0)
|
|
53
|
+
json (1.8.3)
|
|
54
|
+
mail (2.6.4)
|
|
55
|
+
mime-types (>= 1.16, < 4)
|
|
56
|
+
method_source (0.8.2)
|
|
57
|
+
mime-types (3.1)
|
|
58
|
+
mime-types-data (~> 3.2015)
|
|
59
|
+
mime-types-data (3.2016.0521)
|
|
60
|
+
minitest (5.9.0)
|
|
61
|
+
multi_json (1.12.1)
|
|
62
|
+
pg (0.18.4)
|
|
63
|
+
pry (0.10.4)
|
|
64
|
+
coderay (~> 1.1.0)
|
|
65
|
+
method_source (~> 0.8.1)
|
|
66
|
+
slop (~> 3.4)
|
|
67
|
+
rack (1.5.5)
|
|
68
|
+
rack-protection (1.5.3)
|
|
69
|
+
rack
|
|
70
|
+
rack-test (0.6.3)
|
|
71
|
+
rack (>= 1.0)
|
|
72
|
+
rails (4.1.16)
|
|
73
|
+
actionmailer (= 4.1.16)
|
|
74
|
+
actionpack (= 4.1.16)
|
|
75
|
+
actionview (= 4.1.16)
|
|
76
|
+
activemodel (= 4.1.16)
|
|
77
|
+
activerecord (= 4.1.16)
|
|
78
|
+
activesupport (= 4.1.16)
|
|
79
|
+
bundler (>= 1.3.0, < 2.0)
|
|
80
|
+
railties (= 4.1.16)
|
|
81
|
+
sprockets-rails (~> 2.0)
|
|
82
|
+
railties (4.1.16)
|
|
83
|
+
actionpack (= 4.1.16)
|
|
84
|
+
activesupport (= 4.1.16)
|
|
85
|
+
rake (>= 0.8.7)
|
|
86
|
+
thor (>= 0.18.1, < 2.0)
|
|
87
|
+
rake (11.2.2)
|
|
88
|
+
redis (3.3.1)
|
|
89
|
+
redis-scripting (1.0.1)
|
|
90
|
+
redis (>= 3.0)
|
|
91
|
+
rspec (3.4.0)
|
|
92
|
+
rspec-core (~> 3.4.0)
|
|
93
|
+
rspec-expectations (~> 3.4.0)
|
|
94
|
+
rspec-mocks (~> 3.4.0)
|
|
95
|
+
rspec-core (3.4.4)
|
|
96
|
+
rspec-support (~> 3.4.0)
|
|
97
|
+
rspec-expectations (3.4.0)
|
|
98
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
99
|
+
rspec-support (~> 3.4.0)
|
|
100
|
+
rspec-mocks (3.4.1)
|
|
101
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
102
|
+
rspec-support (~> 3.4.0)
|
|
103
|
+
rspec-support (3.4.1)
|
|
104
|
+
rufus-scheduler (3.1.10)
|
|
105
|
+
sinatra (1.4.7)
|
|
106
|
+
rack (~> 1.5)
|
|
107
|
+
rack-protection (~> 1.4)
|
|
108
|
+
tilt (>= 1.3, < 3)
|
|
109
|
+
sinatra-contrib (1.4.7)
|
|
110
|
+
backports (>= 2.0)
|
|
111
|
+
multi_json
|
|
112
|
+
rack-protection
|
|
113
|
+
rack-test
|
|
114
|
+
sinatra (~> 1.4.0)
|
|
115
|
+
tilt (>= 1.3, < 3)
|
|
116
|
+
slop (3.6.0)
|
|
117
|
+
sprockets (3.7.0)
|
|
118
|
+
concurrent-ruby (~> 1.0)
|
|
119
|
+
rack (> 1, < 3)
|
|
120
|
+
sprockets-rails (2.3.3)
|
|
121
|
+
actionpack (>= 3.0)
|
|
122
|
+
activesupport (>= 3.0)
|
|
123
|
+
sprockets (>= 2.8, < 4.0)
|
|
124
|
+
test_after_commit (0.4.1)
|
|
125
|
+
activerecord (>= 3.2)
|
|
126
|
+
thor (0.19.1)
|
|
127
|
+
thread_safe (0.3.5)
|
|
128
|
+
tilt (2.0.5)
|
|
129
|
+
timecop (0.7.1)
|
|
130
|
+
tzinfo (1.2.2)
|
|
131
|
+
thread_safe (~> 0.1)
|
|
132
|
+
wwtd (1.3.0)
|
|
133
|
+
|
|
134
|
+
PLATFORMS
|
|
135
|
+
ruby
|
|
136
|
+
|
|
137
|
+
DEPENDENCIES
|
|
138
|
+
bump
|
|
139
|
+
database_cleaner (= 1.3.0)
|
|
140
|
+
inst-jobs!
|
|
141
|
+
pg
|
|
142
|
+
pry
|
|
143
|
+
rack-test
|
|
144
|
+
rails (~> 4.1.6)
|
|
145
|
+
rake
|
|
146
|
+
rspec (= 3.4.0)
|
|
147
|
+
sinatra
|
|
148
|
+
sinatra-contrib
|
|
149
|
+
test_after_commit (= 0.4.1)
|
|
150
|
+
timecop (= 0.7.1)
|
|
151
|
+
wwtd (~> 1.3.0)
|
|
152
|
+
|
|
153
|
+
BUNDLED WITH
|
|
154
|
+
1.12.5
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: ../../
|
|
3
|
+
specs:
|
|
4
|
+
inst-jobs (0.11.3)
|
|
5
|
+
after_transaction_commit (= 1.0.1)
|
|
6
|
+
rails (>= 3.2)
|
|
7
|
+
redis (> 3.0)
|
|
8
|
+
redis-scripting (~> 1.0.1)
|
|
9
|
+
rufus-scheduler (~> 3.1.2)
|
|
10
|
+
thor (>= 0.14.6, < 2.0)
|
|
11
|
+
|
|
12
|
+
GEM
|
|
13
|
+
remote: https://rubygems.org/
|
|
14
|
+
specs:
|
|
15
|
+
actionmailer (4.2.7)
|
|
16
|
+
actionpack (= 4.2.7)
|
|
17
|
+
actionview (= 4.2.7)
|
|
18
|
+
activejob (= 4.2.7)
|
|
19
|
+
mail (~> 2.5, >= 2.5.4)
|
|
20
|
+
rails-dom-testing (~> 1.0, >= 1.0.5)
|
|
21
|
+
actionpack (4.2.7)
|
|
22
|
+
actionview (= 4.2.7)
|
|
23
|
+
activesupport (= 4.2.7)
|
|
24
|
+
rack (~> 1.6)
|
|
25
|
+
rack-test (~> 0.6.2)
|
|
26
|
+
rails-dom-testing (~> 1.0, >= 1.0.5)
|
|
27
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
|
28
|
+
actionview (4.2.7)
|
|
29
|
+
activesupport (= 4.2.7)
|
|
30
|
+
builder (~> 3.1)
|
|
31
|
+
erubis (~> 2.7.0)
|
|
32
|
+
rails-dom-testing (~> 1.0, >= 1.0.5)
|
|
33
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
|
34
|
+
activejob (4.2.7)
|
|
35
|
+
activesupport (= 4.2.7)
|
|
36
|
+
globalid (>= 0.3.0)
|
|
37
|
+
activemodel (4.2.7)
|
|
38
|
+
activesupport (= 4.2.7)
|
|
39
|
+
builder (~> 3.1)
|
|
40
|
+
activerecord (4.2.7)
|
|
41
|
+
activemodel (= 4.2.7)
|
|
42
|
+
activesupport (= 4.2.7)
|
|
43
|
+
arel (~> 6.0)
|
|
44
|
+
activesupport (4.2.7)
|
|
45
|
+
i18n (~> 0.7)
|
|
46
|
+
json (~> 1.7, >= 1.7.7)
|
|
47
|
+
minitest (~> 5.1)
|
|
48
|
+
thread_safe (~> 0.3, >= 0.3.4)
|
|
49
|
+
tzinfo (~> 1.1)
|
|
50
|
+
after_transaction_commit (1.0.1)
|
|
51
|
+
activerecord (>= 3.2)
|
|
52
|
+
arel (6.0.3)
|
|
53
|
+
backports (3.6.8)
|
|
54
|
+
builder (3.2.2)
|
|
55
|
+
bump (0.5.3)
|
|
56
|
+
coderay (1.1.1)
|
|
57
|
+
concurrent-ruby (1.0.2)
|
|
58
|
+
database_cleaner (1.3.0)
|
|
59
|
+
diff-lcs (1.2.5)
|
|
60
|
+
erubis (2.7.0)
|
|
61
|
+
globalid (0.3.6)
|
|
62
|
+
activesupport (>= 4.1.0)
|
|
63
|
+
i18n (0.7.0)
|
|
64
|
+
json (1.8.3)
|
|
65
|
+
loofah (2.0.3)
|
|
66
|
+
nokogiri (>= 1.5.9)
|
|
67
|
+
mail (2.6.4)
|
|
68
|
+
mime-types (>= 1.16, < 4)
|
|
69
|
+
method_source (0.8.2)
|
|
70
|
+
mime-types (3.1)
|
|
71
|
+
mime-types-data (~> 3.2015)
|
|
72
|
+
mime-types-data (3.2016.0521)
|
|
73
|
+
mini_portile2 (2.1.0)
|
|
74
|
+
minitest (5.9.0)
|
|
75
|
+
multi_json (1.12.1)
|
|
76
|
+
nokogiri (1.6.8)
|
|
77
|
+
mini_portile2 (~> 2.1.0)
|
|
78
|
+
pkg-config (~> 1.1.7)
|
|
79
|
+
pg (0.18.4)
|
|
80
|
+
pkg-config (1.1.7)
|
|
81
|
+
pry (0.10.4)
|
|
82
|
+
coderay (~> 1.1.0)
|
|
83
|
+
method_source (~> 0.8.1)
|
|
84
|
+
slop (~> 3.4)
|
|
85
|
+
rack (1.6.4)
|
|
86
|
+
rack-protection (1.5.3)
|
|
87
|
+
rack
|
|
88
|
+
rack-test (0.6.3)
|
|
89
|
+
rack (>= 1.0)
|
|
90
|
+
rails (4.2.7)
|
|
91
|
+
actionmailer (= 4.2.7)
|
|
92
|
+
actionpack (= 4.2.7)
|
|
93
|
+
actionview (= 4.2.7)
|
|
94
|
+
activejob (= 4.2.7)
|
|
95
|
+
activemodel (= 4.2.7)
|
|
96
|
+
activerecord (= 4.2.7)
|
|
97
|
+
activesupport (= 4.2.7)
|
|
98
|
+
bundler (>= 1.3.0, < 2.0)
|
|
99
|
+
railties (= 4.2.7)
|
|
100
|
+
sprockets-rails
|
|
101
|
+
rails-deprecated_sanitizer (1.0.3)
|
|
102
|
+
activesupport (>= 4.2.0.alpha)
|
|
103
|
+
rails-dom-testing (1.0.7)
|
|
104
|
+
activesupport (>= 4.2.0.beta, < 5.0)
|
|
105
|
+
nokogiri (~> 1.6.0)
|
|
106
|
+
rails-deprecated_sanitizer (>= 1.0.1)
|
|
107
|
+
rails-html-sanitizer (1.0.3)
|
|
108
|
+
loofah (~> 2.0)
|
|
109
|
+
railties (4.2.7)
|
|
110
|
+
actionpack (= 4.2.7)
|
|
111
|
+
activesupport (= 4.2.7)
|
|
112
|
+
rake (>= 0.8.7)
|
|
113
|
+
thor (>= 0.18.1, < 2.0)
|
|
114
|
+
rake (11.2.2)
|
|
115
|
+
redis (3.3.1)
|
|
116
|
+
redis-scripting (1.0.1)
|
|
117
|
+
redis (>= 3.0)
|
|
118
|
+
rspec (3.4.0)
|
|
119
|
+
rspec-core (~> 3.4.0)
|
|
120
|
+
rspec-expectations (~> 3.4.0)
|
|
121
|
+
rspec-mocks (~> 3.4.0)
|
|
122
|
+
rspec-core (3.4.4)
|
|
123
|
+
rspec-support (~> 3.4.0)
|
|
124
|
+
rspec-expectations (3.4.0)
|
|
125
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
126
|
+
rspec-support (~> 3.4.0)
|
|
127
|
+
rspec-mocks (3.4.1)
|
|
128
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
129
|
+
rspec-support (~> 3.4.0)
|
|
130
|
+
rspec-support (3.4.1)
|
|
131
|
+
rufus-scheduler (3.1.10)
|
|
132
|
+
sinatra (1.4.7)
|
|
133
|
+
rack (~> 1.5)
|
|
134
|
+
rack-protection (~> 1.4)
|
|
135
|
+
tilt (>= 1.3, < 3)
|
|
136
|
+
sinatra-contrib (1.4.7)
|
|
137
|
+
backports (>= 2.0)
|
|
138
|
+
multi_json
|
|
139
|
+
rack-protection
|
|
140
|
+
rack-test
|
|
141
|
+
sinatra (~> 1.4.0)
|
|
142
|
+
tilt (>= 1.3, < 3)
|
|
143
|
+
slop (3.6.0)
|
|
144
|
+
sprockets (3.7.0)
|
|
145
|
+
concurrent-ruby (~> 1.0)
|
|
146
|
+
rack (> 1, < 3)
|
|
147
|
+
sprockets-rails (3.1.1)
|
|
148
|
+
actionpack (>= 4.0)
|
|
149
|
+
activesupport (>= 4.0)
|
|
150
|
+
sprockets (>= 3.0.0)
|
|
151
|
+
test_after_commit (0.4.1)
|
|
152
|
+
activerecord (>= 3.2)
|
|
153
|
+
thor (0.19.1)
|
|
154
|
+
thread_safe (0.3.5)
|
|
155
|
+
tilt (2.0.5)
|
|
156
|
+
timecop (0.7.1)
|
|
157
|
+
tzinfo (1.2.2)
|
|
158
|
+
thread_safe (~> 0.1)
|
|
159
|
+
wwtd (1.3.0)
|
|
160
|
+
|
|
161
|
+
PLATFORMS
|
|
162
|
+
ruby
|
|
163
|
+
|
|
164
|
+
DEPENDENCIES
|
|
165
|
+
bump
|
|
166
|
+
database_cleaner (= 1.3.0)
|
|
167
|
+
inst-jobs!
|
|
168
|
+
pg
|
|
169
|
+
pry
|
|
170
|
+
rack-test
|
|
171
|
+
rails (~> 4.2.5)
|
|
172
|
+
rake
|
|
173
|
+
rspec (= 3.4.0)
|
|
174
|
+
sinatra
|
|
175
|
+
sinatra-contrib
|
|
176
|
+
test_after_commit (= 0.4.1)
|
|
177
|
+
timecop (= 0.7.1)
|
|
178
|
+
wwtd (~> 1.3.0)
|
|
179
|
+
|
|
180
|
+
BUNDLED WITH
|
|
181
|
+
1.12.5
|
|
@@ -33,28 +33,25 @@ shared_examples_for 'random ruby objects' do
|
|
|
33
33
|
context "class methods" do
|
|
34
34
|
context "add_send_later_methods" do
|
|
35
35
|
it "should work with default_async" do
|
|
36
|
-
|
|
36
|
+
klass = Class.new do
|
|
37
37
|
attr_reader :ran
|
|
38
38
|
def test_method; @ran = true; end
|
|
39
39
|
add_send_later_methods :test_method, {}, true
|
|
40
40
|
end
|
|
41
|
-
obj =
|
|
41
|
+
obj = klass.new
|
|
42
42
|
lambda { obj.test_method }.should change { Delayed::Job.jobs_count(:current) }.by(1)
|
|
43
|
-
lambda { obj.test_method_with_send_later }.should change { Delayed::Job.jobs_count(:current) }.by(1)
|
|
44
43
|
obj.ran.should be_falsey
|
|
45
44
|
lambda { obj.test_method_without_send_later }.should_not change { Delayed::Job.jobs_count(:current) }
|
|
46
45
|
obj.ran.should be true
|
|
47
46
|
end
|
|
48
47
|
|
|
49
48
|
it "should work without default_async" do
|
|
50
|
-
|
|
49
|
+
klass = Class.new do
|
|
51
50
|
attr_accessor :ran
|
|
52
51
|
def test_method; @ran = true; end
|
|
53
52
|
add_send_later_methods :test_method, {}, false
|
|
54
53
|
end
|
|
55
|
-
obj =
|
|
56
|
-
lambda { obj.test_method_with_send_later }.should change { Delayed::Job.jobs_count(:current) }.by(1)
|
|
57
|
-
obj.ran.should be_falsey
|
|
54
|
+
obj = klass.new
|
|
58
55
|
lambda { obj.test_method }.should_not change { Delayed::Job.jobs_count(:current) }
|
|
59
56
|
obj.ran.should be true
|
|
60
57
|
obj.ran = false
|
|
@@ -64,57 +61,23 @@ shared_examples_for 'random ruby objects' do
|
|
|
64
61
|
end
|
|
65
62
|
|
|
66
63
|
it "should send along enqueue args and args default async" do
|
|
67
|
-
|
|
68
|
-
|
|
64
|
+
klass = Class.new do
|
|
65
|
+
attr_accessor :ran
|
|
69
66
|
def test_method(*args); @ran = args; end
|
|
70
67
|
add_send_later_methods(:test_method, {:enqueue_arg_1 => :thing}, true)
|
|
71
68
|
end
|
|
72
|
-
obj =
|
|
69
|
+
obj = klass.new
|
|
73
70
|
method = double()
|
|
74
|
-
|
|
71
|
+
|
|
72
|
+
expect(Delayed::PerformableMethod).to receive(:new).with(obj, :test_method, [1,2,3, {synchronous: true}], nil, nil).and_return(method)
|
|
75
73
|
expect(Delayed::Job).to receive(:enqueue).with(method, :enqueue_arg_1 => :thing)
|
|
76
74
|
obj.test_method(1,2,3)
|
|
77
|
-
|
|
75
|
+
|
|
76
|
+
expect(Delayed::PerformableMethod).to receive(:new).with(obj, :test_method, [4, {:synchronous=>true}], nil, nil).and_return(method)
|
|
78
77
|
expect(Delayed::Job).to receive(:enqueue).with(method, :enqueue_arg_1 => :thing)
|
|
79
78
|
obj.test_method(4)
|
|
80
|
-
expect(Delayed::PerformableMethod).to receive(:new).with(obj, :test_method_without_send_later, [6], nil, nil).and_return(method)
|
|
81
|
-
expect(Delayed::Job).to receive(:enqueue).with(method, :enqueue_arg_1 => :thing)
|
|
82
|
-
obj.test_method_with_send_later(6)
|
|
83
|
-
expect(Delayed::PerformableMethod).to receive(:new).with(obj, :test_method_without_send_later, [5,6], nil, nil).and_return(method)
|
|
84
|
-
expect(Delayed::Job).to receive(:enqueue).with(method, :enqueue_arg_1 => :thing)
|
|
85
|
-
obj.test_method_with_send_later(5,6)
|
|
86
|
-
obj.ran.should be_nil
|
|
87
|
-
obj.test_method_without_send_later(7)
|
|
88
|
-
obj.ran.should == [7]
|
|
89
|
-
obj.ran = nil
|
|
90
|
-
obj.ran.should == nil
|
|
91
|
-
obj.test_method_without_send_later(8,9)
|
|
92
|
-
obj.ran.should == [8,9]
|
|
93
|
-
end
|
|
94
79
|
|
|
95
|
-
it "should send along enqueue args and args without default async" do
|
|
96
|
-
class TestObject
|
|
97
|
-
attr_reader :ran
|
|
98
|
-
def test_method(*args); @ran = args; end
|
|
99
|
-
add_send_later_methods(:test_method, {:enqueue_arg_2 => :thing2, :on_failure => :fail, :on_permanent_failure => :fail_frd}, false)
|
|
100
|
-
end
|
|
101
|
-
obj = TestObject.new
|
|
102
|
-
method = double()
|
|
103
|
-
expect(Delayed::PerformableMethod).to receive(:new).with(obj, :test_method_without_send_later, [6], :fail, :fail_frd).and_return(method)
|
|
104
|
-
expect(Delayed::Job).to receive(:enqueue).with(method, :enqueue_arg_2 => :thing2)
|
|
105
|
-
obj.test_method_with_send_later(6)
|
|
106
|
-
expect(Delayed::PerformableMethod).to receive(:new).with(obj, :test_method_without_send_later, [5,6], :fail, :fail_frd).and_return(method)
|
|
107
|
-
expect(Delayed::Job).to receive(:enqueue).with(method, :enqueue_arg_2 => :thing2)
|
|
108
|
-
obj.test_method_with_send_later(5,6)
|
|
109
80
|
obj.ran.should be_nil
|
|
110
|
-
obj.test_method(1,2,3)
|
|
111
|
-
obj.ran.should == [1,2,3]
|
|
112
|
-
obj.ran = nil
|
|
113
|
-
obj.ran.should == nil
|
|
114
|
-
obj.test_method(4)
|
|
115
|
-
obj.ran.should == [4]
|
|
116
|
-
obj.ran = nil
|
|
117
|
-
obj.ran.should == nil
|
|
118
81
|
obj.test_method_without_send_later(7)
|
|
119
82
|
obj.ran.should == [7]
|
|
120
83
|
obj.ran = nil
|
|
@@ -124,28 +87,25 @@ shared_examples_for 'random ruby objects' do
|
|
|
124
87
|
end
|
|
125
88
|
|
|
126
89
|
it "should handle punctuation correctly with default_async" do
|
|
127
|
-
|
|
90
|
+
klass = Class.new do
|
|
128
91
|
attr_reader :ran
|
|
129
92
|
def test_method?; @ran = true; end
|
|
130
93
|
add_send_later_methods :test_method?, {}, true
|
|
131
94
|
end
|
|
132
|
-
obj =
|
|
95
|
+
obj = klass.new
|
|
133
96
|
lambda { obj.test_method? }.should change { Delayed::Job.jobs_count(:current) }.by(1)
|
|
134
|
-
lambda { obj.test_method_with_send_later? }.should change { Delayed::Job.jobs_count(:current) }.by(1)
|
|
135
97
|
obj.ran.should be_falsey
|
|
136
98
|
lambda { obj.test_method_without_send_later? }.should_not change { Delayed::Job.jobs_count(:current) }
|
|
137
99
|
obj.ran.should be true
|
|
138
100
|
end
|
|
139
101
|
|
|
140
102
|
it "should handle punctuation correctly without default_async" do
|
|
141
|
-
|
|
103
|
+
klass = Class.new do
|
|
142
104
|
attr_accessor :ran
|
|
143
105
|
def test_method?; @ran = true; end
|
|
144
106
|
add_send_later_methods :test_method?, {}, false
|
|
145
107
|
end
|
|
146
|
-
obj =
|
|
147
|
-
lambda { obj.test_method_with_send_later? }.should change { Delayed::Job.jobs_count(:current) }.by(1)
|
|
148
|
-
obj.ran.should be_falsey
|
|
108
|
+
obj = klass.new
|
|
149
109
|
lambda { obj.test_method? }.should_not change { Delayed::Job.jobs_count(:current) }
|
|
150
110
|
obj.ran.should be true
|
|
151
111
|
obj.ran = false
|
|
@@ -155,28 +115,25 @@ shared_examples_for 'random ruby objects' do
|
|
|
155
115
|
end
|
|
156
116
|
|
|
157
117
|
it "should handle assignment punctuation correctly with default_async" do
|
|
158
|
-
|
|
118
|
+
klass = Class.new do
|
|
159
119
|
attr_reader :ran
|
|
160
120
|
def test_method=(val); @ran = val; end
|
|
161
121
|
add_send_later_methods :test_method=, {}, true
|
|
162
122
|
end
|
|
163
|
-
obj =
|
|
123
|
+
obj = klass.new
|
|
164
124
|
lambda { obj.test_method = 3 }.should change { Delayed::Job.jobs_count(:current) }.by(1)
|
|
165
|
-
lambda { obj.test_method_with_send_later = 4 }.should change { Delayed::Job.jobs_count(:current) }.by(1)
|
|
166
125
|
obj.ran.should be_nil
|
|
167
126
|
lambda { obj.test_method_without_send_later = 5 }.should_not change { Delayed::Job.jobs_count(:current) }
|
|
168
127
|
obj.ran.should == 5
|
|
169
128
|
end
|
|
170
129
|
|
|
171
130
|
it "should handle assignment punctuation correctly without default_async" do
|
|
172
|
-
|
|
131
|
+
klass = Class.new do
|
|
173
132
|
attr_accessor :ran
|
|
174
133
|
def test_method=(val); @ran = val; end
|
|
175
134
|
add_send_later_methods :test_method=, {}, false
|
|
176
135
|
end
|
|
177
|
-
obj =
|
|
178
|
-
lambda { obj.test_method_with_send_later = 1 }.should change { Delayed::Job.jobs_count(:current) }.by(1)
|
|
179
|
-
obj.ran.should be_nil
|
|
136
|
+
obj = klass.new
|
|
180
137
|
lambda { obj.test_method = 2 }.should_not change { Delayed::Job.jobs_count(:current) }
|
|
181
138
|
obj.ran.should == 2
|
|
182
139
|
lambda { obj.test_method_without_send_later = 3 }.should_not change { Delayed::Job.jobs_count(:current) }
|
|
@@ -184,26 +141,26 @@ shared_examples_for 'random ruby objects' do
|
|
|
184
141
|
end
|
|
185
142
|
|
|
186
143
|
it "should correctly sort out method accessibility with default async" do
|
|
187
|
-
|
|
144
|
+
klass1 = Class.new do
|
|
188
145
|
def test_method; end
|
|
189
146
|
add_send_later_methods :test_method, {}, true
|
|
190
147
|
end
|
|
191
|
-
|
|
148
|
+
|
|
149
|
+
klass2 = Class.new do
|
|
192
150
|
protected
|
|
193
151
|
def test_method; end
|
|
194
152
|
add_send_later_methods :test_method, {}, true
|
|
195
153
|
end
|
|
196
|
-
|
|
154
|
+
|
|
155
|
+
klass3 = Class.new do
|
|
197
156
|
private
|
|
198
157
|
def test_method; end
|
|
199
158
|
add_send_later_methods :test_method, {}, true
|
|
200
159
|
end
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
TestObject3.protected_method_defined?(:test_method).should be false
|
|
206
|
-
TestObject3.private_method_defined?(:test_method).should be true
|
|
160
|
+
|
|
161
|
+
klass1.public_method_defined?(:test_method).should be true
|
|
162
|
+
klass2.protected_method_defined?(:test_method).should be true
|
|
163
|
+
klass3.private_method_defined?(:test_method).should be true
|
|
207
164
|
end
|
|
208
165
|
end
|
|
209
166
|
|
|
@@ -286,8 +243,8 @@ shared_examples_for 'random ruby objects' do
|
|
|
286
243
|
|
|
287
244
|
job = Delayed::Job.list_jobs(:current, 1).first
|
|
288
245
|
job.payload_object.class.should == Delayed::PerformableMethod
|
|
289
|
-
job.payload_object.method.should == :
|
|
290
|
-
job.payload_object.args.should == [1, 5]
|
|
246
|
+
job.payload_object.method.should == :whatever
|
|
247
|
+
job.payload_object.args.should == [1, 5, {:synchronous=>true}]
|
|
291
248
|
job.payload_object.perform.should == 'Once upon...'
|
|
292
249
|
end
|
|
293
250
|
|
|
@@ -298,8 +255,8 @@ shared_examples_for 'random ruby objects' do
|
|
|
298
255
|
|
|
299
256
|
job = Delayed::Job.list_jobs(:current, 1, 0, "testqueue").first
|
|
300
257
|
job.payload_object.class.should == Delayed::PerformableMethod
|
|
301
|
-
job.payload_object.method.should == :
|
|
302
|
-
job.payload_object.args.should == [1, 5]
|
|
258
|
+
job.payload_object.method.should == :whatever_else
|
|
259
|
+
job.payload_object.args.should == [1, 5, {:synchronous=>true}]
|
|
303
260
|
job.payload_object.perform.should == 'Once upon...'
|
|
304
261
|
end
|
|
305
262
|
|
|
@@ -327,14 +284,14 @@ shared_examples_for 'random ruby objects' do
|
|
|
327
284
|
"string".send_at(1.hour.from_now, :length)
|
|
328
285
|
end.should change { Delayed::Job.jobs_count(:future) }.by(1)
|
|
329
286
|
end
|
|
330
|
-
|
|
287
|
+
|
|
331
288
|
it "should schedule the job in the future" do
|
|
332
289
|
time = 1.hour.from_now
|
|
333
290
|
"string".send_at(time, :length)
|
|
334
291
|
job = Delayed::Job.list_jobs(:future, 1).first
|
|
335
292
|
job.run_at.to_i.should == time.to_i
|
|
336
293
|
end
|
|
337
|
-
|
|
294
|
+
|
|
338
295
|
it "should store payload as PerformableMethod" do
|
|
339
296
|
"string".send_at(1.hour.from_now, :count, 'r')
|
|
340
297
|
job = Delayed::Job.list_jobs(:future, 1).first
|
|
@@ -343,7 +300,7 @@ shared_examples_for 'random ruby objects' do
|
|
|
343
300
|
job.payload_object.args.should == ['r']
|
|
344
301
|
job.payload_object.perform.should == 1
|
|
345
302
|
end
|
|
346
|
-
|
|
303
|
+
|
|
347
304
|
it "should use the default queue if there is one" do
|
|
348
305
|
set_queue("testqueue") do
|
|
349
306
|
"string".send_at 1.hour.from_now, :reverse
|
|
@@ -359,14 +316,14 @@ shared_examples_for 'random ruby objects' do
|
|
|
359
316
|
"string".send_at_with_queue(1.hour.from_now, :length, "testqueue")
|
|
360
317
|
end.should change { Delayed::Job.jobs_count(:future, "testqueue") }.by(1)
|
|
361
318
|
end
|
|
362
|
-
|
|
319
|
+
|
|
363
320
|
it "should schedule the job in the future" do
|
|
364
321
|
time = 1.hour.from_now
|
|
365
322
|
"string".send_at_with_queue(time, :length, "testqueue")
|
|
366
323
|
job = Delayed::Job.list_jobs(:future, 1, 0, "testqueue").first
|
|
367
324
|
job.run_at.to_i.should == time.to_i
|
|
368
325
|
end
|
|
369
|
-
|
|
326
|
+
|
|
370
327
|
it "should override the default queue" do
|
|
371
328
|
set_queue("default_queue") do
|
|
372
329
|
"string".send_at_with_queue(1.hour.from_now, :length, "testqueue")
|
|
@@ -374,7 +331,7 @@ shared_examples_for 'random ruby objects' do
|
|
|
374
331
|
job.queue.should == "testqueue"
|
|
375
332
|
end
|
|
376
333
|
end
|
|
377
|
-
|
|
334
|
+
|
|
378
335
|
it "should store payload as PerformableMethod" do
|
|
379
336
|
"string".send_at_with_queue(1.hour.from_now, :count, "testqueue", 'r')
|
|
380
337
|
job = Delayed::Job.list_jobs(:future, 1, 0, "testqueue").first
|
|
@@ -415,5 +372,4 @@ shared_examples_for 'random ruby objects' do
|
|
|
415
372
|
UnlessInJob.runs.should == 0
|
|
416
373
|
end
|
|
417
374
|
end
|
|
418
|
-
|
|
419
375
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -37,14 +37,22 @@ ENV['TEST_DB_DATABASE'] ||= "inst-jobs-test-#{ENV['TEST_ENV_NUMBER']}"
|
|
|
37
37
|
ENV['TEST_REDIS_CONNECTION'] ||= 'redis://localhost:6379/'
|
|
38
38
|
|
|
39
39
|
Delayed::Backend::Redis::Job.redis = Redis.new(url: ENV['TEST_REDIS_CONNECTION'])
|
|
40
|
+
Delayed::Backend::Redis::Job.redis.select ENV['TEST_ENV_NUMBER']
|
|
40
41
|
|
|
41
|
-
|
|
42
|
+
connection_config = {
|
|
42
43
|
adapter: :postgresql,
|
|
43
44
|
host: ENV['TEST_DB_HOST'],
|
|
44
45
|
encoding: 'utf8',
|
|
45
46
|
username: ENV['TEST_DB_USERNAME'],
|
|
46
47
|
database: ENV['TEST_DB_DATABASE'],
|
|
47
|
-
}
|
|
48
|
+
}
|
|
49
|
+
# create the test db if it does not exist, to help out wwtd
|
|
50
|
+
ActiveRecord::Base.establish_connection(connection_config.merge(database: 'postgres'))
|
|
51
|
+
begin
|
|
52
|
+
ActiveRecord::Base.connection.create_database(connection_config[:database])
|
|
53
|
+
rescue ActiveRecord::StatementInvalid
|
|
54
|
+
end
|
|
55
|
+
ActiveRecord::Base.establish_connection(connection_config)
|
|
48
56
|
# TODO reset db and migrate again, to test migrations
|
|
49
57
|
|
|
50
58
|
ActiveRecord::Migrator.migrate("db/migrate")
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: inst-jobs
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.11.
|
|
4
|
+
version: 0.11.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tobias Luetke
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2017-01-18 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: after_transaction_commit
|
|
@@ -328,9 +328,14 @@ files:
|
|
|
328
328
|
- spec/delayed/work_queue/parent_process_spec.rb
|
|
329
329
|
- spec/delayed/worker_spec.rb
|
|
330
330
|
- spec/gemfiles/32.gemfile
|
|
331
|
+
- spec/gemfiles/32.gemfile.lock
|
|
331
332
|
- spec/gemfiles/40.gemfile
|
|
333
|
+
- spec/gemfiles/40.gemfile.lock
|
|
332
334
|
- spec/gemfiles/41.gemfile
|
|
335
|
+
- spec/gemfiles/41.gemfile.lock
|
|
333
336
|
- spec/gemfiles/42.gemfile
|
|
337
|
+
- spec/gemfiles/42.gemfile.lock
|
|
338
|
+
- spec/gemfiles/50.gemfile
|
|
334
339
|
- spec/migrate/20140924140513_add_story_table.rb
|
|
335
340
|
- spec/redis_job_spec.rb
|
|
336
341
|
- spec/sample_jobs.rb
|
|
@@ -361,7 +366,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
361
366
|
version: '0'
|
|
362
367
|
requirements: []
|
|
363
368
|
rubyforge_project:
|
|
364
|
-
rubygems_version: 2.
|
|
369
|
+
rubygems_version: 2.5.1
|
|
365
370
|
signing_key:
|
|
366
371
|
specification_version: 4
|
|
367
372
|
summary: Instructure-maintained fork of delayed_job
|
|
@@ -375,9 +380,14 @@ test_files:
|
|
|
375
380
|
- spec/delayed/work_queue/parent_process_spec.rb
|
|
376
381
|
- spec/delayed/worker_spec.rb
|
|
377
382
|
- spec/gemfiles/32.gemfile
|
|
383
|
+
- spec/gemfiles/32.gemfile.lock
|
|
378
384
|
- spec/gemfiles/40.gemfile
|
|
385
|
+
- spec/gemfiles/40.gemfile.lock
|
|
379
386
|
- spec/gemfiles/41.gemfile
|
|
387
|
+
- spec/gemfiles/41.gemfile.lock
|
|
380
388
|
- spec/gemfiles/42.gemfile
|
|
389
|
+
- spec/gemfiles/42.gemfile.lock
|
|
390
|
+
- spec/gemfiles/50.gemfile
|
|
381
391
|
- spec/migrate/20140924140513_add_story_table.rb
|
|
382
392
|
- spec/redis_job_spec.rb
|
|
383
393
|
- spec/sample_jobs.rb
|
|
@@ -389,4 +399,3 @@ test_files:
|
|
|
389
399
|
- spec/shared/worker.rb
|
|
390
400
|
- spec/shared_jobs_specs.rb
|
|
391
401
|
- spec/spec_helper.rb
|
|
392
|
-
has_rdoc:
|