Sha256: 752d6347ed2a3840e743e035cf08b5cc735e4090b1b99858d64d30240aa7a3e6
Contents?: true
Size: 1.78 KB
Versions: 1
Compression:
Stored size: 1.78 KB
Contents
module Devise module Controllers # Create url helpers to be used with resource/scope configuration. Acts as # proxies to the generated routes created by devise. # Resource param can be a string or symbol, a class, or an instance object. # Example using a :user resource: # # new_session_path(:user) => new_user_session_path # session_path(:user) => user_session_path # destroy_session_path(:user) => destroy_user_session_path # # new_password_path(:user) => new_user_password_path # password_path(:user) => user_password_path # edit_password_path(:user) => edit_user_password_path # # new_confirmation_path(:user) => new_user_confirmation_path # confirmation_path(:user) => user_confirmation_path # # Those helpers are added to your ApplicationController. module UrlHelpers def self.remove_helpers! self.instance_methods.map(&:to_s).grep(/_(url|path)$/).each do |method| remove_method method end end def self.generate_helpers! mappings = Devise.mappings.values.map(&:used_routes).flatten.uniq routes = Devise::URL_HELPERS.slice(*mappings) routes.each do |module_name, actions| [:path, :url].each do |path_or_url| actions.each do |action| action = action ? "#{action}_" : "" class_eval <<-URL_HELPERS, __FILE__, __LINE__ + 1 def #{action}#{module_name}_#{path_or_url}(resource_or_scope, *args) scope = Devise::Mapping.find_scope!(resource_or_scope) send("#{action}\#{scope}_#{module_name}_#{path_or_url}", *args) end URL_HELPERS end end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
devise-1.4.3 | lib/devise/controllers/url_helpers.rb |