diff options
Diffstat (limited to 'activerecord/lib/arel/predications.rb')
-rw-r--r-- | activerecord/lib/arel/predications.rb | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/activerecord/lib/arel/predications.rb b/activerecord/lib/arel/predications.rb index 28679ae892..2a62c53aa3 100644 --- a/activerecord/lib/arel/predications.rb +++ b/activerecord/lib/arel/predications.rb @@ -36,14 +36,14 @@ module Arel # :nodoc: all def between(other) if infinity?(other.begin) - if infinity?(other.end) + if other.end.nil? || infinity?(other.end) not_in([]) elsif other.exclude_end? lt(other.end) else lteq(other.end) end - elsif infinity?(other.end) + elsif other.end.nil? || infinity?(other.end) gteq(other.begin) elsif other.exclude_end? gteq(other.begin).and(lt(other.end)) @@ -82,14 +82,14 @@ Passing a range to `#in` is deprecated. Call `#between`, instead. def not_between(other) if infinity?(other.begin) - if infinity?(other.end) + if other.end.nil? || infinity?(other.end) self.in([]) elsif other.exclude_end? gteq(other.end) else gt(other.end) end - elsif infinity?(other.end) + elsif other.end.nil? || infinity?(other.end) lt(other.begin) else left = lt(other.begin) |