module AllSorts::ClassMethods
Public Instance Methods
sort(params)
click to toggle source
# File lib/all_sorts.rb, line 11 def sort(params) #remove non filter params params.delete_if { |key, value| key.to_s.index('sort_').nil? } keys = params.keys.sort #params.keys.sort_by {|s| s.to_s}.map {|key| [key, params[key]] } sorters = [] keys.each do |key, value| keysplit = key.to_s.split('_') unless @sortable_fields and not @sortable_fields.include?(keysplit.last.to_sym) if column_names.include?(keysplit.last) sorters << "#{keysplit.last} #{params[key]}" end end end order(sorters) end
sortable_fields(*fields)
click to toggle source
# File lib/all_sorts.rb, line 7 def sortable_fields(*fields) @sortable_fields = fields end