aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2011-12-24 00:15:08 +0000
committerJon Leighton <j@jonathanleighton.com>2011-12-24 11:08:16 +0000
commita1ee3ac654078ef57832b8e9833ac13afcb944fa (patch)
tree8900f0f628405e3cd39baa96f54e00cecfdca86e /activerecord
parent1029c511f190fbcf4214fa89118bd7264ef9959c (diff)
downloadrails-a1ee3ac654078ef57832b8e9833ac13afcb944fa.tar.gz
rails-a1ee3ac654078ef57832b8e9833ac13afcb944fa.tar.bz2
rails-a1ee3ac654078ef57832b8e9833ac13afcb944fa.zip
Ensure attribute methods are included after all the AR stuff
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/attribute_methods.rb2
-rw-r--r--activerecord/lib/active_record/core.rb2
-rw-r--r--activerecord/test/cases/base_test.rb1
3 files changed, 3 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/attribute_methods.rb b/activerecord/lib/active_record/attribute_methods.rb
index 7cb4326754..44b0956e4e 100644
--- a/activerecord/lib/active_record/attribute_methods.rb
+++ b/activerecord/lib/active_record/attribute_methods.rb
@@ -52,7 +52,7 @@ module ActiveRecord
end
def undefine_attribute_methods
- super
+ super if attribute_methods_generated?
@attribute_methods_generated = false
end
diff --git a/activerecord/lib/active_record/core.rb b/activerecord/lib/active_record/core.rb
index 8143e31f26..4f118e46a9 100644
--- a/activerecord/lib/active_record/core.rb
+++ b/activerecord/lib/active_record/core.rb
@@ -67,7 +67,7 @@ module ActiveRecord
# The connection handler
class_attribute :connection_handler, :instance_writer => false
- initialize_generated_modules
+ initialize_generated_modules unless self == Base
end
module ClassMethods
diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb
index 6ff0c1355c..c465e9b556 100644
--- a/activerecord/test/cases/base_test.rb
+++ b/activerecord/test/cases/base_test.rb
@@ -76,6 +76,7 @@ class BasicsTest < ActiveRecord::TestCase
assert(modules.index(Computer.generated_attribute_methods) > modules.index(Computer.generated_feature_methods),
"generated_attribute_methods must be higher in inheritance hierarchy than generated_feature_methods")
assert_not_equal Computer.generated_feature_methods, Post.generated_feature_methods
+ assert(modules.index(Computer.generated_attribute_methods) < modules.index(ActiveRecord::Base.ancestors[1]))
end
def test_column_names_are_escaped