diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2014-06-09 23:34:06 -0300 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2014-06-09 23:34:06 -0300 |
commit | bcbc4f44ec24b52f75361e6342f063ad8e3892c7 (patch) | |
tree | dabee54d5ac2646f69309e12b856b9c378662503 /activerecord/lib/active_record/associations | |
parent | e1175d99e2c2813b248475fd0234818cd3b3e386 (diff) | |
parent | bfd0159413ac7941c80166b41856795d93158bb1 (diff) | |
download | rails-bcbc4f44ec24b52f75361e6342f063ad8e3892c7.tar.gz rails-bcbc4f44ec24b52f75361e6342f063ad8e3892c7.tar.bz2 rails-bcbc4f44ec24b52f75361e6342f063ad8e3892c7.zip |
Merge pull request #15597 from eileencodes/reuse-available-collection-methods
reuse available collection? check instead of macro
Diffstat (limited to 'activerecord/lib/active_record/associations')
-rw-r--r-- | activerecord/lib/active_record/associations/association.rb | 2 | ||||
-rw-r--r-- | activerecord/lib/active_record/associations/has_many_through_association.rb | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/associations/association.rb b/activerecord/lib/active_record/associations/association.rb index 89cbb50035..f1c36cd047 100644 --- a/activerecord/lib/active_record/associations/association.rb +++ b/activerecord/lib/active_record/associations/association.rb @@ -179,7 +179,7 @@ module ActiveRecord def creation_attributes attributes = {} - if (reflection.has_one? || reflection.macro == :has_many) && !options[:through] + if (reflection.has_one? || reflection.collection?) && !options[:through] attributes[reflection.foreign_key] = owner[reflection.active_record_primary_key] if reflection.options[:as] diff --git a/activerecord/lib/active_record/associations/has_many_through_association.rb b/activerecord/lib/active_record/associations/has_many_through_association.rb index f155ab1d2a..da9b125fd6 100644 --- a/activerecord/lib/active_record/associations/has_many_through_association.rb +++ b/activerecord/lib/active_record/associations/has_many_through_association.rb @@ -105,7 +105,7 @@ module ActiveRecord inverse = source_reflection.inverse_of if inverse - if inverse.macro == :has_many + if inverse.collection? record.send(inverse.name) << build_through_record(record) elsif inverse.has_one? record.send("#{inverse.name}=", build_through_record(record)) @@ -170,7 +170,7 @@ module ActiveRecord klass.decrement_counter counter, records.map(&:id) end - if through_reflection.macro == :has_many && update_through_counter?(method) + if through_reflection.collection? && update_through_counter?(method) update_counter(-count, through_reflection) end @@ -187,7 +187,7 @@ module ActiveRecord records.each do |record| through_records = through_records_for(record) - if through_reflection.macro == :has_many + if through_reflection.collection? through_records.each { |r| through_association.target.delete(r) } else if through_records.include?(through_association.target) |