delayed_job 4.0.2 → 4.0.3

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.
@@ -0,0 +1,12 @@
1
+ require 'helper'
2
+
3
+ describe 'Psych::Visitors::ToRuby', :if => defined?(Psych::Visitors::ToRuby) do
4
+ context BigDecimal do
5
+ it 'deserializes correctly' do
6
+ deserialized = YAML.load("--- !ruby/object:BigDecimal 18:0.1337E2\n...\n")
7
+
8
+ expect(deserialized).to be_an_instance_of(BigDecimal)
9
+ expect(deserialized).to eq(BigDecimal('13.37'))
10
+ end
11
+ end
12
+ end
@@ -5,45 +5,73 @@ class NamedJob < Struct.new(:perform)
5
5
  end
6
6
 
7
7
  class SimpleJob
8
- cattr_accessor :runs; self.runs = 0
9
- def perform; @@runs += 1; end
8
+ cattr_accessor :runs
9
+ @runs = 0
10
+ def perform
11
+ self.class.runs += 1
12
+ end
10
13
  end
11
14
 
12
15
  class ErrorJob
13
- cattr_accessor :runs; self.runs = 0
14
- def perform; raise 'did not work'; end
16
+ cattr_accessor :runs
17
+ @runs = 0
18
+ def perform
19
+ raise 'did not work'
20
+ end
15
21
  end
16
22
 
17
23
  class CustomRescheduleJob < Struct.new(:offset)
18
- cattr_accessor :runs; self.runs = 0
19
- def perform; raise 'did not work'; end
20
- def reschedule_at(time, attempts); time + offset; end
24
+ cattr_accessor :runs
25
+ @runs = 0
26
+ def perform
27
+ raise 'did not work'
28
+ end
29
+
30
+ def reschedule_at(time, _attempts)
31
+ time + offset
32
+ end
21
33
  end
22
34
 
23
35
  class LongRunningJob
24
- def perform; sleep 250; end
36
+ def perform
37
+ sleep 250
38
+ end
25
39
  end
26
40
 
27
41
  class OnPermanentFailureJob < SimpleJob
28
- def failure; end
29
- def max_attempts; 1; end
42
+ attr_writer :raise_error
43
+
44
+ def initialize
45
+ @raise_error = false
46
+ end
47
+
48
+ def failure
49
+ raise 'did not work' if @raise_error
50
+ end
51
+
52
+ def max_attempts
53
+ 1
54
+ end
30
55
  end
31
56
 
32
57
  module M
33
58
  class ModuleJob
34
- cattr_accessor :runs; self.runs = 0
35
- def perform; @@runs += 1; end
59
+ cattr_accessor :runs
60
+ @runs = 0
61
+ def perform
62
+ self.class.runs += 1
63
+ end
36
64
  end
37
65
  end
38
66
 
39
67
  class CallbackJob
40
68
  cattr_accessor :messages
41
69
 
42
- def enqueue(job)
70
+ def enqueue(_job)
43
71
  self.class.messages << 'enqueue'
44
72
  end
45
73
 
46
- def before(job)
74
+ def before(_job)
47
75
  self.class.messages << 'before'
48
76
  end
49
77
 
@@ -51,19 +79,19 @@ class CallbackJob
51
79
  self.class.messages << 'perform'
52
80
  end
53
81
 
54
- def after(job)
82
+ def after(_job)
55
83
  self.class.messages << 'after'
56
84
  end
57
85
 
58
- def success(job)
86
+ def success(_job)
59
87
  self.class.messages << 'success'
60
88
  end
61
89
 
62
- def error(job, error)
90
+ def error(_job, error)
63
91
  self.class.messages << "error: #{error.class}"
64
92
  end
65
93
 
66
- def failure(job)
94
+ def failure(_job)
67
95
  self.class.messages << 'failure'
68
96
  end
69
97
  end
@@ -3,9 +3,9 @@ require 'helper'
3
3
  describe Delayed::Backend::Test::Job do
4
4
  it_should_behave_like 'a delayed_job backend'
5
5
 
6
- describe "#reload" do
7
- it "causes the payload object to be reloaded" do
8
- job = "foo".delay.length
6
+ describe '#reload' do
7
+ it 'causes the payload object to be reloaded' do
8
+ job = 'foo'.delay.length
9
9
  o = job.payload_object
