module Negroni::Models::Lockable::ClassMethods

Class Methods for Lockable

Constants

BOTH_STRATEGIES

@private

Public Instance Methods

lock_strategy_enabled?(strategy) click to toggle source

@param strategy [Symbol] the name of the strategy.

@return [Boolean] if the strategy is enabled.

# File lib/negroni/models/lockable.rb, line 200
def lock_strategy_enabled?(strategy)
  lock_strategy == strategy
end
send_unlock_instructions(attributes = {}) click to toggle source

Attempt to find a user by its unlock keys. 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's unlock keys Checks if a given lock strategy is enabled.

# File lib/negroni/models/lockable.rb, line 175
def send_unlock_instructions(attributes = {})
  lockable = find_or_initialize_with_errors(
    unlock_keys, attributes, :not_found
  )
  lockable.resend_unlock_instructions if lockable.persisted?
  lockable
end
unlock_access_by_token(token) click to toggle source

Find a user by its 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

# File lib/negroni/models/lockable.rb, line 187
def unlock_access_by_token(token)
  orig = token
  token = Negroni.token_generator.digest(self, :unlock_token, token)

  lockable = find_or_initialize_with_error_by(:unlock_token, token)
  lockable.unlock_access! if lockable.persisted?
  lockable.unlock_token = orig
  lockable
end
unlock_strategy_enabled?(strategy) click to toggle source

Checks if a given unlock strategy is enabled.

@param strategy [Symbol] the name of the strategy.

@return [Boolean] if the strategy is enabled.

# File lib/negroni/models/lockable.rb, line 209
def unlock_strategy_enabled?(strategy)
  unlock_strategy == strategy ||
    (unlock_strategy == :both && BOTH_STRATEGIES.include?(strategy))
end