Method: Effective::DatatableColumnTool#order

Defined in:
app/models/effective/datatable_column_tool.rb

#order(collection) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'app/models/effective/datatable_column_tool.rb', line 28

def order(collection)
  return collection unless ordered.present?

  collection = if ordered[:sort_method]
    datatable.dsl_tool.instance_exec(collection, datatable.order_direction, ordered, ordered[:sql_column], &ordered[:sort_method])
  else
    order_column(collection, datatable.order_direction, ordered, ordered[:sql_column])
  end

  raise 'sort method must return an ActiveRecord::Relation object' unless collection.kind_of?(ActiveRecord::Relation)

  collection
end