aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2009-09-26 21:59:28 -0500
committerJoshua Peek <josh@joshpeek.com>2009-09-26 21:59:28 -0500
commita6757a02e12aa584bd74dbcde18a7886be8e9029 (patch)
tree74d3ca8fe45d1bc031371e7735241fa265e42c67 /railties
parent14866fa3d83676d340d94464f50e2e0ea989c3c1 (diff)
downloadrails-a6757a02e12aa584bd74dbcde18a7886be8e9029.tar.gz
rails-a6757a02e12aa584bd74dbcde18a7886be8e9029.tar.bz2
rails-a6757a02e12aa584bd74dbcde18a7886be8e9029.zip
Move middleware and route configuration from AC::Dispatcher to Rails application object
Diffstat (limited to 'railties')
-rw-r--r--railties/lib/rails/application.rb6
-rw-r--r--railties/lib/rails/console_app.rb2
-rw-r--r--railties/lib/rails/initializer.rb2
-rw-r--r--railties/test/console_app_test.rb6
-rw-r--r--railties/test/fcgi_dispatcher_test.rb6
5 files changed, 19 insertions, 3 deletions
diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb
index d3057aaa11..14336d90c3 100644
--- a/railties/lib/rails/application.rb
+++ b/railties/lib/rails/application.rb
@@ -1,10 +1,14 @@
module Rails
class Application
+ attr_accessor :middleware, :routes
+
def initialize
- @app = ActionController::Dispatcher.new
+ @middleware = ActionDispatch::MiddlewareStack.new
+ @routes = ActionController::Routing::Routes
end
def call(env)
+ @app ||= middleware.build(@routes)
@app.call(env)
end
end
diff --git a/railties/lib/rails/console_app.rb b/railties/lib/rails/console_app.rb
index fc84a50e91..1ad62e5058 100644
--- a/railties/lib/rails/console_app.rb
+++ b/railties/lib/rails/console_app.rb
@@ -27,6 +27,6 @@ end
def reload!
puts "Reloading..."
ActionDispatch::Callbacks.new(lambda {}, true)
- ActionController::Dispatcher.router.reload
+ ActionController::Routing::Routes.reload
true
end
diff --git a/railties/lib/rails/initializer.rb b/railties/lib/rails/initializer.rb
index 399ce26618..f6aca082e8 100644
--- a/railties/lib/rails/initializer.rb
+++ b/railties/lib/rails/initializer.rb
@@ -608,8 +608,8 @@ Run `rake gems:install` to install the missing gems.
Initializer.default.add :build_application do
if configuration.frameworks.include?(:action_controller)
- ActionController::Dispatcher.middleware = configuration.middleware
Rails.application = Rails::Application.new
+ Rails.application.middleware = configuration.middleware
end
end
end
diff --git a/railties/test/console_app_test.rb b/railties/test/console_app_test.rb
index 7d697d4d05..1437e6d885 100644
--- a/railties/test/console_app_test.rb
+++ b/railties/test/console_app_test.rb
@@ -5,6 +5,12 @@ require 'action_controller' # console_app uses 'action_controller/integration'
require 'rails/dispatcher'
require 'rails/console_app'
+module Rails
+ def self.application
+ ActionController::Routing::Routes
+ end
+end
+
# console_app sets Test::Unit.run to work around the at_exit hook in test/unit, which kills IRB
if Test::Unit.respond_to?(:run=)
Test::Unit.run = false
diff --git a/railties/test/fcgi_dispatcher_test.rb b/railties/test/fcgi_dispatcher_test.rb
index 1e704b862f..4d77a321a0 100644
--- a/railties/test/fcgi_dispatcher_test.rb
+++ b/railties/test/fcgi_dispatcher_test.rb
@@ -5,6 +5,12 @@ uses_gem "fcgi", "0.8.7" do
require 'action_controller'
require 'rails/fcgi_handler'
+module Rails
+ def self.application
+ ActionController::Routing::Routes
+ end
+end
+
class RailsFCGIHandlerTest < Test::Unit::TestCase
def setup
@log = StringIO.new