Rails `where` por menos tiempo que las consultas

Preparar

Rieleswhere El método puede tomar un rango en un hash para generar una consulta que buscará un valor que esté dentro del rango. Por ejemplo:

User.where(cash_money: 10..1000)
#=> SELECT `users`.* FROM `users`  WHERE (`users`.`cash_money` BETWEEN 10 AND 1000)

Esto también se puede usar con marcas de tiempo como

User.where(last_deposit: 10.days.ago..1000.days.ago)
#=> SELECT `users`.* FROM `users`  WHERE (`users`.`last_deposit` BETWEEN '2014-05-19 14:42:36' AND '2011-09-02 14:42:36')

Descubrí que puedes hacer un simple menor o mayor que con números usando la sintaxis hash como esta

User.where(cash_money: 10..Float::INFINITY)
#=> SELECT `users`.* FROM `users`  WHERE (`users`.`cash_money` >= 10)

y lo mismo se puede hacer con-Float::INFINITY por menos de consultas.

Pregunta

¿Hay alguna manera de hacer esto con marcas de tiempo para que pueda obtener una consulta como la siguiente?

SELECT `users`.* FROM `users`  WHERE (`users`.`last_deposit` >= '2014-05-19 14:42:36')

No puedo usarFloat::INFINITY oDate::Infinity con un rango ya que ambos error conArgumentError: bad value for range.

Solución simple actual
User.where('`users`.`last_deposit` >= ?', 10.days.ago)

generará el mismo SQL, pero si esto se puede hacer con objetos que no sean cadenas, me gustaría hacerlo.

Respuesta potencial (Meh)

Esto es un poco pésimo, pero podría hacerse con rangos usandoTime.at(0) yTime.at(Float::MAX). Sin embargo, tengo la sensación de que esto podría dar lugar a consultas SQL igualmente pésimas.

Respuestas a la pregunta(4)

Su respuesta a la pregunta