module ActiveJob::QueueAdapter::ClassMethods

Includes the setter method for changing the active queue adapter.

Constants

QUEUE_ADAPTER_METHODS

Public Instance Methods

queue_adapter() click to toggle source

Returns the backend queue provider. The default queue adapter is the :async queue. See QueueAdapters for more information.

# File lib/active_job/queue_adapter.rb, line 20
def queue_adapter
  _queue_adapter
end
queue_adapter=(name_or_adapter) click to toggle source

Specify the backend queue provider. The default queue adapter is the :async queue. See QueueAdapters for more information.

# File lib/active_job/queue_adapter.rb, line 31
def queue_adapter=(name_or_adapter)
  case name_or_adapter
  when Symbol, String
    queue_adapter = ActiveJob::QueueAdapters.lookup(name_or_adapter).new
    assign_adapter(name_or_adapter.to_s, queue_adapter)
  else
    if queue_adapter?(name_or_adapter)
      adapter_name = "#{name_or_adapter.class.name.demodulize.remove('Adapter').underscore}"
      assign_adapter(adapter_name, name_or_adapter)
    else
      raise ArgumentError
    end
  end
end
queue_adapter_name() click to toggle source
# File lib/active_job/queue_adapter.rb, line 24
def queue_adapter_name
  _queue_adapter_name
end

Private Instance Methods

assign_adapter(adapter_name, queue_adapter) click to toggle source
# File lib/active_job/queue_adapter.rb, line 47
def assign_adapter(adapter_name, queue_adapter)
  self._queue_adapter_name = adapter_name
  self._queue_adapter = queue_adapter
end
queue_adapter?(object) click to toggle source
# File lib/active_job/queue_adapter.rb, line 54
def queue_adapter?(object)
  QUEUE_ADAPTER_METHODS.all? { |meth| object.respond_to?(meth) }
end