module Lanes::Concerns::SortingExpressions::ClassMethods
Public Instance Methods
append_sort_to_query(query, field, dir)
click to toggle source
# File lib/lanes/concerns/sorting_expressions.rb, line 22 def append_sort_to_query(query, field, dir) dir = :asc unless dir == :desc if @sorting_expressions && (block = @sorting_expressions[field]) block.call(query, dir) else query.order(field.gsub(/[^\w|^\.]/,'') + ' ' + ( ( :asc == dir ) ? 'ASC' : 'DESC' ) ) end end
export_sort( name, &block )
click to toggle source
Add a proc that will be called to add a sort expression to a query. The proc should accept an arel query object and a single direction parameter, which will be a symbol value of :asc or :desc It must return a arel query with the sort applied @param name [String] The name of the expression
# File lib/lanes/concerns/sorting_expressions.rb, line 13 def export_sort( name, &block ) @sorting_expressions ||= {} @sorting_expressions[name.to_s] = block end
has_sorting_expression?(name)
click to toggle source
# File lib/lanes/concerns/sorting_expressions.rb, line 18 def has_sorting_expression?(name) @sorting_expressions && @sorting_expressions[name] end