resque-serializer 0.1.1 → 0.1.2
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/.github/PULL_REQUEST_TEMPLATE.md +8 -0
- data/CHANGELOG.md +13 -0
- data/lib/resque-serializer/monkey_patches/resque.rb +36 -0
- data/lib/resque-serializer/version.rb +1 -1
- data/lib/resque-serializer.rb +1 -0
- data/resque-serializer.gemspec +1 -1
- data/spec/lib/resque-serializer/monkey_patches/resque_spec.rb +34 -0
- data/spec/lib/resque-serializer/serializers/both_spec.rb +36 -79
- data/spec/lib/resque-serializer/serializers/combined_spec.rb +34 -57
- data/spec/lib/resque-serializer/serializers/job_spec.rb +37 -32
- data/spec/lib/resque-serializer/serializers/queue_spec.rb +42 -40
- data/spec/resque_test_helper.rb +17 -0
- data/spec/spec_helper.rb +3 -1
- metadata +19 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: df7981e4e3465956ef681be0515e3b132f467c92
|
4
|
+
data.tar.gz: beb3c0112e30f2a4d87a7e4a00cbf2b3b83a2c48
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d611f691cfd8fa954a57bdcdb07ba636259fc96e407b5ec4add1baafbfbf50a89ad673d0742d7a95543bc16a0baf583a36e345b97b4484e20771572b9a75f7d
|
7
|
+
data.tar.gz: fe4ca85898ed891dd318101cd6be87635ab141cd48eafb2261cc86702b07f168dce205f998947934905f932bb7e5207000bf9756bb970b14c6c92b6392a8d6f2
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
The noteworthy changes for each Resque::Serializer version are included here.
|
4
|
+
For a complete changelog, see the git history for each version via the version
|
5
|
+
links.
|
6
|
+
|
7
|
+
## [0.1.0] - April 10, 2017
|
8
|
+
|
9
|
+
### Initial Release
|
10
|
+
- Initial release. Adds support for resque job serialization via four
|
11
|
+
strategies.
|
12
|
+
|
13
|
+
[0.1.0]: https://github.com/rringler/resque-serializer/releases/tag/v0.1.0
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module ResqueSerializer
|
2
|
+
module MonkeyPatches
|
3
|
+
module Resque
|
4
|
+
# NOTE: `Resque#pop` is called when working queued jobs via the
|
5
|
+
# `resque:work` rake task. Resque's default implementation will
|
6
|
+
# not trigger the `before_dequeue` or `after_dequeue` hooks;
|
7
|
+
# this patch will force it do so.
|
8
|
+
def pop(queue)
|
9
|
+
return unless (job_details = decode(data_store.pop_from_queue(queue)))
|
10
|
+
klass = job_details['class'].safe_constantize
|
11
|
+
args = job_details['args']
|
12
|
+
|
13
|
+
# Perform before_dequeue hooks. Don't perform dequeue if any hook
|
14
|
+
# returns false
|
15
|
+
# rubocop:disable Metrics/LineLength
|
16
|
+
before_hooks = ::Resque::Plugin.before_dequeue_hooks(klass).collect do |hook|
|
17
|
+
klass.send(hook, *args)
|
18
|
+
end
|
19
|
+
|
20
|
+
return job_details if before_hooks.any? { |result| result == false }
|
21
|
+
|
22
|
+
::Resque::Plugin.after_dequeue_hooks(klass).each do |hook|
|
23
|
+
klass.send(hook, *args)
|
24
|
+
end
|
25
|
+
|
26
|
+
job_details
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
module Resque
|
33
|
+
prepend ResqueSerializer::MonkeyPatches::Resque
|
34
|
+
|
35
|
+
module_function :pop
|
36
|
+
end
|
data/lib/resque-serializer.rb
CHANGED
data/resque-serializer.gemspec
CHANGED
@@ -21,10 +21,10 @@ Gem::Specification.new do |gem|
|
|
21
21
|
gem.add_dependency 'resque'
|
22
22
|
|
23
23
|
gem.add_development_dependency 'bundler', '~> 1.14'
|
24
|
+
gem.add_development_dependency 'bump', '~> 0.7'
|
24
25
|
gem.add_development_dependency 'mock_redis'
|
25
26
|
gem.add_development_dependency 'pry-byebug'
|
26
27
|
gem.add_development_dependency 'pry-stack_explorer'
|
27
28
|
gem.add_development_dependency 'rake'
|
28
|
-
gem.add_development_dependency 'resque_spec'
|
29
29
|
gem.add_development_dependency 'rspec', '~> 3.0'
|
30
30
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
class ResqueDequeueHookJob
|
4
|
+
extend Resque::Plugins::Serializer
|
5
|
+
|
6
|
+
serialize :both
|
7
|
+
|
8
|
+
@queue = :default
|
9
|
+
|
10
|
+
def self.perform(*args); end
|
11
|
+
end
|
12
|
+
|
13
|
+
RSpec.describe ResqueDequeueHookJob do
|
14
|
+
let(:args) { %w[arg1 arg2] }
|
15
|
+
let(:queue_name) { :default }
|
16
|
+
let(:dequeue_hooks) { [] }
|
17
|
+
|
18
|
+
before do
|
19
|
+
allow(Resque::Plugin)
|
20
|
+
.to receive(:before_dequeue_hooks)
|
21
|
+
.and_return(dequeue_hooks)
|
22
|
+
allow(Resque::Plugin)
|
23
|
+
.to receive(:after_dequeue_hooks)
|
24
|
+
.and_return(dequeue_hooks)
|
25
|
+
enqueue_job
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'executes the dequeue hooks' do
|
29
|
+
expect(::Resque::Plugin).to receive(:before_dequeue_hooks).ordered
|
30
|
+
expect(::Resque::Plugin).to receive(:after_dequeue_hooks).ordered
|
31
|
+
|
32
|
+
execute_job
|
33
|
+
end
|
34
|
+
end
|
@@ -21,107 +21,64 @@ class JobSerializedByBoth
|
|
21
21
|
end
|
22
22
|
|
23
23
|
RSpec.describe JobSerializedByBoth do
|
24
|
-
let(:args)
|
24
|
+
let(:args) { %w[arg1 arg2] }
|
25
|
+
let(:queue_name) { :default }
|
25
26
|
|
26
27
|
before do
|
27
|
-
ResqueSpec.reset!
|
28
28
|
Resque.redis.redis.flushall
|
29
29
|
end
|
30
30
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
subject(:enqueue_job) { Resque.enqueue(described_class, *args) }
|
35
|
-
|
36
|
-
context 'when a lock for the job exists' do
|
37
|
-
before { mutex.lock! }
|
38
|
-
|
39
|
-
it 'does not enqueue the job' do
|
40
|
-
expect { enqueue_job }.to_not change {
|
41
|
-
ResqueSpec.queue_for(described_class).size
|
42
|
-
}.from(0)
|
43
|
-
end
|
44
|
-
|
45
|
-
it 'does not unlock the mutex' do
|
46
|
-
expect { enqueue_job }.to_not change {
|
47
|
-
mutex.locked?
|
48
|
-
}.from(true)
|
49
|
-
end
|
31
|
+
context 'with no jobs in the queue' do
|
32
|
+
before do
|
33
|
+
expect(queue_size).to eq(0)
|
50
34
|
end
|
51
35
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
}.from(0).to(1)
|
57
|
-
end
|
58
|
-
|
59
|
-
it 'locks the mutex' do
|
60
|
-
expect { enqueue_job }.to change {
|
61
|
-
mutex.locked?
|
62
|
-
}.from(false).to(true)
|
63
|
-
end
|
36
|
+
it 'can enqueue the job' do
|
37
|
+
expect { enqueue_job }.to change {
|
38
|
+
queue_size
|
39
|
+
}.from(0).to(1)
|
64
40
|
end
|
65
|
-
end
|
66
|
-
|
67
|
-
describe 'after dequeuing the job' do
|
68
|
-
let(:mutex) { described_class.queue_mutex(args) }
|
69
|
-
|
70
|
-
subject(:dequeue_job) { Resque.dequeue(described_class, *args) }
|
71
|
-
|
72
|
-
before { mutex.lock! }
|
73
41
|
|
74
|
-
it '
|
75
|
-
expect
|
76
|
-
mutex.locked?
|
77
|
-
}.from(true).to(false)
|
42
|
+
it 'can not execute any jobs' do
|
43
|
+
expect(execute_job).to be_nil
|
78
44
|
end
|
79
45
|
end
|
80
46
|
|
81
|
-
|
82
|
-
|
47
|
+
context 'with one job in the queue' do
|
48
|
+
before do
|
49
|
+
enqueue_job
|
50
|
+
expect(queue_size).to eq(1)
|
51
|
+
end
|
83
52
|
|
84
|
-
|
53
|
+
it 'cannot enqueue the same job' do
|
54
|
+
expect { enqueue_job }.to_not change {
|
55
|
+
queue_size
|
56
|
+
}.from(1)
|
57
|
+
end
|
85
58
|
|
86
|
-
it '
|
87
|
-
expect
|
88
|
-
mutex.locked?
|
89
|
-
}.from(false).to(true)
|
59
|
+
it 'can execute the job' do
|
60
|
+
expect(execute_job).to_not be_nil
|
90
61
|
end
|
91
62
|
end
|
92
63
|
|
93
|
-
|
94
|
-
let(:mutex) { described_class.job_mutex(args) }
|
95
|
-
|
64
|
+
context 'with one job in the queue and one job being executed' do
|
96
65
|
before do
|
97
|
-
|
98
|
-
|
66
|
+
enqueue_job
|
67
|
+
expect(queue_size).to eq(1)
|
68
|
+
execute_job
|
69
|
+
expect(queue_size).to eq(0)
|
70
|
+
enqueue_job
|
71
|
+
expect(queue_size).to eq(1)
|
99
72
|
end
|
100
73
|
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
expect { perform_job }.to change {
|
106
|
-
mutex.locked?
|
107
|
-
}.from(true).to(false)
|
108
|
-
end
|
74
|
+
it 'cannot enqueue the same job' do
|
75
|
+
expect { enqueue_job }.to_not change {
|
76
|
+
queue_size
|
77
|
+
}.from(1)
|
109
78
|
end
|
110
79
|
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
before do
|
115
|
-
allow(described_class).to receive(:perform).and_raise(error)
|
116
|
-
end
|
117
|
-
|
118
|
-
it 'still releases the lock after execution' do
|
119
|
-
expect(mutex.locked?).to eq(true)
|
120
|
-
|
121
|
-
expect { perform_job }.to raise_error(error)
|
122
|
-
|
123
|
-
expect(mutex.locked?).to eq(false)
|
124
|
-
end
|
80
|
+
it 'can execute the job' do
|
81
|
+
expect(execute_job).to_not be_nil
|
125
82
|
end
|
126
83
|
end
|
127
84
|
end
|
@@ -21,81 +21,58 @@ class JobSerializedByCombined
|
|
21
21
|
end
|
22
22
|
|
23
23
|
RSpec.describe JobSerializedByCombined do
|
24
|
-
let(:args)
|
24
|
+
let(:args) { %w[arg1 arg2] }
|
25
|
+
let(:queue_name) { :default }
|
25
26
|
|
26
27
|
before do
|
27
|
-
ResqueSpec.reset!
|
28
28
|
Resque.redis.redis.flushall
|
29
29
|
end
|
30
30
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
subject(:enqueue_job) { Resque.enqueue(described_class, *args) }
|
35
|
-
|
36
|
-
context 'when a lock for the job exists' do
|
37
|
-
before { mutex.lock! }
|
38
|
-
|
39
|
-
it 'does not enqueue the job' do
|
40
|
-
expect { enqueue_job }.to_not change {
|
41
|
-
ResqueSpec.queue_for(described_class).size
|
42
|
-
}.from(0)
|
43
|
-
end
|
44
|
-
|
45
|
-
it 'does not change the mutex' do
|
46
|
-
expect { enqueue_job }.to_not change {
|
47
|
-
mutex.locked?
|
48
|
-
}.from(true)
|
49
|
-
end
|
31
|
+
context 'with no jobs in the queue' do
|
32
|
+
before do
|
33
|
+
expect(queue_size).to eq(0)
|
50
34
|
end
|
51
35
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
expect { enqueue_job }.to change {
|
57
|
-
ResqueSpec.queue_for(described_class).size
|
58
|
-
}.from(0).to(1)
|
59
|
-
end
|
60
|
-
|
61
|
-
it 'locks the mutex' do
|
62
|
-
expect { enqueue_job }.to change {
|
63
|
-
mutex.locked?
|
64
|
-
}.from(false).to(true)
|
65
|
-
end
|
36
|
+
it 'can enqueue the job' do
|
37
|
+
expect { enqueue_job }.to change {
|
38
|
+
queue_size
|
39
|
+
}.from(0).to(1)
|
66
40
|
end
|
67
41
|
end
|
68
42
|
|
69
|
-
|
70
|
-
let(:mutex) { described_class.mutex(args) }
|
71
|
-
|
43
|
+
context 'with one job in the queue' do
|
72
44
|
before do
|
73
|
-
|
74
|
-
|
45
|
+
enqueue_job
|
46
|
+
expect(queue_size).to eq(1)
|
75
47
|
end
|
76
48
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
expect { perform_job }.to change {
|
82
|
-
mutex.locked?
|
83
|
-
}.from(true).to(false)
|
84
|
-
end
|
49
|
+
it 'cannot enqueue the same job' do
|
50
|
+
expect { enqueue_job }.to_not change {
|
51
|
+
queue_size
|
52
|
+
}.from(1)
|
85
53
|
end
|
86
54
|
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
55
|
+
it 'can execute the job' do
|
56
|
+
expect(execute_job).to_not be_nil
|
57
|
+
end
|
58
|
+
end
|
91
59
|
|
92
|
-
|
93
|
-
|
60
|
+
context 'with one job in the queue and one job being executed' do
|
61
|
+
let(:execute_job) { worker.reserve.perform }
|
94
62
|
|
95
|
-
|
63
|
+
before do
|
64
|
+
enqueue_job
|
65
|
+
expect(queue_size).to eq(1)
|
66
|
+
execute_job
|
67
|
+
expect(queue_size).to eq(0)
|
68
|
+
enqueue_job
|
69
|
+
expect(queue_size).to eq(1)
|
70
|
+
end
|
96
71
|
|
97
|
-
|
98
|
-
|
72
|
+
it 'cannot enqueue the same job' do
|
73
|
+
expect { enqueue_job }.to_not change {
|
74
|
+
queue_size
|
75
|
+
}.from(1)
|
99
76
|
end
|
100
77
|
end
|
101
78
|
end
|
@@ -21,55 +21,60 @@ class JobSerializedByJob
|
|
21
21
|
end
|
22
22
|
|
23
23
|
RSpec.describe JobSerializedByJob do
|
24
|
-
let(:args)
|
24
|
+
let(:args) { %w[arg1 arg2] }
|
25
|
+
let(:queue_name) { :default }
|
25
26
|
|
26
27
|
before do
|
27
|
-
ResqueSpec.reset!
|
28
28
|
Resque.redis.redis.flushall
|
29
29
|
end
|
30
30
|
|
31
|
-
|
32
|
-
|
31
|
+
context 'with no jobs in the queue' do
|
32
|
+
before do
|
33
|
+
expect(queue_size).to eq(0)
|
34
|
+
end
|
33
35
|
|
34
|
-
|
36
|
+
it 'can enqueue the job' do
|
37
|
+
expect { enqueue_job }.to change {
|
38
|
+
queue_size
|
39
|
+
}.from(0).to(1)
|
40
|
+
end
|
35
41
|
|
36
|
-
it '
|
37
|
-
expect
|
38
|
-
mutex.locked?
|
39
|
-
}.from(false).to(true)
|
42
|
+
it 'can not execute any jobs' do
|
43
|
+
expect(execute_job).to be_nil
|
40
44
|
end
|
41
45
|
end
|
42
46
|
|
43
|
-
|
44
|
-
let(:mutex) { described_class.mutex(args) }
|
45
|
-
|
47
|
+
context 'with one job in the queue' do
|
46
48
|
before do
|
47
|
-
|
48
|
-
|
49
|
+
enqueue_job
|
50
|
+
expect(queue_size).to eq(1)
|
49
51
|
end
|
50
52
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
expect { perform_job }.to change {
|
56
|
-
mutex.locked?
|
57
|
-
}.from(true).to(false)
|
58
|
-
end
|
53
|
+
it 'can enqueue the same job' do
|
54
|
+
expect { enqueue_job }.to change {
|
55
|
+
queue_size
|
56
|
+
}.from(1).to(2)
|
59
57
|
end
|
60
58
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
it 'still releases the lock after execution' do
|
67
|
-
expect(mutex.locked?).to eq(true)
|
59
|
+
it 'can execute the job' do
|
60
|
+
expect(execute_job).to_not be_nil
|
61
|
+
end
|
62
|
+
end
|
68
63
|
|
69
|
-
|
64
|
+
context 'with one job in the queue and one job being executed' do
|
65
|
+
before do
|
66
|
+
enqueue_job
|
67
|
+
expect(queue_size).to eq(1)
|
68
|
+
execute_job
|
69
|
+
expect(queue_size).to eq(0)
|
70
|
+
enqueue_job
|
71
|
+
expect(queue_size).to eq(1)
|
72
|
+
end
|
70
73
|
|
71
|
-
|
72
|
-
|
74
|
+
it 'can enqueue the same job' do
|
75
|
+
expect { enqueue_job }.to change {
|
76
|
+
queue_size
|
77
|
+
}.from(1).to(2)
|
73
78
|
end
|
74
79
|
end
|
75
80
|
end
|
@@ -21,62 +21,64 @@ class JobSerializedByQueue
|
|
21
21
|
end
|
22
22
|
|
23
23
|
RSpec.describe JobSerializedByQueue do
|
24
|
-
let(:args)
|
24
|
+
let(:args) { %w[arg1 arg2] }
|
25
|
+
let(:queue_name) { :default }
|
25
26
|
|
26
27
|
before do
|
27
|
-
ResqueSpec.reset!
|
28
28
|
Resque.redis.redis.flushall
|
29
29
|
end
|
30
30
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
context 'when a lock for the job exists' do
|
37
|
-
before { mutex.lock! }
|
31
|
+
context 'with no jobs in the queue' do
|
32
|
+
before do
|
33
|
+
expect(queue_size).to eq(0)
|
34
|
+
end
|
38
35
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
36
|
+
it 'can enqueue the job' do
|
37
|
+
expect { enqueue_job }.to change {
|
38
|
+
queue_size
|
39
|
+
}.from(0).to(1)
|
40
|
+
end
|
44
41
|
|
45
|
-
|
46
|
-
|
47
|
-
mutex.locked?
|
48
|
-
}.from(true)
|
49
|
-
end
|
42
|
+
it 'can not execute any jobs' do
|
43
|
+
expect(execute_job).to be_nil
|
50
44
|
end
|
45
|
+
end
|
51
46
|
|
52
|
-
|
53
|
-
|
47
|
+
context 'with one job in the queue' do
|
48
|
+
before do
|
49
|
+
enqueue_job
|
50
|
+
expect(queue_size).to eq(1)
|
51
|
+
end
|
54
52
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
53
|
+
it 'cannot enqueue the same job' do
|
54
|
+
expect { enqueue_job }.to_not change {
|
55
|
+
queue_size
|
56
|
+
}.from(1)
|
57
|
+
end
|
60
58
|
|
61
|
-
|
62
|
-
|
63
|
-
mutex.locked?
|
64
|
-
}.from(false).to(true)
|
65
|
-
end
|
59
|
+
it 'can execute the job' do
|
60
|
+
expect(execute_job).to_not be_nil
|
66
61
|
end
|
67
62
|
end
|
68
63
|
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
64
|
+
context 'with one job in the queue and one job being executed' do
|
65
|
+
before do
|
66
|
+
enqueue_job
|
67
|
+
expect(queue_size).to eq(1)
|
68
|
+
execute_job
|
69
|
+
expect(queue_size).to eq(0)
|
70
|
+
enqueue_job
|
71
|
+
expect(queue_size).to eq(1)
|
72
|
+
end
|
73
73
|
|
74
|
-
|
74
|
+
it 'cannot enqueue the same job' do
|
75
|
+
expect { enqueue_job }.to_not change {
|
76
|
+
queue_size
|
77
|
+
}.from(1)
|
78
|
+
end
|
75
79
|
|
76
|
-
it '
|
77
|
-
expect
|
78
|
-
mutex.locked?
|
79
|
-
}.from(true).to(false)
|
80
|
+
it 'can execute the job' do
|
81
|
+
expect(execute_job).to_not be_nil
|
80
82
|
end
|
81
83
|
end
|
82
84
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module ResqueTestHelper
|
2
|
+
def enqueue_job
|
3
|
+
Resque.enqueue(described_class, *args)
|
4
|
+
end
|
5
|
+
|
6
|
+
def queue_size
|
7
|
+
Resque.size(queue_name)
|
8
|
+
end
|
9
|
+
|
10
|
+
def worker
|
11
|
+
Resque::Worker.new(queue_name)
|
12
|
+
end
|
13
|
+
|
14
|
+
def execute_job
|
15
|
+
worker.reserve
|
16
|
+
end
|
17
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -3,8 +3,8 @@ require 'resque-serializer'
|
|
3
3
|
require 'bundler/setup'
|
4
4
|
require 'mock_redis'
|
5
5
|
require 'resque'
|
6
|
-
require 'resque_spec'
|
7
6
|
require 'pry-byebug'
|
7
|
+
require 'resque_test_helper'
|
8
8
|
|
9
9
|
RSpec.configure do |config|
|
10
10
|
config.expect_with(:rspec) do |c|
|
@@ -14,4 +14,6 @@ RSpec.configure do |config|
|
|
14
14
|
config.before(:suite) do
|
15
15
|
Resque.redis = MockRedis.new
|
16
16
|
end
|
17
|
+
|
18
|
+
config.include ResqueTestHelper
|
17
19
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resque-serializer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Ringler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -53,21 +53,21 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.14'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: bump
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
61
|
+
version: '0.7'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
68
|
+
version: '0.7'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: mock_redis
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
@@ -81,7 +81,7 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name: pry-
|
84
|
+
name: pry-byebug
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
@@ -95,7 +95,7 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: pry-stack_explorer
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: rake
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
@@ -146,9 +146,11 @@ executables:
|
|
146
146
|
extensions: []
|
147
147
|
extra_rdoc_files: []
|
148
148
|
files:
|
149
|
+
- ".github/PULL_REQUEST_TEMPLATE.md"
|
149
150
|
- ".gitignore"
|
150
151
|
- ".rspec"
|
151
152
|
- ".travis.yml"
|
153
|
+
- CHANGELOG.md
|
152
154
|
- Gemfile
|
153
155
|
- LICENSE.txt
|
154
156
|
- README.md
|
@@ -156,6 +158,7 @@ files:
|
|
156
158
|
- bin/console
|
157
159
|
- bin/setup
|
158
160
|
- lib/resque-serializer.rb
|
161
|
+
- lib/resque-serializer/monkey_patches/resque.rb
|
159
162
|
- lib/resque-serializer/mutex.rb
|
160
163
|
- lib/resque-serializer/serializers/both.rb
|
161
164
|
- lib/resque-serializer/serializers/combined.rb
|
@@ -163,11 +166,13 @@ files:
|
|
163
166
|
- lib/resque-serializer/serializers/queue.rb
|
164
167
|
- lib/resque-serializer/version.rb
|
165
168
|
- resque-serializer.gemspec
|
169
|
+
- spec/lib/resque-serializer/monkey_patches/resque_spec.rb
|
166
170
|
- spec/lib/resque-serializer/mutex_spec.rb
|
167
171
|
- spec/lib/resque-serializer/serializers/both_spec.rb
|
168
172
|
- spec/lib/resque-serializer/serializers/combined_spec.rb
|
169
173
|
- spec/lib/resque-serializer/serializers/job_spec.rb
|
170
174
|
- spec/lib/resque-serializer/serializers/queue_spec.rb
|
175
|
+
- spec/resque_test_helper.rb
|
171
176
|
- spec/spec_helper.rb
|
172
177
|
homepage: https://github.com/rringler/resque-serializer
|
173
178
|
licenses:
|
@@ -189,14 +194,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
189
194
|
version: '0'
|
190
195
|
requirements: []
|
191
196
|
rubyforge_project:
|
192
|
-
rubygems_version: 2.
|
197
|
+
rubygems_version: 2.6.14.1
|
193
198
|
signing_key:
|
194
199
|
specification_version: 4
|
195
200
|
summary: Serializes Resque jobs
|
196
201
|
test_files:
|
202
|
+
- spec/lib/resque-serializer/monkey_patches/resque_spec.rb
|
197
203
|
- spec/lib/resque-serializer/mutex_spec.rb
|
198
204
|
- spec/lib/resque-serializer/serializers/both_spec.rb
|
199
205
|
- spec/lib/resque-serializer/serializers/combined_spec.rb
|
200
206
|
- spec/lib/resque-serializer/serializers/job_spec.rb
|
201
207
|
- spec/lib/resque-serializer/serializers/queue_spec.rb
|
208
|
+
- spec/resque_test_helper.rb
|
202
209
|
- spec/spec_helper.rb
|