mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5753 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
@@ -12,8 +12,6 @@
|
||||
|
||||
* Added counter optimization for AssociationCollection#any? so person.friends.any? won't actually load the full association if we have the count in a cheaper form [DHH]
|
||||
|
||||
* Subclasses of an abstract class work with single-table inheritance. #5704 [nick+rails@ag.arizona.edu, Ryan Davis, Jeremy Kemper]
|
||||
|
||||
* Change fixture_path to a class inheritable accessor allowing test cases to have their own custom set of fixtures. #6672 [zdennis]
|
||||
|
||||
* Quote ActiveSupport::Multibyte::Chars. #6653 [Julian Tarkhanov]
|
||||
|
||||
@@ -816,7 +816,7 @@ module ActiveRecord #:nodoc:
|
||||
end
|
||||
|
||||
def descends_from_active_record? # :nodoc:
|
||||
superclass.abstract_class? || !columns_hash.include?(inheritance_column)
|
||||
superclass == Base || !columns_hash.include?(inheritance_column)
|
||||
end
|
||||
|
||||
|
||||
@@ -1360,7 +1360,7 @@ module ActiveRecord #:nodoc:
|
||||
|
||||
# Returns the class descending directly from ActiveRecord in the inheritance hierarchy.
|
||||
def class_of_active_record_descendant(klass)
|
||||
if klass.superclass.abstract_class?
|
||||
if klass.superclass == Base || klass.superclass.abstract_class?
|
||||
klass
|
||||
elsif klass.superclass.nil?
|
||||
raise ActiveRecordError, "#{name} doesn't belong in a hierarchy descending from ActiveRecord"
|
||||
@@ -1481,9 +1481,6 @@ module ActiveRecord #:nodoc:
|
||||
end
|
||||
end
|
||||
|
||||
# ActiveRecord::Base is abstract.
|
||||
self.abstract_class = true
|
||||
|
||||
public
|
||||
# New objects can be instantiated as either empty (pass no construction parameter) or pre-set with
|
||||
# attributes but not yet saved (pass a hash with key names matching the associated table column names).
|
||||
|
||||
@@ -1365,7 +1365,7 @@ class BasicsTest < Test::Unit::TestCase
|
||||
end
|
||||
|
||||
def test_abstract_class
|
||||
assert ActiveRecord::Base.abstract_class?
|
||||
assert !ActiveRecord::Base.abstract_class?
|
||||
assert LoosePerson.abstract_class?
|
||||
assert !LooseDescendant.abstract_class?
|
||||
end
|
||||
@@ -1408,7 +1408,7 @@ class BasicsTest < Test::Unit::TestCase
|
||||
assert !StiPost.descends_from_active_record?
|
||||
|
||||
# Concrete subclasses an abstract class which has a type column.
|
||||
assert SubStiPost.descends_from_active_record?
|
||||
assert !SubStiPost.descends_from_active_record?
|
||||
end
|
||||
|
||||
def test_find_on_abstract_base_class_doesnt_use_type_condition
|
||||
|
||||
Reference in New Issue
Block a user