RailRoad - リバースエンジニアリング

Railsのコントローラとモデルから、設計図をリバースしてくれるツール - RailRoad。これ、いいですよ。

RailRoad

最近、Railsの仕事も打診があったりします(県外からですがw)。
Railsアプリを在宅で作るというウレシイお話ですが、やっぱり動的型の言語を使って企業とコミュニケーションをとるのは、なかなか難しいのではないかと。

で、なんかナイかなーと調べてたら、あった!

  RailRoad

Railsのモデルとコントロールのクラス図をリバースエンジニアリングしてくれるツールです。こういうの欲しいと思ってた人、いっぱいいると思う。

こういうのがあると「仕事でRails」ムードが一気に高まる気がします。

試しに、このブログの設計図を生成すると・・

 

使い方

RailRoadの前に、Graphvizをインストールします。よくWebログ解析をビジュアル化するときなんかに使うツールで、Windows版もあります。
「neato」というコマンドがインストールされたことを確認しておきます。

RailRoadのインストールは、

 # gem install railroad

Railsアプリのルートに移動して、
コントローラは「-C」、モデルは「-M」で、DOTファイルを生成します。

 # railroad -o test_cnt.dot -C
 # railroad -o test_mdl.dot -M

DOTファイルからPNGを生成するのは、Graphvizの仕事。

 # neato -Tpng test_cnt.dot > controller.png
 # neato -Tpng test_mdl.dot > model.png


以上です。


2007/09/30追記
*_idと*_countがモデルクラスのプロパティとして表示されない。
これが問題になる場合は、以下を修正すると、出ます。

Railroad(0.4.0)のソース、models_diagram.rb:line 60
 前:current_class.content_columns.each
 後:current_class.columns.each


コメント

コメントしてください

closed.