Один из способов - сохранить его в глобальной переменной:
task :obtain do
$obtained_dir = "/tmp/obtained"
end
task :compile => :obtain do
puts "compiling files in #{$obtained_dir}"
end
Переменные экземпляра (т.е. @obtained_dir
) также должны работать.
Другим способом было бы вставить код «получения» в метод следующим образом:
task :obtain do
obtain_files
end
task :compile do
obtained_dir = obtain_files
puts "compiling files in #{obtained_dir}"
end
def obtain_files
#obtain files from somewhere
"/tmp/obtained_files"
end