3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/sql_search_n_sort/sql_sort_setup.rb', line 3
def setup_sql_sort(model_class=nil)
model = model_class || controller_name.classify.constantize
if model.is_a? SqlSearchableSortable
if @selected_sort_opt = sort_by = get_sort_by(model) @sort_by = (sort_by.split.length > 1) ?
sort_by.split.first.to_sym : sort_by.to_sym
dir = (sort_by.split.length > 1) ? sort_by.split[1].to_sym : nil
if [:asc, :desc].include?(dir)
@sort_dir = dir
else
@sort_dir = :asc
params[:sort_by] = @sort_by
end
else
sort_by_param = model.default_sort_col.to_s
sort_by_param += " #{model.default_sort_dir}" if model.default_sort_dir
@selected_sort_opt = sort_by_param.gsub(/\sasc/i, "")
params[:sort_by] = sort_by_param
end
@sort_dropdown_opts = model.sort_cols_for_dropdown
@sort_dir ||= :asc
end
end
|