Class: Mutations::IntegerFilter
- Inherits:
-
AdditionalFilter
- Object
- InputFilter
- AdditionalFilter
- Mutations::IntegerFilter
- Defined in:
- lib/mutations/integer_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
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 37 38 |
# File 'lib/mutations/integer_filter.rb', line 10 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 (Fixnum) if !data.is_a?(Fixnum) if data.is_a?(String) && data =~ /^-?\d/ data = data.to_i else return [data, :integer] end end return [data, :min] if [:min] && data < [:min] return [data, :max] if [:max] && data > [:max] # Ensure it matches `in` return [data, :in] if [:in] && ![:in].include?(data) # We win, it's valid! [data, nil] end |