Si ya tienes alguna experiencia de trabajo con Ruby, probablemente has tenido que lidiar con las colecciones.
Las colecciones pueden ser tediosas. Pero GAR (Gracias a Ruby) disponemos de un amplio arsenal para tratar con ellas!
En este post voy a mostrarte dos métodos iteradores de Ruby que realmente me agradan, sobre todo por su sencillez y belleza.

Mi caprichoso ejemplo

Hace poco, tuve que hacer un pequeño parser JSON para el feed público de Flickr, así que voy a usar algunos métodos de ese módulo como ejemplo para nuestro artículo.
Básicamente, el módulo tenía que ir a buscar un objeto JSON devuelto por la API de Flickr, y parsearlo a un objeto JSON de Ruby, chequeanbdo algunas validaciones.
Este tipo de funcionalidad no toma más de una docena de líneas de Ruby, pero es un buen ejemplo para lograr nuestro objetivo.

Nos centraremos en dos métodos para el módulo:

  • json_items: devuelve un array de hashes. Cada hash representa un elemento del feed de la API de Flickr.
  • check(item): comprueba si el hash dado satisface ciertas validaciones.

También nos saltaremos toda la codificación de la URL y algunas cosas de la validación para centrarnos en los métodos iterativos.