class Devise::Async::Stretch::Backend::Base

Public Class Methods

enqueue_job(*args) click to toggle source
# File lib/devise/async/stretch/backend/base.rb, line 6
def self.enqueue_job(*args)
  raise NotImplementedError, "Any Devise::Async::Stretch::Backend subclass should implement `self.enqueue`."
end

Public Instance Methods

perform(klass, id, password) click to toggle source

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.

# File lib/devise/async/stretch/backend/base.rb, line 14
 def perform(klass, id, password)
  resource = klass.constantize.to_adapter.get!(id)
  encrypted_password = resource.bcrypt(password, resource.class.stretches)

  resource.update_column(:encrypted_password, encrypted_password)
end