Nemyslím si, že to, co chcete udělat, je správný způsob řešení takového problému.
Místo toho bych navrhoval jednoduše přepsat end_date
metoda v modelu:
def end_date
super == Float::INFINITY ? DateTime::Infinity.new : super
end
To v podstatě říká if end_date
v db je Float::INFINITY
return DateTime::Infinity.new
jako end_date
, jinak vraťte, co je v databázi.