aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorCarl Lerche <carllerche@mac.com>2009-06-30 13:55:11 -0700
committerCarl Lerche <carllerche@mac.com>2009-06-30 13:55:11 -0700
commit132e6d00638dc6370fafa0f1377d3bca17eee2d1 (patch)
tree45163b0acb6cb4f03a2340ef3d37c22d89226ad4 /railties
parentf281745056cd67c967c5a695694061f515385be8 (diff)
downloadrails-132e6d00638dc6370fafa0f1377d3bca17eee2d1.tar.gz
rails-132e6d00638dc6370fafa0f1377d3bca17eee2d1.tar.bz2
rails-132e6d00638dc6370fafa0f1377d3bca17eee2d1.zip
Add #concat to Rails::Application::Path
Diffstat (limited to 'railties')
-rw-r--r--railties/lib/rails/configuration.rb2
-rw-r--r--railties/lib/rails/paths.rb4
-rw-r--r--railties/test/paths_test.rb7
3 files changed, 12 insertions, 1 deletions
diff --git a/railties/lib/rails/configuration.rb b/railties/lib/rails/configuration.rb
index 7a903211fa..d877915460 100644
--- a/railties/lib/rails/configuration.rb
+++ b/railties/lib/rails/configuration.rb
@@ -76,7 +76,7 @@ module Rails
@paths.config.locales = "config/locales"
@paths.config.environments = "config/environments"
- builtin_directories.each { |dir| @paths.app.controllers << dir }
+ @paths.app.controllers.concat builtin_directories
@paths.app.load_path!
@paths.app.metals.load_path!
diff --git a/railties/lib/rails/paths.rb b/railties/lib/rails/paths.rb
index aada7d4a56..d2f6d83659 100644
--- a/railties/lib/rails/paths.rb
+++ b/railties/lib/rails/paths.rb
@@ -80,6 +80,10 @@ module Rails
@paths.unshift path
end
+ def concat(paths)
+ @paths.concat paths
+ end
+
def load_once!
@load_once = true
@root.load_once.push *self.paths
diff --git a/railties/test/paths_test.rb b/railties/test/paths_test.rb
index a1ed43ad6d..fa2f6ceee2 100644
--- a/railties/test/paths_test.rb
+++ b/railties/test/paths_test.rb
@@ -52,6 +52,12 @@ class PathsTest < ActiveSupport::TestCase
assert_equal ["/app", "/app2"], @root.app.to_a
end
+ test "adding multiple physical paths using concat" do
+ @root.app = "/app"
+ @root.app.concat ["/app2", "/app3"]
+ assert_equal ["/app", "/app2", "/app3"], @root.app.to_a
+ end
+
test "adding multiple physical paths using #unshift" do
@root.app = "/app"
@root.app.unshift "/app2"
@@ -62,6 +68,7 @@ class PathsTest < ActiveSupport::TestCase
assert_raise(RuntimeError) { Rails::Application::Root.new(["/fiz", "/biz"]) }
assert_raise(NoMethodError) { @root.push "/biz" }
assert_raise(NoMethodError) { @root.unshift "/biz" }
+ assert_raise(NoMethodError) { @root.concat ["/biz"]}
assert_raise(NoMethodError) { @root << "/biz" }
end