10
10
  expect(o.object_id).not_to eq(job.reload.payload_object.object_id)
11
11
  end
@@ -1,7 +1,7 @@
1
1
  require 'helper'
2
2
 
3
3
  describe Delayed::Worker do
4
- describe "backend=" do
4
+ describe 'backend=' do
5
5
  before do
6
6
  @clazz = Class.new
7
7
  Delayed::Worker.backend = @clazz
@@ -11,30 +11,30 @@ describe Delayed::Worker do
11
11
  Delayed::Worker.backend = :test
12
12
  end
13
13
 
14
- it "sets the Delayed::Job constant to the backend" do
14
+ it 'sets the Delayed::Job constant to the backend' do
15
15
  expect(Delayed::Job).to eq(@clazz)
16
16
  end
17
17
 
18
- it "sets backend with a symbol" do
18
+ it 'sets backend with a symbol' do
19
19
  Delayed::Worker.backend = :test
20
20
  expect(Delayed::Worker.backend).to eq(Delayed::Backend::Test::Job)
21
21
  end
22
22
  end
23
23
 
24
- describe "job_say" do
24
+ describe 'job_say' do
25
25
  before do
26
26
  @worker = Delayed::Worker.new
27
27
  @job = double('job', :id => 123, :name => 'ExampleJob')
28
28
  end
29
29
 
30
- it "logs with job name and id" do
30
+ it 'logs with job name and id' do
31
31
  expect(@worker).to receive(:say).
32
32
  with('Job ExampleJob (id=123) message', Delayed::Worker::DEFAULT_LOG_LEVEL)
33
33
  @worker.job_say(@job, 'message')
34
34
  end
35
35
  end
36
36
 
37
- context "worker read-ahead" do
37
+ context 'worker read-ahead' do
38
38
  before do
39
39
  @read_ahead = Delayed::Worker.read_ahead
40
40
  end
@@ -43,19 +43,19 @@ describe Delayed::Worker do
43
43
  Delayed::Worker.read_ahead = @read_ahead
44
44
  end
45
45
 
46
- it "reads five jobs" do
46
+ it 'reads five jobs' do
47
47
  expect(Delayed::Job).to receive(:find_available).with(anything, 5, anything).and_return([])
48
48
  Delayed::Job.reserve(Delayed::Worker.new)
49
49
  end
50
50
 
51
- it "reads a configurable number of jobs" do
51
+ it 'reads a configurable number of jobs' do
52
52
  Delayed::Worker.read_ahead = 15
53
53
  expect(Delayed::Job).to receive(:find_available).with(anything, Delayed::Worker.read_ahead, anything).and_return([])
54
54
  Delayed::Job.reserve(Delayed::Worker.new)
55
55
  end
56
56
  end
57
57
 
58
- context "worker exit on complete" do
58
+ context 'worker exit on complete' do
59
59
  before do
60
60
  Delayed::Worker.exit_on_complete = true
61
61
  end
@@ -64,15 +64,15 @@ describe Delayed::Worker do
64
64
  Delayed::Worker.exit_on_complete = false
65
65
  end
66
66
 
67
- it "exits the loop when no jobs are available" do
67
+ it 'exits the loop when no jobs are available' do
68
68
  worker = Delayed::Worker.new
69
- Timeout::timeout(2) do
69
+ Timeout.timeout(2) do
70
70
  worker.start
71
71
  end
72
72
  end
73
73
  end
74
74
 
75
- context "worker job reservation" do
75
+ context 'worker job reservation' do
76
76
  before do
77
77
  Delayed::Worker.exit_on_complete = true
78
78
  end
@@ -81,34 +81,34 @@ describe Delayed::Worker do
81
81
  Delayed::Worker.exit_on_complete = false
82
82
  end
83
83
 
84
- it "handles error during job reservation" do
84
+ it 'handles error during job reservation' do
85
85
  expect(Delayed::Job).to receive(:reserve).and_raise(Exception)
86
86
  Delayed::Worker.new.work_off
87
87
  end
88
88
 
89
- it "gives up after 10 backend failures" do
89
+ it 'gives up after 10 backend failures' do
90
90
  expect(Delayed::Job).to receive(:reserve).exactly(10).times.and_raise(Exception)
