是否可以从我的Web应用程序调用Thor命令?

时间:2017-06-22 13:56:01

标签: ruby command-line-interface thor

前段时间,我使用Ruby和Thor gem编写了一些命令行应用程序。现在,我需要创建一个Web界面,以使用这些CLI中现有的完全相同的功能。是否可以从Web应用程序调用Thor命令而不会吸引诸如%x{}exec()system之类的内容?是否有像MyClass.invoke(:command, arg1, arg2, option1: '', option2: '')这样更程序化的东西?

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

MyClass.start(args, config)

args是一个字符串数组,表示您在命令行上传递的选项,config是一个哈希值。

MyClass.start(["-f", "blah"], type: :yo)

您应该能够访问Thor类中的配置选项,如下所示:

config[:type]  # => :yo