У меня есть задача, команда которой в «выполнить» такая же, за исключением одного значения. Это значение будет вне списка возможных значений. Что я хотел бы сделать, так это создать задачу, которая будет использовать этот список значений для определения задачи, а затем использовать это же значение в команде, определенной в «выполнить». Дело в том, что было бы здорово определить задачу таким образом, чтобы мне не приходилось повторять почти идентичные определения задачи для каждого значения.
Например: мне нужна задача, которая получит статус одной программы из списка программ, которые я определил в массиве. Я хотел бы определить задачу примерно так:
set programs = %w["postfix", "nginx", "pgpool"]
programs.each do |program|
desc "#{program} status"
task :#{program} do
run "/etc/init.d/#{program} status"
end
end
Это, очевидно, не работает, но, надеюсь, это показывает, что я здесь пытаюсь сделать.
Мысли?