Sha256: 8e35fa54e6d0e34ee36270cfd5d3d95bbfba22279f69ec62d2c2e4767bc0763e

Contents?: true

Size: 857 Bytes

Versions: 1

Compression:

Stored size: 857 Bytes

Contents

class File

  def self.mime_type?(file)
     if file.class == File
       unless RUBY_PLATFORM.include? 'mswin32'
         mime = `file -bIr #{file.path}`.strip
       else
         mime = EXTENSIONS[File.extname(file.path).gsub('.','').downcase.to_sym]
       end
     elsif file.class == String
       mime = EXTENSIONS[(file[file.rindex('.')+1, file.size]).downcase.to_sym]
     elsif file.class == StringIO
       temp = File.open(Dir.tmpdir + '/upload_file.' + Process.pid.to_s, "wb")
       temp << file.string
       temp.close
       mime = `file -bIr #{temp.path}`
       mime = mime.gsub(/^.*: */,"")
       mime = mime.gsub(/;.*$/,"")
       mime = mime.gsub(/,.*$/,"")
       File.delete(temp.path)
     end

     if mime
       return mime
     else
       'unknown/unknown'
     end
   end

  
  def self.extensions
    EXTENSIONS
  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pictrails-0.5.0 vendor/plugins/mimetype-fu/lib/mimetype_fu.rb