aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/engines/memory
diff options
context:
space:
mode:
authorErnie Miller <ernie@metautonomo.us>2010-03-24 16:22:15 -0400
committerErnie Miller <ernie@metautonomo.us>2010-05-07 13:04:42 -0400
commitdef75c7b54ccc18f3a8daf79b6144ddcb538d4e8 (patch)
tree7aaa63607fa9db942c7dd0a1fe32c2aa4650a118 /lib/arel/engines/memory
parent7aff5ac78e874fa999b7edae26f5031dac017a6e (diff)
downloadrails-def75c7b54ccc18f3a8daf79b6144ddcb538d4e8.tar.gz
rails-def75c7b54ccc18f3a8daf79b6144ddcb538d4e8.tar.bz2
rails-def75c7b54ccc18f3a8daf79b6144ddcb538d4e8.zip
Added NotMatch and NotIn predicates, made Not derive from Equality (reverted later)
Diffstat (limited to 'lib/arel/engines/memory')
-rw-r--r--lib/arel/engines/memory/predicates.rb12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/arel/engines/memory/predicates.rb b/lib/arel/engines/memory/predicates.rb
index f87bf68357..b8642136d8 100644
--- a/lib/arel/engines/memory/predicates.rb
+++ b/lib/arel/engines/memory/predicates.rb
@@ -10,7 +10,7 @@ module Arel
def operator; :== end
end
- class Not < Binary
+ class Not < Equality
def eval(row)
operand1.eval(row) != operand2.eval(row)
end
@@ -35,9 +35,19 @@ module Arel
class Match < Binary
def operator; :=~ end
end
+
+ class NotMatch < Binary
+ def operator; :!~ end
+ end
class In < Binary
def operator; :include? end
end
+
+ class NotIn < Binary
+ def eval(row)
+ !(operand1.eval(row).include?(operand2.eval(row)))
+ end
+ end
end
end