守破離でいこう! -Let's go with SyuHaRi!-

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

すばらしいですね。

ラベル:

naoki 18:29
HaloScan: |

0 Comments:

Add a comment