给定一个类似的操作
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)
,我怎么知道操作的哪一步失败了?
如果结果对象默认不包含此信息,那么添加它的好方法是什么?
给定一个类似的操作
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 上打印步骤跟踪。