byebugで"restart"コマンドを実行した時に、それをフックする方法はあるでしょうか
byebugのおかげでrubyのデバッグがずっと捗るようになったのですが、外部ツール(検索エンジンなどのミドルウェア等)との連携をするようなプログラムを作っていると、特にcucumberなどの自動テストと組み合わせるときに、そういった外部ツールをテストシナリオの実行中に、臨時に再起動したい必要に迫られることがあり、その対応方法がわかりません。
byebugではプログラム実行中にrestart
コマンドを実行することでプログラムの再起動させる手間短縮できるのがGDBみたいで素晴らしく、自動テストをしながらすぐにやり直せるのがとても重宝しています。
ですが、その再起動を検知してコールバックされるフック処理を使えないと、再起動の必要な外部ツールがあるときに、それらのツールを初期化ができなくて困っています。
フックがなかったからといって不具合とは思いませんが、まずはそういう機能がbyebugに備わっているのが知りたいです。代替案含めて一応調べてはみたのですがわかりませんでした。
at_exitメソッドをテストコードに入れていると、タイミング次第ではうまく動くこともありますが、とても不安定です(プログラム次第なのかも)。
こうした次第ですので、byebugにフックの機能があるのをご存じの方がいらしたら教えていただけないでしょうか。
よろしくお願いします。