diff options
author | Daniel Cadenas <dcadenas@gmail.com> | 2011-05-31 00:40:11 -0300 |
---|---|---|
committer | Daniel Cadenas <dcadenas@gmail.com> | 2011-08-03 20:50:03 -0300 |
commit | 11f929b5c485adab60ea2d8b515ef2abcf5400f4 (patch) | |
tree | 911f4e22c86b8098d218939fbfadb992a0eaaa1d /lib/arel/visitors | |
parent | c9517c1b62e7d8acd5a45f72b148942ff2f549a7 (diff) | |
download | rails-11f929b5c485adab60ea2d8b515ef2abcf5400f4.tar.gz rails-11f929b5c485adab60ea2d8b515ef2abcf5400f4.tar.bz2 rails-11f929b5c485adab60ea2d8b515ef2abcf5400f4.zip |
Add nodes for boolean constants
This is useful for dynamically created predicates e.g:
expr1 = table.create_false
expr2 = table.create_false
expr1 = create_a_predicate() if some_condition
expr2 = create_another_predicate() if some_other_condition
table.where(expr1.and(expr2))
Diffstat (limited to 'lib/arel/visitors')
-rw-r--r-- | lib/arel/visitors/to_sql.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb index 933edc15f2..8aec4cb147 100644 --- a/lib/arel/visitors/to_sql.rb +++ b/lib/arel/visitors/to_sql.rb @@ -90,6 +90,14 @@ key on UpdateManager using UpdateManager#key= o.alias ? " AS #{visit o.alias}" : ''}" end + def visit_Arel_Nodes_True o + "TRUE" + end + + def visit_Arel_Nodes_False o + "FALSE" + end + def table_exists? name @pool.table_exists? name end |