From 458ef3fb7d51ef2e9d1cd9513bdc225daffe8146 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Fri, 10 Sep 2010 18:01:45 -0700 Subject: inserting false works a bit better --- lib/arel/visitors/to_sql.rb | 2 +- spec/arel/insert_manager_spec.rb | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb index 761f315763..66e997a986 100644 --- a/lib/arel/visitors/to_sql.rb +++ b/lib/arel/visitors/to_sql.rb @@ -43,7 +43,7 @@ module Arel def visit_Arel_Nodes_Values o "VALUES (#{o.expressions.map { |value| - value ? visit(value) : 'NULL' + value.nil? ? 'NULL' : visit(value) }.join ', '})" end diff --git a/spec/arel/insert_manager_spec.rb b/spec/arel/insert_manager_spec.rb index 807f1324d2..a6d34f4357 100644 --- a/spec/arel/insert_manager_spec.rb +++ b/spec/arel/insert_manager_spec.rb @@ -9,6 +9,15 @@ module Arel end describe 'insert' do + it "inserts false" do + table = Table.new(:users) + manager = Arel::InsertManager.new Table.engine + manager.insert [[table[:id], false]] + manager.to_sql.should be_like %{ + INSERT INTO "users" ("id") VALUES ('f') + } + end + it "inserts null" do table = Table.new(:users) manager = Arel::InsertManager.new Table.engine -- cgit v1.2.3