Hace unos pocos días se me presentó la necesidad de resolver fechas futuras escritas en forma literal, por ejemplo "en 3 días", "en 1 semana", "en 1 mes", "en un año". Para ésto, creé un módulo que que me resolviera ésto con una clase.
Al módulo lo llamé Dater y la clase Resolver.
Por que las fechas están escritas en forma literal?
Pués resulta que las pruebas constan de realizar búsquedas de vuelos. Por supuesto, cuando uno busca un vuelo lo hace en una fecha futura y no una fecha que ya pasó.
Al utilizar cucumber para escribir los tests, en lugar de poner fechas en la forma "2013-11-05" es preferible escribirlas como "en 10 días", de ésta manera me olvido de resolver las fechas al formato necesario si siempre serán fechas posteriores a la fecha de ejecución de las pruebas.
De ésta manera, en las pruebas de regresión siempre funcionará la búsqueda ya que a través de esta clase resuelvo la fecha correspondiente respecto del momento en que es llamado el método que la resuelve.
Pues bien, en lugar de guardarmela para mí, decidí publicarla para aquellos que les pueda ser útil y de paso publicar mi primera gema :)
El código se encuentra en github:
https://github.com/romgrod/dater
y la página de presentación:
http://romgrod.github.io/dater/
No hay comentarios:
Publicar un comentario