module Devise::Models::Deactivatable

Public Class Methods

required_fields(klass) click to toggle source
# File lib/devise_deactivatable/model.rb, line 10
def self.required_fields(klass)
  [:deactivated_at]
end

Public Instance Methods

active_for_authentication?() click to toggle source

Overwrites active_for_authentication? from Devise::Models::Activatable for deactivate purposes by verifying whether a user is active to sign in or not based on deactivated?

Calls superclass method
# File lib/devise_deactivatable/model.rb, line 16
def active_for_authentication?
  !deactivated? && super
end
deactivate!() click to toggle source
# File lib/devise_deactivatable/model.rb, line 20
def deactivate!
  self.deactivated_at = Time.now
  save(validate: false) or raise "Devise deactivatable could not save #{inspect}." \
    "Please make sure a model using deactivatable can be saved when deactivating."

  after_deactivate
end
deactivated?() click to toggle source
# File lib/devise_deactivatable/model.rb, line 28
def deactivated?
  !!deactivated_at
end
inactive_message() click to toggle source

Overwrites invalid_message from Devise::Models::Authenticatable to define the correct reason for blocking the sign in.

Calls superclass method
# File lib/devise_deactivatable/model.rb, line 34
def inactive_message
  deactivated? ? :deactivated : super
end

Protected Instance Methods

after_deactivate() click to toggle source

A callback initiated after successfully deactivating. This can be used to insert your own logic that is only run after the user successfully deactivated.

Example:

def after_deactivated
  # remove oauth tokens
end
# File lib/devise_deactivatable/model.rb, line 50
def after_deactivate
end