2008/08/29

Rails で、アプリケーションから ER図 を生成できる RailRoad を試してみる



Rails には、アプリケーションのモデル・コントローラの内容や関係が記述されたクラス図を、リバースエンジニアリングして生成してくれる RailRoad という便利なツールがあります。


設計は軽くすませて、すぐにプログラミングしていくことが多い Rails アプリケーションですが、全体像を把握したい場合や、他の人に見せたい場合などは、こういうツールがあると便利ですね。


というわけで、実際に使ってみました。


インストール


Graphviz をまずはインストール


railroad をインストール


gem install railroad

Rake タスクとして実行できるようにする


lib/task/diagrams.rake
namespace :doc do
namespace :diagram do
desc "Generate Model diagrams."
task :models do
# SVG
sh "railroad -i -l -a -m -M | dot -Tsvg | sed 's/font-size:14.00/font-size:11.00/g' > doc/models.svg"
# PNG
sh "railroad -i -l -a -m -M | dot -Tpng > doc/models.png"
end

desc "Generate Controller diagrams."
task :controllers do
# SVG
sh "railroad -i -l -C | neato -Tsvg | sed 's/font-size:14.00/font-size:11.00/g' > doc/controllers.svg"
# PNG
sh "railroad -i -l -C | neato -Tpng > doc/controllers.png"
end
end
desc "Generate Model and Controller diagrams."
task :diagrams => %w(diagram:models diagram:controllers)
end

クラス図の生成


rake doc:diagrams

すばらしいですね。

0 件のコメント: