aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/initializer.rb
diff options
context:
space:
mode:
authorMarcel Molina <marcel@vernix.org>2005-11-21 05:55:35 +0000
committerMarcel Molina <marcel@vernix.org>2005-11-21 05:55:35 +0000
commit9a37fd44cb7df94d7b7652d03251bb6cd0675b45 (patch)
tree81ec171098209e9885f1c396403e6c5078e6164b /railties/lib/initializer.rb
parentf14625bb46f23cadf732d0ac4bd1cd24248e5023 (diff)
downloadrails-9a37fd44cb7df94d7b7652d03251bb6cd0675b45.tar.gz
rails-9a37fd44cb7df94d7b7652d03251bb6cd0675b45.tar.bz2
rails-9a37fd44cb7df94d7b7652d03251bb6cd0675b45.zip
Add plugin library directories to the load path after the lib directory so that libraries in the lib directory get precedence. Closes #2910.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3122 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'railties/lib/initializer.rb')
-rw-r--r--railties/lib/initializer.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/railties/lib/initializer.rb b/railties/lib/initializer.rb
index 81578e484e..6287f0ddc1 100644
--- a/railties/lib/initializer.rb
+++ b/railties/lib/initializer.rb
@@ -299,9 +299,13 @@ module Rails
has_lib = File.directory?(lib_path)
has_init = File.file?(init_path)
- # Add lib to load path.
- $LOAD_PATH.unshift(lib_path) if has_lib
-
+ # Add lib to load path *after* the application lib, to allow
+ # application libraries to override plugin libraries.
+ if has_lib
+ application_lib_index = $LOAD_PATH.index(File.join(RAILS_ROOT, "lib")) || 0
+ $LOAD_PATH.insert(application_lib_index + 1, lib_path)
+ end
+
# Allow plugins to reference the current configuration object
config = configuration