module Devise::Models::Approvable::ClassMethods

Public Instance Methods

approve_by_token(approval_token) click to toggle source

Find a user by its approvable token and try to approve it. If no user is found, returns a new user with an error. If the user is already approved, create an error for the user Options must have the approval_token

# File lib/devise_approvable/model.rb, line 79
def approve_by_token(approval_token)
  original_token     = approval_token
  approval_token = Devise.token_generator.digest(self, :approval_token, approval_token)

  approvable = find_or_initialize_with_error_by(:approval_token, approval_token)
  approvable.approve! if approvable.persisted?
  approvable.approval_token = original_token
  approvable
end