Ruby: Come scrivere una gemma? [chiuso]


160

Vorrei scrivere un pacchetto per Ruby e renderlo disponibile come gemma.
Quali sono gli strumenti, i passaggi e le insidie?
Esistono buoni tutorial, screencast, ecc. Che ti hanno aiutato a imparare come farlo?

Risposte:


216

Le guide di Rubygems.org sono una delle migliori risorse per scrivere la tua gemma.

Se stai usando Bundler nella tua app, potresti voler consultare la guida di Ryan Bigg per lo sviluppo di un RubyGem usando Bundler e il Railscast sulla creazione di gemme con Bundler .

Se sei interessato a strumenti per aiutarti a scrivere gemme:

Alcuni tutorial / guide:


3
gem buildè fornito dallo stesso RubyGems. Tutta la gemma Gemcutter (e presto, RubyGems corretta) ti consente di spingere un RubyGem usando l'API. gemcutter.org/pages/gem_docs gemcutter.org/pages/api_docs
qrush

Grazie, ho modificato la risposta.
Jack Chu,

6

Ecco come di solito creo e rilasci Gemme:

  1. Iscriviti a https://github.com
  2. Iscriviti a https://rubygems.org
  3. $ gem install ore rubygems-tasks rdoc rspec
  4. $ mine awesome_gem
  5. cd awesome_gem/e modifica il README.rdoce awesome_gem.gemspec, scrivi il codice lib/awesome_gem/e aggiungi i test RSpec in specs/.
  6. quando sei pronto per il rilascio, aggiorna il ChangeLog.rdocfile, esegui rake spece rake rerdoc, apri html/index.htmle ricontrolla eventuali errori di battitura.
  7. rake release
  8. (Opzionale) invia un link e una spiegazione della tua nuova fantastica gemma a http://rubyflow.com

Siediti e crogiolati nella gloria della tua prima gemma. :)


6

Non è necessario iniziare a scrivere una gemma, basta scrivere un po 'di codice, scrivere alcuni test, usarlo come vuoi e, una volta che sei soddisfatto, usa gem questo per generare il Rakefile pertinente.

Aiuta se ti attieni agli approcci adottati da altre gemme (avere una directory lib, evitare di nominare i file in modi che potrebbero scontrarsi con altre gemme, scrivere alcuni test se puoi, avere un readme), ma non è necessario.

Una volta che hai qualcosa che vuoi condividere, mettilo su github e spingilo sul gemcutter .

Non pensarci troppo, non usare la zappa o altri strumenti eccessivi, divertiti, non fare nulla che non farei.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.