Class: Aggrobot::QueryPlanner::DefaultQueryPlanner

Inherits:
Object
  • Object
show all
Includes:
Helper
Defined in:
lib/aggrobot/query_planner/default_query_planner.rb

Instance Method Summary collapse

Methods included from Helper

#block_from_args, #raise_error

Constructor Details

#initialize(collection, group) ⇒ DefaultQueryPlanner

Returns a new instance of DefaultQueryPlanner.



6
7
8
# File 'lib/aggrobot/query_planner/default_query_planner.rb', line 6

def initialize(collection, group)
  @collection, @group = collection, group
end

Instance Method Details

#query_results(extra_cols = []) ⇒ Object



14
15
16
17
18
# File 'lib/aggrobot/query_planner/default_query_planner.rb', line 14

def query_results(extra_cols = [])
  return [] if collection_is_none?
  columns = [@group, SqlFunctions.count] + extra_cols
  results_query.pluck(*columns)
end

#sub_query(group_name) ⇒ Object



10
11
12
# File 'lib/aggrobot/query_planner/default_query_planner.rb', line 10

def sub_query(group_name)
  @group == DEFAULT_GROUP_BY ? @collection : @collection.where(@group => group_name)
end