Je ne pense pas que ce que vous voulez faire soit une manière correcte de résoudre ce problème.
Ce que je suggérerais à la place, c'est simplement de remplacer le end_date méthode dans le modèle :
def end_date
super == Float::INFINITY ? DateTime::Infinity.new : super
end
Cela dit essentiellement si end_date dans la base de données est Float::INFINITY renvoie DateTime::Infinity.new comme end_date , sinon renvoie ce qu'il y a dans la base de données.