Sha256: 04d28c6e6155cb3bc6f399322dafea409603002c8fe0162a394169a5b7117015
Contents?: true
Size: 869 Bytes
Versions: 3
Compression:
Stored size: 869 Bytes
Contents
require 'tempfile' require 'extensions_const' class File def self.mime_type?(file) case file when File, Tempfile unless RUBY_PLATFORM.include? 'mswin32' mime = `file --mime -br "#{file.path}"`.strip else mime = EXTENSIONS[File.extname(file.path).gsub('.','').downcase.to_sym] end when String mime = EXTENSIONS[(file[file.rindex('.')+1, file.size]).downcase.to_sym] unless file.rindex('.').nil? when StringIO temp = File.open(Dir.tmpdir + '/upload_file.' + Process.pid.to_s, "wb") temp << file.string temp.close mime = `file --mime -br "#{temp.path}"` mime = mime.gsub(/^.*: */,"") mime = mime.gsub(/;.*$/,"") mime = mime.gsub(/,.*$/,"") File.delete(temp.path) end return mime || 'unknown/unknown' end def self.extensions EXTENSIONS end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
futuresinc-mimetype-fu-0.1.1 | lib/mimetype_fu.rb |
mimetype-fu-0.1.2 | lib/mimetype_fu.rb |
mimetype-fu-0.1.1 | lib/mimetype_fu.rb |