91
91
  worker = Delayed::Worker.new
92
92
  9.times { worker.work_off }
93
93
  expect(lambda { worker.work_off }).to raise_exception Delayed::FatalBackendError
94
94
  end
95
95
 
96
- it "allows the backend to attempt recovery from reservation errors" do
96
+ it 'allows the backend to attempt recovery from reservation errors' do
97
97
  expect(Delayed::Job).to receive(:reserve).and_raise(Exception)
98
98
  expect(Delayed::Job).to receive(:recover_from).with(instance_of(Exception))
99
99
  Delayed::Worker.new.work_off
100
100
  end
101
101
  end
102
102
 
103
- context "#say" do
103
+ context '#say' do
104
104
  before(:each) do
105
105
  @worker = Delayed::Worker.new
106
106
  @worker.name = 'ExampleJob'
107
107
  @worker.logger = double('job')
108
108
  time = Time.now
109
109
  allow(Time).to receive(:now).and_return(time)
110
- @text = "Job executed"
111
- @worker_name = "[Worker(ExampleJob)]"
110
+ @text = 'Job executed'
111
+ @worker_name = '[Worker(ExampleJob)]'
112
112
  @expected_time = time.strftime('%FT%T%z')
113
113
  end
114
114
 
@@ -116,7 +116,7 @@ describe Delayed::Worker do
116
116
  @worker.logger = nil
117
117
  end
118
118
 
119
- shared_examples_for "a worker which logs on the correct severity" do |severity|
119
+ shared_examples_for 'a worker which logs on the correct severity' do |severity|
120
120
  it "logs a message on the #{severity[:level].upcase} level given a string" do
121
121
  expect(@worker.logger).to receive(:send).
122
122
  with(severity[:level], "#{@expected_time}: #{@worker_name} #{@text}")
@@ -130,19 +130,19 @@ describe Delayed::Worker do
130
130
  end
131
131
  end
132
132
 
133
- severities = [ { index: 0, level: "debug" },
134
- { index: 1, level: "info" },
135
- { index: 2, level: "warn" },
136
- { index: 3, level: "error" },
137
- { index: 4, level: "fatal" },
138
- { index: 5, level: "unknown" } ]
133
+ severities = [{:index => 0, :level => 'debug'},
134
+ {:index => 1, :level => 'info'},
135
+ {:index => 2, :level => 'warn'},
136
+ {:index => 3, :level => 'error'},
137
+ {:index => 4, :level => 'fatal'},
138
+ {:index => 5, :level => 'unknown'}]
139
139
  severities.each do |severity|
140
- it_behaves_like "a worker which logs on the correct severity", severity
140
+ it_behaves_like 'a worker which logs on the correct severity', severity
141
141
  end
142
142
 
143
143
  it "logs a message on the default log's level" do
144
144
  expect(@worker.logger).to receive(:send).
145
- with("info", "#{@expected_time}: #{@worker_name} #{@text}")
145
+ with('info', "#{@expected_time}: #{@worker_name} #{@text}")
146
146
  @worker.say(@text, Delayed::Worker::DEFAULT_LOG_LEVEL)
147
147
  end
148
148
  end
@@ -1,35 +1,35 @@
1
1
  require 'helper'
2
2
 
3
- describe "YAML" do
4
- it "autoloads classes" do
5
- expect {
3
+ describe 'YAML' do
4
+ it 'autoloads classes' do
5
+ expect do
6
6
  yaml = "--- !ruby/class Autoloaded::Clazz\n"
7
7
  expect(YAML.load(yaml)).to eq(Autoloaded::Clazz)
8
- }.not_to raise_error
8
+ end.not_to raise_error
9
9
  end
10
10
 
11
- it "autoloads the class of a struct" do
12
- expect {
11
+ it 'autoloads the class of a struct' do
12
+ expect do
13
13
  yaml = "--- !ruby/class Autoloaded::Struct\n"
14
14
  expect(YAML.load(yaml)).to eq(Autoloaded::Struct)
15
- }.not_to raise_error
15
+ end.not_to raise_error
16
16
  end
17
17
 
