Module: ActiveRecord::Precount::CollectionProxyExtension

Defined in:
lib/active_record/precount/collection_proxy_extension.rb

Instance Method Summary collapse

Instance Method Details

#count(*args) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/active_record/precount/collection_proxy_extension.rb', line 4

def count(*args)
  return super(*args) if args.present?

  counter_name = :"#{@association.reflection.name}_count"
  owner        = @association.owner

  if owner.class.has_reflection?(counter_name) && owner.association(counter_name).loaded?
    owner.association(counter_name).target
  else
    super(*args)
  end
end