Module: ActiveRecord::Precount::RelationExtension

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

Instance Method Summary collapse

Instance Method Details

#eager_count(*args) ⇒ Object



18
19
20
21
# File 'lib/active_record/precount/relation_extension.rb', line 18

def eager_count(*args)
  check_if_method_has_arguments!(:eager_count, args)
  spawn.eager_count!(*args)
end

#eager_count!(*args) ⇒ Object



23
24
25
26
27
28
# File 'lib/active_record/precount/relation_extension.rb', line 23

def eager_count!(*args)
  CountLoaderBuilder.new(klass).build_from_query_methods(*args)

  self.eager_load_values += args.map { |arg| :"#{arg}_count" }
  self
end

#precount(*args) ⇒ Object



6
7
8
9
# File 'lib/active_record/precount/relation_extension.rb', line 6

def precount(*args)
  check_if_method_has_arguments!(:precount, args)
  spawn.precount!(*args)
end

#precount!(*args) ⇒ Object



11
12
13
14
15
16
# File 'lib/active_record/precount/relation_extension.rb', line 11

def precount!(*args)
  CountLoaderBuilder.new(klass).build_from_query_methods(*args)

  self.preload_values += args.map { |arg| :"#{arg}_count" }
  self
end