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), nil] elsif value.respond_to?(:to_int) [safe_converter(value.to_int), nil] elsif value.respond_to?(:to_str) value = value.to_str if value.blank? send(__method__, nil) else [safe_converter(value), nil] end else super end rescue NoMethodError # BasicObject super end
converter(value)
click to toggle source
# File lib/active_interaction/filters/abstract_numeric_filter.rb, line 41 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 45 def safe_converter(value) converter(value) rescue ArgumentError value end