resque-serializer 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c585a7208430ad2238d75d959dbb0894ca294263
4
- data.tar.gz: 2ea899d81f89c05a9eeb048e718c41062649c3fb
3
+ metadata.gz: df7981e4e3465956ef681be0515e3b132f467c92
4
+ data.tar.gz: beb3c0112e30f2a4d87a7e4a00cbf2b3b83a2c48
5
5
  SHA512:
6
- metadata.gz: b503d44847ec2b7a699d6064ce66714f23ad7d991b5772fbc9da0816de5900a0f8dd52e3824d6fa2ee2adc3fac9913ed8889a37d18bad9539135e4fc1b8ac52a
7
- data.tar.gz: 536e86f5487b7d6953e92045960844c9324d4b096809f99b6207abd0d863a377b26863321496faba45e9dd6c6e205395c7e83e98e23572c89f41534d7835b1d9
6
+ metadata.gz: 9d611f691cfd8fa954a57bdcdb07ba636259fc96e407b5ec4add1baafbfbf50a89ad673d0742d7a95543bc16a0baf583a36e345b97b4484e20771572b9a75f7d
7
+ data.tar.gz: fe4ca85898ed891dd318101cd6be87635ab141cd48eafb2261cc86702b07f168dce205f998947934905f932bb7e5207000bf9756bb970b14c6c92b6392a8d6f2
@@ -0,0 +1,8 @@
1
+ ### Description
2
+ A description of the changes included in this PR
3
+
4
+ ### Tasks
5
+ - [ ] Any tasks that must be completed before or after this PR
6
+
7
+ ### References
8
+ - Any Github issues or other links related to this PR
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
@@ -1,7 +1,7 @@
1
1
  module Resque
2
2
  module Plugins
3
3
  module Serializer
4
- VERSION = '0.1.1'
4
+ VERSION = '0.1.2'
5
5
  end
6
6
  end
7
7
  end
@@ -1,4 +1,5 @@
1
1
  require 'resque-serializer/version'
2
+ require 'resque-serializer/monkey_patches/resque'
2
3
  require 'resque-serializer/mutex'
3
4
  require 'resque-serializer/serializers/both'
4
5
  require 'resque-serializer/serializers/combined'
@@ -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) { %w(arg1 arg2) }
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
- describe 'before enqueuing the job' do
32
- let(:mutex) { described_class.queue_mutex(args) }
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
- context 'when a lock for the job does not exist' do
53
- it 'enqueues the job' do
54
- expect { enqueue_job }.to change {
55
- ResqueSpec.queue_for(described_class).size
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 'unlocks the mutex' do
75
- expect { dequeue_job }.to change {
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
- describe 'before dequeuing the job' do
82
- let(:mutex) { described_class.job_mutex(args) }
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
- subject(:dequeue_job) { Resque.dequeue(described_class, *args) }
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 'locks the mutex' do
87
- expect { dequeue_job }.to change {
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
- describe 'after performing the job' do
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
- Resque.enqueue(described_class, *args)
98
- mutex.lock!
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
- subject(:perform_job) { ResqueSpec.perform_next(:default) }
102
-
103
- context 'if the job completes successfully' do
104
- it 'releases the lock after execution' do
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
- context 'if the job raises an exception' do
112
- let(:error) { StandardError }
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) { %w(arg1 arg2) }
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
- describe 'before enqueuing the job' do
32
- let(:mutex) { described_class.mutex(args) }
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
- context 'when a lock for the job does not exist' do
53
- before { mutex.unlock }
54
-
55
- it 'enqueues the job' do
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
- describe 'after performing the job' do
70
- let(:mutex) { described_class.mutex(args) }
71
-
43
+ context 'with one job in the queue' do
72
44
  before do
73
- # Note: this locks the mutex on the :before_enqueue_* hook
74
- Resque.enqueue(described_class, *args)
45
+ enqueue_job
46
+ expect(queue_size).to eq(1)
75
47
  end
76
48
 
77
- subject(:perform_job) { ResqueSpec.perform_next(:default) }
78
-
79
- context 'when the job completes successfully' do
80
- it 'releases the lock after execution' do
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
- context 'when the job raises an exception' do
88
- let(:error) { StandardError }
89
-
90
- before { allow(described_class).to receive(:perform).and_raise(error) }
55
+ it 'can execute the job' do
56
+ expect(execute_job).to_not be_nil
57
+ end
58
+ end
91
59
 
92
- it 'still releases the lock after execution' do
93
- expect(mutex.locked?).to eq(true)
60
+ context 'with one job in the queue and one job being executed' do
61
+ let(:execute_job) { worker.reserve.perform }
94
62
 
95
- expect { perform_job }.to raise_error(error)
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
- expect(mutex.locked?).to eq(false)
98
- end
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) { %w(arg1 arg2) }
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
- describe 'before dequeuing the job' do
32
- let(:mutex) { described_class.mutex(args) }
31
+ context 'with no jobs in the queue' do
32
+ before do
33
+ expect(queue_size).to eq(0)
34
+ end
33
35
 
34
- subject(:dequeue_job) { Resque.dequeue(described_class, *args) }
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 'locks the mutex' do
37
- expect { dequeue_job }.to change {
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
- describe 'after performing the job' do
44
- let(:mutex) { described_class.mutex(args) }
45
-
47
+ context 'with one job in the queue' do
46
48
  before do
47
- Resque.enqueue(described_class, *args)
48
- mutex.lock!
49
+ enqueue_job
50
+ expect(queue_size).to eq(1)
49
51
  end
50
52
 
51
- subject(:perform_job) { ResqueSpec.perform_next(:default) }
52
-
53
- context 'when the job completes successfully' do
54
- it 'releases the lock after execution' do
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
- context 'when the job raises an exception' do
62
- let(:error) { StandardError }
63
-
64
- before { allow(described_class).to receive(:perform).and_raise(error) }
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
- expect { perform_job }.to raise_error(error)
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
- expect(mutex.locked?).to eq(false)
72
- end
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) { %w(arg1 arg2) }
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
- describe 'before enqueuing the job' do
32
- let(:mutex) { described_class.mutex(args) }
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! }
31
+ context 'with no jobs in the queue' do
32
+ before do
33
+ expect(queue_size).to eq(0)
34
+ end
38
35
 
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
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
- it 'does not change the mutex' do
46
- expect { enqueue_job }.to_not change {
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
- context 'when a lock for the job does not exist' do
53
- before { mutex.unlock }
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
- it 'enqueues the job' do
56
- expect { enqueue_job }.to change {
57
- ResqueSpec.queue_for(described_class).size
58
- }.from(0).to(1)
59
- end
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
- it 'locks the mutex' do
62
- expect { enqueue_job }.to change {
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
- describe 'after dequeuing the job' do
70
- let(:mutex) { described_class.mutex(args) }
71
-
72
- subject(:dequeue_job) { Resque.dequeue(described_class, *args) }
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
- before { mutex.lock! }
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 'unlocks the mutex' do
77
- expect { dequeue_job }.to change {
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.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: 2017-04-10 00:00:00.000000000 Z
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: mock_redis
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: pry-byebug
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-stack_explorer
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: rake
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: resque_spec
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.4.5.1
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