2010-07-25 98 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如何做到這一點

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