Sha256: 7aec92188d5c748be4869b37d9e538f84034761f15d375bb408d099ad9b99fea
Contents?: true
Size: 1.66 KB
Versions: 3
Compression:
Stored size: 1.66 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 module UrlHelpers [:session, :password, :confirmation].each do |module_name| [:path, :url].each do |path_or_url| actions = [ nil, :new_ ] actions << :edit_ if module_name == :password actions << :destroy_ if module_name == :session actions.each do |action| class_eval <<-URL_HELPERS def #{action}#{module_name}_#{path_or_url}(resource, *args) resource = case resource when Symbol, String resource when Class resource.name.underscore else resource.class.name.underscore end send("#{action}\#{resource}_#{module_name}_#{path_or_url}", *args) end URL_HELPERS end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
devise-0.2.0 | lib/devise/controllers/url_helpers.rb |
devise-0.1.1 | lib/devise/controllers/url_helpers.rb |
devise-0.1.0 | lib/devise/controllers/url_helpers.rb |