Module: AbstractNotifier::AsyncAdapters

Defined in:
lib/abstract_notifier/async_adapters.rb,
lib/abstract_notifier/async_adapters/active_job.rb

Defined Under Namespace

Classes: ActiveJob

Class Method Summary collapse

Class Method Details

.lookup(adapter, options = nil) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/abstract_notifier/async_adapters.rb', line 6

def lookup(adapter, options = nil)
  return adapter unless adapter.is_a?(Symbol)

  adapter_class_name = adapter.to_s.split("_").map(&:capitalize).join
  AsyncAdapters.const_get(adapter_class_name).new(**(options || {}))
rescue NameError => e
  raise e.class, "Notifier async adapter :#{adapter} haven't been found", e.backtrace
end