Uno de los puntos más fuertes de Ruby son sus bloques: elegantes y potentes, nos permiten crear código legible y expresivo. La influencia de estos bloques se ha expandido a otros lenguajes, y estos a su vez han iterado sobre el concepto y aportado algunas características interesantes.

Veamos, por ejemplo…


Pry y Byebug son dos herramientas que nos sirven bastante para desarrollar aplicaciones de Ruby: Pry nació como un reemplazo de IRB (el intérprete de Ruby), mientras que Byebug empezó siendo un sucesor espiritual de la gema debugger debido a que esta no funciona con Ruby 2.0.

La gema de…


La interfaz inicial de ActiveAdmin, al ser genérico (y pensando originalmente sólo para ser un CRUD), no permite que podamos hacer resaltar los aspectos más importantes de nuestras aplicaciones. Ahora vamos a ver unos tips para darle un poco de cariño al aspecto visual de los admins.

Para este ejemplo…


Un problema común que nos encontramos al testear nuestras aplicaciones es la integración con servicios de terceros.

Enviar los requests a las APIs de terceros en cada test tiene varios problemas:

  • Nos topamos con el límite de requests en un determinado tiempo
  • Los tests pueden fallar por problemas de conexión


Uno de los problemas a los que frecuentemente nos enfrentamos es manejar diferentes versiones de un modelo, una forma de hacerlo es utilizando la gema Paper Trail.

Instalando Paper Trail

Lo primero es añadir la gema al Gemfile

gem 'paper_trail', '~> 4.0.0'

Luego ejecutamos bundle install para instalarla. Luego ejecutamos este generador:

bin/rails…

Siempre me había hecho esa pregunta, pero empecemos por definir cómo funciona el proceso a grandes rasgos: el agent forwarding nos permite conectarnos a otros servidores autenticándonos mediante credenciales que tenemos localmente en nuestra computadora, de forma que el servidor intermedio sólo hace de puente entre ambos.

Parece bastante mágico…


Delayed Job es una gema que permite ejecutar tareas “pesadas” en background de forma asíncrona. Para no ser redundantes con el README de la gema, mostraremos brevemente la instalación y uso (Rails 4) y luego haremos hincapié en lo más interesante de la gema.

Instalación

Agregar al Gemfile:

gem 'delayed_job_active_record'
gem…

Arturo Puente

N7

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store