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

added a class rdoc and documented count_records in has_many_association.rb

This commit is contained in:
Xavier Noria 2008-08-19 02:51:37 +02:00
parent 48f56bf2be
commit 2ee60b0f70

View file

@ -1,5 +1,9 @@
module ActiveRecord
module Associations
# This is the proxy that handles a has many association.
#
# If the association has a <tt>:through</tt> option further specialization
# is provided by its child HasManyThroughAssociation.
class HasManyAssociation < AssociationCollection #:nodoc:
# Count the number of associated records. All arguments are optional.
def count(*args)
@ -27,6 +31,16 @@ module ActiveRecord
end
end
# Returns the number of records in this collection.
#
# If the association has a counter cache it gets that value. Otherwise
# a count via SQL is performed, bounded to <tt>:limit</tt> if there's one.
# That does not depend on whether the collection has already been loaded
# or not. The +size+ method is the one that takes the loaded flag into
# account and delegates to +count_records+ if needed.
#
# If the collection is empty the target is set to an empty array and
# the loaded flag is set to true as well.
def count_records
count = if has_cached_counter?
@owner.send(:read_attribute, cached_counter_attribute_name)