Ruby:如何将一个应用程序的控制台命令用于另一个应用程序

时间:2014-05-07 19:31:44

标签: ruby-on-rails ruby plugins console command

我有一个ruby应用程序和一个插件。在他们自己的工作空间中,每个都有一些独立于另一个的控制台命令。我想通过以某种方式在原始应用程序的工作区中实例化插件来使用插件的命令。以下示例说明了我的要求。关于如何实现这一目标的一些指导将不胜感激。

cd main_app
main_app -h
The following are main_app commands:
-a      # does apple for main app
-b      # does basket for main app
-set_ws # sets/ enables the work space of specified plugin (need to implement this).
cd ../plugin_app
plugin_app -h
The following are plugin_app commands:
-c      # does cat for plugin_app
-d      # does dog for plugin_app

I would like to implement something of this sort:
cd main_app
main_app -set_ws plugin_app
main_app -h
The following are main_app commands:
-a      # does apple for main app
-b      # does basket for main app
-set_ws # sets/ enables the work space of specified plugin.
The following are plugin_app commands:
-c      # does cat for plugin_app
-d      # does dog for plugin_app

1 个答案:

答案 0 :(得分:0)

由于我们不知道有关您的插件的任何,我们无法告诉您如何集成这两者。

如果插件已正确实现以集成到另一个应用程序中,我猜测您可以实例化一些CLI类,甚至实例化服务类,并调用正确的API。< / p>

我可以建议的唯一编码,给出您的输入(并假设ruby应用程序至少知道插件所在的位置) - ruby​​应用程序可以使用{{从shell调用插件CLI 3}}:

if args == ['-c']
  `../plugin_app -c`
end