Class: WillFilter::Containers::DateRange
- Inherits:
-
FilterContainer
- Object
- FilterContainer
- WillFilter::Containers::DateRange
- Defined in:
- lib/will_filter/containers/date_range.rb
Instance Attribute Summary
Attributes inherited from FilterContainer
#condition, #filter, #index, #operator, #values
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(filter, criteria_key, operator, values) ⇒ DateRange
constructor
A new instance of DateRange.
- #sql_condition ⇒ Object
- #validate ⇒ Object
Methods inherited from FilterContainer
#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
Returns a new instance of 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 |