I want to run a standalone ruby script in which I need my RoR environment to be used. Specifically, I need my models extending ActionMailer and ActiveRecord. I also need to read the database configuration from my database.yml. How do I go about it?
-
The easiest way is to change the shebang of your script from :
#!/usr/bin/rubyto
#!/path/to/your/rails/script/runnerEt voilĂ , your script will be run with the full rails environment loaded. You can also run your script as
./my_script -e productionto have it run with the production database.Vijay Dev : +1. Very Neat... -
Check out this thread: http://stackoverflow.com/questions/293302/how-do-i-run-ruby-tasks-that-use-my-rails-models
Essentially it boils down to:
require "#{ENV['RAILS_ROOT']}/config/environment.rb"Have fun!
-
I think the best way to do this is to make it a rake task.
# lib/tasks/mystuff.rake desc 'do my stuff' task :my_stuff => [:environment] do # do my stuff endThe [:environment] stanza loads the rails environment.
0 comments:
Post a Comment