テスト実行環境と便利スクリプト
Railsには自動生成したアプリケーションディレクトリに「script/server」というテスト用のサーバの起動スクリプトが作成されています。
scirptディレクトリにはその他にも、benchmarker、generate、profiler、breakpointerなど開発に便利そうなスクリプトが置いてありました。
これらはカスタマイズすることも可能ですし、このような開発を助けるスクリプトがアプリケーションごとに、コピーされているというアプローチがなかなかおもしろいと思いました。Javaでいうmainを持つクラスなどと比べて、物理的にファイルがあるので、実行できるスクリプト名が明確なのが良いと思います。
しかし、これらのファイルにはなんで拡張子(.rb)がついていないんでしょうか?
webrick_server.rb
上記の「script/server」は「webrick_server」を利用していました。
webrick_server.rb
# Donated by Florian Gross
require 'webrick'
require 'cgi'
require 'stringio'include WEBrick
ABSOLUTE_RAILS_ROOT = File.expand_path(RAILS_ROOT)
ActiveRecord::Base.threaded_connections = false
class CGI
...
endclass DispatchServlet < WEBrick::HTTPServlet::AbstractServlet
...
def service(req, res)
...
end
...
end
このファイルを見て、分かったこと、分からなかったこと。
scaffoldを実行
- モデルとコントローラーとそれらのテスト、ビューが自動生成される。
- これだけで、ユーザの簡単なマスタメンテは完成。いい感じ。
入力検証やビューのカスタマイズはまた今度挑戦。