Class: PatternQueryHelper::Sorting

Inherits:
Object
  • Object
show all
Defined in:
lib/pattern_query_helper/sorting.rb

Class Method Summary collapse

Class Method Details

.parse_sorting_params(params) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/pattern_query_helper/sorting.rb', line 3

def self.parse_sorting_params(params)
  sort_sql= []
  if params[:sort]
    sorts = params[:sort].split(",")
    sorts.each_with_index do |sort, index|
      if sort.split(":")[1] == "desc"
        case PatternQueryHelper.active_record_adapter
        when "sqlite3"
          direction = "desc"
        else
          direction = "desc null last"
        end
      else
        direction = "asc"
      end
      sort_sql << "#{sort.split(":")[0]} #{direction}"
    end
  end
  sort_sql.join(", ")
end

.sort_active_record_query(active_record_call, sort_string) ⇒ Object



24
25
26
# File 'lib/pattern_query_helper/sorting.rb', line 24

def self.sort_active_record_query(active_record_call, sort_string)
  active_record_call.order(sort_string)
end