From 5b5ae01f294c2a305c62372be732cc59f97d3c06 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Tue, 12 Oct 2010 11:59:20 -0700 Subject: drying up true and false cases --- .../lib/active_record/connection_adapters/abstract/quoting.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'activerecord/lib') diff --git a/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb b/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb index b28eb3f758..1e0c5fe902 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb @@ -22,10 +22,14 @@ module ActiveRecord "'#{quote_string(value)}'" # ' (for ruby-mode) end - when nil then "NULL" - when true then (column && column.type == :integer ? '1' : quoted_true) - when false then (column && column.type == :integer ? '0' : quoted_false) + when true, false + if column && column.type == :integer + value ? '1' : '0' + else + value ? quoted_true : quoted_false + end # BigDecimals need to be put in a non-normalized form and quoted. + when nil then "NULL" when BigDecimal then value.to_s('F') when Numeric then value.to_s when Date, Time then "'#{quoted_date(value)}'" -- cgit v1.2.3