Module: Magic

Defined in:
lib/magic.rb,
lib/magic/api.rb,
lib/magic/errors.rb,
lib/magic/version.rb,
lib/magic/database.rb,
lib/magic/constants.rb

Defined Under Namespace

Modules: Api, Constants Classes: Database, Error

Constant Summary collapse

VERSION =
"0.2.9"

Class Method Summary collapse

Class Method Details

.guess(*args) ⇒ Object

Creates magic database and yields it to the given block

Example
Magic.guess(:mime) { |db| db.buffer("Magic® File™") }
# => "text/plain; charset=utf-8"


72
73
74
75
76
77
# File 'lib/magic.rb', line 72

def guess(*args)
  db = Database.new(*args)
  result = yield(db)
  db.close
  result
end

.guess_file_mime(filename, *args) ⇒ Object

Guesses mime of given file

Example
Magic.guess_file_mime("public/images/rails.png")
# => "image/png; charset=binary"


18
19
20
# File 'lib/magic.rb', line 18

def guess_file_mime(filename, *args)
  guess(*args.unshift(:mime)) { |db| db.file(filename) }
end

.guess_file_mime_encoding(filename, *args) ⇒ Object

Guesses mime encoding of given file

Example
Magic.guess_file_mime_encoding("public/images/rails.png")
# => "binary"


27
28
29
# File 'lib/magic.rb', line 27

def guess_file_mime_encoding(filename, *args)
  guess(*args.unshift(:mime_encoding)) { |db| db.file(filename) }
end

.guess_file_mime_type(filename, *args) ⇒ Object

Guesses mime type of given file

Example
Magic.guess_file_mime_type("public/images/rails.png")
# => "image/png"


36
37
38
# File 'lib/magic.rb', line 36

def guess_file_mime_type(filename, *args)
  guess(*args.unshift(:mime_type)) { |db| db.file(filename) }
end

.guess_string_mime(string, *args) ⇒ Object

Guesses mime type of given string

Example
Magic.guess_string_mime("Magic® File™")
# => "text/plain; charset=utf-8"


45
46
47
# File 'lib/magic.rb', line 45

def guess_string_mime(string, *args)
  guess(*args.unshift(:mime)) { |db| db.buffer(string) }
end

.guess_string_mime_encoding(string, *args) ⇒ Object

Guesses mime type of given string

Example
Magic.guess_string_mime_encoding("Magic® File™")
# => "utf-8"


54
55
56
# File 'lib/magic.rb', line 54

def guess_string_mime_encoding(string, *args)
  guess(*args.unshift(:mime_encoding)) { |db| db.buffer(string) }
end

.guess_string_mime_type(string, *args) ⇒ Object

Guesses mime type of given string

Example
Magic.guess_string_mime_type("Magic® File™")
# => "text/plain"


63
64
65
# File 'lib/magic.rb', line 63

def guess_string_mime_type(string, *args)
  guess(*args.unshift(:mime_type)) { |db| db.buffer(string) }
end