Devise Async provides an easy way to configure Devise to send its emails asynchronously using ActiveJob.
Add this line to your application's Gemfile:
And then execute:
Or install it yourself as:
$ gem install devise-async
- Setup ActiveJob,
devisecall in your model:
class User < ActiveRecord::Base devise :database_authenticatable, :async, :confirmable # etc ... end
Enabling via config
The gem can be enabled/disabled easily via config, for example based on environment.
# config/initializers/devise_async.rb Devise::Async.enabled = true # | false
Setup via block
To avoid repeating
Devise::Async in the initializer file you can use the block syntax
similar to what
# config/initializers/devise_async.rb Devise::Async.setup do |config| config.enabled = true end
Custom mailer class
Devise.mailer at will and
devise-async will honor it.
Older versions of Rails and devise
If you want to use this gem with Rails < 5 and/or devise < 4 check out older releases, please.
RSpec is used for testing. The following should be enough for running the test:
$ bundle exec rspec
- Fork it
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Added some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request
Released under the MIT License. See the LICENSE file for further details.