Архитектура плагинов Ruby - PullRequest
0 голосов
/ 25 июля 2010

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

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

class MyPlugin < Plugin

def info
 infos
end

def run
 # run
end
end

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

1 Ответ

2 голосов
/ 26 июля 2010

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...