aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations/builder/collection_association.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2013-08-01 10:59:21 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2013-08-01 11:02:15 -0700
commitb5c4274a34d6815415111369d09e6249ccf588f1 (patch)
tree87dea6ba268a921399c5836a96c00088d9ae4425 /activerecord/lib/active_record/associations/builder/collection_association.rb
parent655953cd4899bb5337bae6aad081dd1beab520eb (diff)
downloadrails-b5c4274a34d6815415111369d09e6249ccf588f1.tar.gz
rails-b5c4274a34d6815415111369d09e6249ccf588f1.tar.bz2
rails-b5c4274a34d6815415111369d09e6249ccf588f1.zip
defning extensions happens once, no need to cache
Diffstat (limited to 'activerecord/lib/active_record/associations/builder/collection_association.rb')
-rw-r--r--activerecord/lib/active_record/associations/builder/collection_association.rb8
1 files changed, 3 insertions, 5 deletions
diff --git a/activerecord/lib/active_record/associations/builder/collection_association.rb b/activerecord/lib/active_record/associations/builder/collection_association.rb
index 076fedc1a9..a7f8c2af46 100644
--- a/activerecord/lib/active_record/associations/builder/collection_association.rb
+++ b/activerecord/lib/active_record/associations/builder/collection_association.rb
@@ -32,7 +32,9 @@ module ActiveRecord::Associations::Builder
def define_extensions(model)
if block_extension
- @extension_module = mod = Module.new(&block_extension)
+ mod = Module.new(&block_extension)
+ extension_module_name = "#{model.name.demodulize}#{name.to_s.camelize}AssociationExtension"
+
silence_warnings do
model.parent.const_set(extension_module_name, mod)
end
@@ -47,10 +49,6 @@ module ActiveRecord::Associations::Builder
end
end
- def extension_module_name
- @extension_module_name ||= "#{model.name.demodulize}#{name.to_s.camelize}AssociationExtension"
- end
-
def define_callback(model, callback_name)
full_callback_name = "#{callback_name}_for_#{name}"