Module: Devise::Models::Lockable::ClassMethods

Defined in:
lib/devise/models/lockable.rb

Instance Method Summary collapse

Instance Method Details

#lock_strategy_enabled?(strategy) ⇒ Boolean

Is the lock enabled for the given lock strategy?

Returns:

  • (Boolean)


155
156
157
# File 'lib/devise/models/lockable.rb', line 155

def lock_strategy_enabled?(strategy)
  self.lock_strategy == strategy
end

#send_unlock_instructions(attributes = {}) ⇒ Object

Attempt to find a user by it’s email. If a record is found, send new unlock instructions to it. If not user is found, returns a new user with an email not found error. Options must contain the user email



133
134
135
136
137
# File 'lib/devise/models/lockable.rb', line 133

def send_unlock_instructions(attributes={})
 lockable = find_or_initialize_with_error_by(:email, attributes[:email], :not_found)
 lockable.resend_unlock_token if lockable.persisted?
 lockable
end

#unlock_access_by_token(unlock_token) ⇒ Object

Find a user by it’s unlock token and try to unlock it. If no user is found, returns a new user with an error. If the user is not locked, creates an error for the user Options must have the unlock_token



143
144
145
146
147
# File 'lib/devise/models/lockable.rb', line 143

def unlock_access_by_token(unlock_token)
  lockable = find_or_initialize_with_error_by(:unlock_token, unlock_token)
  lockable.unlock_access! if lockable.persisted?
  lockable
end

#unlock_strategy_enabled?(strategy) ⇒ Boolean

Is the unlock enabled for the given unlock strategy?

Returns:

  • (Boolean)


150
151
152
# File 'lib/devise/models/lockable.rb', line 150

def unlock_strategy_enabled?(strategy)
  [:both, strategy].include?(self.unlock_strategy)
end

#unlock_tokenObject



159
160
161
# File 'lib/devise/models/lockable.rb', line 159

def unlock_token
  Devise.friendly_token
end