Module: MongoidSortable::Sorting::ClassMethods

Defined in:
lib/mongoid_sortable/sorting.rb

Instance Method Summary collapse

Instance Method Details

#default_sorting(&block) ⇒ Object



16
17
18
# File 'lib/mongoid_sortable/sorting.rb', line 16

def default_sorting(&block)
  sortable_by(:__default__, &block)
end

#sortable_by(*fields, &block) ⇒ Object



12
13
14
# File 'lib/mongoid_sortable/sorting.rb', line 12

def sortable_by(*fields, &block)
  self.sortable_settings.add_fields(fields.flatten.map(&:to_sym), &block)
end

#sorting(params) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/mongoid_sortable/sorting.rb', line 20

def sorting(params)
  new_criteria = criteria
  if params && params[:order_by]
    prepare_sort_params(params).each do |field, order|
      new_criteria = new_criteria.order_by(field => order)
    end
  end
  new_criteria
end