Usando parametros da linha de comando no Rake e no Capistrano
Pessoal, segue abaixo uma tradução livre de um post interessante que explica como você pode usar parametros da linha de comando dentro de sua task do RAKE ou do CAPISTRANO. O original se encontra aqui
todos os projetos que já trabalhei até hoje exigem um bom número de task em RAKE e CAPISTRANO. Desde que meus modelos são tão grandes quanto necessário, estas task e receitas são em geral pequenas e procuram fazer pouco lógica delegando para o modelo apropriado…
O que desejo é falar sobre é que sempre estamos precisando passar parametros para estas tasks, e na maioria das vezes é bastante escassa as documentações para fazer isso.
Imagine que você quer fazer algo como:
E dentro da task deseja pegar esse valor e fazer algo. Para resolver fica mais ou menos assim:
desc "Show how to read in command line options"
task :show do
p "option1 is #{ENV['opt1']}"
end
end
Usando parametros da linha de comando do Capistrano:
Aqui as coisas são um pouco diferente. É necessário que use a opção -s na linha de comando para ativar a função de parser do chave/valor. Veja o exemplo abaixo:
Assim você um dicionário dentro do capistrano (receita) que a chave é opt1 e o valor dele é value1. voce pode acessar diretamente a chave por causa do method-missing que implementa isso para você. Fica assim o código.
p "option1 is #{opt1}"
end
Para maiores detalhes veja o artigo original e leia a documentação do Capistrano. Fiquem a vontade para comentar e assim que puder respondo.