diff options
author | Ernie Miller <ernie@metautonomo.us> | 2010-03-24 16:22:15 -0400 |
---|---|---|
committer | Ernie Miller <ernie@metautonomo.us> | 2010-05-07 13:04:42 -0400 |
commit | def75c7b54ccc18f3a8daf79b6144ddcb538d4e8 (patch) | |
tree | 7aaa63607fa9db942c7dd0a1fe32c2aa4650a118 /lib/arel/engines/memory | |
parent | 7aff5ac78e874fa999b7edae26f5031dac017a6e (diff) | |
download | rails-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.rb | 12 |
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 |