2009-01-13 12 views
6

Normalerweise erstelle ich ein Plugin, wenn ich ein Modul habe, von dem ich weiß, dass ich es in meinen anderen Projekten noch einmal brauche, aber es könnte auch als Edelstein verpackt sein.Erstellen Sie ein Plugin oder ein Juwel?

Wann sollte ich ein Juwel über das Erstellen eines Plugins bauen? Gibt es Kriterien für den Anruf?

Antwort

9

Plugins veralten nun, da Sie Edelsteine ​​über die Anweisung "config.gem" in environment.rb verwalten können. Gems sind systemweit verfügbar (nicht nur in einer App) und sind im Gegensatz zu Plugins versioniert.

Ich habe kürzlich alle meine plugins zu Gems konvertiert. Easy to do und es lohnt sich.

+0

installieren Link geändert http://mbleigh.com/2008/06/11/gemplugins-a- "Easy to do" Kurzeinführung-in-die-Zukunft-von-Schienen-Plugins.html – cpm

1

Schienen scheinen sich in Richtung der Edelsteinrichtung zu bewegen. Ich habe die meisten meiner Plugins jetzt zu Edelsteinen konvertiert. Edelsteine ​​sind leichter zu verwalten und passen besser in das Ruby-Ökosystem. Warum brauchen wir sowieso zwei getrennte Systeme?

Es gibt jedoch weiterhin ein Problem mit Edelsteinen: Es ist nicht möglich, Rake-Aufgaben von einem Juwel zu einer Rails-Anwendung hinzuzufügen. Wahrscheinlich gilt das Gleiche für Generatoren, obwohl ich mir nicht sicher bin. Wenn Sie diese in Ihrem Plugin verwenden, ist die Migration zu einem Juwel noch nicht möglich. Hoffentlich wird das bald behoben.

1

Sie können Generatoren über Edelsteine ​​zu Schienen hinzufügen. Es ist eigentlich ziemlich einfach, du kannst einfach ein rails_generators-Verzeichnis zu deinem Juwel hinzufügen. (Ich denke andere Verzeichnisnamen funktionieren - ich bin mir nicht sicher, nach was Schienen sucht). Beispiel: http://github.com/remi/rackbox/tree/a21c21667c68d5fd51357e28f0742171e9161e9b/rails_generators

wie für das Hinzufügen von Rake Aufgaben ... Ich habe noch Howto, um herauszufinden, das tun:/

jetzt, habe ich meine Generatoren hinzufügen require 'myproject/rails/tasks' (oder etwas) zu dem Rakefile Projekt als eine Möglichkeit, Rake-Aufgaben zu Rails von einem Juwel hinzuzufügen.

Viele Edelsteine ​​bitten Sie, sie in Ihr Rails-Projekt zu "booten", z. sudo gem Gurke cd rails_app ./script/generate Gurke # Bootstrap-Gurke in Ihre App

Verwandte Themen