2010-07-25 2 views
0

Мне нужно разработать плагин на основе программного обеспечения в рубине. Какая у вас лучшая архитектура?Архитектура плагина Ruby

Я имею в виду плагин, как это, каждый в отдельном файле .rb:

class MyPlugin < Plugin 

def info 
infos 
end 

def run 
# run 
end 
end 

Как я могу написать менеджер плагинов называть эти плагины?

+0

Возможно, вы также можете использовать 'Module' с' include' или 'extend'. – jtbandes

+0

большинство плагинов ruby ​​поставляются в виде драгоценных камней, проверьте этот учебник как ресурс http://guides.rubygems.org/make-your-own-gem/, который также охватывает обычную архитектуру. – lfender6445

ответ

2

Вам нужно четко определить, что именно означает «вызов плагинов».

Для начала вы можете проверить here как require все файлы из каталога, поместить ваши плагины в один каталог и потребовать их всех.

Тогда вам нужно как-то выбрать, какой из них использовать, будь то:

  • передавая ее имя класса в виде строки через аргумент командной строки или параметр в конфигурационном файле, и ищет класса с таким именем используя const_get или
  • представляя пользователю список всех плагинов (все потомки вашего Plugin класса) - проверить here, как сделать это

Наконец, инстанцировании плагине делайте все, что вам нужно для этого.