Costruire un plugin o una gemma?
-
22-07-2019 - |
Domanda
In genere creo un plug-in quando ho un modulo che so che avrò bisogno di nuovo negli altri miei progetti, tuttavia, potrebbero anche essere impacchettati come gemme.
Quando dovrei creare una gemma sulla creazione di un plugin? Esistono criteri per effettuare la chiamata?
Soluzione
I plug-in stanno diventando obsoleti ora che puoi gestire le gemme tramite " config.gem " istruzione in environment.rb. Le gemme sono disponibili in tutto il sistema (non solo in un'app) e sono versioni diversamente dai plugin.
Di recente ho convertito tutti i miei plug-in in gemme. Facile da fare e ne vale la pena.
Altri suggerimenti
Le rotaie sembrano muoversi verso la direzione della gemma. Ho convertito la maggior parte dei miei plugin in gemme ora. Le gemme sono più facili da gestire e si adattano meglio all'ecosistema Ruby. Perché abbiamo bisogno di due sistemi separati comunque?
Tuttavia, esiste ancora un problema con le gemme: non è possibile aggiungere attività rake a un'applicazione Rails da una gemma. Probabilmente lo stesso vale per i generatori, anche se non ne sono sicuro. Se li usi nel tuo plugin, la migrazione a una gemma non è ancora possibile. Spero che questo venga risolto presto.
puoi aggiungere generatori ai binari tramite gemme. in realtà è abbastanza semplice, puoi semplicemente aggiungere una directory rails_generators alla tua gemma. (Penso che altri nomi di directory funzioneranno - non sono sicuro di cosa cerchi le rotaie). esempio:
per quanto riguarda l'aggiunta di attività di rake ... devo ancora capire come farlo: /
per ora, sto facendo in modo che i miei generatori aggiungano richiedono 'myproject / rails / task'
(o qualcosa del genere) al Rakefile del progetto come un modo per aggiungere attività rake alle rotaie da una gemma.
molte gemme ti chiedono di "bootstrap" nel tuo progetto di binari, ad es. sudo gem installa cetriolo cd rails_app ./script/generate cucumber # bootstrap cucumber nella tua app