Как один надежно определяет тип файла? Анализ расширений файлов недопустим. Должен быть инструмент rubyesque, аналогичный команде UNIX file (1)?
Это касается MIME или типа контента, а не классификации файловой системы, такой как каталог, файл или сокет.