diff options
author | Bryan Helmkamp <bryan@brynary.com> | 2009-09-30 23:32:05 -0400 |
---|---|---|
committer | Bryan Helmkamp <bryan@brynary.com> | 2009-09-30 23:32:05 -0400 |
commit | bcd8ffa2183a1ca98417fb39bbd83e8f69c984c8 (patch) | |
tree | 36eac8c0fdd0a6a126a10dd7ad829401793a9379 /lib/arel/engines | |
parent | 52e8aff146c162986566d3e03852395729d7c24d (diff) | |
download | rails-bcd8ffa2183a1ca98417fb39bbd83e8f69c984c8.tar.gz rails-bcd8ffa2183a1ca98417fb39bbd83e8f69c984c8.tar.bz2 rails-bcd8ffa2183a1ca98417fb39bbd83e8f69c984c8.zip |
Create Predicates module to match directory structure
Diffstat (limited to 'lib/arel/engines')
-rw-r--r-- | lib/arel/engines/memory/predicates.rb | 50 | ||||
-rw-r--r-- | lib/arel/engines/sql/predicates.rb | 72 |
2 files changed, 63 insertions, 59 deletions
diff --git a/lib/arel/engines/memory/predicates.rb b/lib/arel/engines/memory/predicates.rb index 03d4f25b0a..dd2559c70f 100644 --- a/lib/arel/engines/memory/predicates.rb +++ b/lib/arel/engines/memory/predicates.rb @@ -1,35 +1,37 @@ module Arel - class Binary < Predicate - def eval(row) - operand1.eval(row).send(operator, operand2.eval(row)) + module Predicates + class Binary < Predicate + def eval(row) + operand1.eval(row).send(operator, operand2.eval(row)) + end end - end - class Equality < Binary - def operator; :== end - end + class Equality < Binary + def operator; :== end + end - class GreaterThanOrEqualTo < Binary - def operator; :>= end - end + class GreaterThanOrEqualTo < Binary + def operator; :>= end + end - class GreaterThan < Binary - def operator; :> end - end + class GreaterThan < Binary + def operator; :> end + end - class LessThanOrEqualTo < Binary - def operator; :<= end - end + class LessThanOrEqualTo < Binary + def operator; :<= end + end - class LessThan < Binary - def operator; :< end - end + class LessThan < Binary + def operator; :< end + end - class Match < Binary - def operator; :=~ end - end + class Match < Binary + def operator; :=~ end + end - class In < Binary - def operator; :include? end + class In < Binary + def operator; :include? end + end end end diff --git a/lib/arel/engines/sql/predicates.rb b/lib/arel/engines/sql/predicates.rb index b84c183c1d..e563a9ba3e 100644 --- a/lib/arel/engines/sql/predicates.rb +++ b/lib/arel/engines/sql/predicates.rb @@ -1,51 +1,53 @@ module Arel - class Binary < Predicate - def to_sql(formatter = nil) - "#{operand1.to_sql} #{predicate_sql} #{operand1.format(operand2)}" + module Predicates + class Binary < Predicate + def to_sql(formatter = nil) + "#{operand1.to_sql} #{predicate_sql} #{operand1.format(operand2)}" + end end - end - class CompoundPredicate < Binary - def to_sql(formatter = nil) - "(#{operand1.to_sql(formatter)} #{predicate_sql} #{operand2.to_sql(formatter)})" + class CompoundPredicate < Binary + def to_sql(formatter = nil) + "(#{operand1.to_sql(formatter)} #{predicate_sql} #{operand2.to_sql(formatter)})" + end end - end - class Or < CompoundPredicate - def predicate_sql; "OR" end - end + class Or < CompoundPredicate + def predicate_sql; "OR" end + end - class And < CompoundPredicate - def predicate_sql; "AND" end - end + class And < CompoundPredicate + def predicate_sql; "AND" end + end - class Equality < Binary - def predicate_sql - operand2.equality_predicate_sql + class Equality < Binary + def predicate_sql + operand2.equality_predicate_sql + end end - end - class GreaterThanOrEqualTo < Binary - def predicate_sql; '>=' end - end + class GreaterThanOrEqualTo < Binary + def predicate_sql; '>=' end + end - class GreaterThan < Binary - def predicate_sql; '>' end - end + class GreaterThan < Binary + def predicate_sql; '>' end + end - class LessThanOrEqualTo < Binary - def predicate_sql; '<=' end - end + class LessThanOrEqualTo < Binary + def predicate_sql; '<=' end + end - class LessThan < Binary - def predicate_sql; '<' end - end + class LessThan < Binary + def predicate_sql; '<' end + end - class Match < Binary - def predicate_sql; 'LIKE' end - end + class Match < Binary + def predicate_sql; 'LIKE' end + end - class In < Binary - def predicate_sql; operand2.inclusion_predicate_sql end + class In < Binary + def predicate_sql; operand2.inclusion_predicate_sql end + end end end |