Class: Mutations::FileFilter
- Inherits:
-
AdditionalFilter
- Object
- InputFilter
- AdditionalFilter
- Mutations::FileFilter
- Defined in:
- lib/mutations/file_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 |
# File 'lib/mutations/file_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 the data responds to each of the methods methods = [:read, :size] methods.concat([:original_filename, :content_type]) if [:upload] methods.each do |method| return [data, :file] unless data.respond_to?(method) end if [:size].is_a?(Integer) return [data, :size] if data.size > [:size] end # We win, it's valid! [data, nil] end |