Class: WillFilter::Containers::DateRange
Instance Attribute Summary
#condition, #filter, #index, #operator, #values
Class Method Summary
collapse
Instance Method Summary
collapse
#date, #is_floating_point?, #is_numeric?, #options, #reset_values, #sanitized_value, #serialize_to_params, #template_name, #time, #value
Constructor Details
#initialize(filter, criteria_key, operator, values) ⇒ DateRange
40
41
42
43
44
|
# File 'lib/will_filter/containers/date_range.rb', line 40
def initialize(filter, criteria_key, operator, values)
super(filter, criteria_key, operator, values)
@start_date = values[0]
@end_date = values[1] if values.size > 1
end
|
Class Method Details
.operators ⇒ Object
36
37
38
|
# File 'lib/will_filter/containers/date_range.rb', line 36
def self.operators
[:is_in_the_range]
end
|
Instance Method Details
#sql_condition ⇒ Object
53
54
55
|
# File 'lib/will_filter/containers/date_range.rb', line 53
def sql_condition
return [" (#{condition.full_key} >= ? and #{condition.full_key} <= ?) ", date(@start_date), date(@end_date)] if operator == :is_in_the_range
end
|
#validate ⇒ Object
46
47
48
49
50
51
|
# File 'lib/will_filter/containers/date_range.rb', line 46
def validate
return "Start value must be provided" if @start_date.blank?
return "Start value must be a valid date (2008-01-01)" if date(@start_date).nil?
return "End value must be provided" if @end_date.blank?
return "End value must be a valid date (2008-01-01)" if date(@end_date).nil?
end
|