ruby_latam

¿Qué es una gema?

Las gemas en Ruby son un formato estándar para poder distribuir programas o bibliotecas, de esta forma podemos instalar y ocupar de forma sencilla programas y bibliotecas escritos por terceros e incluso reutilizar bibliotecas nuestras.

Estas gemas, generalmente, son manejadas por RubyGems, que es un administrador de paquetes para Ruby y que provee un formato estandar para la distribución de gemas.

En este artículo podrás aprender a crear, utilizar y publicar tu primera gema.

Creando nuestra primera gema

Debemos decidir el nombre de nuestra gema, en este caso nuestra gema se llama ‘gemadesafio’.

Para comenzar

  1. Crear una nueva carpeta que contendrá nuestra nueva gema.
  2. Dentro de esta carpeta debemos crear un archivo llamado gemspec.
    • Lo primero que debemos hacer cuando creamos una nueva gema es crear un archivo llamado gemspec que contiene información sobre la gema. El nombre del archivo gemspec debe ser nombregema.gemspec.
      En este caso el nombre del archivo será gemadesafio.gemspec.
    • Pueden encontrar todas las opciones en http://guides.rubygems.org/specification-reference.
    • En la siguiente linea:

    Se incluirán todos los archivos .rb que se encuentren dentro de la carpeta lib.

  3. A continuación, crearemos el código ruby para nuestra librería. Para esto, primero, dentro de la carpeta de nuestra gema, crearemos una nueva carpeta llamada lib.
  4. Dentro de esta carpeta crearemos nuestro archivo .rb donde crearemos una clase simple con un método de clase simple. El archivo se llamará gemadesafio.rb.

  5. Ahora construiremos nuestra gema. Para esto abriremos el terminal y nos dirigiremos a la carpeta de nuestra nueva gema. Una vez ahí escribiremos (siempre en el terminal) gem build gemadesafio.gemspec.
    • Una vez ejecutada la instrucción podrás ver algo asi:

    • Esto generará un archivo dentro de nuestra carpeta de la gema llamado gemadesafio-0.0.1.gem.

Usando la nueva gema en una aplicación

Usando nuestra gema localmente

Para poder hacer uso de nuestra gema debemos instalarla en nuestro gemfile. Pasa eso es necesario correr el siguiente comando en nuestro terminal gem install ./gemadesafio-0.0.1.gem.

Ahora puedes usar tu gema en tu aplicación de Rails de forma local incluyendola dentro del gemfile de tu aplicación con la linea gem 'gemadesafio'.

Puedes acceder a su funcionalidad de la siguiente forma

Incluso, podrías probar tu gema desde la consola de ruby.

Publicando nuestra gema en RubyGems

Puedes compartir tus gemas creadas con la comunidad de Ruby publicándola en RubyGems.org.
Para esto es necesario crearnos una cuenta gratis en https://rubygems.org/.

Una vez que tengamos una cuenta creada en RubyGems debemos ingresar en nuestro terminal gem push gemadesafio-0.0.1.gem.

Puede que, al principio les solicite sus credenciales de RubyGems (email y password). Despues de esto debería devolver el siguiente mensaje

Muy bien, haz creado tu primera gema!!!!!

Ahora otros desarrolladores podrán instalar la gema recién creada gem install gemadesafio o incluyendola dentro del gemfile con la línea gem 'gemadesafio'.

Para mayor información pueden revisar la documentación de RubyGems
http://guides.rubygems.org/make-your-own-gem/

Share Button
Desarrollador Ruby on Rails. Deportista por excelencia (si es que se pueden considerar deporte los juegos en línea y codear). Música, códigos y café, la mejor combinación. Fanático de la tecnología y nuevos desafíos. Me encantan las pastas, sobre todo la lasagna.