railroadでクラス図作成

.dotファイルを作成するrailsのモデリングツール。
.dotファイルはGraphvizってツールで見たり、画像に書き出したりできる。

インストール

gem install railroad
Graphvizからdmgをダウンロード

使い方

railsのルートディレクトリで以下を実行。
railroad -o doc/models.dot -M
railroad -o doc/controllers.dot -C
Graphvizで.dotファイルをopen

controllerでエラー

$ railroad -o doc/controllers.dot -C
Error loading controller classes.
  (Are you running railroad on the aplication's root directory?)

/opt/local/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- app/controllers/application.rb (MissingSourceFile)
	from /opt/local/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:31:in `require'
	from /opt/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require'
	from /opt/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:521:in `new_constants_in'
	from /opt/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require'
	from /opt/local/lib/ruby/gems/1.8/gems/railroad-0.5.0/lib/railroad/controllers_diagram.rb:39:in `load_classes'
	from /opt/local/lib/ruby/gems/1.8/gems/railroad-0.5.0/lib/railroad/app_diagram.rb:21:in `initialize'
	from /opt/local/lib/ruby/gems/1.8/gems/railroad-0.5.0/lib/railroad/controllers_diagram.rb:14:in `initialize'
	from /opt/local/lib/ruby/gems/1.8/gems/railroad-0.5.0/bin/railroad:38:in `new'
	from /opt/local/lib/ruby/gems/1.8/gems/railroad-0.5.0/bin/railroad:38
	from /opt/local/bin/railroad:19:in `load'
	from /opt/local/bin/railroad:19


エラーメッセージから「app/controllers/application.rb」が原因のよう。
rails2.3以降、「application.rb」が「application_controller.rb」になったとこだろうと推測。


/opt/local/lib/ruby/gems/1.8/gems/railroad-0.5.0/lib/railroad/controllers_diagram.rb:39
を見てみると案の定requireしていたのでコメント

#require "app/controllers/application.rb"

解決。

こんな感じ

モデルは使えそう。