Module: Devise::Controllers::Helpers

Included in:
ConfirmationsController, PasswordsController, SessionsController
Defined in:
lib/devise/controllers/helpers.rb

Overview

Those helpers are used only inside Devise controllers and should not be included in ApplicationController since they all depend on the url being accessed.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/devise/controllers/helpers.rb', line 8

def self.included(base)
  base.class_eval do
    helper_method :resource, :resource_name, :resource_class, :devise_mapping
    hide_action   :resource, :resource_name, :resource_class, :devise_mapping

    before_filter :is_devise_resource?
  end
end

Instance Method Details

#devise_mappingObject

Attempt to find the mapped route for devise based on request path



33
34
35
# File 'lib/devise/controllers/helpers.rb', line 33

def devise_mapping
  @devise_mapping ||= Devise.find_mapping_by_path(request.path)
end

#resourceObject

Gets the actual resource stored in the instance variable



18
19
20
# File 'lib/devise/controllers/helpers.rb', line 18

def resource
  instance_variable_get(:"@#{resource_name}")
end

#resource_classObject

Proxy to devise map class



28
29
30
# File 'lib/devise/controllers/helpers.rb', line 28

def resource_class
  devise_mapping.to
end

#resource_nameObject

Proxy to devise map name



23
24
25
# File 'lib/devise/controllers/helpers.rb', line 23

def resource_name
  devise_mapping.name
end