是否可以从我的 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
前段时间,我使用 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