From 7e7a3548bb7e024b0bac0a03e3ac9f774c3486d4 Mon Sep 17 00:00:00 2001 From: Ernie Miller Date: Tue, 30 Mar 2010 08:45:09 -0400 Subject: Cleaner support for Ranges with excluded end. --- lib/arel/engines/sql/predicates.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'lib') diff --git a/lib/arel/engines/sql/predicates.rb b/lib/arel/engines/sql/predicates.rb index 53bac7a2ca..7fac09e750 100644 --- a/lib/arel/engines/sql/predicates.rb +++ b/lib/arel/engines/sql/predicates.rb @@ -75,6 +75,16 @@ module Arel end class In < Binary + def to_sql + if operand2.is_a?(Range) && operand2.exclude_end? + GreaterThanOrEqualTo.new(operand1, operand2.begin).and( + LessThan.new(operand1, operand2.end) + ).to_sql + else + super + end + end + def predicate_sql; operand2.inclusion_predicate_sql end end -- cgit v1.2.3