diff options
author | Josh Susser <josh@hasmanythrough.com> | 2011-11-27 14:15:40 -0800 |
---|---|---|
committer | Josh Susser <josh@hasmanythrough.com> | 2011-11-27 14:15:40 -0800 |
commit | 124c97fbe201f810d77f807ce69f37148e903c44 (patch) | |
tree | aa76767b9aadc5f60e6a25fbf5ae4b82eef4a033 /activerecord/lib/active_record/associations/builder/has_many.rb | |
parent | 10834e975a54b63a07896cb8a6a16c336e20a792 (diff) | |
download | rails-124c97fbe201f810d77f807ce69f37148e903c44.tar.gz rails-124c97fbe201f810d77f807ce69f37148e903c44.tar.bz2 rails-124c97fbe201f810d77f807ce69f37148e903c44.zip |
avoid warnings
This change uses Module.redefine_method as defined in ActiveSupport.
Making Module.define_method public would be as clean in the code, and
would also emit warnings when redefining an association. That is pretty
messy given current tests, so I'm leaving it for someone else to decide
what approach is better.
Diffstat (limited to 'activerecord/lib/active_record/associations/builder/has_many.rb')
-rw-r--r-- | activerecord/lib/active_record/associations/builder/has_many.rb | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/associations/builder/has_many.rb b/activerecord/lib/active_record/associations/builder/has_many.rb index 8a6f5a87e7..d29a525b9e 100644 --- a/activerecord/lib/active_record/associations/builder/has_many.rb +++ b/activerecord/lib/active_record/associations/builder/has_many.rb @@ -28,7 +28,7 @@ module ActiveRecord::Associations::Builder def define_destroy_dependency_method name = self.name - mixin.send(:define_method, dependency_method_name) do + mixin.redefine_method(dependency_method_name) do send(name).each do |o| # No point in executing the counter update since we're going to destroy the parent anyway counter_method = ('belongs_to_counter_cache_before_destroy_for_' + self.class.name.downcase).to_sym @@ -45,7 +45,7 @@ module ActiveRecord::Associations::Builder def define_delete_all_dependency_method name = self.name - mixin.send(:define_method, dependency_method_name) do + mixin.redefine_method(dependency_method_name) do send(name).delete_all end end @@ -53,7 +53,7 @@ module ActiveRecord::Associations::Builder def define_restrict_dependency_method name = self.name - mixin.send(:define_method, dependency_method_name) do + mixin.redefine_method(dependency_method_name) do raise ActiveRecord::DeleteRestrictionError.new(name) unless send(name).empty? end end |