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

Is it possible to invoke Thor commands from my Web App?

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

这样更程序化的东西

你可以试试这个:

MyClass.start(args, config)

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

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

您应该能够像这样访问 Thor class 中的配置选项:

config[:type]  # => :yo