mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge pull request #40517 from eugeneius/depend_on_message
Use LoadError#original_message if available in depend_on
This commit is contained in:
commit
bc524f16ee
2 changed files with 13 additions and 1 deletions
|
@ -375,7 +375,12 @@ module ActiveSupport #:nodoc:
|
|||
require_or_load(path || file_name)
|
||||
rescue LoadError => load_error
|
||||
if file_name = load_error.message[/ -- (.*?)(\.rb)?$/, 1]
|
||||
load_error.message.replace(message % file_name)
|
||||
load_error_message = if load_error.respond_to?(:original_message)
|
||||
load_error.original_message
|
||||
else
|
||||
load_error.message
|
||||
end
|
||||
load_error_message.replace(message % file_name)
|
||||
load_error.copy_blame!(load_error)
|
||||
end
|
||||
raise
|
||||
|
|
|
@ -42,6 +42,13 @@ class DependenciesTest < ActiveSupport::TestCase
|
|||
assert_equal expected.path, e.path
|
||||
end
|
||||
|
||||
def test_depend_on_message
|
||||
e = assert_raises(LoadError) do
|
||||
ActiveSupport::Dependencies.depend_on "omgwtfbbq"
|
||||
end
|
||||
assert_equal "No such file to load -- omgwtfbbq.rb", e.message
|
||||
end
|
||||
|
||||
def test_require_dependency_accepts_an_object_which_implements_to_path
|
||||
o = Object.new
|
||||
def o.to_path; "dependencies/service_one"; end
|
||||
|
|
Loading…
Reference in a new issue