Use Adapter.const_get instead of safe_constantize

(Thanks to sandstrom for the reference to ActiveJob::QueueAdapters
a11571cec3/activejob/lib/active_job/queue_adapters.rb (L123-L133)
This commit is contained in:
Benjamin Fleischer 2015-09-08 23:05:32 -05:00
parent 363345b8dd
commit 28345adef0

View File

@ -60,11 +60,7 @@ module ActiveModel
register(adapter_name, adapter_class)
adapter_class
}
rescue ArgumentError => e
failure_message =
"Unknown adapter: #{adapter.inspect}. Valid adapters are: #{adapters}"
raise UnknownAdapterError, failure_message, e.backtrace
rescue NameError => e
rescue NameError, ArgumentError => e
failure_message =
"NameError: #{e.message}. Unknown adapter: #{adapter.inspect}. Valid adapters are: #{adapters}"
raise UnknownAdapterError, failure_message, e.backtrace
@ -73,7 +69,7 @@ module ActiveModel
# @api private
def find_by_name(adapter_name)
adapter_name = adapter_name.to_s.classify.tr('API', 'Api')
"ActiveModel::Serializer::Adapter::#{adapter_name}".safe_constantize or # rubocop:disable Style/AndOr
ActiveModel::Serializer::Adapter.const_get(adapter_name.to_sym) or # rubocop:disable Style/AndOr
fail UnknownAdapterError
end
private :find_by_name