Может быть, камень слушает может помочь вам. Вам просто нужно прослушать каталог, в котором находится загруженный файл, при желании указать имя файла, который вы хотите отслеживать, отследить временную метку каждой модификации, и, если последняя модификация, скажем, 10 минут go, скопировать файл в новый каталог.
require 'listen'
require 'fileutils'
require 'time'
modified_at = Time.now
listener = Listen.to('/path/to/download/dir', only: /^downloaded-file$/) do |modified|
modified && (modified_at = Time.now)
end
listener.start
loop do
if Time.now - modified_at > 600
listener.stop
FileUtils.cp('/path/to/download/dir/downloaded-file', '/path/to/new/dir')
break
end
sleep 60
end