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
- #login_challenge_questions?(request) ⇒ Boolean
- #max_challenge_question_attempts? ⇒ Boolean
- #max_challenge_question_lock_account ⇒ Object
-
#reset_challenge_questions!(attributes) ⇒ Object
Update challenge questions saving the record and clearing token.
-
#send_reset_challenge_questions_instructions ⇒ Object
Resets reset challenge question token and send reset challenge question instructions by email.
- #set_challenge_questions?(request) ⇒ Boolean
-
#set_reset_challenge_questions_token ⇒ Object
Generates a new random token for reset challenge_question.
- #unlock_access_including_challenge_questions! ⇒ Object
Instance Method Details
#login_challenge_questions?(request) ⇒ Boolean
16 17 18 |
# File 'lib/devise_challenge_questionable/model.rb', line 16 def login_challenge_questions?(request) true end |
#max_challenge_question_attempts? ⇒ 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_account ⇒ Object
24 25 26 |
# File 'lib/devise_challenge_questionable/model.rb', line 24 def max_challenge_question_lock_account 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_instructions ⇒ Object
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
20 21 22 |
# File 'lib/devise_challenge_questionable/model.rb', line 20 def set_challenge_questions?(request) true end |
#set_reset_challenge_questions_token ⇒ Object
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 |