2010-07-25 62 views
0

我必须在ruby中开发基于插件的软件。什么是最好的结构tu使用?Ruby插件体系结构

,我想这样的插件,在每一个单独的文件名为.rb:

class MyPlugin < Plugin 

def info 
infos 
end 

def run 
# run 
end 
end 

如何我可以编写一个插件管理器来调用这些插件?

+0

你也可以考虑在'include'或'extend'中使用'Module'。 – jtbandes 2010-07-25 21:03:16

+0

大多数ruby插件都是以宝石的形式出现的,请查看本教程作为资源http://guides.rubygems.org/make-your-own-gem/,它也涵盖了传统的体系结构。 – lfender6445 2015-08-20 18:18:42

回答

2

你必须明确定义“调用插件”究竟意味着什么。

首先,您可以查看here如何require目录中的所有文件,将您的插件放到一个目录中并要求它们全部。

然后,你需要以某种方式挑选使用哪一个,不管是:

  • 通过它的类名作为字符串通过命令行参数或配置文件的参数,并通过该名称寻找类使用const_get,或者
  • 向用户呈现的所有插件的列表(您Plugin类的所有后代) - 检查here如何做到这一点

最后,你实例化你的插件和做任何你需要做的事情。