How to get RAILS_ROOT when writing a ruby utility in /lib


#1

Hi, Im writing a small ruby utility which at the moment is in /lib of my
rails app. However I don’t get access to var’s like RAILS_ROOT, do I
need to add an include to get this (and possibily other) rails
functionality?

Is /lib the right place for this kind of app, its a single ruby class
which I call from the command line. Would a rake file be better for this
kind of thing? Can rake’s run ruby code, im guessing yes?

Many thanks, K.


#2

i put my utility scripts in the script directory. for me, a utility
script
is something that i need to run at the command line or in cron (ex:
clearing
out old session files)

put this at the top of your script:

load application environment

require File.dirname(FILE) + ‘/…/config/environment’

this will give you access to the RAILS_ROOT constant.

you also might be interested in script/runner

Chris


#3

Many thanks Chris!

Chris H. wrote:

i put my utility scripts in the script directory. for me, a utility
script
is something that i need to run at the command line or in cron (ex:
clearing
out old session files)

put this at the top of your script:

load application environment

require File.dirname(FILE) + ‘/…/config/environment’

this will give you access to the RAILS_ROOT constant.

you also might be interested in script/runner

Chris


#4

Chris H. wrote:

put this at the top of your script:

load application environment

require File.dirname(FILE) + ‘/…/config/environment’

this will give you access to the RAILS_ROOT constant.

you also might be interested in script/runner

Using script/runner still doesn’t give access to RAILS_ROOT and other
config stuff (I kinda think it should), so the require is still
required.

Joe