rails-erdでRails Engineベースのアプリケーション(Spree、Solidusなど)のER図を得る。
たっぷりとしたコードを含むRails Engineは上から読んでいくにはつらいものです。
いくつかのgemに分割されているSpreeのようなアプリケーションを読むにはインストールして起動しつつ、その上で読んでいくのが楽ですが、手がかりがないのはつらい。ということてrails-erdを使います。しかし、
Engine以下のmodelsは読んでくれない
という問題があるのでそれに対処します。
Engine以下のmodels以下のファイルをapp/models以下にコピー
これでrails-erdのスコープに入ります。
Solidusを読みたいので、Solidusをインストールしたうえでコピーします。
$ cp -R ./vendor/bundle/ruby/2.3.0/gems/solidus*/app/models/* app/models/
rails-erdインストール
graphvizぐらいはすでに入っているかもしれませんがインストール。
$ sudo apt-get install graphviz
group :development do gem "rails-erd" end
$ bundle install
書きだし
$ bundle exec erd
でかい
でかい
ちなみにネームスペース、クラス名は特に汚染されないのでコピーしたままでもアプリケーションは動きます。