Module: Aggrobot::QueryPlanner

Defined in:
lib/aggrobot/query_planner.rb,
lib/aggrobot/query_planner/default_query_planner.rb,
lib/aggrobot/query_planner/group_limit_query_planner.rb,
lib/aggrobot/query_planner/bucketed_groups_query_planner.rb

Defined Under Namespace

Modules: ParametersValidator Classes: BucketedGroupsQueryPlanner, DefaultQueryPlanner, GroupLimitQueryPlanner

Class Method Summary collapse

Class Method Details

.create(collection, group_by, opts = nil) ⇒ Object



7
8
9
10
11
12
13
14
15
16
# File 'lib/aggrobot/query_planner.rb', line 7

def self.create(collection, group_by, opts = nil)
  case
  when opts.nil?
    DefaultQueryPlanner.new(collection, group_by)
  when opts.key?(:limit_to)
    GroupLimitQueryPlanner.new(collection, group_by, opts)
  when opts.key?(:buckets)
    BucketedGroupsQueryPlanner.new(collection, group_by, opts)
  end
end