Class: WillFilter::Containers::Numeric

Inherits:
FilterContainer show all
Defined in:
lib/will_filter/containers/numeric.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, #time, #value

Constructor Details

This class inherits a constructor from WillFilter::FilterContainer

Class Method Details

.operatorsObject



36
37
38
# File 'lib/will_filter/containers/numeric.rb', line 36

def self.operators
  [:is, :is_not, :is_less_than, :is_greater_than]
end

Instance Method Details

#numeric_valueObject



44
45
46
# File 'lib/will_filter/containers/numeric.rb', line 44

def numeric_value
  value.to_i
end

#sql_conditionObject



53
54
55
56
57
58
# File 'lib/will_filter/containers/numeric.rb', line 53

def sql_condition
  return [" #{condition.full_key} = ? ", numeric_value] if operator == :is
  return [" #{condition.full_key} <> ? ", numeric_value] if operator == :is_not
  return [" #{condition.full_key} < ? ", numeric_value] if operator == :is_less_than
  return [" #{condition.full_key} > ? ", numeric_value] if operator == :is_greater_than
end

#template_nameObject



40
41
42
# File 'lib/will_filter/containers/numeric.rb', line 40

def template_name
  'text'
end

#validateObject



48
49
50
51
# File 'lib/will_filter/containers/numeric.rb', line 48

def validate
  return "Value must be provided" if value.blank?
  return "Value must be numeric" unless is_numeric?(value)
end