PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie kann ich die Operatoren .. und ... von Ruby Ranges überschreiben, um Float::INFINITY zu akzeptieren?

Ich glaube nicht, dass das, was Sie tun möchten, der richtige Weg ist, um ein solches Problem zu lösen.

Was ich stattdessen vorschlagen würde, ist, einfach das end_date zu überschreiben Methode im Modell:

def end_date
  super == Float::INFINITY ? DateTime::Infinity.new : super
end

Dies besagt im Grunde, ob end_date in db ist Float::INFINITY gibt DateTime::Infinity.new zurück als end_date , andernfalls zurückgeben, was in der Datenbank ist.