给定使用Thor的Ruby程序,当调用一个看起来像标志的参数时,我如何实现一个被调用的方法。
例如,如果我在命令行上运行此命令:
mycmd --version我想执行以下代码:
desc 'version', 'Print version number'
def version
puts "mycmd version #{Mycmd::VERSION}"
end发布于 2014-03-07 15:53:03
您可以创建一个“顶级”默认任务,它检查其参数并输出正确的内容:
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
endhttps://stackoverflow.com/questions/22254246
复制相似问题