Ruby: ¿Cómo escribir una gema? [cerrado]
Me gustaría escribir un paquete para Ruby y ponerlo a disposición como una gema.
¿Cuáles son las herramientas, los pasos y los escollos ?
Hay buenos tutoriales, screencasts, etc., que te ayudó a aprender a hacerlo ?
3 answers
Rubygems.org ' s Guides es uno de los mejores recursos para escribir tu propia gema.
Si estás usando Bundler en tu aplicación, es posible que quieras ver la guía de Ryan Bigg para Desarrollar un RubyGem usando Bundler y el Railscast de sobre la creación de gemas con Bundler.
Si estás interesado en herramientas que te ayuden a escribir gemas:
- Jeweler - Herramienta obstinada para crear y administrar proyectos Rubygem. También hay un Gemcutter and Jeweler Railscast.
- - De los chicos de seattlrb.
- gema-esto añade un montón de tareas de rake útiles.
Algunos tutoriales / guías:
- Creando Tu Primera Gema
- Usando bundler y rvm para construir un rubygem - Usando bundler y rvm para crear una gema
- Gem Packaging: Mejores Prácticas
- Ruby Gem Recipe - Guía introductoria para crear una gema usando bundler y joyero
- Cómo construir una gema ruby y alojarla en gemcutter - tutorial usando echoe y gemcutter
- La verdad sobre Gemspecs - repasa gemspecs y consejos para tratar con ellos
- Embalaje con RubyGems - una guía de inicio rápido para Joyero
- gema que-James Adam - revisa las herramientas que ayudan a construir gemas (hoe, newgem, echoe, gemhub, jeweler, gem this)
- Usando la Api de Gemcutter desde el Línea de comandos
- Nueva gema con Bundler-Ejemplo de Rakefile - rakefile útil para desplegar y publicar una gema
- Vamos a escribir una Gema
- Cómo Construir Una Gema Ruby Con Bundler, Test-Driven Development, Travis CI Y Overoles, Oh My!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-09 01:10:33
Así es como suelo crear y liberar Gemas: {[13]]}
- Inscríbase en https://github.com
- Inscríbase en https://rubygems.org
$ gem install ore rubygems-tasks rdoc rspec
$ mine awesome_gem
-
cd awesome_gem/
y editar elREADME.rdoc
yawesome_gem.gemspec
, escribir código enlib/awesome_gem/
y agregar pruebas RSpec enspecs/
. - cuando esté listo para lanzar, actualice el archivo
ChangeLog.rdoc
, ejecuterake spec
yrake rerdoc
, abrahtml/index.html
y vuelva a verificar cualquier error tipográfico. rake release
- (Optativo) enlace y explicación de tu nueva gema impresionante a http://rubyflow.com
Siéntate y disfruta de la gloria de tu primera Joya. :)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-21 07:22:26
No es necesario comenzar a escribir una gema, simplemente escriba algún código, escriba algunas pruebas, utilícela como quiera, y una vez que esté satisfecho con ella, use gema this para generar el Rakefile relevante.
Ayuda si te apegas a los enfoques que toman otras gemas (tener un directorio lib, evitar nombrar archivos de maneras que podrían chocar con otras gemas, escribir algunas pruebas si puedes, tener un readme), pero no es necesario.
Una vez que tengas algo que quieras compartir, ponlo en github y empujarlo a gemcutter .
No lo pienses demasiado, no uses azada u otras herramientas exageradas, diviértete, no hagas nada que yo no haría.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-12 08:38:56