Sha256: db28e25135d70fa86a6d2007dc6557a3b75ebf02e1186e6865b03029800f86ce

Contents?: true

Size: 550 Bytes

Versions: 1

Compression:

Stored size: 550 Bytes

Contents

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

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

        private

        def mailer_class
          @mailer_class ||= Devise::Async.mailer.constantize
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
devise-async-0.1.0 lib/devise/async/backend/base.rb