Algo que continuamente cualquier desarrollador de Rails echa un vistazo es a nuevas gemas que puedan aparecer y, como no, hacernos la vida más fácil.
En este artículo, voy a daros una lista de gemas que yo uso para todos mis proyectos, son gemas de propósito general, pero que nos ayudan mucho en el desarrollo de cada dia de un proyecto Ruby on Rails
1. Rubocop
Si quieres ser un desarrollador de Rails con papeles, tienes que respetar las guías de estilo de Ruby, y para ello, Rubocop es una gema que te lo va a poner realmente fácil. Directamente, mientras vas escribiendo tu código, Rubocop analiza tu código y te indica que partes de él no cumplen las normas de estilo y te va sugiriendo además como cambiarlo para que lo haga. Realmente imprescindible en cualquier proyecto de rails que quieras comenzar.
2. Awesome print
Awesome print es otra de esas gemas que hacen una cosa muy simple, pero que lo hacen muy bien. Awesome print, simplemente formatea la salida de una query de activerecord en la consola de forma que sea visualmente mucho más agradable que la salida normal de una llamada en la consola.
Aquí tienes un ejemplo de salida formateada con Awesome print:
Genial ¿verdad?
3. Rspec-rails
Y vamos a un tema que cuesta, testing, si quieres llamarte desarrollador de Rails, tienes que hacer tus tests, si o si, no se si has oido el mantra… ‘Test all the fucking time…’ Y así es, hay que hacer tests.
Para poder hacer tests, yo, personalmente utilizo la gema Rspec, dada su flexibilidad y funcionalidad y a que es perfecta para hacer tests de APIs, así que, para testing, te recomiendo que uses Rspec
4. Factory bot
Factory bot es el complemento imprescindible para Rspec a la hora de realizar tus tests, factory bot te creará modelos ‘on the fly’ para poder probar tus tests, otro must para desarrollar proyectos de Rails.
5. Faker
Otra gema muy útil y que vas a utilizar dia sí y día también es Faker, Faker simplemente genera datos ‘fake’ para que puedas usar sobre todo en desarrollo, en múltimples ocasiones necesitas emails, nombres propios, cargos en empresas, urls… etc… pero en realidad esos datos son solo datos de ejemplo, cuando se trata de crear tres usuarios no hay problema, pero cuando necesitas 100 usuarios crearlos a mano puede ser un poco tedioso. Ahí es donde entra faker, puede generar casi cualquier tipo de contenido o dato de ejemplo.
6. Bullet
Otro punto importantisimo cuando estamos desarrollando son las queries que realizamos a la base de datos, y algo que tenemos que evitar son las situaciones n+1 en nuestras queries pues bien, Bullet detecta las queríes que tienen este problema y nos avisa para que las corrijamos, realmente os digo una cosa, es pura magia ver como aumenta el rendmiento de nuestra aplicación y los accesos a la base de datos con esta gema.
Esta es una pequeña selección de gemas de propósito general, sobre todo enfocadas a mejorar la productividad cuando estamos desarrollando, espero que te ayude esta selección.
Si conoces alguna otra gema interesante, por favor, déjala en los comentarios, seguro que es muy interesante también!
Pedro dice
Muy buena selección Antonio. Una pregunta ¿Qué gema sueles utilizar para la autenticación por token (jwt)?
Antonio Pérez dice
Muy buenas Pedro, pues la verdad, depende mucho del proyecto, suelo trabajar con sistema de token propio, adaptado a las necesidades del proyecto, cuando he trabajado con gemas, normalmente ha sido la gema jwt y jwt-devise, para este tipo de cosas intento buscar soluciones lo más ligeras posible.