Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions lib/devise_invitable/rails.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,18 @@ class Engine < ::Rails::Engine
# We use to_prepare instead of after_initialize here because Devise is a Rails engine; its
# mailer is reloaded like the rest of the user's app. Got to make sure that our mailer methods
# are included each time Devise.mailer is (re)loaded.
#
# The work is wrapped in ActiveSupport.on_load(:action_mailer) so that resolving
# Devise.mailer (a String#constantize) doesn't force ActionMailer::Base to load
# before app initialization completes. Without this wrapper, Rails edge's
# guard_load_hooks support (rails/rails#56201) logs an early-load-hook warning
# for :action_mailer (and :active_job, via MailDeliveryJob) on every boot.
config.to_prepare do
Devise.mailer.send :include, DeviseInvitable::Mailer
unless Devise.mailer.ancestors.include?(Devise::Mailers::Helpers)
Devise.mailer.send :include, Devise::Mailers::Helpers
ActiveSupport.on_load(:action_mailer) do
Devise.mailer.send :include, DeviseInvitable::Mailer
unless Devise.mailer.ancestors.include?(Devise::Mailers::Helpers)
Devise.mailer.send :include, Devise::Mailers::Helpers
end
end
end
# extend mapping with after_initialize because it's not reloaded
Expand Down
Loading