2014-03-07 62 views
0

給定使用Thor的Ruby程序時,如何實現一個在調用看起來像標誌的參數時被調用的方法。如何在Thor中使用標誌作爲命令

例如,如果我在命令行中運行以下命令:

mycmd --version 

我想執行的代碼:

desc 'version', 'Print version number' 
def version 
    puts "mycmd version #{Mycmd::VERSION}" 
end 

回答

3

你可以做一個「頂層」默認任務,檢查其論點並輸出正確的東西:

class MyThing < Thor 
    desc "meta", "Information about the task itself" 
    argument :name 
    def meta 
    if name == "--version" 
     puts "v 1.1.1" 
    elsif name == "--author" 
     puts "meagar" 
    end 
    end 
    default_task :meta 
end 
相關問題