From 33b69c4f4cd9fd14fc84b2e807b14bb8bce4ebc1 Mon Sep 17 00:00:00 2001 From: Akshay Vishnoi Date: Fri, 29 Nov 2013 16:42:26 +0530 Subject: #type_cast - improve performance & readability --- .../connection_adapters/abstract_mysql_adapter.rb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb index dcbc3466b2..7dd6daabd5 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb @@ -207,9 +207,14 @@ module ActiveRecord end def type_cast(value, column) - return super unless value == true || value == false - - value ? 1 : 0 + case value + when TrueClass + 1 + when FalseClass + 0 + else + super + end end # MySQL 4 technically support transaction isolation, but it is affected by a bug -- cgit v1.2.3