diff options
-rw-r--r-- | Manifest.txt | 5 | ||||
-rw-r--r-- | lib/arel/visitors/where_sql.rb | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/Manifest.txt b/Manifest.txt index 711dd4bf82..a14b9aad2b 100644 --- a/Manifest.txt +++ b/Manifest.txt @@ -22,6 +22,7 @@ lib/arel/nodes/between.rb lib/arel/nodes/binary.rb lib/arel/nodes/count.rb lib/arel/nodes/delete_statement.rb +lib/arel/nodes/does_not_match.rb lib/arel/nodes/equality.rb lib/arel/nodes/exists.rb lib/arel/nodes/function.rb @@ -37,13 +38,16 @@ lib/arel/nodes/join.rb lib/arel/nodes/less_than.rb lib/arel/nodes/less_than_or_equal.rb lib/arel/nodes/lock.rb +lib/arel/nodes/matches.rb lib/arel/nodes/max.rb lib/arel/nodes/min.rb lib/arel/nodes/node.rb lib/arel/nodes/not_equal.rb +lib/arel/nodes/not_in.rb lib/arel/nodes/offset.rb lib/arel/nodes/on.rb lib/arel/nodes/or.rb +lib/arel/nodes/ordering.rb lib/arel/nodes/outer_join.rb lib/arel/nodes/select_core.rb lib/arel/nodes/select_statement.rb @@ -69,6 +73,7 @@ lib/arel/visitors/oracle.rb lib/arel/visitors/order_clauses.rb lib/arel/visitors/postgresql.rb lib/arel/visitors/to_sql.rb +lib/arel/visitors/where_sql.rb spec/activerecord_compat_spec.rb spec/attributes/attribute_spec.rb spec/attributes_spec.rb diff --git a/lib/arel/visitors/where_sql.rb b/lib/arel/visitors/where_sql.rb new file mode 100644 index 0000000000..9816fa7a70 --- /dev/null +++ b/lib/arel/visitors/where_sql.rb @@ -0,0 +1,9 @@ +module Arel + module Visitors + class WhereSql < Arel::Visitors::ToSql + def visit_Arel_Nodes_SelectCore o + "WHERE #{o.wheres.map { |x| visit x }.join ' AND ' }" + end + end + end +end |