From 6e4c5bae29abb73355d24f44c0219c402c137e11 Mon Sep 17 00:00:00 2001 From: Benjamin Neff <benjamin@coding4coffee.ch> Date: Sat, 5 Aug 2017 22:45:11 +0200 Subject: [PATCH] Replace `attribute_changed?` with new methods --- app/models/user.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index 3be7770d37..629649d4e1 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -473,14 +473,17 @@ class User < ApplicationRecord def guard_unconfirmed_email self.unconfirmed_email = nil if unconfirmed_email.blank? || unconfirmed_email == email - if unconfirmed_email_changed? - self.confirm_email_token = unconfirmed_email ? SecureRandom.hex(15) : nil - end + return unless will_save_change_to_unconfirmed_email? + + self.confirm_email_token = unconfirmed_email ? SecureRandom.hex(15) : nil end # Whenever email is set, clear all unconfirmed emails which match def remove_invalid_unconfirmed_emails - User.where(unconfirmed_email: email).update_all(unconfirmed_email: nil, confirm_email_token: nil) if email_changed? + return unless saved_change_to_email? + # rubocop:disable Rails/SkipsModelValidations + User.where(unconfirmed_email: email).update_all(unconfirmed_email: nil, confirm_email_token: nil) + # rubocop:enable Rails/SkipsModelValidations end # Generate public/private keys for User and associated Person -- GitLab