Method: Aggrobot::QueryPlanner.create
- Defined in:
- lib/aggrobot/query_planner.rb
.create(collection, group_by, opts = nil) ⇒ Object
creates query object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/aggrobot/query_planner.rb', line 11 def self.create(collection, group_by, opts = nil) case when opts.nil? DefaultQueryPlanner.new(collection, group_by) when opts.key?(:limit_to) # GROUP attrs by 'group_by' with limit GroupLimitQueryPlanner.new(collection, group_by, opts) when opts.key?(:buckets) # GROUP attrs by 'group_by' in buckets of opts[:buckets], e.g. 1..100, 101..200 etc BucketedGroupsQueryPlanner.new(collection, group_by, opts) else raise ArgumentError.new "Invalid options to group_by : #{opts}" end end |