Class: Kingsman::RegistrationsController
- Inherits:
-
KingsmanController
- Object
- KingsmanController
- Kingsman::RegistrationsController
- Defined in:
- app/controllers/kingsman/registrations_controller.rb
Instance Method Summary collapse
-
#cancel ⇒ Object
GET /resource/cancel Forces the session data which is usually expired after sign in to be expired now.
-
#create {|resource| ... } ⇒ Object
POST /resource.
-
#destroy {|resource| ... } ⇒ Object
DELETE /resource.
-
#edit ⇒ Object
GET /resource/edit.
-
#new {|resource| ... } ⇒ Object
GET /resource/sign_up.
-
#update {|resource| ... } ⇒ Object
PUT /resource We need to use a copy of the resource because we don’t want to change the current user in place.
Instance Method Details
#cancel ⇒ Object
GET /resource/cancel Forces the session data which is usually expired after sign in to be expired now. This is useful if the user wants to cancel oauth signing in/up in the middle of the process, removing all OAuth session data.
78 79 80 81 |
# File 'app/controllers/kingsman/registrations_controller.rb', line 78 def cancel expire_data_after_sign_in! redirect_to new_registration_path(resource_name) end |
#create {|resource| ... } ⇒ Object
POST /resource
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'app/controllers/kingsman/registrations_controller.rb', line 16 def create build_resource(sign_up_params) resource.save yield resource if block_given? if resource.persisted? if resource.active_for_authentication? :notice, :signed_up sign_up(resource_name, resource) respond_with resource, location: after_sign_up_path_for(resource) else :notice, :"signed_up_but_#{resource.}" expire_data_after_sign_in! respond_with resource, location: after_inactive_sign_up_path_for(resource) end else clean_up_passwords resource set_minimum_password_length respond_with resource end end |
#destroy {|resource| ... } ⇒ Object
DELETE /resource
65 66 67 68 69 70 71 |
# File 'app/controllers/kingsman/registrations_controller.rb', line 65 def destroy resource.destroy Kingsman.sign_out_all_scopes ? sign_out : sign_out(resource_name) :notice, :destroyed yield resource if block_given? (resource){ redirect_to after_sign_out_path_for(resource_name), status: Kingsman.responder.redirect_status } end |
#edit ⇒ Object
GET /resource/edit
39 40 41 |
# File 'app/controllers/kingsman/registrations_controller.rb', line 39 def edit render :edit end |
#new {|resource| ... } ⇒ Object
GET /resource/sign_up
9 10 11 12 13 |
# File 'app/controllers/kingsman/registrations_controller.rb', line 9 def new build_resource yield resource if block_given? respond_with resource end |
#update {|resource| ... } ⇒ Object
PUT /resource We need to use a copy of the resource because we don’t want to change the current user in place.
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'app/controllers/kingsman/registrations_controller.rb', line 46 def update self.resource = resource_class.to_adapter.get!(send(:"current_#{resource_name}").to_key) prev_unconfirmed_email = resource.unconfirmed_email if resource.respond_to?(:unconfirmed_email) resource_updated = update_resource(resource, account_update_params) yield resource if block_given? if resource_updated (resource, prev_unconfirmed_email) bypass_sign_in resource, scope: resource_name if sign_in_after_change_password? respond_with resource, location: after_update_path_for(resource) else clean_up_passwords resource set_minimum_password_length respond_with resource end end |