使用thor作为复杂的命令行工具

时间:2011-05-06 10:02:56

标签: ruby gem command-line-interface thor

我想使用Thor在Ruby中创建一个命令行工具。此工具应打包为gem,以便轻松安装和卸载。

创建和发布gem,我已经完成了。我还创建了几个也可以工作的Thor脚本。但是,我不知道如何将它们结合起来。

我的目标是能够通过以下方式调用我的工具: mytool任务参数 - 选项 mytool taskgroup:task param --options

我知道如何让一个Thor脚本可执行。但是,如何使一堆Thor脚本可以访问抛出一个命令?

2 个答案:

答案 0 :(得分:1)

根据relevant Gem documentation,您可以指定(在.gemspec中):

spec.executables = ['bin/foo', 'bin/bar']
spec.default_executable = 'bin/bar'

让宝石安装一堆可执行文件(foobar)。或者您为所有Thor脚本编写了一个包装器并指定:

spec.executables = ['bin/wrapper']

让你的gem只安装一个可执行文件(wrapper)。

答案 1 :(得分:0)

电传打字机宝石(https://github.com/piotrmurach/tty)在为此设置所有脚手架方面做得非常出色。使用电传打字创建项目,然后仅填写实施。