Segunda entrega de la serie Novedades de Ruby, un repaso versión a versión por cada minor desde la 3.0, con la ventaja de escribir en 2026 y saber ya cómo acabó cada apuesta. En la entrega anterior vimos la 3.0 y su promesa del 3x3; hoy toca la versión que empezó a cumplirla de verdad. El 25 de diciembre de 2021 salió Ruby 3.1. Sobre el papel parecía una versión de transición: ni la ambición conceptual de la 3.0 ni grandes cambios de sintaxis. Y sin embargo, con la perspectiva de 2026, defiendo que fue una de las versiones más...
Arranca la serie Novedades de Ruby: un recorrido versión a versión por cada minor de Ruby desde la 3.0, contado por alguien que las fue estrenando en proyectos Rails reales. Un minor por entrega, hasta llegar a Ruby 4. La idea no es copiar el changelog —para eso ya están las release notes—, sino contar qué importó de verdad en el día a día y qué se quedó en anécdota. Y como escribo en 2026, me permito el lujo de la retrospectiva: ya sabemos qué envejeció bien. El 25 de diciembre de 2020 —Matz lleva toda la vida publicando las...
Décima y última entrega de la serie Rails sostenible, sobre Sustainable Web Development with Ruby on Rails de David Bryant Copeland. Tiempo de lectura estimado: 14 minutos. Llegamos al final del recorrido. Tras nueve entregas bajando hasta el detalle de cada capa de Rails, Copeland cierra subiendo de nuevo a la vista de pájaro: el proceso, las operaciones, las decisiones de arquitectura macro y, por encima de todo, el liderazgo técnico. Porque ninguna técnica de las que hemos visto sobrevive si nadie en el equipo defiende la sostenibilidad como valor. Usa la integración continua para desplegar El proceso sostenible empieza...
Novena entrega de la serie Rails sostenible, sobre el libro de David Bryant Copeland. Penúltima parada. Tiempo de lectura estimado: 12 minutos. Entramos en la tercera parte del libro, "más allá de Rails", donde Copeland aborda territorios que toda app real acaba necesitando. Hoy, dos: cómo gestionar quién entra (autenticación y autorización) y cómo exponer una API sin que se convierta en una fuente perpetua de carrying cost. En ambos casos, su consejo se resume en una palabra que ya conocéis bien a estas alturas de la serie: simplicidad. Autenticación: en la duda, Devise u OmniAuth La autenticación es uno...
Octava entrega de la serie Rails sostenible, sobre el libro de David Bryant Copeland. Tiempo de lectura estimado: 13 minutos. Hay un patrón que se repite en todo el libro y que aquí se hace explícito: controladores, jobs, mailers y rake tasks son todos clases frontera (boundary classes). Viven en el lado de Rails del seam, conectan el framework con el mundo exterior, y su trabajo no es contener lógica de negocio sino traducir y delegar. Una vez interiorizas esto, las tres categorías de este post se vuelven la misma idea aplicada tres veces. El código del controlador es configuración...