lunes, 31 de mayo de 2010

Time, time, time

Las extensiones a la clase Time que se añaden en ActiveSupport me parecen geniales.

Por una parte tenemos las extensiones propias de Time::Calculations donde se añaden todo tipo de métodos de manejo y comparación de fechas. Mi favorita es advance que permite moverse a partir de una fecha dada en cualquier dirección. Recibe como parámetros una hash con las posibles claves :years, :months, :weeks, :days, :hours, :minutes, :seconds.

El método since es un wrapper de las otras extensiones, las Numeric. Éstas permiten hacer cálculo de fechas a partir de números. Permiten formar expresiones del tipo 2.years.from_now, más cercanas al lenguaje natural que Time.now.advance(:years => 2) pero que pueden quedarse cortas según las necesidades de cada uno.

Merece la pena echar un ojo. ¡Salud y rocanrol!

Today is the day
I've got something in my heart to say
tonight is maybe the night
but I need time, time, time