Class: Grape::Validations::Types::File
- Inherits:
-
Object
- Object
- Grape::Validations::Types::File
- Defined in:
- lib/grape/validations/types/file.rb
Overview
Implementation for parameters that are multipart file objects. Actual handling of these objects is provided by +Rack::Request+; this class is here only to assert that rack's handling has succeeded.
Class Method Summary collapse
Class Method Details
.parse(input) ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/grape/validations/types/file.rb', line 11 def parse(input) return if input.nil? return InvalidValue.new unless parsed?(input) # Processing of multipart file objects # is already taken care of by Rack::Request. # Nothing to do here. input end |
.parsed?(value) ⇒ Boolean
21 22 23 24 25 26 |
# File 'lib/grape/validations/types/file.rb', line 21 def parsed?(value) # Rack::Request creates a Hash with filename, # content type and an IO object. Do a bit of basic # duck-typing. value.is_a?(::Hash) && value.key?(:tempfile) && value[:tempfile].is_a?(Tempfile) end |