aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2012-06-12 16:19:51 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2012-06-12 16:19:51 -0700
commit56a1bb2f1066d0c119834019916f1e4b05fffec0 (patch)
tree5fa6e1a833c2327aff83eb9c5103024c2c377a32 /activesupport/lib
parent00d8ee8e303be3b2036a68408b8d6eba3cab5612 (diff)
downloadrails-56a1bb2f1066d0c119834019916f1e4b05fffec0.tar.gz
rails-56a1bb2f1066d0c119834019916f1e4b05fffec0.tar.bz2
rails-56a1bb2f1066d0c119834019916f1e4b05fffec0.zip
raise the same exception in order to keep path info
Ruby 2.0.0 implements LoadError#path, but newly raised load errors will not contain the path information. Replace the error message, copy blame, and rereaise the same exception object
Diffstat (limited to 'activesupport/lib')
-rw-r--r--activesupport/lib/active_support/dependencies.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/dependencies.rb b/activesupport/lib/active_support/dependencies.rb
index 5db06e0a56..c9071a73d8 100644
--- a/activesupport/lib/active_support/dependencies.rb
+++ b/activesupport/lib/active_support/dependencies.rb
@@ -305,7 +305,8 @@ module ActiveSupport #:nodoc:
require_or_load(path || file_name)
rescue LoadError => load_error
if file_name = load_error.message[/ -- (.*?)(\.rb)?$/, 1]
- raise LoadError.new(message % file_name).copy_blame!(load_error)
+ load_error.message.replace(message % file_name)
+ load_error.copy_blame!(load_error)
end
raise
end