Среда RoR в автономном скрипте Ruby - PullRequest
6 голосов
/ 03 декабря 2008

Я хочу запустить автономный скрипт ruby, в котором мне нужно использовать свою среду RoR. В частности, мне нужны мои модели, расширяющие ActionMailer и ActiveRecord. Мне также нужно прочитать конфигурацию базы данных из моего database.yml. Как мне это сделать?

Ответы [ 3 ]

9 голосов
/ 03 декабря 2008

Самый простой способ - изменить shebang вашего скрипта с:

#!/usr/bin/ruby

до

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

Et voilà, ваш скрипт будет запущен с полной загрузкой среды rails. Вы также можете запустить свой скрипт как ./my_script -e production, чтобы запустить его с производственной базой данных.

0 голосов
/ 03 декабря 2008

Я думаю, что лучший способ сделать это - сделать это граблями.

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

Раздел [: environment] загружает среду рельсов.

0 голосов
/ 03 декабря 2008

Проверьте эту тему: Как запустить задачи Ruby, использующие мои модели Rails?

По существу это сводится к:

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

Веселись!

...