我想使用Thor在Ruby中创建一个命令行工具。此工具应打包为gem,以便轻松安装和卸载。
创建和发布gem,我已经完成了。我还创建了几个也可以工作的Thor脚本。但是,我不知道如何将它们结合起来。
我的目标是能够通过以下方式调用我的工具:mytool task param --options mytool taskgroup:task param --options
我知道如何使一个Thor脚本可执行。但是,如何使一堆Thor脚本可以访问抛出一个命令?
根据relevant Gem documentation,您可以指定(在.gemspec中):
spec.executables = ['bin/foo', 'bin/bar']
spec.default_executable = 'bin/bar'
让你的宝石安装一堆可执行文件(foo
和bar
)。或者你为所有Thor脚本编写一个包装器并指定:
spec.executables = ['bin/wrapper']
让你的gem只安装一个可执行文件(wrapper
)。
电传宝石(https://github.com/piotrmurach/tty)在设置所有脚手架方面做得非常出色。使用teletype创建项目,然后填写实现。