Hi all,
Currently, :conditions => {:foo => 2.0..3.0} and :conditions => {:foo => 2.0...3.0} both sanitize to "foo BETWEEN 2.0 AND 3.0", which is incorrect - Ruby's Range object is defined to exclude the end value when you use ... to create the range, so we need to output "foo >= 2.0 AND foo < 3.0" in this #exclude_end? case.
The patch I've attached to #1865 fixes this behavior. I made a small refactor to the two calls to attribute_condition to support passing along the (quoted) attribute name so that it can be mentioned more than once.
Any chance we could get this into the next release?
Cheers, Will