Module: Devise::Models::ChallengeQuestionable

Extended by:
ActiveSupport::Concern
Defined in:
lib/devise_challenge_questionable/model.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#login_challenge_questions?(request) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/devise_challenge_questionable/model.rb', line 16

def (request)
  true
end

#max_challenge_question_attempts?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/devise_challenge_questionable/model.rb', line 28

def max_challenge_question_attempts?
  challenge_question_failed_attempts >= self.class.max_challenge_question_attempts
end

#max_challenge_question_lock_accountObject



24
25
26
# File 'lib/devise_challenge_questionable/model.rb', line 24

def 
  self.lock_access! if self.class.lock_strategy_enabled?(:failed_attempts)
end

#reset_challenge_questions!(attributes) ⇒ Object

Update challenge questions saving the record and clearing token. Returns true if the challenge questions are valid and the record was saved, false otherwise.



9
10
11
12
13
14
# File 'lib/devise_challenge_questionable/model.rb', line 9

def reset_challenge_questions!(attributes)
  self.send("#{self.class.name.underscore}_challenge_questions").destroy_all
  self.attributes = {"#{self.class.name.underscore}_challenge_questions_attributes" => attributes["#{self.class.name.underscore}_challenge_questions_attributes"]}       
  clear_reset_challenge_questions_token if self.valid?
  self.save
end

#send_reset_challenge_questions_instructionsObject

Resets reset challenge question token and send reset challenge question instructions by email



33
34
35
36
# File 'lib/devise_challenge_questionable/model.rb', line 33

def send_reset_challenge_questions_instructions
  generate_reset_challenge_questions_token!
  ::Devise.mailer.reset_challenge_questions_instructions(self).deliver
end

#set_challenge_questions?(request) ⇒ Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/devise_challenge_questionable/model.rb', line 20

def set_challenge_questions?(request)
  true
end

#set_reset_challenge_questions_tokenObject

Generates a new random token for reset challenge_question



39
40
41
# File 'lib/devise_challenge_questionable/model.rb', line 39

def set_reset_challenge_questions_token
  generate_reset_challenge_questions_token!
end

#unlock_access_including_challenge_questions!Object



43
44
45
46
47
48
49
50
51
# File 'lib/devise_challenge_questionable/model.rb', line 43

def unlock_access_including_challenge_questions!
  if_access_locked do
    self.locked_at = nil
    self.failed_attempts = 0 if respond_to?(:failed_attempts=)
    self.challenge_question_failed_attempts = 0 if respond_to?(:challenge_question_failed_attempts=)
    self.unlock_token = nil  if respond_to?(:unlock_token=)
    save(:validate => false)
  end
end