diff options
Diffstat (limited to 'lib/arel/engines/memory')
-rw-r--r-- | lib/arel/engines/memory/predicates.rb | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/lib/arel/engines/memory/predicates.rb b/lib/arel/engines/memory/predicates.rb deleted file mode 100644 index 1527b04056..0000000000 --- a/lib/arel/engines/memory/predicates.rb +++ /dev/null @@ -1,99 +0,0 @@ -module Arel - module Predicates - class Binary < Unary - def eval(row) - operand1.eval(row).send(operator, operand2.eval(row)) - end - end - - class Unary < Predicate - def eval(row) - operand.eval(row).send(operator) - end - end - - class Not < Unary - def eval(row) - !operand.eval(row) - end - end - - class Polyadic < Predicate - def eval(row) - predicates.send(compounder) do |operation| - operation.eval(row) - end - end - end - - class Any < Polyadic - def compounder; :any? end - end - - class All < Polyadic - def compounder; :all? end - end - - class CompoundPredicate < Binary - def eval(row) - eval "operand1.eval(row) #{operator} operand2.eval(row)" - end - end - - class Or < CompoundPredicate - def operator; :or end - end - - class And < CompoundPredicate - def operator; :and end - end - - class Equality < Binary - def operator; :== end - end - - class Inequality < Equality - def eval(row) - operand1.eval(row) != operand2.eval(row) - end - end - - class GreaterThanOrEqualTo < Binary - def operator; :>= end - end - - class GreaterThan < Binary - def operator; :> end - end - - class LessThanOrEqualTo < Binary - def operator; :<= end - end - - class LessThan < Binary - def operator; :< end - end - - class Match < Binary - def operator; :=~ end - end - - class NotMatch < Binary - def eval(row) - operand1.eval(row) !~ operand2.eval(row) - end - end - - class In < Binary - def eval(row) - operand2.eval(row).include?(operand1.eval(row)) - end - end - - class NotIn < Binary - def eval(row) - !(operand2.eval(row).include?(operand1.eval(row))) - end - end - end -end |