class Mutations::FloatFilter
Public Instance Methods
filter(data)
click to toggle source
# File lib/mutations/float_filter.rb, line 9 def filter(data) # Handle nil case if data.nil? return [nil, nil] if options[:nils] return [nil, :nils] end # Now check if it's empty: return [data, :empty] if data == "" # Ensure it's the correct data type (Float) if !data.is_a?(Float) if data.is_a?(String) && data =~ /^[-+]?\d*\.?\d+/ data = data.to_f elsif data.is_a?(Integer) data = data.to_f else return [data, :float] end end return [data, :min] if options[:min] && data < options[:min] return [data, :max] if options[:max] && data > options[:max] # We win, it's valid! [data, nil] end