rails make instalar guides actualizar ruby rubygems

make - Ruby: ¿Cómo escribir una gema?



ruby installer (3)

Así es como generalmente creo y lanzo gemas:

  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. :)

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?


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

Ayuda si te apegas a los enfoques que otras gemas toman (tener un directorio lib, evitar nombrar archivos de forma que pueda chocar con otras gemas, 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.


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 gemas con Bundler .

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

Algunos tutoriales / guías: