Два пути
Рекомендуемый способ
Вы можете использовать функции из библиотеки File Utils, см. здесь для перемещения файлов, например,
mv(src, dest, options = {})
Options: force noop verbose
Moves file(s) src to dest. If file and dest exist on the different disk
partition, the file is copied instead.
FileUtils.mv 'badname.rb', 'goodname.rb'
FileUtils.mv 'stuff.rb', '/notexist/lib/ruby', :force => true # no error
FileUtils.mv %w(junk.txt dust.txt), '/home/aamine/.trash/'
FileUtils.mv Dir.glob('test*.rb'), 'test', :noop => true, :verbose => true
Непослушный путь
Использовать подход с обратными галочками (запустить любую строку как команду)
result = `mv "#{@SOURCE_DIR}/#{my_file} #{@DEST_DIR}/#{file}"`
Хорошо, это всего лишь разновидность вызова system command, но выглядит намного капризнее!