config.ruに設定を埋める

Railsのコードを読んでみてて気付いた。いや、単に知らなかっただけという可能性もあるのだがconfig.ruには起動オプションを埋め込むことができる。

config.ruに一行、「#</tt>」で始まる文字列を書き加える。するとその内容が空白区切りでコマンドラインオプションに加えられる。

# This file is used by Rack-based servers to start the application.
#\ --port 3333

require ::File.expand_path('../config/environment',  __FILE__)
run Nanjamonja::Application

これを起動すると次のようになる。

$ ./script/rails server
=> Booting WEBrick
=> Rails 3.0.9 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-07-04 12:01:56] INFO  WEBrick 1.3.1
[2011-07-04 12:01:56] INFO  ruby 1.8.7 (2011-02-18) [x86_64-linux]
[2011-07-04 12:02:01] INFO  WEBrick::HTTPServer#start: pid=25167 port=3333

しかもコマンドラインオプションよりも後に、つまり優先して評価される。

$ ./script/rails server --port 4444
=> Booting WEBrick                       
=> Rails 3.0.9 application starting in development on http://0.0.0.0:4444
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-07-04 12:04:58] INFO  WEBrick 1.3.1
[2011-07-04 12:04:58] INFO  ruby 1.8.7 (2011-02-18) [x86_64-linux]
[2011-07-04 12:05:03] INFO  WEBrick::HTTPServer#start: pid=25184 port=3333

これといって活用方法を思い付かないのだけど。