module Seek::Sorting
Attributes
default_sort_by[W]
default_sort_direction[W]
sort_by[W]
sort_direction[W]
valid_sort_bys[W]
Public Instance Methods
default_sort_by()
click to toggle source
Returns a String or nil.
# File lib/seek/sorting.rb, line 40 def default_sort_by result = @default_sort_by.to_s.downcase valid_sort_bys.include?(result) ? result : valid_sort_bys.first end
default_sort_direction()
click to toggle source
# File lib/seek/sorting.rb, line 45 def default_sort_direction result = @default_sort_direction.to_s.downcase valid_sort_directions.include?(result) ? result : valid_sort_directions.first end
order()
click to toggle source
Useful for queries that require the format “first_name desc” (such as SQL or lucene)
Returns a String or nil
# File lib/seek/sorting.rb, line 29 def order return if sort_by.to_s.empty? [sort_by, sort_direction].join(' ') end
sort_by()
click to toggle source
Returns a String or nil.
# File lib/seek/sorting.rb, line 14 def sort_by result = @sort_by.to_s.downcase return result if !result.empty? && (valid_sort_bys.empty? || valid_sort_bys.include?(result)) default_sort_by end
sort_direction()
click to toggle source
# File lib/seek/sorting.rb, line 20 def sort_direction result = @sort_direction.to_s.downcase valid_sort_directions.include?(result) ? result : default_sort_direction end
sortable?()
click to toggle source
Returns true if sort_by
and sort_direction
are present.
# File lib/seek/sorting.rb, line 8 def sortable? !!order end
valid_sort_bys()
click to toggle source
# File lib/seek/sorting.rb, line 34 def valid_sort_bys Array(@valid_sort_bys).map(&:to_s).map(&:downcase) end
Private Instance Methods
valid_sort_directions()
click to toggle source
# File lib/seek/sorting.rb, line 52 def valid_sort_directions %w{ asc desc } end