class Magic
Constants
- APPLE
- CHECK
- COMPRESS
- CONTINUE
- DEBUG
- DEVICES
- ERROR
- Error
- MIME
- MIME_ENCODING
- MIME_TYPE
- NONE
- NO_CHECK_APPTYPE
- NO_CHECK_CDF
- NO_CHECK_COMPRESS
- NO_CHECK_ELF
- NO_CHECK_ENCODING
- NO_CHECK_SOFT
- NO_CHECK_TAR
- NO_CHECK_TEXT
- NO_CHECK_TOKENS
- PRESERVE_ATIME
- RAW
- SYMLINK
- VERSION
Attributes
flags[R]
path[R]
Public Class Methods
compile(path)
click to toggle source
# File lib/magic.rb, line 45 def self.compile(path) cookie = magic_open(NONE) unless magic_compile(cookie, path) == 0 raise Error, "failed compile: #{magic_error(cookie)}" end magic_close(cookie) true end
new(flags = NONE, path = nil)
click to toggle source
# File lib/magic.rb, line 57 def initialize(flags = NONE, path = nil) @flags = flags @path = path unless @cookie = magic_open(@flags) raise Error, "failed to initialize magic cookie" end if magic_load(@cookie, @path) != 0 raise Error, "failed to load database: #{magic_error(@cookie)}" end begin ObjectSpace.define_finalizer(self){ close } rescue end end
Public Instance Methods
buffer(string)
click to toggle source
# File lib/magic.rb, line 83 def buffer(string) input = string.to_str if input.respond_to?(:bytesize) magic_buffer(@cookie, input, input.bytesize) else magic_buffer(@cookie, input, input.size) end end
close()
click to toggle source
# File lib/magic.rb, line 109 def close magic_close(@cookie) if @cookie @cookie = nil end
file(path)
click to toggle source
# File lib/magic.rb, line 75 def file(path) unless msg = magic_file(@cookie, path) raise Error, "failed lookup: #{magic_error(@cookie)}" end msg end
flags=(flags)
click to toggle source
# File lib/magic.rb, line 93 def flags=(flags) @flags = flags magic_setflags(@cookie, flags) end
load(path = @path)
click to toggle source
# File lib/magic.rb, line 102 def load(path = @path) unless magic_load(@cookie, path) == 0 raise Error, "failed load: #{magic_error(@cookie)}" end @path = path end
valid?(path = nil)
click to toggle source
# File lib/magic.rb, line 98 def valid?(path = nil) magic_check(@cookie, path) == 0 end