FileMagic Library Binding¶ ↑
VERSION¶ ↑
This documentation refers to filemagic version 0.7.1
DESCRIPTION¶ ↑
FileMagic extension module. See also libmagic(3), file(1) and magic(4).
Constants¶ ↑
MAGIC_NONE
-
No flags
MAGIC_DEBUG
-
Turn on debugging
MAGIC_SYMLINK
-
Follow symlinks
MAGIC_COMPRESS
-
Check inside compressed files
MAGIC_DEVICES
-
Look at the contents of devices
MAGIC_MIME
-
Return a mime string
MAGIC_CONTINUE
-
Return all matches, not just the first
MAGIC_CHECK
-
Print warnings to stderr
Methods¶ ↑
file(filename)
-
Returns a textual description of the contents of the filename argument
buffer(string)
-
Returns a textual description of the contents of the string argument
check(filename)
-
Checks the validity of entries in the database file passed in as filename
compile(filename)
-
Compiles the database file passed in as filename
load(filename)
-
Loads the database file passed in as filename
close()
-
Closes the magic database and frees any memory allocated
Synopsis¶ ↑
require 'filemagic' p FileMagic::VERSION p FileMagic::MAGIC_VERSION p FileMagic.new.flags FileMagic.open(:mime) { |fm| p fm.flags p fm.file(__FILE__) p fm.file(__FILE__, true) fm.flags = [:raw, :continue] p fm.flags } fm = FileMagic.new p fm.flags mime = FileMagic.mime p mime.flags
Environment¶ ↑
The environment variable MAGIC
can be used to set the default
magic file name.
Installation¶ ↑
Install the gem:
sudo gem install ruby-filemagic
The file(1) library and headers are required:
- Debian/Ubuntu
-
libmagic-dev
- Fedora/SuSE
-
file-devel
- Gentoo
-
sys-libs/libmagic
- OS X
-
brew install libmagic
LINKS¶ ↑
- Homepage
- Documentation
- Source code
- RubyGem
- Travis CI
AUTHORS¶ ↑
-
Travis Whitton <tinymountain@gmail.com> (Original author)
-
Jens Wille <jens.wille@gmail.com>
CREDITS¶ ↑
-
Martin Carpenter <mcarpenter@free.fr> for Ruby 1.9.2 compatibility and other improvements.
COPYING¶ ↑
The filemagic extension library is copywrited free software by Travis Whitton <tinymountain@gmail.com>. You can redistribute it under the terms specified in the COPYING file of the Ruby distribution.
WARRANTY¶ ↑
THIS SOFTWARE IS PROVIDED “AS IS” AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.