diff --git a/lib/devise/active_record.rb b/lib/devise/active_record.rb index 6a236b1a..0e24af1c 100644 --- a/lib/devise/active_record.rb +++ b/lib/devise/active_record.rb @@ -68,9 +68,6 @@ module Devise include Devise::Models.const_get(m.to_s.classify) end - # Assert valid keys after including modules to ensure MODEL_CONFIG is fully loaded - options.assert_valid_keys(:except, *Devise::MODEL_CONFIG) - # Convert new keys to methods which overwrites Devise defaults options.each { |key, value| send(:"#{key}=", value) } end diff --git a/lib/devise/models/confirmable.rb b/lib/devise/models/confirmable.rb index 89ea8ad4..89ccd585 100644 --- a/lib/devise/models/confirmable.rb +++ b/lib/devise/models/confirmable.rb @@ -1,3 +1,5 @@ +require 'devise/hooks/confirmable' + module Devise module Models @@ -27,7 +29,6 @@ module Devise # User.find(1).send_confirmation_instructions # manually send instructions # User.find(1).reset_confirmation! # reset confirmation status and send instructions module Confirmable - Devise.model_config(self, :confirm_in, 0.days) def self.included(base) base.class_eval do @@ -158,6 +159,8 @@ module Devise confirmable end end + + Devise.model_config(self, :confirm_in, 0.days) end end end diff --git a/lib/devise/models/rememberable.rb b/lib/devise/models/rememberable.rb index 05857c4c..0643972c 100644 --- a/lib/devise/models/rememberable.rb +++ b/lib/devise/models/rememberable.rb @@ -32,7 +32,6 @@ module Devise # # lookup the user based on the incoming cookie information # User.serialize_from_cookie(cookie_string) module Rememberable - Devise.model_config(self, :remember_for, 2.weeks) def self.included(base) base.class_eval do @@ -63,12 +62,12 @@ module Devise # Checks whether the incoming token matches or not with the record token. def valid_remember_token?(token) - !remember_expired? && remember_token == token + remember_token? && !remember_expired? && remember_token == token end # Remember token should be expired if expiration time not overpass now. def remember_expired? - !remember_token? || remember_expires_at <= Time.now.utc + remember_expires_at <= Time.now end # Remember token expires at created time + remember_for configuration @@ -89,8 +88,9 @@ module Devise rememberable = find_by_id(rememberable_id) if rememberable_id rememberable if rememberable.try(:valid_remember_token?, remember_token) end - end + + Devise.model_config(self, :remember_for, 2.weeks) end end end diff --git a/test/models/rememberable_test.rb b/test/models/rememberable_test.rb index c44bfa44..1cc6f304 100644 --- a/test/models/rememberable_test.rb +++ b/test/models/rememberable_test.rb @@ -108,11 +108,6 @@ class RememberableTest < ActiveSupport::TestCase end end - test 'remember should be expired without remember token' do - user = create_user - assert user.remember_expired? - end - test 'remember expires at should sum date of creation with remember for configuration' do Devise.remember_for = 3.days user = create_user