Como verificar se um arquivo existe em Ruby

No projeto Reploy, o SHA1 do último commit repackaged fica guardado em arquivo oculto chamado “.last_repack”. Quando o script é executado pela primeira vez, esse arquivo não existe.

Então se eu tentar simplesmente abrir o arquivo:

# Get the latest sha
last_sha = File::read( '.last_repack' )

Se o arquivo não existir, terei o seguinte erro:

repack.rb:5:in `read': No such file or directory - .last_repack (Errno::ENOENT)
from repack.rb:5

Para resolver isso, usei o seguinte comando no programa:

File.exist?('.last_repack')

Uso o método exist? para verificar se o arquivo existe. O “?” em Ruby indica que o método retornará apenas true ou false.