Method: EagerGroup::Preloader::ManyToMany#aggregate_hash

Defined in:
lib/eager_group/preloader/many_to_many.rb

#aggregate_hashObject



10
11
12
13
14
15
16
17
# File 'lib/eager_group/preloader/many_to_many.rb', line 10

def aggregate_hash
  scope = klass.joins(reflection.name).tap{|query| query.merge!(definition_scope) if definition_scope}

  scope.where(group_by_foreign_key => record_ids).
    where(polymophic_as_condition).
    group(group_by_foreign_key).
    send(definition.aggregation_function, definition.column_name)
end