Class: Aggrobot::QueryPlanner::BucketedGroupsQueryPlanner
Instance Method Summary
collapse
#validate_and_extract_relation, #validate_options
Constructor Details
5
6
7
8
9
10
11
12
13
|
# File 'lib/aggrobot/query_planner/bucketed_groups_query_planner.rb', line 5
def initialize(collection, group, opts = {})
required_params = [:buckets]
optional_params = [:keep_empty]
validate_options(opts, required_params, optional_params)
raise_error 'Need to set group first' unless group
super(collection, group)
create_query_map(opts[:buckets])
@keep_empty = opts[:keep_empty]
end
|
Instance Method Details
#query_results(extra_cols = []) ⇒ Object
19
20
21
22
23
24
|
# File 'lib/aggrobot/query_planner/bucketed_groups_query_planner.rb', line 19
def query_results( = [])
return empty_buckets if collection_is_none?
results = collect_query_results()
results.reject! { |r| r[1] == 0 } unless @keep_empty
results
end
|
#sub_query(group_value) ⇒ Object
15
16
17
|
# File 'lib/aggrobot/query_planner/bucketed_groups_query_planner.rb', line 15
def sub_query(group_value)
@query_map[group_value]
end
|