Class: WillFilter::Containers::Text
- Inherits:
-
FilterContainer
- Object
- FilterContainer
- WillFilter::Containers::Text
- Defined in:
- lib/will_filter/containers/text.rb
Instance Attribute Summary
Attributes inherited from FilterContainer
#condition, #filter, #index, #operator, #values
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from FilterContainer
#date, #initialize, #is_floating_point?, #is_numeric?, #options, #reset_values, #sanitized_value, #serialize_to_params, #template_name, #time, #value
Constructor Details
This class inherits a constructor from WillFilter::FilterContainer
Class Method Details
.operators ⇒ Object
36 37 38 |
# File 'lib/will_filter/containers/text.rb', line 36 def self.operators [:is, :is_not, :contains, :does_not_contain, :starts_with, :ends_with] end |
Instance Method Details
#sql_condition ⇒ Object
44 45 46 47 48 49 50 51 52 |
# File 'lib/will_filter/containers/text.rb', line 44 def sql_condition sanitized_value = value.to_s.downcase return [" lower(#{condition.full_key}) = ? ", sanitized_value] if operator == :is return [" lower(#{condition.full_key}) <> ? ", sanitized_value] if operator == :is_not return [" lower(#{condition.full_key}) like ? ", "%#{sanitized_value}%"] if operator == :contains return [" lower(#{condition.full_key}) not like ? ", "%#{sanitized_value}%"] if operator == :does_not_contain return [" lower(#{condition.full_key}) like ? ", "#{sanitized_value}%"] if operator == :starts_with return [" lower(#{condition.full_key}) like ? ", "%#{sanitized_value}"] if operator == :ends_with end |
#validate ⇒ Object
40 41 42 |
# File 'lib/will_filter/containers/text.rb', line 40 def validate # always valid, even when it is empty end |