Class: Devise::PinfirmableController
- Inherits:
-
DeviseController
- Object
- DeviseController
- Devise::PinfirmableController
- Defined in:
- app/controllers/devise/pinfirmable_controller.rb
Instance Method Summary collapse
Instance Method Details
#create ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'app/controllers/devise/pinfirmable_controller.rb', line 7 def create if locked_out? @locked_out = true render(:new, status: 429) && return end if Pinfirmable::Pin.new(params[:digits]).matches_user_pin(pinfirmable_user) pinfirmable_user.confirm redirect_to after_confirmation_path_for(resource_name, pinfirmable_user) else tries = pinfirmable_user.pinfirmable_tries += 1 lockout = (tries % 3).zero? ? (tries / 3).minute.from_now : nil pinfirmable_user.update_attributes( pinfirmable_tries: tries, pinfirmable_lockout: lockout ) redirect_to user_confirmemail_path end end |
#new ⇒ Object
3 4 5 |
# File 'app/controllers/devise/pinfirmable_controller.rb', line 3 def new @locked_out = locked_out? end |
#resend_email ⇒ Object
27 28 29 30 31 |
# File 'app/controllers/devise/pinfirmable_controller.rb', line 27 def resend_email flash[:notice] = "We have just resent your code" PinfirmableMailer.pin_email(pinfirmable_user).deliver redirect_to user_confirmemail_path end |