Para que serve o comando “rails r” ou “rails runner”?

Fala, gente!

Não é novidade que usamos o rails console ou rails c para testar código ruby/rails quando estamos desenvolvendo uma aplicação. Mas, e se pudéssemos testar um código rails assim como no rails console (que carrega todo o ambiente da aplicação) mas sem precisar "entrar" nele?

Então, é justamente pra isso que o rails r serve. Em resumo, podemos executar qualquer comando dentro do rails console sem precisar entrar e sair dele. Veja esse exemplo:

/> rails r -e development "puts Rails.root"
/Users/jacksonpires/Projects/test-rails-r-app

Simples, não é mesmo?

Além disso, também é possível passar o parâmetro "-e" para indicar o ambiente de execução.

/> rails r -e production "puts Rails.env"
production

Por fim, também é possível informar um arquivo contendo código ruby pra ser interpretado.

# tmp/script.rb
# puts "Testando 1,2,3"

/> rails r tmp/script.rb
Testando 1,2,3

Ahh, lembrando que o "r" vem de "runner", conforme o título do post, blz?

Então é isso, gente! Até a próxima! 😉