Skip to content

Commit

Permalink
add Rememerable#after_remembered callback
Browse files Browse the repository at this point in the history
  • Loading branch information
BM5k committed Nov 8, 2014
1 parent 6f88df3 commit b5713a8
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 0 deletions.
13 changes: 13 additions & 0 deletions lib/devise/models/rememberable.rb
Expand Up @@ -89,6 +89,19 @@ def rememberable_options
self.class.rememberable_options
end

# A callback initiated after successfully being remembered. This can be
# used to insert your own logic that is only run after the user is
# remembered.
#
# Example:
#
# def after_remembered
# self.update_attribute(:invite_code, nil)
# end
#
def after_remembered
end

protected

def generate_remember_token? #:nodoc:
Expand Down
1 change: 1 addition & 0 deletions lib/devise/strategies/rememberable.rb
Expand Up @@ -27,6 +27,7 @@ def authenticate!
if validate(resource)
remember_me(resource)
extend_remember_me_period(resource)
resource.after_remembered
success!(resource)
end
end
Expand Down
9 changes: 9 additions & 0 deletions test/integration/rememberable_test.rb
Expand Up @@ -164,4 +164,13 @@ def cookie_expires(key)
get users_path
assert_not warden.authenticated?(:user)
end

test 'valid sign in calls after_remembered callback' do
user = create_user_and_remember

User.expects(:serialize_from_cookie).returns user
user.expects :after_remembered

get new_user_registration_path
end
end

0 comments on commit b5713a8

Please sign in to comment.