Re:Continuous Cache Warming for Rails
by spicyj on Thursday March 22, 2012 @01:02AM
(#3738468)
Unless I'm misunderstanding something, script/runner could be used instead of script/console. Then the whole Rails environment is properly loaded but in a manner that's actually meant to be used for prewritten scripts instead of in an interactive environment.
[ Parent
| on HN ]
script/runner does not have the app.get facility. That's only available in script/console.
app.get is using the same facility as integration testing (https://github.com/rails/rails/blob/master/actionpack/lib/ac...).
Check out the code that instantiates it at https://github.com/rails/rails/blob/master/railties/lib/rail...
I needed this in a rake task under Rails 2 a while back; I ended up doing the following:
require 'action_controller/integration'
app = ActionController::Integration::Session.new
module CurrentUserHack
def current_user
@user ||= User.look_up_my_user_here
end
end
ApplicationController.send :include, CurrentUserHack
Now you can make authenticated requests in rake tasks and presumably in script/runner.