Class: Aggrobot::QueryPlanner::DefaultQueryPlanner
- Inherits:
-
Object
- Object
- Aggrobot::QueryPlanner::DefaultQueryPlanner
- Includes:
- Helper
- Defined in:
- lib/aggrobot/query_planner/default_query_planner.rb
Direct Known Subclasses
Instance Method Summary collapse
-
#initialize(collection, group) ⇒ DefaultQueryPlanner
constructor
A new instance of DefaultQueryPlanner.
- #query_results(extra_cols = []) ⇒ Object
- #sub_query(group_name) ⇒ Object
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 |