Merge pull request #2525 from jetthoughts/timeoutable-without-rememberable

Fixed checking for rememberable in timeoutable
This commit is contained in:
José Valim
2013-07-26 00:58:09 -07:00
2 changed files with 11 additions and 1 deletions

View File

@@ -37,7 +37,7 @@ module Devise
private
def remember_exists_and_not_expired?
return false unless respond_to?(:remember_created_at)
return false unless respond_to?(:remember_created_at) && respond_to?(:remember_expired?)
remember_created_at && !remember_expired?
end

View File

@@ -43,4 +43,14 @@ class TimeoutableTest < ActiveSupport::TestCase
test 'required_fields should contain the fields that Devise uses' do
assert_same_content Devise::Models::Timeoutable.required_fields(User), []
end
test 'should not raise error if remember_created_at is not empty and rememberable is disabled' do
user = create_admin(remember_created_at: Time.current)
begin
assert user.timedout?(31.minutes.ago)
rescue NoMethodError => e
refute_includes e.message, "undefined method `remember_expired?' for #<Admin:"
end
end
end