Permalink
Browse files

Replace 'rescue Object' with a finer grained rescue. Closes #4431

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4076 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
seckar committed Mar 28, 2006
1 parent e7db36b commit b55fc9e85aa79ca4c9ad1aef74b5d1a87aab87bb
Showing with 7 additions and 2 deletions.
  1. +2 −0 activerecord/CHANGELOG
  2. +5 −2 activerecord/lib/active_record/base.rb
View
@@ -1,5 +1,7 @@
*SVN*
+* Replace 'rescue Object' with a finer grained rescue. Closes #4431. [Nicholas Seckar]
+
* Fixed eager loading so that an aliased table cannot clash with a has_and_belongs_to_many join table [Rick]
* Add support for :include to with_scope [andrew@redlinesoftware.com]
@@ -1232,9 +1232,12 @@ def current_scoped_methods
# Returns the class type of the record using the current module as a prefix. So descendents of
# MyApp::Business::Account would appear as MyApp::Business::AccountSubclass.
def compute_type(type_name)
+ modularized_name = type_name_with_module(type_name)
begin
- instance_eval(type_name_with_module(type_name))
- rescue Object
+ instance_eval(modularized_name)
+ rescue NameError => e
+ first_module = modularized_name.split("::").first
+ raise unless e.to_s.include? first_module
instance_eval(type_name)
end
end

0 comments on commit b55fc9e

Please sign in to comment.