Is there an easy way I can write an independent script that gets the rails environment the way console does etc ? I've never seen this except through like backgroundrb etc
Is there an easy way I can write an independent script that gets the rails environment the way console does etc ? I've never seen this except through like backgroundrb etc
You could create say lib/foo.rb and within that have say:
class Foo def self.bar # do whatever you want to do and have access to all your models, etc. end end
And run it with "./script/runner Foo.bar"
You could also do it as a rake task and have rake load up the environment...
-philip
Or require config/environment
Fred
Or another alternative is to create some runnable script and run it against the environment you want:
$ cat ./script/do_some_foo.runnable
puts " fetching all foo in #{RAILS_ENV} env:" Foo.find(:all).each do |foo| // do something with foo ... end ...
$ ./script/runner ./script/do_some_foo.runnable fetching all foo in development env: ...
$ ./script/runner -e production ./script/do_some_foo.runnable fetching all foo in production env: ...
Jeff
How long has script/runner been part of rails ? I guess either it was not well advertised or my learning of ruby/rails somehow overlooked that.
This guy posted something to that effect:
I've used activeresource and various other things that I would have used script/runner for instead ..