diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2013-08-01 10:59:21 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2013-08-01 11:02:15 -0700 |
commit | b5c4274a34d6815415111369d09e6249ccf588f1 (patch) | |
tree | 87dea6ba268a921399c5836a96c00088d9ae4425 | |
parent | 655953cd4899bb5337bae6aad081dd1beab520eb (diff) | |
download | rails-b5c4274a34d6815415111369d09e6249ccf588f1.tar.gz rails-b5c4274a34d6815415111369d09e6249ccf588f1.tar.bz2 rails-b5c4274a34d6815415111369d09e6249ccf588f1.zip |
defning extensions happens once, no need to cache
-rw-r--r-- | activerecord/lib/active_record/associations/builder/collection_association.rb | 8 |
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}" |