Class: Devise::RegistrationsController
- Inherits:
-
DeviseController
- Object
- DeviseController
- Devise::RegistrationsController
- Defined in:
- app/controllers/devise/registrations_controller.rb
Instance Method Summary collapse
-
#after_inactive_sign_up_path_for(resource) ⇒ Object
protected
The path used after sign up for inactive accounts.
-
#after_sign_up_path_for(resource) ⇒ Object
protected
The path used after sign up.
-
#after_update_path_for(resource) ⇒ Object
protected
The default url to be used after updating a resource.
-
#authenticate_scope! ⇒ Object
protected
Authenticates the current scope and gets the current resource from the session.
-
#build_resource(hash = nil) ⇒ Object
protected
Build a devise resource passing in the session.
-
#cancel ⇒ Object
GET /resource/cancel Forces the session data which is usually expired after sign in to be expired now.
-
#create ⇒ Object
POST /resource.
-
#destroy ⇒ Object
DELETE /resource.
-
#edit ⇒ Object
GET /resource/edit.
-
#new ⇒ Object
GET /resource/sign_up.
-
#sign_up(resource_name, resource) ⇒ Object
protected
Signs in a user on sign up.
-
#update ⇒ Object
PUT /resource We need to use a copy of the resource because we don’t want to change the current user in place.
- #update_needs_confirmation?(resource, previous) ⇒ Boolean protected
Instance Method Details
#after_inactive_sign_up_path_for(resource) ⇒ Object (protected)
The path used after sign up for inactive accounts. You need to overwrite this method in your own RegistrationsController.
104 105 106 |
# File 'app/controllers/devise/registrations_controller.rb', line 104 def after_inactive_sign_up_path_for(resource) respond_to?(:root_path) ? root_path : "/" end |
#after_sign_up_path_for(resource) ⇒ Object (protected)
The path used after sign up. You need to overwrite this method in your own RegistrationsController.
98 99 100 |
# File 'app/controllers/devise/registrations_controller.rb', line 98 def after_sign_up_path_for(resource) after_sign_in_path_for(resource) end |
#after_update_path_for(resource) ⇒ Object (protected)
The default url to be used after updating a resource. You need to overwrite this method in your own RegistrationsController.
110 111 112 |
# File 'app/controllers/devise/registrations_controller.rb', line 110 def after_update_path_for(resource) signed_in_root_path(resource) end |
#authenticate_scope! ⇒ Object (protected)
Authenticates the current scope and gets the current resource from the session.
115 116 117 118 |
# File 'app/controllers/devise/registrations_controller.rb', line 115 def authenticate_scope! send(:"authenticate_#{resource_name}!", :force => true) self.resource = send(:"current_#{resource_name}") end |
#build_resource(hash = nil) ⇒ Object (protected)
Build a devise resource passing in the session. Useful to move temporary session data to the newly created user.
85 86 87 88 |
# File 'app/controllers/devise/registrations_controller.rb', line 85 def build_resource(hash=nil) hash ||= resource_params || {} self.resource = resource_class.new_with_session(hash, session) end |
#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.
70 71 72 73 |
# File 'app/controllers/devise/registrations_controller.rb', line 70 def cancel expire_session_data_after_sign_in! redirect_to new_registration_path(resource_name) end |
#create ⇒ Object
POST /resource
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'app/controllers/devise/registrations_controller.rb', line 12 def create build_resource if resource.save if resource.active_for_authentication? :notice, :signed_up if sign_up(resource_name, resource) respond_with resource, :location => after_sign_up_path_for(resource) else :notice, :"signed_up_but_#{resource.inactive_message}" if expire_session_data_after_sign_in! respond_with resource, :location => after_inactive_sign_up_path_for(resource) end else clean_up_passwords resource respond_with resource end end |
#destroy ⇒ Object
DELETE /resource
58 59 60 61 62 63 |
# File 'app/controllers/devise/registrations_controller.rb', line 58 def destroy resource.destroy Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name) :notice, :destroyed if (resource){ redirect_to after_sign_out_path_for(resource_name) } end |
#edit ⇒ Object
GET /resource/edit
32 33 34 |
# File 'app/controllers/devise/registrations_controller.rb', line 32 def edit render :edit end |
#new ⇒ Object
GET /resource/sign_up
6 7 8 9 |
# File 'app/controllers/devise/registrations_controller.rb', line 6 def new resource = build_resource({}) respond_with resource end |
#sign_up(resource_name, resource) ⇒ Object (protected)
Signs in a user on sign up. You can overwrite this method in your own RegistrationsController.
92 93 94 |
# File 'app/controllers/devise/registrations_controller.rb', line 92 def sign_up(resource_name, resource) sign_in(resource_name, resource) end |
#update ⇒ Object
PUT /resource We need to use a copy of the resource because we don’t want to change the current user in place.
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'app/controllers/devise/registrations_controller.rb', line 39 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) if resource.update_with_password(resource_params) if flash_key = update_needs_confirmation?(resource, prev_unconfirmed_email) ? :update_needs_confirmation : :updated :notice, flash_key end sign_in resource_name, resource, :bypass => true respond_with resource, :location => after_update_path_for(resource) else clean_up_passwords resource respond_with resource end end |
#update_needs_confirmation?(resource, previous) ⇒ Boolean (protected)
77 78 79 80 81 |
# File 'app/controllers/devise/registrations_controller.rb', line 77 def update_needs_confirmation?(resource, previous) resource.respond_to?(:pending_reconfirmation?) && resource.pending_reconfirmation? && previous != resource.unconfirmed_email end |