Class: Devise::Async::Backend::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/devise/async/backend/base.rb

Direct Known Subclasses

DelayedJob, QueueClassic, Resque, Sidekiq

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.enqueue(*args) ⇒ Object

Raises:

  • (NotImplementedError)


5
6
7
# File 'lib/devise/async/backend/base.rb', line 5

def self.enqueue(*args)
  raise NotImplementedError, "Any DeviseAssync::Backend subclass should implement `self.enqueue`."
end

Instance Method Details

#perform(method, resource_class, resource_id) ⇒ Object

Loads the resource record and sends the email.

It uses ‘orm_adapter` API to fetch the record in order to enforce compatibility among diferent ORMs.



13
14
15
16
# File 'lib/devise/async/backend/base.rb', line 13

def perform(method, resource_class, resource_id)
  resource = resource_class.constantize.to_adapter.get!(resource_id)
  mailer_class.send(method, resource).deliver
end