Skip to content

Commit 2414aab

Browse files
committed
Extract methods in Column::DateFilter
1 parent d03eacd commit 2414aab

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

lib/ajax-datatables-rails/datatable/column/date_filter.rb

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,7 @@ def range_end
3131
# Do a range search
3232
def date_range_search
3333
return nil if empty_range_search?
34-
35-
if Time.zone
36-
new_start = range_start.blank? ? Time.zone.parse('01/01/1970') : Time.zone.parse(range_start)
37-
new_end = range_end.blank? ? Time.current : Time.zone.parse("#{range_end} 23:59:59")
38-
else
39-
new_start = range_start.blank? ? Time.parse('01/01/1970') : Time.parse(range_start)
40-
new_end = range_end.blank? ? Time.current : Time.parse("#{range_end} 23:59:59")
41-
end
42-
43-
table[field].between(OpenStruct.new(begin: new_start, end: new_end))
34+
table[field].between(OpenStruct.new(begin: range_start_casted, end: range_end_casted))
4435
end
4536

4637
private
@@ -53,6 +44,22 @@ def non_regex_search
5344
end
5445
end
5546

47+
def range_start_casted
48+
range_start.blank? ? parse_date('01/01/1970') : parse_date(range_start)
49+
end
50+
51+
def range_end_casted
52+
range_end.blank? ? Time.current : parse_date("#{range_end} 23:59:59")
53+
end
54+
55+
def parse_date(date)
56+
if Time.zone
57+
Time.zone.parse(date)
58+
else
59+
Time.parse(date)
60+
end
61+
end
62+
5663
end
5764
end
5865
end

0 commit comments

Comments
 (0)