Consolidate `queue_adapter=` and `interpret_adapter`

Since #25037, `queue_adapter=` simply delegates to `interpret_adapter`
only.
This commit is contained in:
Ryuta Kamizono 2018-01-05 17:16:11 +09:00
parent e243866d9b
commit 5a50146888
1 changed files with 13 additions and 19 deletions

View File

@ -29,28 +29,22 @@ module ActiveJob
# Specify the backend queue provider. The default queue adapter
# is the +:async+ queue. See QueueAdapters for more
# information.
def queue_adapter=(name_or_adapter_or_class)
interpret_adapter(name_or_adapter_or_class)
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
private
def interpret_adapter(name_or_adapter_or_class)
case name_or_adapter_or_class
when Symbol, String
assign_adapter(name_or_adapter_or_class.to_s,
ActiveJob::QueueAdapters.lookup(name_or_adapter_or_class).new)
else
if queue_adapter?(name_or_adapter_or_class)
adapter_name = "#{name_or_adapter_or_class.class.name.demodulize.remove('Adapter').underscore}"
assign_adapter(adapter_name,
name_or_adapter_or_class)
else
raise ArgumentError
end
end
end
def assign_adapter(adapter_name, queue_adapter)
self._queue_adapter_name = adapter_name
self._queue_adapter = queue_adapter