Eu não acho que o que você quer fazer é uma maneira correta de resolver esse problema.
O que eu sugiro é simplesmente substituir o
end_date
método no modelo:def end_date
super == Float::INFINITY ? DateTime::Infinity.new : super
end
Isso basicamente diz se
end_date
em db é Float::INFINITY
return DateTime::Infinity.new
como end_date
, caso contrário, retorne o que está no banco de dados.