Class: Mutations::FloatFilter
- Inherits:
-
AdditionalFilter
- Object
- InputFilter
- AdditionalFilter
- Mutations::FloatFilter
- Defined in:
- lib/mutations/float_filter.rb
Instance Attribute Summary
Attributes inherited from InputFilter
Instance Method Summary collapse
Methods inherited from AdditionalFilter
Methods inherited from InputFilter
#default, default_options, #discard_empty?, #discard_invalid?, #discard_nils?, #has_default?, #initialize
Constructor Details
This class inherits a constructor from Mutations::InputFilter
Instance Method Details
#filter(data) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/mutations/float_filter.rb', line 9 def filter(data) # Handle nil case if data.nil? return [nil, nil] if [: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 [:min] && data < [:min] return [data, :max] if [:max] && data > [:max] # We win, it's valid! [data, nil] end |