Module: Devise::Models::Approvable::ClassMethods

Defined in:
lib/devise_approvable/model.rb

Instance Method Summary collapse

Instance Method Details

#approve_by_token(approval_token) ⇒ Object

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



79
80
81
82
83
84
85
86
87
# 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