私は小さなプロジェクトを Thor を使用するように変換していますが、ぼんやりしているので、組み込みのヘルプを使用して利用可能なタスクを文書化したいと考えています。しかし、引数を使用してタスクを定義すると、タスク レベルのヘルプはクラスのヘルプに戻ります。つまり、タスクの説明や予期されるパラメーターの詳細は表示されません。
このように使用できるように、パラメーターではなく引数で呼び出すことができるメソッドを使用できるようにしたい
$ thor broke:foo hello
in a.thor broke:foo arg1=hello
問題を次の thorfile に要約しました。これは、壊れたヘルプ出力を除いて、私が望むように機能します。問題に違いがないため、他のパラメーターはすべて削除しました。最初のタスク ok:foo は通常どおりヘルプを表示しますが、2 番目のタスク break: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
引数を定義して適切なタスク ヘルプを表示するにはどうすればよいですか?