No creo que lo que quieras hacer sea una forma correcta de resolver este problema.
Lo que sugeriría en su lugar, es simplemente anular la end_date
método en el modelo:
def end_date
super == Float::INFINITY ? DateTime::Infinity.new : super
end
Esto básicamente dice si end_date
en db es Float::INFINITY
devuelve DateTime::Infinity.new
como end_date
, de lo contrario, devolver lo que está en la base de datos.