2022年9月12日月曜日

state_machines gemから状態遷移図を実際に作成する方法

state_machines gemから状態遷移図を実際に作成する方法

概要

前回 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 件のコメント:

コメントを投稿