| | ,, , ,,,, ,, | (-/ (-/ (-|\ |(-| (-|,(-|\ |(-| | _,_/,| |,_|, _|,| |,|, | ( ( ( ( ( ( ( | , ,,_, | (-| (-_/(-|__|-|, | _|, _|, _| _|, | ( ( ( ( | | libmagic bindings by dsturnbull +------------------------------------------

SYNOPSIS $ gem install content_type irb> require 'content_type' irb> File.content_type('file.pdf') #=> "application/pdf" irb> File.open('file.doc').content_type #=> "application/msword" irb> "hi".content_type #=> "text/plain" irb> ContentType.new('file.jpg').content_type #=> "image/jpeg"

DESCRIPTION ContentType is a simple C extension that binds to libmagic in order to efficiently detect mime types of files.

 Using the should_be_faster rspec extension,
   ext.should be_at_least(5).times.faster_than(shell)

 In addition to being fast, it is far more accurate than the current
 practice of casing a regexp on file extensions.

DIAGNOSTICS ContentType raises "ArgumentError: invalid file" for all errors relating to the file it's working on.

 ContentType raises "RuntimeError: open", "RuntimeError: load" and
 "RuntimeError: file" for libmagic errors.

 Any file that cannot be identified is simply said to be "data".

AVAILABILITY http://github.com/dsturnbull/content_type