Ruby: Comment écrire un bijou? [fermé]

160

J'aimerais écrire un package pour Ruby et le rendre disponible sous forme de gemme.
Quels sont les outils, les étapes et les pièges?
Existe-t-il de bons tutoriels, screencasts, etc. qui vous ont aidé à apprendre à le faire?

glmxndr
la source

Réponses:

216

Les guides de Rubygems.org sont l'une des meilleures ressources pour écrire votre propre bijou.

Si vous utilisez Bundler dans votre application, vous pouvez consulter le guide de Ryan Bigg sur le développement d'un RubyGem à l'aide de Bundler et le Railscast sur la création de gemmes avec Bundler .

Si vous êtes intéressé par des outils pour vous aider à écrire des gemmes:

Quelques tutoriels / guides:

Jack Chu
la source
3
gem buildest fourni par RubyGems lui-même. Tout ce que le gem Gemcutter (et bientôt, RubyGems proprement dit) vous permet de faire est de pousser un RubyGem en utilisant l'API. gemcutter.org/pages/gem_docs gemcutter.org/pages/api_docs
qrush
Merci, j'ai édité la réponse.
Jack Chu
6

Voici comment je crée et publie habituellement des gemmes:

  1. Inscrivez-vous sur https://github.com
  2. Inscrivez-vous à https://rubygems.org
  3. $ gem install ore rubygems-tasks rdoc rspec
  4. $ mine awesome_gem
  5. cd awesome_gem/et éditez le README.rdocet awesome_gem.gemspec, écrivez le code lib/awesome_gem/et ajoutez des tests RSpec dans specs/.
  6. lorsque vous êtes prêt à publier, mettez à jour le ChangeLog.rdocfichier, exécutez rake specet rake rerdoc, ouvrez html/index.htmlet vérifiez les fautes de frappe.
  7. rake release
  8. (Facultatif) soumettez un lien et une explication de votre nouveau bijou génial à http://rubyflow.com

Asseyez-vous et profitez de la gloire de votre première gemme. :)

postmoderne
la source
6

Vous n'avez pas besoin de commencer à écrire un gem, écrivez simplement du code, écrivez des tests, utilisez-le comme vous le souhaitez, et une fois que vous en êtes satisfait, utilisez gem this pour générer le Rakefile approprié.

Cela aide si vous vous en tenez aux approches adoptées par d'autres gemmes (avoir un répertoire lib, éviter de nommer les fichiers d'une manière qui pourrait entrer en conflit avec d'autres gemmes, écrire des tests si vous le pouvez, avoir un readme), mais ce n'est pas nécessaire.

Une fois que vous avez quelque chose que vous souhaitez partager, mettez-le sur github et poussez-le vers gemcutter .

N'y pensez pas trop, n'utilisez pas de houe ou d'autres outils excessifs, amusez-vous, ne faites rien que je ne ferais pas.

cwninja
la source