# file? will only return true for filesFile.file?(filename)
and
# Will also return true for directories - watch out!File.exist?(filename)
Check out Pathname and in particular Pathname#exist?.
Pathname#exist?
File and its FileTest module are perhaps simpler/more direct, but I find Pathname a nicer interface in general.
Pathname