class ACTV::Request::MultipartWithFile
Public Instance Methods
call(env)
click to toggle source
# File lib/actv/request/multipart_with_file.rb, line 7 def call(env) if env[:body].is_a?(Hash) env[:body].each do |key, value| if value.is_a?(File) env[:body][key] = Faraday::UploadIO.new(value, mime_type(value.path), value.path) elsif value.is_a?(Hash) && (value[:io].is_a?(IO) || value[:io].is_a?(StringIO)) env[:body][key] = Faraday::UploadIO.new(value[:io], mime_type('.' + value[:type]), '') end end end @app.call(env) end
Private Instance Methods
mime_type(path)
click to toggle source
# File lib/actv/request/multipart_with_file.rb, line 22 def mime_type(path) case path when /\.jpe?g/i 'image/jpeg' when /\.gif$/i 'image/gif' when /\.png$/i 'image/png' else 'application/octet-stream' end end