Non credo che quello che vuoi fare sia un modo corretto per risolvere questo problema.
Quello che suggerirei invece, è semplicemente di sovrascrivere il end_date
metodo nel modello:
def end_date
super == Float::INFINITY ? DateTime::Infinity.new : super
end
Questo dice sostanzialmente se end_date
in db è Float::INFINITY
return DateTime::Infinity.new
come end_date
, altrimenti restituisci ciò che è nel database.