开拓者:哪一步导致我的操作失败?

时间:2019-01-21 17:42:59

标签: ruby 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)的结果,如何判断操作的哪一步失败了?

如果结果对象默认情况下不包含此信息,那么添加它的好方法是什么?

1 个答案:

答案 0 :(得分:2)

现在有一个gem提供了特定于操作的调试实用程序-https://github.com/trailblazer/trailblazer-developer

它使您可以准确查看哪个步骤引发了异常,或者哪个步骤导致了轨迹从成功变为失败。

Trailblazer::Developer.wtf?(MyOperation, options)

它将在STDOUT / Logger上打印步骤的痕迹。

enter image description here