diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2010-09-10 13:26:30 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2010-09-10 13:26:30 -0700 |
commit | e06061089735b34ac10465684db5a08d90623469 (patch) | |
tree | 511ea74844751dbce5a6a6458fe3241d7126d7a1 /lib/arel/visitors | |
parent | 9fdaf497cb346696ea538308b77ec07f051cd569 (diff) | |
download | rails-e06061089735b34ac10465684db5a08d90623469.tar.gz rails-e06061089735b34ac10465684db5a08d90623469.tar.bz2 rails-e06061089735b34ac10465684db5a08d90623469.zip |
equality should handle nil correctly
Diffstat (limited to 'lib/arel/visitors')
-rw-r--r-- | lib/arel/visitors/dot.rb | 1 | ||||
-rw-r--r-- | lib/arel/visitors/to_sql.rb | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/arel/visitors/dot.rb b/lib/arel/visitors/dot.rb index ebbb211dd6..abf28968cf 100644 --- a/lib/arel/visitors/dot.rb +++ b/lib/arel/visitors/dot.rb @@ -94,6 +94,7 @@ module Arel alias :visit_Time :visit_String alias :visit_NilClass :visit_String alias :visit_TrueClass :visit_String + alias :visit_FalseClass :visit_String alias :visit_Arel_SqlLiteral :visit_String alias :visit_Fixnum :visit_String alias :visit_Symbol :visit_String diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb index 093deedee5..f70cae9430 100644 --- a/lib/arel/visitors/to_sql.rb +++ b/lib/arel/visitors/to_sql.rb @@ -151,7 +151,8 @@ module Arel def visit_Arel_Nodes_Equality o right = o.right - right = right ? visit(right) : 'NULL' + # FIXME: maybe we should visit NilClass? + right = right.nil? ? 'NULL' : visit(right) "#{visit o.left} = #{right}" end @@ -179,6 +180,7 @@ module Arel def visit_DateTime o; quote(o) end def visit_Float o; quote(o) end def visit_BigDecimal o; quote(o) end + def visit_FalseClass o; quote(o) end DISPATCH = {} def visit object |