aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2008-11-29 10:57:36 +0100
committerDavid Heinemeier Hansson <david@loudthinking.com>2008-11-29 10:57:36 +0100
commitfdfcdf467387c4db3d79c1f46eadbb55a88ef814 (patch)
treef88ce62ce715911cf4eb2bb46e0a78f298548d08
parent1e8f9634f65e1076deba3e20cca3d032ec12e026 (diff)
downloadrails-fdfcdf467387c4db3d79c1f46eadbb55a88ef814.tar.gz
rails-fdfcdf467387c4db3d79c1f46eadbb55a88ef814.tar.bz2
rails-fdfcdf467387c4db3d79c1f46eadbb55a88ef814.zip
Enhanced Rails.root to take parameters that'll be join with the root, like Rails.root('app', 'controllers') => File.join(Rails.root, 'app', 'controllers') [#1482 state:committed] (Damian Janowski)
-rw-r--r--railties/CHANGELOG2
-rw-r--r--railties/lib/initializer.rb8
-rw-r--r--railties/test/initializer_test.rb10
3 files changed, 14 insertions, 6 deletions
diff --git a/railties/CHANGELOG b/railties/CHANGELOG
index 250822db7e..ad8ba43c17 100644
--- a/railties/CHANGELOG
+++ b/railties/CHANGELOG
@@ -1,5 +1,7 @@
*2.3.0 [Edge]*
+* Enhanced Rails.root to take parameters that'll be join with the root, like Rails.root('app', 'controllers') => File.join(Rails.root, 'app', 'controllers') #1482 [Damian Janowski]
+
* Added view path support for engines [DHH]
* Added that config/routes.rb files in engine plugins are automatically loaded (and reloaded when they change in dev mode) [DHH]
diff --git a/railties/lib/initializer.rb b/railties/lib/initializer.rb
index 0c06d1bf21..5baaf81403 100644
--- a/railties/lib/initializer.rb
+++ b/railties/lib/initializer.rb
@@ -48,12 +48,8 @@ module Rails
end
end
- def root
- if defined?(RAILS_ROOT)
- RAILS_ROOT
- else
- nil
- end
+ def root(*args)
+ File.join(RAILS_ROOT, *args.compact) if defined?(RAILS_ROOT)
end
def env
diff --git a/railties/test/initializer_test.rb b/railties/test/initializer_test.rb
index 2104412c54..33c81bc5ad 100644
--- a/railties/test/initializer_test.rb
+++ b/railties/test/initializer_test.rb
@@ -311,3 +311,13 @@ uses_mocha 'i18n settings' do
end
end
end
+
+class RailsRootTest < Test::Unit::TestCase
+ def test_rails_dot_root_equals_rails_root
+ assert_equal RAILS_ROOT, Rails.root
+ end
+
+ def test_rails_dot_root_accepts_arguments_for_file_dot_join
+ assert_equal File.join(RAILS_ROOT, 'app', 'controllers'), Rails.root('app', 'controllers')
+ end
+end \ No newline at end of file