2010-04-11 33 views

risposta

5

Gem Packaging: Best Practices dà un sacco di consigli, alcuni dei quali comprendono

  • non inquinare il percorso di carico globale. Idealmente, hanno solo foo.rb nella directory lib, e mettere tutti gli altri file in lib/foo.

  • Non file require utilizzando __FILE__.

  • Non fare affidamento su nulla al di fuori del percorso di carico. Le cartelle potrebbero non avere la stessa struttura della versione originale. Ad esempio, non utilizzare qualcosa come

    VERSION = :: File.read (:: File.join (:: File.dirname (FILE), "..", "..", "VERSION ")). strip

  • Non gestire $LOAD_PATH entro lib.

  • Fornire una costante VERSION.

  • non dipendono RubyGems. La persona che utilizza il tuo codice potrebbe non utilizzare i rubygems, ma alcuni altri sistemi di packaging (o nessun sistema di packaging). Allo stesso modo, non menzionare le dipendenze della versione nel codice stesso o rescue Gem::LoadError.

Rubygems dependencies. Please... sostiene che non si dovrebbe elencare le dipendenze runtime opzionali, e dovrebbe separare gli sviluppatori da dipendenze runtime.

From my own experience: se non altro, prova a creare e installare localmente il tuo gioiello prima di rilasciarlo in natura. Evita rilasci di sacchetti di carta marrone.

+0

Decisamente una buona e corretta correzione, in particolare con il riferimento a "Gem Packaging: Best Practices" –

+0

L'ultimo punto è molto importante. Potrebbe essere riformulato come: "Un trucco importante per scrivere Ruby Gems non è scrivere gemme, scrivere librerie". –

+0

@ Jörg: molto Zen. (L'ultimo punto tratto da "Gem Packaging: Best Practices" cioè non "Dalla mia esperienza personale") –

Problemi correlati