использование __dir__
File.dirname(__FILE__)
неправильный способ получить каталог, в котором хранится скрипт.
При запуске рабочий каталог и каталог с файлом скрипта совпадают, но могут измениться.
Например:
Dir.chdir('..') do
puts __dir__
puts File.expand_path(File.dirname(__FILE__))
end
для файла скрипта, хранящегося в /Desktop/tmp
, при запуске он выдаст
/home/mateusz/Desktop/tmp
/home/mateusz/Desktop