1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Merge pull request #15597 from eileencodes/reuse-available-collection-methods

reuse available collection? check instead of macro
This commit is contained in:
Rafael Mendonça França 2014-06-09 23:34:06 -03:00
commit bcbc4f44ec
3 changed files with 5 additions and 5 deletions

View file

@ -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]

View file

@ -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)

View file

@ -392,7 +392,7 @@ Joining, Preloading and eager loading of these associations is deprecated and wi
# * you use autosave; <tt>autosave: true</tt>
# * the association is a +has_many+ association
def validate?
!options[:validate].nil? ? options[:validate] : (options[:autosave] == true || macro == :has_many)
!options[:validate].nil? ? options[:validate] : (options[:autosave] == true || collection?)
end
# Returns +true+ if +self+ is a +belongs_to+ reflection.