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.