mirror of
https://github.com/heartcombo/devise.git
synced 2022-11-09 12:18:31 -05:00
Allow devise :all, :except => :foo to be given.
This commit is contained in:
parent
b69d822d51
commit
9051d842c0
4 changed files with 23 additions and 12 deletions
|
@ -5,6 +5,17 @@ rescue
|
||||||
require 'warden'
|
require 'warden'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
module Devise
|
||||||
|
ALL = [:authenticable, :confirmable, :recoverable, :validatable].freeze
|
||||||
|
|
||||||
|
# Maps controller names to devise modules
|
||||||
|
CONTROLLERS = {
|
||||||
|
:sessions => :authenticable,
|
||||||
|
:passwords => :recoverable,
|
||||||
|
:confirmations => :confirmable
|
||||||
|
}.freeze
|
||||||
|
end
|
||||||
|
|
||||||
require 'devise/warden'
|
require 'devise/warden'
|
||||||
require 'devise/mapping'
|
require 'devise/mapping'
|
||||||
require 'devise/routes'
|
require 'devise/routes'
|
||||||
|
|
|
@ -21,11 +21,18 @@ module Devise
|
||||||
#
|
#
|
||||||
# # shortcut to include all modules (same as above)
|
# # shortcut to include all modules (same as above)
|
||||||
# devise :all
|
# devise :all
|
||||||
def devise(*options)
|
#
|
||||||
options = [:confirmable, :recoverable, :validatable] if options.include?(:all)
|
# # include all except :recoverable
|
||||||
options |= [:authenticable]
|
# devise :all, :except => :recoverable
|
||||||
|
#
|
||||||
|
def devise(*modules)
|
||||||
|
options = modules.extract_options!
|
||||||
|
|
||||||
options.each do |m|
|
modules = Devise::ALL if modules.include?(:all)
|
||||||
|
modules -= Array(options[:except]) if options.key?(:except)
|
||||||
|
modules |= [:authenticable]
|
||||||
|
|
||||||
|
modules.each do |m|
|
||||||
devise_modules << m.to_sym
|
devise_modules << m.to_sym
|
||||||
include Devise::Models.const_get(m.to_s.classify)
|
include Devise::Models.const_get(m.to_s.classify)
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,11 +1,4 @@
|
||||||
module Devise
|
module Devise
|
||||||
# Maps controller names to devise modules
|
|
||||||
CONTROLLERS = {
|
|
||||||
:sessions => :authenticable,
|
|
||||||
:passwords => :recoverable,
|
|
||||||
:confirmations => :confirmable
|
|
||||||
}.freeze
|
|
||||||
|
|
||||||
# Responsible for handling devise mappings and routes configuration. Each
|
# Responsible for handling devise mappings and routes configuration. Each
|
||||||
# resource configured by devise_for in routes is actually creating a mapping
|
# resource configured by devise_for in routes is actually creating a mapping
|
||||||
# object. You can refer to devise_for in routes for usage options.
|
# object. You can refer to devise_for in routes for usage options.
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
class Admin < ActiveRecord::Base
|
class Admin < ActiveRecord::Base
|
||||||
devise :validatable
|
devise :all, :except => [:recoverable, :confirmable]
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue