Trailblazer: 私の操作が失敗した原因はどのステップですか?
概要
次のような操作を考えると、
class MyOperation < Trailblazer::Operation
step :do_a!
step :do_b!
def do_a(options, **)
false
end
def do_b(options, **)
true
end
end
run(MyOperation) の結果、操作のどのステップが失敗したかを確認するにはどうすればよいですか?
結果オブジェクトにデフォルトでこの情報が含まれていない場合、それを追加する良い方法は何でしょうか?
解決策
現在、操作固有のデバッグ ユーティリティを提供するこの gem があります - https://github.com/trailblazer/trailblazer-developer
これにより、どのステップで例外が発生したか、またはどのステップでトラックが成功から失敗に変化したかを正確に確認できます。
Trailblazer::Developer.wtf?(MyOperation, options)
STDOUT/Logger にステップのトレースを出力します。