Skip to content

Commit 990ff9b

Browse files
committed
jobs must be given a class
1 parent 960b26f commit 990ff9b

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

lib/resque/errors.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
module Resque
22
# Raised whenever we need a queue but none is provided.
33
class NoQueueError < RuntimeError; end
4+
5+
# Raised when trying to create a job without a class
6+
class NoClassError < RuntimeError; end
47
end

lib/resque/job.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@ def self.create(queue, klass, *args)
4040
raise NoQueueError.new("Jobs must be placed onto a queue.")
4141
end
4242

43+
if klass.to_s.empty?
44+
raise NoClassError.new("Jobs must be given a class.")
45+
end
46+
4347
Resque.push(queue, :class => klass.to_s, :args => args)
4448
end
4549

test/resque_test.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,12 @@
122122
assert_equal ["queue:people", "queues"], Resque.keys
123123
end
124124

125+
test "badly wants a class name, too" do
126+
assert_raises Resque::NoClassError do
127+
Resque::Job.create(:jobs, nil)
128+
end
129+
end
130+
125131
test "keeps stats" do
126132
Resque::Job.create(:jobs, SomeJob, 20, '/tmp')
127133
Resque::Job.create(:jobs, BadJob)

0 commit comments

Comments
 (0)