aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/attribute_methods.rb
diff options
context:
space:
mode:
authorAlexander Uvarov <alexander.uvarov@gmail.com>2011-02-13 22:27:33 +0500
committerJosé Valim <jose.valim@gmail.com>2011-03-01 20:22:45 +0100
commit24faddd60c5fd148c8264898aeca2d5f36b25a4b (patch)
tree382b503b52f3f08a54cf24413ae93de99d8bf06c /activerecord/lib/active_record/attribute_methods.rb
parentfd26afc93be89df62584f6b28bd26ec9eea7ff00 (diff)
downloadrails-24faddd60c5fd148c8264898aeca2d5f36b25a4b.tar.gz
rails-24faddd60c5fd148c8264898aeca2d5f36b25a4b.tar.bz2
rails-24faddd60c5fd148c8264898aeca2d5f36b25a4b.zip
Move ActiveModel::AttributeMethods#attribute_methods_generated? to ActiveRecord, so it's flexible now
[#6428 state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
Diffstat (limited to 'activerecord/lib/active_record/attribute_methods.rb')
-rw-r--r--activerecord/lib/active_record/attribute_methods.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/attribute_methods.rb b/activerecord/lib/active_record/attribute_methods.rb
index 284ae2bebc..5833c65893 100644
--- a/activerecord/lib/active_record/attribute_methods.rb
+++ b/activerecord/lib/active_record/attribute_methods.rb
@@ -10,7 +10,18 @@ module ActiveRecord
# Generates all the attribute related methods for columns in the database
# accessors, mutators and query methods.
def define_attribute_methods
+ return if attribute_methods_generated?
super(column_names)
+ @attribute_methods_generated = true
+ end
+
+ def attribute_methods_generated?
+ @attribute_methods_generated ||= false
+ end
+
+ def undefine_attribute_methods(*args)
+ super
+ @attribute_methods_generated = false
end
# Checks whether the method is defined in the model or any of its subclasses