Skip to content

struct Athena::MIME::MagicTypesGuesser
inherits Struct #

A AMIME::TypesGuesserInterface implementation based on libmagic.

Only natively supported on Unix systems and MSYS2 where the file package is easily installable. If you have the available lib files on Windows MSVC you may build with -Dathena_use_libmagic to explicitly enable the implementation.

Included modules

Athena::MIME::TypesGuesserInterface

Constructors#

.new(magic_file : String | Nil = nil)#

Methods#

#guess_mime_type(path : String | Path) : String | Nil#

Returns the guessed MIME type for the file at the provided path, or nil if it could not be determined.

How exactly the MIME type is determined is up to each individual implementation.

guesser.guess_mime_type "/path/to/image.png" # => "image/png"

#supported? : Bool#

Returns true if this guesser is supported, otherwise false.

The value may be cached on the class level.