module ActiveEncode::EngineAdapter::ClassMethods

Includes the setter method for changing the active engine adapter.

Constants

ENGINE_ADAPTER_METHODS

Public Instance Methods

engine_adapter() click to toggle source
# File lib/active_encode/engine_adapter.rb, line 19
def engine_adapter
  _engine_adapter
end
engine_adapter=(name_or_adapter_or_class) click to toggle source

Specify the backend engine provider. The default engine adapter is the :inline engine. See QueueAdapters for more information.

# File lib/active_encode/engine_adapter.rb, line 26
def engine_adapter=(name_or_adapter_or_class)
  self._engine_adapter = interpret_adapter(name_or_adapter_or_class)
end

Private Instance Methods

engine_adapter?(object) click to toggle source
# File lib/active_encode/engine_adapter.rb, line 44
def engine_adapter?(object)
  ENGINE_ADAPTER_METHODS.all? { |meth| object.respond_to?(meth) }
end
interpret_adapter(name_or_adapter_or_class) click to toggle source
# File lib/active_encode/engine_adapter.rb, line 32
def interpret_adapter(name_or_adapter_or_class)
  case name_or_adapter_or_class
  when Symbol, String
    ActiveEncode::EngineAdapters.lookup(name_or_adapter_or_class).new
  else
    name_or_adapter_or_class if engine_adapter?(name_or_adapter_or_class)
    raise ArgumentError unless engine_adapter?(name_or_adapter_or_class)
  end
end