Ruby: ¿Cómo escribir una gem?

Me gustaría escribir un paquete para Ruby y ponerlo a disposición como una joya.
¿Cuáles son las herramientas, los pasos y las trampas?
¿Hay buenos tutoriales, screencasts, etc. que te hayan ayudado a aprender cómo hacerlo?

Las Guías de Rubygems.org es uno de los mejores recursos para escribir tu propia joya.

Si está usando Bundler en su aplicación, puede consultar la guía de Ryan Bigg sobre Desarrollando un RubyGem usando Bundler y Railscast sobre la creación de gems con Bundler .

Si estás interesado en herramientas para ayudarte a escribir gems:

  • Joyero : herramienta de opinión para crear y administrar proyectos de Rubygem. También hay un Gemcutter y Jeweler Railscast .
  • Hoe – De los chicos de seattlrb.
  • joya: esto agrega un montón de útiles tareas de rake.

Algunos tutoriales / guías:

  • Creando tu primera joya
  • Usando bundler y rvm para construir un rubygem – Usando bundler y rvm para crear una gem
  • Embalaje de gems: mejores prácticas
  • Receta Ruby Gem – Guía introductoria para crear una gem usando bundler y joyero
  • Cómo construir una gem de Ruby y alojarla en gemcutter – tutorial usando echoe y gemcutter
  • The Truth About Gemspecs : repasa gemspecs y consejos para lidiar con ellos
  • Embalaje con RubyGems : una guía de inicio rápido para Joyero
  • joya que – James Adam – revisa las herramientas que ayudan a construir gems (azada, nueva gem, ecoe, gemhub, joyero, joya esto)
  • Usando la Api de Gemcutter desde la línea de comando
  • Nueva gem con Bundler – Sample Rakefile – Rakefile útil para implementar y publicar una gem
  • Escribamos una gem
  • Cómo construir una gem de Ruby con Bundler, Desarrollo basado en pruebas, Travis CI y overoles, ¡Oh, Dios mío!

Así es como generalmente creo y lanzo gems:

  1. Regístrese para https://github.com
  2. Regístrese para https://rubygems.org
  3. $ gem install ore rubygems-tasks rdoc rspec
  4. $ mine awesome_gem
  5. cd awesome_gem/ y edite el README.rdoc y awesome_gem.gemspec , escriba el código en lib/awesome_gem/ y agregue las pruebas de RSpec en las specs/ .
  6. cuando esté listo para lanzar, actualice el archivo ChangeLog.rdoc , ejecute rake spec y rake rerdoc , abra html/index.html y rake rerdoc verificar si hay algún error tipográfico.
  7. rake release
  8. (Opcional) envíe un enlace y una explicación de su nueva joya impresionante a http://rubyflow.com

Siéntese y disfrute de la gloria de su primera Gema. 🙂

No es necesario que empieces a escribir una gem, solo escribe un código, escribe algunas pruebas, úsalas como quieras, y una vez que estés contento con ella, usa gem para generar el archivo Rake correspondiente.

Ayuda si te apegas a los enfoques que otras gems toman (tener un directorio lib, evitar nombrar archivos de forma que pueda chocar con otras gems, escribir algunas pruebas si puedes, tener un archivo Léame), pero no es necesario.

Una vez que tenga algo que quiera compartir, colóquelo en github y empújelo a gemcutter .

No lo pienses más, no uses azada u otras herramientas para excederse, diviértete, no hagas nada que yo no haría.