Class: WillFilter::Containers::List
- Inherits:
-
FilterContainer
- Object
- FilterContainer
- WillFilter::Containers::List
- Defined in:
- lib/will_filter/containers/list.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?, #reset_values, #sanitized_value, #serialize_to_params, #template_name, #time, #validate, #value
Constructor Details
This class inherits a constructor from WillFilter::FilterContainer
Class Method Details
.operators ⇒ Object
36 37 38 |
# File 'lib/will_filter/containers/list.rb', line 36 def self.operators [:is, :is_not, :contains, :does_not_contain] end |
Instance Method Details
#options ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/will_filter/containers/list.rb', line 40 def opts = [] filter.(condition.key).each do |item| if item.is_a?(Array) opt_name = item.first.to_s opt_value = item.last.to_s else opt_name = item.to_s opt_value = item.to_s end next if opt_name.strip == "" opts << [ERB::Util.html_escape(opt_name), ERB::Util.html_escape(opt_value)] end opts end |
#sql_condition ⇒ Object
56 57 58 59 60 61 62 |
# File 'lib/will_filter/containers/list.rb', line 56 def sql_condition sanitized_value = value.to_s.downcase return [" #{condition.full_key} = ? ", sanitized_value] if operator == :is return [" #{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_cotain end |