push drawing once to it's own module
This commit is contained in:
parent
1e8c0a29d0
commit
c63d17c2be
|
@ -85,31 +85,6 @@ module RenderERBUtils
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
module SetupOnce
|
|
||||||
extend ActiveSupport::Concern
|
|
||||||
|
|
||||||
included do
|
|
||||||
cattr_accessor :setup_once_block
|
|
||||||
self.setup_once_block = nil
|
|
||||||
|
|
||||||
setup :run_setup_once
|
|
||||||
end
|
|
||||||
|
|
||||||
module ClassMethods
|
|
||||||
def setup_once(&block)
|
|
||||||
self.setup_once_block = block
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
|
||||||
def run_setup_once
|
|
||||||
if self.setup_once_block
|
|
||||||
self.setup_once_block.call
|
|
||||||
self.setup_once_block = nil
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
SharedTestRoutes = ActionDispatch::Routing::RouteSet.new
|
SharedTestRoutes = ActionDispatch::Routing::RouteSet.new
|
||||||
|
|
||||||
module ActionDispatch
|
module ActionDispatch
|
||||||
|
@ -119,14 +94,19 @@ module ActionDispatch
|
||||||
super
|
super
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
module ActiveSupport
|
|
||||||
class TestCase
|
|
||||||
include SetupOnce
|
|
||||||
# Hold off drawing routes until all the possible controller classes
|
# Hold off drawing routes until all the possible controller classes
|
||||||
# have been loaded.
|
# have been loaded.
|
||||||
setup_once do
|
module DrawOnce
|
||||||
|
class << self
|
||||||
|
attr_accessor :drew
|
||||||
|
end
|
||||||
|
self.drew = false
|
||||||
|
|
||||||
|
def before_setup
|
||||||
|
super
|
||||||
|
return if DrawOnce.drew
|
||||||
|
|
||||||
SharedTestRoutes.draw do
|
SharedTestRoutes.draw do
|
||||||
get ':controller(/:action)'
|
get ':controller(/:action)'
|
||||||
end
|
end
|
||||||
|
@ -134,10 +114,18 @@ module ActiveSupport
|
||||||
ActionDispatch::IntegrationTest.app.routes.draw do
|
ActionDispatch::IntegrationTest.app.routes.draw do
|
||||||
get ':controller(/:action)'
|
get ':controller(/:action)'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
DrawOnce.drew = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
module ActiveSupport
|
||||||
|
class TestCase
|
||||||
|
include ActionDispatch::DrawOnce
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
class RoutedRackApp
|
class RoutedRackApp
|
||||||
attr_reader :routes
|
attr_reader :routes
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue