-
Notifications
You must be signed in to change notification settings - Fork 34
Ruby bindings to the magic(4) library, revised.
blackwinter/ruby-filemagic
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
= FileMagic Library Binding == VERSION This documentation refers to filemagic version 0.7.3 == DESCRIPTION FileMagic extension module. See also libmagic(3), file(1) and magic(4). === Constants <tt>MAGIC_NONE</tt>:: No flags <tt>MAGIC_DEBUG</tt>:: Turn on debugging <tt>MAGIC_SYMLINK</tt>:: Follow symlinks <tt>MAGIC_COMPRESS</tt>:: Check inside compressed files <tt>MAGIC_DEVICES</tt>:: Look at the contents of devices <tt>MAGIC_MIME</tt>:: Return a mime string <tt>MAGIC_CONTINUE</tt>:: Return all matches, not just the first <tt>MAGIC_CHECK</tt>:: Print warnings to stderr === Methods <tt>file(filename)</tt>:: Returns a textual description of the contents of the filename argument <tt>buffer(string)</tt>:: Returns a textual description of the contents of the string argument <tt>check(filename)</tt>:: Checks the validity of entries in the database file passed in as filename <tt>compile(filename)</tt>:: Compiles the database file passed in as filename <tt>load(filename)</tt>:: Loads the database file passed in as filename <tt>close()</tt>:: Closes the magic database and frees any memory allocated === Synopsis require 'filemagic' p FileMagic::VERSION # => "0.7.3" p FileMagic::MAGIC_VERSION # => "5.39" p FileMagic.new.flags # => [] FileMagic.open(:mime) { |fm| p fm.flags # => [:mime_type, :mime_encoding] p fm.file(__FILE__) # => "text/plain; charset=us-ascii" p fm.file(__FILE__, true) # => "text/plain" fm.flags = [:raw, :continue] p fm.flags # => [:continue, :raw] } fm = FileMagic.new p fm.flags # => [] mime = FileMagic.mime p mime.flags # => [:mime_type, :mime_encoding] === 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+ Alpine:: <tt>libmagic file file-dev</tt> Gentoo:: +sys-libs/libmagic+ OS X:: <tt>brew install libmagic</tt> === Build native extension rake docker:gem:native Requires Docker[https://docker.com] to be installed. == LINKS Homepage:: https://www.darwinsys.com/file/ Documentation:: https://blackwinter.github.io/ruby-filemagic Source code:: https://github.com/blackwinter/ruby-filemagic RubyGem:: https://rubygems.org/gems/ruby-filemagic Travis CI:: https://travis-ci.org/blackwinter/ruby-filemagic == AUTHORS * Travis Whitton <mailto:[email protected]> (Original author) * Jens Wille <mailto:[email protected]> == CREDITS * Martin Carpenter <mailto:[email protected]> for Ruby 1.9.2 compatibility and other improvements. * Pavel Lobashov (@ShockwaveNN) for Dockerfile to build cross-compiled Windows extension (pull request #26). == COPYING The filemagic extension library is copywrited free software by Travis Whitton <[email protected]>. 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.
About
Ruby bindings to the magic(4) library, revised.