Pergunta

Eu quero executar um script autônomo rubi em que eu preciso do meu ambiente RoR para ser usado. Especificamente, eu preciso dos meus modelos estendendo ActionMailer e ActiveRecord. Eu também preciso ler a configuração de banco de dados do meu database.yml. Como faço para ir sobre ele?

Foi útil?

Solução

A maneira mais fácil é mudar o shebang do seu script de:

#!/usr/bin/ruby

para

#!/path/to/your/rails/script/runner

Et voilà, o script será executado com o ambiente rails full carregado. Você também pode executar seu script como ./my_script -e production para que seja executado com o banco de dados de produção.

Outras dicas

Confira esta discussão: Como faço para executar tarefas Ruby que usar meu Rails modelos?

Essencialmente, resume-se a:

require "#{ENV['RAILS_ROOT']}/config/environment.rb"

Divirta-se!

Eu acho que a melhor maneira de fazer isso é para torná-lo uma tarefa rake.

   # lib/tasks/mystuff.rake
   desc 'do my stuff'
   task :my_stuff => [:environment] do
     # do my stuff
   end

A [: Ambiente]. Cargas estrofe do ambiente trilhos

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top