aboutsummaryrefslogtreecommitdiffstats
path: root/lib/active_job/base.rb
blob: 6cce7704665cb75f71ddea734202a2a650579ee1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
require 'active_job/queue_adapters/inline_adapter'
require 'active_job/queue_adapters/resque_adapter'
require 'active_job/queue_adapters/sidekiq_adapter'
require 'active_job/queue_adapters/sucker_punch_adapter'

module ActiveJob
  class Base
    cattr_accessor(:queue_adapter)   { ActiveJob::QueueAdapters::InlineAdapter }
    cattr_accessor(:queue_base_name) { "active_jobs" }
    cattr_accessor(:queue_name)      { queue_base_name }

    class << self
      def enqueue(*args)
        queue_adapter.queue self, *args
      end
      
      def queue_as(part_name)
        self.queue_name = "#{queue_base_name}_#{part_name}"
      end
    end
  end
end