From 71ba01a75dabd535349c9277683fa85dbe0fa70f Mon Sep 17 00:00:00 2001 From: Pablo Brasero Date: Wed, 11 Mar 2026 13:57:02 +0000 Subject: [PATCH] Convert `UserMailer#signup_confirm` to new style --- app/controllers/confirmations_controller.rb | 5 ++++- app/controllers/users_controller.rb | 6 +++++- app/mailers/user_mailer.rb | 5 ++++- test/controllers/users_controller_test.rb | 2 +- test/mailers/previews/user_mailer_preview.rb | 4 +++- test/mailers/user_mailer_test.rb | 6 +++++- 6 files changed, 22 insertions(+), 6 deletions(-) diff --git a/app/controllers/confirmations_controller.rb b/app/controllers/confirmations_controller.rb index a4019983e..7dd799d31 100644 --- a/app/controllers/confirmations_controller.rb +++ b/app/controllers/confirmations_controller.rb @@ -60,7 +60,10 @@ class ConfirmationsController < ApplicationController if user.nil? || user.id != session[:pending_user] flash[:error] = t ".failure", :name => params[:display_name] else - UserMailer.signup_confirm(user, user.generate_token_for(:new_user)).deliver_later + UserMailer.with( + :user => user, + :token => user.generate_token_for(:new_user) + ).signup_confirm.deliver_later flash[:notice] = { :partial => "confirmations/resend_success_flash", :locals => { :email => user.email, :sender => Settings.email_from } } end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 29fae6491..1b60a423a 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -89,7 +89,11 @@ class UsersController < ApplicationController successful_login(current_user, referer) else session[:pending_user] = current_user.id - UserMailer.signup_confirm(current_user, current_user.generate_token_for(:new_user), referer).deliver_later + UserMailer.with( + :user => current_user, + :token => current_user.generate_token_for(:new_user), + :referer => referer + ).signup_confirm.deliver_later redirect_to :controller => :confirmations, :action => :confirm, :display_name => current_user.display_name end else diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index 0899becad..bce5658f5 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -12,7 +12,10 @@ class UserMailer < ApplicationMailer before_action :set_shared_template_vars before_action :attach_project_logo - def signup_confirm(user, token, referer = nil) + def signup_confirm + user, token = params.fetch_values(:user, :token) + referer = params[:referer] + with_recipient_locale user do @url = url_for(:controller => "confirmations", :action => "confirm", :display_name => user.display_name, diff --git a/test/controllers/users_controller_test.rb b/test/controllers/users_controller_test.rb index f4e744b87..42265438f 100644 --- a/test/controllers/users_controller_test.rb +++ b/test/controllers/users_controller_test.rb @@ -185,7 +185,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest assert_difference "ActionMailer::Base.deliveries.size", 1 do post users_path, :params => { :user => user.attributes, :referer => "/edit?editor=id#map=1/2/3" } assert_enqueued_with :job => ActionMailer::MailDeliveryJob, - :args => proc { |args| args[3][:args][2] == welcome_path(:editor => "id", :zoom => 1, :lat => 2, :lon => 3) } + :args => proc { |args| args[3][:params][:referer] == welcome_path(:editor => "id", :zoom => 1, :lat => 2, :lon => 3) } perform_enqueued_jobs end end diff --git a/test/mailers/previews/user_mailer_preview.rb b/test/mailers/previews/user_mailer_preview.rb index a05b7a4af..fe93e3f70 100644 --- a/test/mailers/previews/user_mailer_preview.rb +++ b/test/mailers/previews/user_mailer_preview.rb @@ -19,7 +19,9 @@ class UserMailerPreview < ActionMailer::Preview def signup_confirm user = create(:user, :languages => [I18n.locale]) token = "token-123456" - UserMailer.signup_confirm(user, token) + referer = "the-referer" + + UserMailer.with(:user => user, :token => token, :referer => referer).signup_confirm end def email_confirm diff --git a/test/mailers/user_mailer_test.rb b/test/mailers/user_mailer_test.rb index 383360aba..8f6413fe3 100644 --- a/test/mailers/user_mailer_test.rb +++ b/test/mailers/user_mailer_test.rb @@ -7,7 +7,11 @@ class UserMailerTest < ActionMailer::TestCase user = create(:user, :languages => [I18n.locale]) token = "token-123456" referer = "the-referer" - email = UserMailer.signup_confirm(user, token, referer) + email = UserMailer.with( + :user => user, + :token => token, + :referer => referer + ).signup_confirm confirmation_url = url_helpers.url_for( :controller => "confirmations", -- 2.39.5