module ActiveModelSerializers::Adapter
def lookup(adapter)
-
(UnknownAdapterError)
-
Returns:
-
(ActiveModelSerializers::Adapter)
- subclass of Adapter
Parameters:
-
adapter
(String, Symbol, Class
) -- name to fetch adapter by
def lookup(adapter) # 1. return if is a class return adapter if adapter.is_a?(Class) adapter_name = adapter.to_s.underscore # 2. return if registered adapter_map.fetch(adapter_name) do # 3. try to find adapter class from environment adapter_class = find_by_name(adapter_name) register(adapter_name, adapter_class) adapter_class end rescue NameError, ArgumentError => e failure_message = "NameError: #{e.message}. Unknown adapter: #{adapter.inspect}. Valid adapters are: #{adapters}" raise UnknownAdapterError, failure_message, e.backtrace end