class TheGrid::Api::Command::Sort

Public Instance Methods

configure(relation, params) click to toggle source
# File lib/the_grid/api/command/sort.rb, line 3
def configure(relation, params)
  {}.tap do |o|
    o[:field] = params[:field]
    o[:field] = "#{relation.table_name}.#{o[:field]}" if relation.column_names.include?(params[:field])

    o[:order] = params[:order]
    o[:order] = 'asc' unless %w{ asc desc }.include?(o[:order])
  end
end
run_on(relation, params) click to toggle source
# File lib/the_grid/api/command/sort.rb, line 13
def run_on(relation, params)
  return relation if params[:field].blank?
  relation.order("#{params[:field]} #{params[:order]}")
end