From 33b69c4f4cd9fd14fc84b2e807b14bb8bce4ebc1 Mon Sep 17 00:00:00 2001
From: Akshay Vishnoi <akshay.vishnoi@vinsol.com>
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(-)

(limited to 'activerecord/lib')

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