Devise Async
Devise Async provides an easy way to configure Devise to send its emails asynchronously using ActiveJob.
Installation
Add this line to your application's Gemfile:
gem 'devise-async'
And then execute:
$ bundle
Or install it yourself as:
$ gem install devise-async
Usage
- Setup ActiveJob,
- Add
:async
to thedevise
call in your model:
class User < ActiveRecord::Base
devise :database_authenticatable, :async, :confirmable # etc ...
end
Options
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 Devise
offers.
# config/initializers/devise_async.rb
Devise::Async.setup do |config|
config.enabled = true
end
Custom mailer class
Customize 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.
Testing
RSpec is used for testing. The following should be enough for running the test:
$ bundle exec rspec
Contributing
- 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
License
Released under the MIT License. See the LICENSE file for further details.