18
- it "autoloads the class for the instance of a struct" do
19
- expect {
20
- yaml = "--- !ruby/struct:Autoloaded::InstanceStruct {}"
18
+ it 'autoloads the class for the instance of a struct' do
19
+ expect do
20
+ yaml = '--- !ruby/struct:Autoloaded::InstanceStruct {}'
21
21
  expect(YAML.load(yaml).class).to eq(Autoloaded::InstanceStruct)
22
- }.not_to raise_error
22
+ end.not_to raise_error
23
23
  end
24
24
 
25
- it "autoloads the class for the instance" do
26
- expect {
25
+ it 'autoloads the class for the instance' do
26
+ expect do
27
27
  yaml = "--- !ruby/object:Autoloaded::InstanceClazz {}\n"
28
28
  expect(YAML.load(yaml).class).to eq(Autoloaded::InstanceClazz)
29
- }.not_to raise_error
29
+ end.not_to raise_error
30
30
  end
31
31
 
32
- it "does not throw an uninitialized constant Syck::Syck when using YAML.load with poorly formed yaml" do
33
- expect{ YAML.load(YAML.dump("foo: *bar"))}.not_to raise_error
32
+ it 'does not throw an uninitialized constant Syck::Syck when using YAML.load with poorly formed yaml' do
33
+ expect { YAML.load(YAML.dump('foo: *bar')) }.not_to raise_error
34
34
  end
35
35
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: delayed_job
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.2
4
+ version: 4.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandon Keepers
@@ -15,26 +15,26 @@ authors:
15
15
  autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
- date: 2014-06-24 00:00:00.000000000 Z
18
+ date: 2014-09-04 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: activesupport
22
22
  requirement: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.0'
27
- - - <
27
+ - - "<"
28
28
  - !ruby/object:Gem::Version
29
29
  version: '4.2'
30
30
  type: :runtime
31
31
  prerelease: false
32
32
  version_requirements: !ruby/object:Gem::Requirement
33
33
  requirements:
34
- - - ! '>='
34
+ - - ">="
35
35
  - !ruby/object:Gem::Version
36
36
  version: '3.0'
37
- - - <
37
+ - - "<"
38
38
  - !ruby/object:Gem::Version
39
39
  version: '4.2'
40
40
  description: Delayed_job (or DJ) encapsulates the common pattern of asynchronously
@@ -85,12 +85,14 @@ files:
85
85
  - spec/autoloaded/instance_struct.rb
86
86
  - spec/autoloaded/struct.rb
87
87
  - spec/delayed/backend/test.rb
88
+ - spec/delayed/command_spec.rb
88
89
  - spec/delayed/serialization/test.rb
89
90
  - spec/helper.rb
90
91
  - spec/lifecycle_spec.rb
91
92
  - spec/message_sending_spec.rb
92
93
  - spec/performable_mailer_spec.rb
93
94
  - spec/performable_method_spec.rb
95
+ - spec/psych_ext_spec.rb
94
96
  - spec/sample_jobs.rb
95
97
  - spec/test_backend_spec.rb
96
98
  - spec/worker_spec.rb
@@ -105,12 +107,12 @@ require_paths:
105
107
  - lib
106
108
  required_ruby_version: !ruby/object:Gem::Requirement
107
109
  requirements:
108
- - - ! '>='
110
+ - - ">="
109
111
  - !ruby/object:Gem::Version
110
112
  version: '0'
111
113
  required_rubygems_version: !ruby/object:Gem::Requirement
112
114
  requirements:
113
- - - ! '>='
115
+ - - ">="
114
116
  - !ruby/object:Gem::Version
115
117
  version: '0'
116
118
  requirements: []
@@ -125,12 +127,14 @@ test_files:
125
127
  - spec/autoloaded/instance_struct.rb
126
128
  - spec/autoloaded/struct.rb
127
129
  - spec/delayed/backend/test.rb
130
+ - spec/delayed/command_spec.rb
128
131
  - spec/delayed/serialization/test.rb
129
132
  - spec/helper.rb
130
133
  - spec/lifecycle_spec.rb
131
134
  - spec/message_sending_spec.rb
132
135
  - spec/performable_mailer_spec.rb
133
136
  - spec/performable_method_spec.rb
137
+ - spec/psych_ext_spec.rb
134
138
  - spec/sample_jobs.rb
135
139
  - spec/test_backend_spec.rb
136
140
  - spec/worker_spec.rb