Je voudrais écrire un paquet pour Ruby et le rendre disponible comme gemme.
Quels sont les outils, les étapes et les pièges?
Y a-t-il de bons tutoriels, screencasts, etc., qui vous ont aidé à apprendre à le faire?Ruby: Comment écrire une gemme?
Répondre
Rubygems.org's Guides est l'une des meilleures ressources pour écrire votre propre gemme.
Si vous utilisez Bundler dans votre application, vous pouvez consulter le guide de Ryan Bigg au Developing a RubyGem using Bundler et le Railscast on creating gems with Bundler.
Si vous êtes intéressé par des outils pour vous aider à écrire des pierres précieuses:
- Jeweler - outil opiniâtres pour la création et la gestion de projets rubygem. Il y a aussi un Gemcutter and Jeweler Railscast.
- Hoe - Des gars de seattlrb.
- gem-this ajoute un tas de tâches de rake utiles.
Quelques tutoriels/guides:
- Creating Your First Gem
- Using bundler and rvm to build a rubygem - L'utilisation Bundler et RVM pour créer un bijou
- Gem Packaging: Best Practices
- Ruby Gem Recipe - Guide Introduction à la création d'un bijou en utilisant Bundler et bijoutier
- How to build a ruby gem and host it on gemcutter - tutoriel utilisant echoe et gemcutter
- The Truth About Gemspecs - va plus gemspecs et des conseils pour y faire face
- Packaging with RubyGems - un guide de démarrage rapide pour Bijoutier
- gem that - James Adam - outils critiques qui aident à construire des pierres précieuses (houe, newgem, echoe, gemhub, bijoutier, bijou ce)
- Using Gemcutter's Api from the Commandline
- New Gem with Bundler – Sample Rakefile - rakefile utiles pour le déploiement et la publication d'un petit bijou
- Let's Write a Gem
- How To Build A Ruby Gem With Bundler, Test-Driven Development, Travis CI And Coveralls, Oh My!
Vous n'avez pas besoin de commencer à écrire une gemme, écrivez simplement du code, écrivez quelques tests, utilisez-le comme vous voulez, et une fois que vous êtes satisfait, utilisez gem this pour générer le Rakefile approprié. Il est utile de conserver les approches utilisées par les autres gemmes (avoir un répertoire lib, éviter de nommer les fichiers d'une manière qui pourrait heurter d'autres gemmes, écrire des tests si possible, avoir un readme), mais ce n'est pas nécessaire. Une fois que vous avez quelque chose à partager, mettez-le sur github et poussez-le sur gemcutter. Ne pas trop penser, ne pas utiliser houe ou d'autres outils exagérés, amusez-vous, ne faites rien que je ne ferais pas.
Voici comment je crée habituellement et la libération Gems:
- Inscrivez-vous à https://github.com
- Inscrivez-vous à https://rubygems.org
$ gem install ore rubygems-tasks rdoc rspec
$ mine awesome_gem
cd awesome_gem/
et modifier leREADME.rdoc
etawesome_gem.gemspec
, écrire le codelib/awesome_gem/
et ajouter des tests RSpec dansspecs/
.- Lorsque vous êtes prêt à sortir, mettez à jour le fichier
ChangeLog.rdoc
, exécutezrake spec
etrake rerdoc
, ouvrezhtml/index.html
et vérifiez les fautes de frappe. rake release
- (Facultatif) soumettre un lien et une explication de votre nouveau bijou génial à http://rubyflow.com
Asseyez-vous et se prélasser dans la gloire de votre première Gem. :)
- 1. Comment modifier une gemme?
- 2. Comment créer une gemme ruby disponible pour mes scripts?
- 3. Comment obtenir une gemme Ruby installée dans Rails?
- 4. Comment écrire une applet GNOME avec Ruby
- 5. Construire une gemme ruby pour les applications Rails
- 6. Installation de la gemme ruby non emballée
- 7. Comment utiliser une gemme temporairement?
- 8. Quel est le mécanisme canonique pour créer une gemme Ruby?
- 9. Les fixations svn ruby sont-elles fournies comme une gemme?
- 10. Installation de la gemme MySQL dans Ruby
- 11. mémorable générateur de gemme pour ruby
- 12. Quelqu'un a utilisé la gemme Ruby Nettica?
- 13. ruby-on-rails conçoit la gemme
- 14. Utiliser une gemme sans l'installer
- 15. Comment écrire une extension pour Sinatra sans l'emballer comme une gemme?
- 16. Comment remplacer la gemme Unicode sur Ruby 1.9?
- 17. Comment ajouter le support JS à la gemme Ruby Mechanize?
- 18. Comment ajouter une méthode à une gemme ruby sans modifier la source gem?
- 19. Comment supprimer un chemin de gemme?
- 20. Comment installer gemme system_timer sur Windows 7
- 21. Comment est-ce que je gemme correctement déballer une gemme dans une application de rails?
- 22. Comment écrire au fichier dans Ruby?
- 23. Ruby - Obtenir l'adresse IP du client à l'intérieur d'une gemme
- 24. Comment développer une gemme dans un environnement de transit?
- 25. Installer la gemme MySQL pour Ruby avec JRuby gem
- 26. Ruby: Que signifie Errno :: EEXIST lors de l'installation d'une gemme?
- 27. Conflit de noms lors de l'installation d'une gemme ruby
- 28. Impossible d'activer la gemme: comment déterminer quelle gemme dépend de celle-ci?
- 29. Aide pour écrire une recherche Ruby on Rails
- 30. Vous ne pouvez pas installer une gemme ruby à cause d'une erreur?
'gem build' est fourni par RubyGems lui-même. Toute la gemme Gemcutter (et bientôt, RubyGems proprement dit) vous permet de pousser un RubyGem en utilisant l'API. http://gemcutter.org/pages/gem_docs http://gemcutter.org/pages/api_docs – qrush
Merci, j'ai modifié la réponse. –