给出类似的操作
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)
的结果,如何判断操作的哪一步失败了?
如果结果对象默认情况下不包含此信息,那么添加它的好方法是什么?
答案 0 :(得分:2)
现在有一个gem提供了特定于操作的调试实用程序-https://github.com/trailblazer/trailblazer-developer
它使您可以准确查看哪个步骤引发了异常,或者哪个步骤导致了轨迹从成功变为失败。
Trailblazer::Developer.wtf?(MyOperation, options)
它将在STDOUT / Logger上打印步骤的痕迹。