2010-07-25 1 views
0

Je dois développer un logiciel de plugin basé sur ruby. Quelle est la meilleure architecture à utiliser?Ruby plugin architecture

Je pense à plugin comme cela, chacun dans un fichier séparé .rb:

class MyPlugin < Plugin 

def info 
infos 
end 

def run 
# run 
end 
end 

Comment je peux écrire un gestionnaire de plug-in pour appeler ces plugins?

+0

Vous pouvez également utiliser 'Module' avec' include' ou 'extend'. – jtbandes

+0

la plupart des plugins ruby ​​viennent sous la forme de gemmes, consultez ce tutoriel comme une ressource http://guides.rubygems.org/make-your-own-gem/, qui couvre également une architecture conventionnelle. – lfender6445

Répondre

2

Vous devez définir clairement ce que signifie "appeler les plugins".

Pour commencer, vous pouvez vérifier here comment require tous les fichiers d'un répertoire, mettez vos plugins dans un seul répertoire et les exiger tous.

Ensuite, vous devez choisir une certaine façon que l'on à utiliser, que ce soit:

  • passant son nom de classe comme une chaîne par un argument de ligne de commande ou un paramètre de fichier de configuration, et la recherche d'une classe par ce nom en utilisant const_get ou
  • présentant un utilisateur une liste de tous les plug-ins (tous les descendants de votre classe Plugin) - consultez here comment le faire

Enfin, vous instancier votre plug-in et fais ce que tu as besoin de faire avec.