File tree Expand file tree Collapse file tree 5 files changed +23
-14
lines changed
lib/ajax-datatables-rails/datatable Expand file tree Collapse file tree 5 files changed +23
-14
lines changed Original file line number Diff line number Diff line change @@ -4,13 +4,18 @@ module AjaxDatatablesRails
4
4
module Datatable
5
5
class Column
6
6
7
+ TYPE_CAST_DEFAULT = 'VARCHAR'
8
+ TYPE_CAST_MYSQL = 'CHAR'
9
+ TYPE_CAST_SQLITE = 'TEXT'
10
+ TYPE_CAST_ORACLE = 'VARCHAR2(4000)'
11
+
7
12
DB_ADAPTER_TYPE_CAST = {
8
- mysql : 'CHAR' ,
9
- mysql2 : 'CHAR' ,
10
- sqlite : 'TEXT' ,
11
- sqlite3 : 'TEXT' ,
12
- oracle : 'VARCHAR2(4000)' ,
13
- oracleenhanced : 'VARCHAR2(4000)'
13
+ mysql : TYPE_CAST_MYSQL ,
14
+ mysql2 : TYPE_CAST_MYSQL ,
15
+ sqlite : TYPE_CAST_SQLITE ,
16
+ sqlite3 : TYPE_CAST_SQLITE ,
17
+ oracle : TYPE_CAST_ORACLE ,
18
+ oracleenhanced : TYPE_CAST_ORACLE
14
19
} . freeze
15
20
16
21
attr_reader :datatable , :index , :options
@@ -65,7 +70,7 @@ def formatted_value
65
70
private
66
71
67
72
def type_cast
68
- @type_cast ||= ( DB_ADAPTER_TYPE_CAST [ AjaxDatatablesRails . config . db_adapter ] || 'VARCHAR' )
73
+ @type_cast ||= DB_ADAPTER_TYPE_CAST . fetch ( AjaxDatatablesRails . config . db_adapter , TYPE_CAST_DEFAULT )
69
74
end
70
75
71
76
def casted_column
Original file line number Diff line number Diff line change @@ -6,7 +6,9 @@ class Column
6
6
module Search
7
7
8
8
SMALLEST_PQ_INTEGER = -2147483648
9
- LARGEST_PQ_INTEGER = 2147483647
9
+ LARGEST_PQ_INTEGER = 2147483647
10
+ NOT_NULL_VALUE = '!NULL'
11
+ EMPTY_VALUE = ''
10
12
11
13
def searchable?
12
14
@view_column . fetch ( :searchable , true )
@@ -74,7 +76,7 @@ def non_regex_search
74
76
end
75
77
76
78
def null_value_search
77
- if formatted_value == '!NULL'
79
+ if formatted_value == NOT_NULL_VALUE
78
80
table [ field ] . not_eq ( nil )
79
81
else
80
82
table [ field ] . eq ( nil )
@@ -90,7 +92,7 @@ def raw_search(cond)
90
92
end
91
93
92
94
def empty_search
93
- casted_column . matches ( '' )
95
+ casted_column . matches ( EMPTY_VALUE )
94
96
end
95
97
96
98
def is_searchable_integer?
Original file line number Diff line number Diff line change 3
3
module AjaxDatatablesRails
4
4
module Datatable
5
5
6
- TRUE_VALUE = 'true'
7
-
8
6
class Datatable
9
7
attr_reader :datatable , :options
10
8
Original file line number Diff line number Diff line change @@ -4,7 +4,9 @@ module AjaxDatatablesRails
4
4
module Datatable
5
5
class SimpleOrder
6
6
7
- DIRECTIONS = %w[ DESC ASC ] . freeze
7
+ DIRECTION_ASC = 'ASC'
8
+ DIRECTION_DESC = 'DESC'
9
+ DIRECTIONS = [ DIRECTION_ASC , DIRECTION_DESC ] . freeze
8
10
9
11
def initialize ( datatable , options = { } )
10
12
@datatable = datatable
@@ -24,7 +26,7 @@ def column
24
26
end
25
27
26
28
def direction
27
- DIRECTIONS . find { |dir | dir == column_direction } || 'ASC'
29
+ DIRECTIONS . find { |dir | dir == column_direction } || DIRECTION_ASC
28
30
end
29
31
30
32
private
Original file line number Diff line number Diff line change @@ -4,6 +4,8 @@ module AjaxDatatablesRails
4
4
module Datatable
5
5
class SimpleSearch
6
6
7
+ TRUE_VALUE = 'true'
8
+
7
9
def initialize ( options = { } )
8
10
@options = options
9
11
end
You can’t perform that action at this time.
0 commit comments