Jag tror inte att det du vill göra är ett korrekt sätt att lösa ett sådant problem.
Vad jag skulle föreslå istället är att helt enkelt åsidosätta end_date metod i modellen:
def end_date
super == Float::INFINITY ? DateTime::Infinity.new : super
end
Detta säger i princip om end_date i db är Float::INFINITY returnera DateTime::Infinity.new som end_date , annars returnera det som finns i databasen.