ブログ

読んで思い出す。忘れるために書く

rerun でファイル・ディレクトリを監視してコマンドを繰り返し実行する

今回は Yard に適用してみる

前提

  • ドキュメント記述ツール Yard を使っている
  • 大規模なプロジェクトじゃないので、毎回最初からYard のドキュメント生成をやり直しても待てる

やりたいこと

真っ新な状態でドキュメントが問題なく生成されるか、以下の手順をより簡単にしたい

  1. コードにドキュメント コメントを記述
  2. .yard/ を削除
  3. yard doc でドキュメント生成
  4. yard server でローカルサーバ立ち上げ/再起動
  5. http://localhost:8808/ を Web ブラウザで表示・確認

解決

rerun gem を使う

上のやりたいことを一部コマンドとして実行する

yard サーバは、PID を利用したプロセス管理スクリプト を使って、rerun を除いた、 yard だけを対象とした起動・停止処理を rerun に実行させる

# オプションの詳細は rerun --help で確認
rerun -d app -c "rm -rf .yard && yard doc && ./yard_server.sh restart"

rerun が監視状態に移行して、ファイルに変更があるたびに指定コマンドを実行してくれる

あとは rerun が通知を発してくれるので、それを確認次第、Web ブラウザで表示しているドキュメントページをリロードするだけ

最初にあった手順の中で「ドキュメント記述」「Web ブラウザで確認」だけが、自分でやる作業になった

Links