diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2005-03-23 11:48:10 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2005-03-23 11:48:10 +0000 |
commit | 3697df1dd2be6e51867bea4d6089f01f8f204f3c (patch) | |
tree | 6d529e1637b88b89d9436531bfef2be33c9b3f02 /actionwebservice | |
parent | d09e42cfe4b970c03402ab41e3eef95cd32fa4d3 (diff) | |
download | rails-3697df1dd2be6e51867bea4d6089f01f8f204f3c.tar.gz rails-3697df1dd2be6e51867bea4d6089f01f8f204f3c.tar.bz2 rails-3697df1dd2be6e51867bea4d6089f01f8f204f3c.zip |
Improved error reporting especially around never shallowing exceptions. Debugging helpers should be much easier now #980 [Nicholas Seckar]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@984 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionwebservice')
-rw-r--r-- | actionwebservice/lib/action_web_service/container/action_controller_container.rb | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/actionwebservice/lib/action_web_service/container/action_controller_container.rb b/actionwebservice/lib/action_web_service/container/action_controller_container.rb index 4dda93ec11..12a566ef8e 100644 --- a/actionwebservice/lib/action_web_service/container/action_controller_container.rb +++ b/actionwebservice/lib/action_web_service/container/action_controller_container.rb @@ -64,7 +64,8 @@ module ActionWebService # :nodoc: require_dependency(file_name) rescue LoadError => load_error requiree = / -- (.*?)(\.rb)?$/.match(load_error).to_a[1] - raise LoadError, requiree == file_name ? "Missing API definition file in apis/#{file_name}.rb" : "Can't load file: #{requiree}" + msg = requiree == file_name ? "Missing API definition file in apis/#{file_name}.rb" : "Can't load file: #{requiree}" + raise LoadError.new(msg).copy_blame!(load_error) end klass = nil class_names.each do |name| @@ -83,8 +84,10 @@ module ActionWebService # :nodoc: private def inherited(child) inherited_without_api(child) - child.web_service_api(child.controller_path) - rescue Exception => e + begin child.web_service_api(child.controller_path) + rescue MissingSourceFile => e + raise unless e.path == "apis/#{child.controller_path}_api.rb" + end end end end |