From af9d03824a3db7d637532ce926a4e2d720602442 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Sun, 3 Jul 2005 08:32:17 +0000 Subject: [PATCH] r1609@asus: jeremy | 2005-07-03 00:18:43 -0700 more minor perf tweaks git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1627 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activerecord/lib/active_record/base.rb | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index e620b662fa..e1fd06e944 100755 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -1207,8 +1207,11 @@ module ActiveRecord #:nodoc: def read_attribute(attr_name) if @attributes.keys.include? attr_name if column = column_for_attribute(attr_name) - unserializable_attribute?(attr_name, column) ? - unserialize_attribute(attr_name) : column.type_cast(@attributes[attr_name]) + if unserializable_attribute?(attr_name, column) + unserialize_attribute(attr_name) + else + column.type_cast(@attributes[attr_name]) + end else @attributes[attr_name] end @@ -1223,7 +1226,9 @@ module ActiveRecord #:nodoc: # Returns true if the attribute is of a text column and marked for serialization. def unserializable_attribute?(attr_name, column) - @attributes[attr_name] && [:text, :string].include?(column.send(:type)) && @attributes[attr_name].is_a?(String) && self.class.serialized_attributes[attr_name] + if value = @attributes[attr_name] + [:text, :string].include?(column.send(:type)) && value.is_a?(String) && self.class.serialized_attributes[attr_name] + end end # Returns the unserialized object of the attribute. @@ -1301,7 +1306,7 @@ module ActiveRecord #:nodoc: # Quote strings appropriately for SQL statements. def quote(value, column = nil) - connection.quote(value, column) + self.class.connection.quote(value, column) end # Interpolate custom sql string in instance context.