railroad を使ってみました。

今日何気にネットをみていたら、ソースから
モデル図(ER図)や、コントローラ図が、できるという記事を見つけました。
Railsを見える化「RailRoad」

自己学習しているアプリケーションの現在の状況がわかるのならと、
早速インストールをしようと思い、ほかのサイトを検索。

ここで、手順を書くと、以下の通り、
(1)予め、Graphvizをインストールしておきます。
(これって、Doxygenでも利用されているプログラムです。昔C++のドキュメント生成で使用しました。)

(2)次に、「RubyGems Package Manager」のコマンドプロンプトから、インストール
gem install railroad
これで以下の通り出力
--------------------------------------------------------------------
Successfully installed railroad-0.5.0
1 gem installed
Installing ri documentation for railroad-0.5.0...
Installing RDoc documentation for railroad-0.5.0...
--------------------------------------------------------------------
(3)モデル図(ER図)の作成
作成しているrailsのフォルダ(appとかconfigとかのフォルダがあるフォルダ)へ移動して以下を実行
railroad -o models.dot -M
結果は何も表示されなければOK
その後、neato -Tpng models.dot >models.png と実行すると、
モデル図が作成されました。

これが、現在作成しているアプリのモデル図
(4)コントローラ図の作成
続いて、
railroad -o controllers.dot -C
結果は何も表示されなければOKなのですが、、、
こちらは、以下のようなエラーが出てうまく動きませんでした。
--------------------------------------------------------------------
from H:/Ruby/lib/ruby/gems/1.8/gems/railroad-0.5.0/bin/railroad:38:in `new'
from H:/Ruby/lib/ruby/gems/1.8/gems/railroad-0.5.0/bin/railroad:38
from H:/Ruby/bin/railroad:19:in `load'
from H:/Ruby/bin/railroad:19
--------------------------------------------------------------------
で、ネットを捜索すると、rails2.3.2だと動かないという話があり、
いろいろと探していると、見つかりました。

どうもファイル名が変わったのが原因みたいですね。
該当するファイルはありません。
Ruby\lib\ruby\gems\1.8\gems\railroad-0.5.0\lib\railroad\ フォルダ
controllers_diagram.rb:23:
   files << 'app/controllers/application.rb'
controllers_diagram.rb:39:
   require "app/controllers/application.rb"
上記2カ所のapplication.rb を、application_controller.rb に変更して実行すると、エラーメッセージが出力されずに動きました!。
その後、neato -Tpng controllers.dot >controllers.png と実行。
これが、現在作成しているアプリのコントローラ図
人に伝えるには、こんな資料があると良いですね。

Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

興味

項目(サイトへ)概要
AIと仕事の未来生成AIによる働き方の変化と、これから求められる仕事・スキル・キャリアを探るレポートです。
SVGタグ解説SVGの基本的なタグについて解説します。
SVGの探求SVG:インタラクティビティとアニメーションの探求
Mermaid.js 各種ダイアグラムのノードと矢印の図形Mermaid.jsは、コードベースでフローチャートやUMLなどの図を描画できる軽量なJavaScriptライブラリです。
Mermaid.js 記述事例Mermaid.jsを使用してフローチャート、シーケンス図、クラス図、ステート図、マインドマップ、要件定義を記述した構文例を載せています。
macromedia Flash 歴史探訪Webに命を吹き込んだFlash──インタラクティブ時代の幕開けを振り返ります。
RailsがWeb開発にもたらした衝撃と改革Web開発の革命、多くのフレームワーク誕生の火付け役となったRuby on Railsについて。
IT開発工数見積もり手法 選定支援ツール要件定義は工数見積の基盤であり、適切な算出が成功の鍵となります。
梅から桜へ:日本の花文化変遷インタラクティブガイド梅から桜へと観賞対象が移り変わった歴史的経緯と文化的背景を、インタラクティブに探求します。
もち麦と雑穀米 完全ガイドもち麦と雑穀米のインタラクティブガイドです。

no+e

記事内容
SVG描画ツールを作ってみたSVG描画ツールをGeminiと共に作るきっかけとなった話
GeminiとMermaid.jsの組み合わせGeminiで、ソースを解析してもらいmermaid.jsが認識してくれるタグに変換してもらう話
Gemini共同製作からのGem活用Geminiと私が実際に行っている共同製作方法(バイブコーディング)の方法を解説した話
SVG描画ツールをGemini CLIで作成するGemini CLIでSVG描画ツールを作成できるのか?を確認した話
KIROを使ってみました。KIROというAIエージェントが公開されてGemini CLI が解決できない問題を解決できるのではと使ってみた話
KIROとGeminiでSVG描画ツールを作成本当はGEMINI CLIを1番に使いたいのですが使えないのです。その為現在は、1.KIRO 2.GEMINI(WEB) 3.GEMINI CLI を使ってます
AIが「ごめんなさい」と答えた日。私は気分転換をすることにしたSVG描画ツールのバグ修正が思うように進まず、開発がしばらく停滞した中、生成AIにも見放されてしまい気分転換をした話