Normalmente, se você deseja adicionar argumentos a uma tarefa de rake, a melhor maneira de fazer isso é por meio de variáveis de ambiente que são acessíveis para rake através do global ENV
.
Mas às vezes faz sentido passar alguns desses argumentos pela linha de comando. Para fazer isso, você só precisa chamar sua tarefa de rake como:
rake your:fancy:my_task ARGUMENT=1 OTHER_ARGUMENT=2
Em seguida, em seu código de tarefa, você pode acessá-los como se fossem (como parece que realmente são) variáveis de ambiente:
namespace :your do
namespace :fancy do
task :my_task => :environment do
first_argument = ENV["ARGUMENT"]
second_argument = ENV["OTHER_ARGUMENT"]
end
end
end