, если вы хотите более общее решение (в Linux):
require "open3"
def File.sys_file_cmd(path)
if File.exist? path
stdin,stdout,stderr = Open3.popen3(%{file --mime -b "#{path}"})
file_err = stderr.gets
file_out = stdout.gets
if file_err
raise Exception, "The 'file' command error: #{file_err} : with #{path}"
end
if file_err.nil? && (!file_out.nil? && !file_out.empty?)
return file_out.split(";")[0].strip
end
end
return nil
end