class ActiveInteraction::AbstractNumericFilter

@abstract

Common logic for filters that handle numeric objects.

@private

Public Instance Methods

database_column_type() click to toggle source
# File lib/active_interaction/filters/abstract_numeric_filter.rb, line 10
def database_column_type
  self.class.slug
end

Private Instance Methods

convert(value) click to toggle source
Calls superclass method ActiveInteraction::Filter#convert
# File lib/active_interaction/filters/abstract_numeric_filter.rb, line 22
def convert(value)
  if value.is_a?(Numeric)
    safe_converter(value)
  elsif value.respond_to?(:to_int)
    safe_converter(value.to_int)
  elsif value.respond_to?(:to_str)
    value = value.to_str
    value.blank? ? send(__method__, nil) : safe_converter(value)
  else
    super
  end
rescue NoMethodError # BasicObject
  super
end
converter(value) click to toggle source
# File lib/active_interaction/filters/abstract_numeric_filter.rb, line 37
def converter(value)
  Kernel.public_send(klass.name, value)
end
matches?(value) click to toggle source
# File lib/active_interaction/filters/abstract_numeric_filter.rb, line 16
def matches?(value)
  value.is_a?(klass)
rescue NoMethodError # BasicObject
  false
end
safe_converter(value) click to toggle source
# File lib/active_interaction/filters/abstract_numeric_filter.rb, line 41
def safe_converter(value)
  converter(value)
rescue ArgumentError
  value
end