![](/img/trans.png)
[英]Thor : How can I get my Thor task to display help when I have defined an argument?
[英]Using Thor, can I pass the CLI an argument only (not a task) and send it to a default method/task?
我正在使用Thor為我正在創建的Ruby gem創建一個CLI。 理想情況下,可執行文件會接受像myapp path/to/file
這樣的myapp path/to/file
,因為我寧願用戶不必定義任務,只需要參數。
我查看了API,但default_task僅在沒有任務/參數時才有效。
如何讓Thor將此變量文件參數發送到默認方法/任務,而不是將其解釋為不存在的任務?
myapp path / to / file
兩部分答案:
1) myapp
...使用'thor'以外的可執行文件,你需要使用'thor / runner'庫。
2) path/to/file
可以在initialize方法中完成,如下所示:
class Something < Thor
def initialize(*args)
super
case @path
when /something$/; self.class.new([@path],options).do_run
end
end
desc 'do_run', "do something"
argument :path, :banner=>"path/to/file", :optional=>true
def do_run
# something
end
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.