Module: Origin::Optional

Defined in:
lib/mongoid_sortable_relation/many/origin_optional.rb

Instance Method Summary collapse

Instance Method Details

#prepend_order_by(*spec) ⇒ Object Also known as: prepend_order



5
6
7
8
9
10
11
12
13
14
# File 'lib/mongoid_sortable_relation/many/origin_optional.rb', line 5

def prepend_order_by(*spec)
  option(spec) do |options, query|
    spec.compact.each do |criterion|
      criterion.__sort_option__.each_pair do |field, direction|
        add_sort_option(options, field, direction, true)
      end
      query.pipeline.push('$sort' => options[:sort]) if query and aggregating? # todo unknown method aggregating?
    end
  end
end