diff options
author | José Valim <jose.valim@gmail.com> | 2010-03-06 19:19:26 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-03-06 19:25:55 +0100 |
commit | 028e54c63df84ad1ded1fb9c438eed540564552c (patch) | |
tree | a4b24b28b6da7974530c7433dc8fe09e268b9c47 | |
parent | 67512b9489593ddcd1c0c87ba0052380355b5400 (diff) | |
download | rails-028e54c63df84ad1ded1fb9c438eed540564552c.tar.gz rails-028e54c63df84ad1ded1fb9c438eed540564552c.tar.bz2 rails-028e54c63df84ad1ded1fb9c438eed540564552c.zip |
Add mailers to paths in case someone wants to access it directly and ensures deep nesting works in controllers.
-rw-r--r-- | railties/lib/rails/engine.rb | 2 | ||||
-rw-r--r-- | railties/lib/rails/engine/configuration.rb | 5 | ||||
-rw-r--r-- | railties/test/application/paths_test.rb | 7 | ||||
-rw-r--r-- | railties/test/railties/shared_tests.rb | 10 |
4 files changed, 14 insertions, 10 deletions
diff --git a/railties/lib/rails/engine.rb b/railties/lib/rails/engine.rb index f5cce857a2..8f5040ea13 100644 --- a/railties/lib/rails/engine.rb +++ b/railties/lib/rails/engine.rb @@ -82,7 +82,7 @@ module Rails initializer :add_routing_namespaces do |app| paths.app.controllers.to_a.each do |load_path| load_path = File.expand_path(load_path) - Dir["#{load_path}/*/*_controller.rb"].collect do |path| + Dir["#{load_path}/*/**/*_controller.rb"].collect do |path| namespace = File.dirname(path).sub(/#{load_path}\/?/, '') app.routes.controller_namespaces << namespace unless namespace.empty? end diff --git a/railties/lib/rails/engine/configuration.rb b/railties/lib/rails/engine/configuration.rb index cdaf35542f..b8f1f1009c 100644 --- a/railties/lib/rails/engine/configuration.rb +++ b/railties/lib/rails/engine/configuration.rb @@ -18,8 +18,9 @@ module Rails paths.app.controllers "app/controllers", :eager_load => true paths.app.helpers "app/helpers", :eager_load => true paths.app.models "app/models", :eager_load => true - paths.app.metals "app/metal" - paths.app.views "app/views" + paths.app.mailers "app/mailers", :eager_load => true + paths.app.metals "app/metal", :eager_load => true + paths.app.views "app/views", :eager_load => true paths.lib "lib", :load_path => true paths.lib.tasks "lib/tasks", :glob => "**/*.rake" paths.lib.templates "lib/templates" diff --git a/railties/test/application/paths_test.rb b/railties/test/application/paths_test.rb index d1192206dd..511b8b629a 100644 --- a/railties/test/application/paths_test.rb +++ b/railties/test/application/paths_test.rb @@ -56,9 +56,10 @@ module ApplicationTests end test "booting up Rails yields a list of paths that are eager" do - assert @paths.app.eager_load? - assert @paths.app.controllers.eager_load? - assert @paths.app.helpers.eager_load? + eager_load = @paths.eager_load + assert eager_load.include?(root("app/controllers")) + assert eager_load.include?(root("app/helpers")) + assert eager_load.include?(root("app/models")) end test "environments has a glob equal to the current environment" do diff --git a/railties/test/railties/shared_tests.rb b/railties/test/railties/shared_tests.rb index 0ebc8a2d3f..83d25be5db 100644 --- a/railties/test/railties/shared_tests.rb +++ b/railties/test/railties/shared_tests.rb @@ -263,13 +263,15 @@ YAML @plugin.write "config/routes.rb", <<-RUBY Rails.application.routes.draw do namespace :admin do - match "index", :to => "admin/foo#index" + namespace :foo do + match "bar", :to => "admin/foo/bar#index" + end end end RUBY - @plugin.write "app/controllers/admin/foo_controller.rb", <<-RUBY - class Admin::FooController < ApplicationController + @plugin.write "app/controllers/admin/foo/bar_controller.rb", <<-RUBY + class Admin::Foo::BarController < ApplicationController def index render :text => "Rendered from namespace" end @@ -280,7 +282,7 @@ YAML require 'rack/test' extend Rack::Test::Methods - get "/admin/index" + get "/admin/foo/bar" assert_equal 200, last_response.status assert_equal "Rendered from namespace", last_response.body end |