概要
前回 state_machines gem を使ってオブジェクトの状態を管理する方法を紹介しました
今回は実際に作成した状態遷移のコードから状態遷移図を出力する方法を紹介します
環境
- macOS 11.6.8
- graphviz 5.0.0
- Ruby 3.1.2p20
- state_machines 0.5.0
graphviz環境の構築
こちらを参考にgraphvizをインストールします
state_machines-graphvizのインストール
- vim Gemfile
gem "state_machines-graphviz"
- bundle install
状態遷移図の出力
-
bundle exec rake -f ./vendor/ruby/3.1.0/gems/state_machines-graphviz-0.0.2/lib/state_machines/tasks/state_machines.rake state_machines:draw FILE=$(pwd)/app.rb CLASS=Instance
ちょっと長いですが bundle install したので rake ファイルのパスをオプションで指定しているためです
グローバルな環境にインストールしたのであれば Rakefile 内で require があれば自動でタスクを読み込んでくれるはずです
動作確認
カレントディレクトに doc/state_machines というディレクトリがあるのでその配下に png で状態遷移図あります
- open doc/state_machines/Instance_state.png
最後に
コードで状態遷移図を管理したい場合だけでも便利かもしれません
0 件のコメント:
コメントを投稿