From 7670eb8e986188c7116b9408ff993e0229e206a8 Mon Sep 17 00:00:00 2001 From: julp Date: Wed, 29 May 2013 19:24:51 +0200 Subject: [PATCH 1/2] don't update failed_attempts attribute if already equal to 0 --- lib/devise/hooks/lockable.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/devise/hooks/lockable.rb b/lib/devise/hooks/lockable.rb index 22d0428e..d713153f 100644 --- a/lib/devise/hooks/lockable.rb +++ b/lib/devise/hooks/lockable.rb @@ -2,6 +2,6 @@ # This is only triggered when the user is explicitly set (with set_user) Warden::Manager.after_set_user :except => :fetch do |record, warden, options| if record.respond_to?(:failed_attempts) && warden.authenticated?(options[:scope]) - record.update_attribute(:failed_attempts, 0) + record.update_attribute(:failed_attempts, 0) unless record.failed_attempts.zero? end end From 10aadee63773f5a8680654a6c67b2e4e3d61933f Mon Sep 17 00:00:00 2001 From: julp Date: Wed, 29 May 2013 19:27:02 +0200 Subject: [PATCH 2/2] record is potentially unchanged here, if so, no needs to save it --- lib/devise/models/rememberable.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/devise/models/rememberable.rb b/lib/devise/models/rememberable.rb index b9e43386..ff6c2ee7 100644 --- a/lib/devise/models/rememberable.rb +++ b/lib/devise/models/rememberable.rb @@ -50,7 +50,7 @@ module Devise def remember_me!(extend_period=false) self.remember_token = self.class.remember_token if generate_remember_token? self.remember_created_at = Time.now.utc if generate_remember_timestamp?(extend_period) - save(:validate => false) + save(:validate => false) if self.changed? end # If the record is persisted, remove the remember token (but only if