【问题标题】:How can I use a flag as a command with Thor如何将标志用作 Thor 的命令
【发布时间】:2014-03-07 15:33:03
【问题描述】:
给定一个使用 Thor 的 Ruby 程序,我如何实现一个在调用看起来像标志的参数时被调用的方法。
例如,如果我在命令行上运行:
mycmd --version
我要执行代码:
desc 'version', 'Print version number'
def version
puts "mycmd version #{Mycmd::VERSION}"
end
【问题讨论】:
标签:
ruby
command-line
thor
【解决方案1】:
您可以创建一个“顶级”默认任务,检查其参数并输出正确的内容:
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