Cache failure_app action builder and pipe call through delegator.
This commit is contained in:
parent
f67793cb0d
commit
4629beecd7
|
@ -6,10 +6,11 @@ require 'set'
|
|||
require 'securerandom'
|
||||
|
||||
module Devise
|
||||
autoload :FailureApp, 'devise/failure_app'
|
||||
autoload :OmniAuth, 'devise/omniauth'
|
||||
autoload :Delegator, 'devise/delegator'
|
||||
autoload :FailureApp, 'devise/failure_app'
|
||||
autoload :OmniAuth, 'devise/omniauth'
|
||||
autoload :PathChecker, 'devise/path_checker'
|
||||
autoload :Schema, 'devise/schema'
|
||||
autoload :Schema, 'devise/schema'
|
||||
autoload :TestHelpers, 'devise/test_helpers'
|
||||
|
||||
module Controllers
|
||||
|
@ -407,7 +408,7 @@ module Devise
|
|||
# block.
|
||||
def self.configure_warden! #:nodoc:
|
||||
@@warden_configured ||= begin
|
||||
warden_config.failure_app = Devise::FailureApp
|
||||
warden_config.failure_app = Devise::Delegator.new
|
||||
warden_config.default_scope = Devise.default_scope
|
||||
warden_config.intercept_401 = false
|
||||
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
module Devise
|
||||
class Delegator
|
||||
def call(env)
|
||||
Devise::FailureApp.call(env)
|
||||
end
|
||||
end
|
||||
end
|
|
@ -15,7 +15,8 @@ module Devise
|
|||
delegate :flash, :to => :request
|
||||
|
||||
def self.call(env)
|
||||
action(:respond).call(env)
|
||||
@respond ||= action(:respond)
|
||||
@respond.call(env)
|
||||
end
|
||||
|
||||
def self.default_url_options(*args)
|
||||
|
|
|
@ -25,7 +25,7 @@ class DeviseTest < ActiveSupport::TestCase
|
|||
end
|
||||
|
||||
test 'stores warden configuration' do
|
||||
assert_equal Devise::FailureApp, Devise.warden_config.failure_app
|
||||
assert_kind_of Devise::Delegator, Devise.warden_config.failure_app
|
||||
assert_equal :user, Devise.warden_config.default_scope
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue