Class: Devise::UnlocksController

Inherits:
DeviseController show all
Defined in:
app/controllers/devise/unlocks_controller.rb

Instance Method Summary collapse

Instance Method Details

#after_sending_unlock_instructions_path_for(resource) ⇒ Object (protected)

The path used after sending unlock password instructions



40
41
42
# File 'app/controllers/devise/unlocks_controller.rb', line 40

def after_sending_unlock_instructions_path_for(resource)
  new_session_path(resource) if is_navigational_format?
end

#after_unlock_path_for(resource) ⇒ Object (protected)

The path used after unlocking the resource



45
46
47
# File 'app/controllers/devise/unlocks_controller.rb', line 45

def after_unlock_path_for(resource)
  new_session_path(resource)  if is_navigational_format?
end

#create {|resource| ... } ⇒ Object

POST /resource/unlock

Yields:



12
13
14
15
16
17
18
19
20
21
# File 'app/controllers/devise/unlocks_controller.rb', line 12

def create
  self.resource = resource_class.send_unlock_instructions(resource_params)
  yield resource if block_given?

  if successfully_sent?(resource)
    respond_with({}, location: after_sending_unlock_instructions_path_for(resource))
  else
    respond_with(resource)
  end
end

#newObject

GET /resource/unlock/new



7
8
9
# File 'app/controllers/devise/unlocks_controller.rb', line 7

def new
  self.resource = resource_class.new
end

#show {|resource| ... } ⇒ Object

GET /resource/unlock?unlock_token=abcdef

Yields:



24
25
26
27
28
29
30
31
32
33
34
35
# File 'app/controllers/devise/unlocks_controller.rb', line 24

def show
  self.resource = resource_class.unlock_access_by_token(params[:unlock_token])
  yield resource if block_given?

  if resource.errors.empty?
    set_flash_message! :notice, :unlocked
    respond_with_navigational(resource){ redirect_to after_unlock_path_for(resource) }
  else
    # TODO: use `error_status` when the default changes to `:unprocessable_entity`.
    respond_with_navigational(resource.errors, status: :unprocessable_entity){ render :new }
  end
end

#translation_scopeObject (protected)



49
50
51
# File 'app/controllers/devise/unlocks_controller.rb', line 49

def translation_scope
  'devise.unlocks'
end