sql_search_n_sort 2.0.1 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/sql_search_n_sort/sql_searchable_sortable.rb +19 -6
- data/lib/sql_search_n_sort/sql_sort_setup.rb +13 -7
- data/lib/sql_search_n_sort/version.rb +1 -1
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/test.log +121337 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 03e83d0cfb7a3e84a681a5905cbd1fbf7a40a996
|
4
|
+
data.tar.gz: 14d29c20d503653a279e6c47dea3f82117e0a2d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c8dd28d7ef5f0d70b1f677d564450e19e8a10d77796fdccfdcc5643e1044e0567512b54868c1197cc2d865dfdd09e66241d296bc1b688a6ca03a00f07ad9b68
|
7
|
+
data.tar.gz: 11927189b6f4f2164167e527d0c0bc1d56078dae828cf76ad123d1a9ddfc199f01f0a5bee385bf2b0066bfde0dc2349f78dba21b9425fef8c503b306707da863
|
@@ -51,12 +51,7 @@ module SqlSearchableSortable
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def sort_cols_for_dropdown
|
54
|
-
|
55
|
-
return sort_config.inject([]) do |m, col_conf|
|
56
|
-
m << ["#{col_conf.display_text || col_conf.column.to_s.humanize}", "#{col_conf.column.to_s}"] if col_conf.show_asc
|
57
|
-
m << ["#{col_conf.display_text || col_conf.column.to_s.humanize} [desc]", "#{col_conf.column.to_s} desc"] if col_conf.show_desc
|
58
|
-
m
|
59
|
-
end
|
54
|
+
sort_config.select_opts
|
60
55
|
end
|
61
56
|
|
62
57
|
class ModelSortConfig < Array
|
@@ -83,6 +78,12 @@ module SqlSearchableSortable
|
|
83
78
|
def contains_column(col)
|
84
79
|
self.any? { |sc| sc.column == col }
|
85
80
|
end
|
81
|
+
|
82
|
+
def select_opts
|
83
|
+
return self.inject([]) do |m, sort_col|
|
84
|
+
m + sort_col.select_opts
|
85
|
+
end
|
86
|
+
end
|
86
87
|
end
|
87
88
|
|
88
89
|
class SortColumn
|
@@ -93,6 +94,18 @@ module SqlSearchableSortable
|
|
93
94
|
@show_asc = show_asc
|
94
95
|
@show_desc = show_desc
|
95
96
|
end
|
97
|
+
def name
|
98
|
+
column.to_s
|
99
|
+
end
|
100
|
+
def human_name
|
101
|
+
name.humanize
|
102
|
+
end
|
103
|
+
def select_opts
|
104
|
+
arr = []
|
105
|
+
arr << ["#{display_text || human_name}", "#{name}"] if show_asc
|
106
|
+
arr << ["#{display_text || human_name} [desc]", "#{name} desc"] if show_desc
|
107
|
+
return arr
|
108
|
+
end
|
96
109
|
end
|
97
110
|
|
98
111
|
end
|
@@ -3,10 +3,10 @@ module SqlSortSetup
|
|
3
3
|
def setup_sql_sort
|
4
4
|
model = controller_name.classify.constantize
|
5
5
|
if model.is_a? SqlSearchableSortable
|
6
|
-
if
|
7
|
-
@sort_by = (
|
8
|
-
|
9
|
-
dir = (
|
6
|
+
if sort_by
|
7
|
+
@sort_by = (sort_by.split.length > 1) ?
|
8
|
+
sort_by.split.first.to_sym : sort_by.to_sym
|
9
|
+
dir = (sort_by.split.length > 1) ? sort_by.split[1].to_sym : nil
|
10
10
|
if [:asc, :desc].include?(dir)
|
11
11
|
@sort_dir = dir
|
12
12
|
else
|
@@ -17,12 +17,18 @@ module SqlSortSetup
|
|
17
17
|
end
|
18
18
|
else
|
19
19
|
sort_by_param = model.default_sort_col.to_s
|
20
|
-
sort_by_param += " #{model.default_sort_dir}"
|
21
|
-
#
|
20
|
+
sort_by_param += " #{model.default_sort_dir}" if model.default_sort_dir
|
21
|
+
#unless model.default_sort_dir.nil?
|
22
22
|
params[:sort_by] = sort_by_param
|
23
23
|
end
|
24
24
|
@sort_dropdown_opts = model.sort_cols_for_dropdown #for the view
|
25
25
|
@sort_dir ||= :asc
|
26
26
|
end
|
27
27
|
end
|
28
|
-
|
28
|
+
|
29
|
+
private
|
30
|
+
def sort_by
|
31
|
+
params[:sort_by]
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
data/test/dummy/db/test.sqlite3
CHANGED
Binary file
|