我正在将一个小项目转换为使用 Thor,并且心不在焉的我想使用内置帮助记录可用的任务。但是,如果我使用参数定义任务,任务级帮助将恢复为类的帮助 - 这意味着不会显示任务描述或预期参数的详细信息。
我希望能够拥有一个可以使用参数而不是参数调用的方法,因此可以像这样使用它
$ thor broke:foo hello
in a.thor broke:foo arg1=hello
我已将问题归结为以下 thorfile,除了损坏的帮助输出之外,它可以按我的意愿工作。我已经去掉了任何其他参数,因为它们对问题没有影响。第一个任务 ok:foo 将正常显示帮助,第二个任务 broken:foo 帮助不大:
class Ok < Thor
desc "foo", "ok test2"
def foo
puts "in a.thor ok:foo\n"
end
end
class Broke < Thor
argument :arg1, :type=>:string, :desc => "arg1"
desc "foo", "broke test1"
def foo
puts "in a.thor broke:foo arg1=#{self.arg1}\n"
end
end
请求 ok:foo 任务方法的帮助给出:
$ thor help ok:foo
Usage:
thor ok:foo
ok test
为 break:foo 任务请求帮助的帮助不大:
$ thor help broke:foo
Tasks:
thor broke:foo ARG1 # broke test1
thor broke:help ARG1 [TASK] # Describe available tasks or one specific task
如何定义参数并显示正确的任务帮助?