Equivalent of unix "file <filename>" in ruby?

Hi all,
I'm trying to find out what is the equivalent of file <filename> from
unix in ruby. Basically this command gives the file type - ASCII, BINARY
etc.

Please help!
-Thanks

···

--
Posted via http://www.ruby-forum.com/.

There is currently nothing written in ruby that uses a library of signatures to attempt to figure out the file type of a file. The best you can do right now is a library that looks at the file suffix and determines what file type matches it.

Download Austin Zeigler's mime-types lib (when Rubyforge is playing nicely again).

  mime_type = MIME::Types.type_for(filename)

Kirk Haines

···

On Wed, 11 Oct 2006, Ruby Rails wrote:

Hi all,
I'm trying to find out what is the equivalent of file <filename> from
unix in ruby. Basically this command gives the file type - ASCII, BINARY
etc.

Ruby Rails wrote:

I'm trying to find out what is the equivalent of file <filename> from
unix in ruby. Basically this command gives the file type - ASCII, BINARY

If your program will always run on a system where that command is
available, you could do:
file_type = `file #{filename}`

That's not *quite* true. I think it's safer to say that there's
nothing currently working in Ruby that does that. However, CRUserS
(the Calgary Ruby Users' Society) is working on a libmagic port to
Ruby as part of an ongoing hacking night. I'm not sure their current
status, and hope that they'll be setting things up to link into
MIME::Types when it's all done, but they are working on it and there
is code in their source repository on RubyForge.

-austin

···

On 10/10/06, khaines@enigo.com <khaines@enigo.com> wrote:

On Wed, 11 Oct 2006, Ruby Rails wrote:
> Hi all,
> I'm trying to find out what is the equivalent of file <filename> from
> unix in ruby. Basically this command gives the file type - ASCII, BINARY
> etc.
There is currently nothing written in ruby that uses a library of
signatures to attempt to figure out the file type of a file. The best you
can do right now is a library that looks at the file suffix and determines
what file type matches it.

--
Austin Ziegler * halostatue@gmail.com * http://www.halostatue.ca/
               * austin@halostatue.ca * You are in a maze of twisty little passages, all alike. // halo • statue
               * austin@zieglers.ca

there is

   http://raa.ruby-lang.org/project/filemagic/

is this their project probably?

   http://rubyforge.org/projects/libmagic-ruby/

cheers.

-a

···

On Wed, 11 Oct 2006, Austin Ziegler wrote:

On 10/10/06, khaines@enigo.com <khaines@enigo.com> wrote:

On Wed, 11 Oct 2006, Ruby Rails wrote:
> Hi all,
> I'm trying to find out what is the equivalent of file <filename> from
> unix in ruby. Basically this command gives the file type - ASCII, BINARY
> etc.
There is currently nothing written in ruby that uses a library of
signatures to attempt to figure out the file type of a file. The best you
can do right now is a library that looks at the file suffix and determines
what file type matches it.

That's not *quite* true. I think it's safer to say that there's
nothing currently working in Ruby that does that. However, CRUserS
(the Calgary Ruby Users' Society) is working on a libmagic port to
Ruby as part of an ongoing hacking night. I'm not sure their current
status, and hope that they'll be setting things up to link into
MIME::Types when it's all done, but they are working on it and there
is code in their source repository on RubyForge.

--
my religion is very simple. my religion is kindness. -- the dalai lama

Yes. Filemagic only binds to the existing libmagic, which still
doesn't help much for Windows users.

-austin

···

On 10/10/06, ara.t.howard@noaa.gov <ara.t.howard@noaa.gov> wrote:

   http://rubyforge.org/projects/libmagic-ruby/

--
Austin Ziegler * halostatue@gmail.com * http://www.halostatue.ca/
               * austin@halostatue.ca * You are in a maze of twisty little passages, all alike. // halo • statue
               * austin@zieglers.ca