Skip to content

Commit

Permalink
Merge pull request #85 from DouweM/queue_name
Browse files Browse the repository at this point in the history
Have .queue_as only set queue name for job in question.
  • Loading branch information
dhh committed Jun 12, 2014
2 parents 62c5ea5 + da6a86f commit 4eae97a
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 6 deletions.
2 changes: 1 addition & 1 deletion lib/active_job/base.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
module ActiveJob
class Base
extend QueueAdapter
extend QueueName

include QueueName
include Enqueuing
include Execution
include Callbacks
Expand Down
16 changes: 12 additions & 4 deletions lib/active_job/queue_name.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
module ActiveJob
module QueueName
mattr_accessor(:queue_base_name) { "active_jobs" }
mattr_accessor(:queue_name) { queue_base_name }
extend ActiveSupport::Concern

def queue_as(part_name)
self.queue_name = "#{queue_base_name}_#{part_name}"
module ClassMethods
mattr_accessor(:queue_base_name) { "active_jobs" }

def queue_as(part_name)
self.queue_name = "#{queue_base_name}_#{part_name}"
end
end

included do
class_attribute :queue_name
self.queue_name = queue_base_name
end
end
end
6 changes: 5 additions & 1 deletion test/cases/queue_naming_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,13 @@ class QueueNamingTest < ActiveSupport::TestCase
test 'name appended in job' do
begin
HelloJob.queue_as :greetings
LoggingJob.queue_as :bookkeeping

assert_equal "active_jobs", NestedJob.queue_name
assert_equal "active_jobs_greetings", HelloJob.queue_name
assert_equal "active_jobs_bookkeeping", LoggingJob.queue_name
ensure
HelloJob.queue_name = HelloJob.queue_base_name
HelloJob.queue_name = LoggingJob.queue_name = ActiveJob::Base.queue_base_name
end
end
end

0 comments on commit 4eae97a

Please sign in to comment.