Class: WillFilter::Containers::DoubleDelimited

Inherits:
FilterContainer show all
Defined in:
lib/will_filter/containers/double_delimited.rb

Constant Summary collapse

NUMERIC_DELIMITER =
","

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, #time, #value

Constructor Details

This class inherits a constructor from WillFilter::FilterContainer

Class Method Details

.operatorsObject



38
39
40
# File 'lib/will_filter/containers/double_delimited.rb', line 38

def self.operators
  [:is_in]
end

Instance Method Details

#split_valuesObject



50
51
52
# File 'lib/will_filter/containers/double_delimited.rb', line 50

def split_values
  value.split(NUMERIC_DELIMITER).collect {|v| v.strip.to_f}
end

#sql_conditionObject



54
55
56
# File 'lib/will_filter/containers/double_delimited.rb', line 54

def sql_condition
  return [" #{condition.full_key} in (?) ", split_values] if operator == :is_in
end

#template_nameObject



42
43
44
# File 'lib/will_filter/containers/double_delimited.rb', line 42

def template_name
  'text'
end

#validateObject



46
47
48
# File 'lib/will_filter/containers/double_delimited.rb', line 46

def validate
  return "Values must be provided. Separate values with '#{NUMERIC_DELIMITER}'" if value.blank?
end