RunnerScriptの内部でurl_forを使う方法
以下をlib/hoge.rbとして保存(config/routes.rbは設定済み)
include ActionController::UrlWriter default_url_options[:host] = "hoge.org" p url_for(:controller => 'sessions', :action => 'new') p new_session_url
実行すると以下のようになる
% ./script/runner lib/hoge.rb "http://hoge.org/session/new" "http://hoge.org/session/new"
ActionController::UrlWriter.default_url_options[:host]を指定しない場合は以下のようなエラーになった。
/usr/lib/ruby/gems/1.8/gems/rails-2.1.0/lib/commands/runner.rb:45: /usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/url_rewriter.rb:61:in `url_for': Missing host to link to! Please provide :host parameter or set default_url_options[:host] (RuntimeError) from (eval):3 from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `eval' from /usr/lib/ruby/gems/1.8/gems/rails-2.1.0/lib/commands/runner.rb:45 from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' from ./script/runner:3