2008-12-02 19 views
6

Quiero ejecutar una secuencia de comandos ruby ​​independiente en la que necesito que se use mi entorno RoR. Específicamente, necesito que mis modelos extiendan ActionMailer y ActiveRecord. También necesito leer la configuración de la base de datos de mi database.yml. ¿Cómo lo hago?entorno RoR en la secuencia de comandos independiente de Ruby

Respuesta

9

La manera más fácil es cambiar el tinglado de su script de:

#!/usr/bin/ruby 

a

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

Et voilà, el script se ejecutará con el medio ambiente carriles de plena carga. También puede ejecutar su secuencia de comandos como ./my_script -e production para que se ejecute con la base de datos de producción.

+0

+1. Muy aseado... –

0

Creo que la mejor manera de hacerlo es convertirlo en una tarea de rake.

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

La stanza [: environment] carga el entorno de los rieles.

Cuestiones relacionadas