aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters
diff options
context:
space:
mode:
authorMichael Koziarski <michael@koziarski.com>2008-02-14 20:06:25 +0000
committerMichael Koziarski <michael@koziarski.com>2008-02-14 20:06:25 +0000
commit838b02450ad3308c02a347d5f274b530f7a4a161 (patch)
tree2f7597eff6a84eb15de5085a852c56b2f8ce589e /activerecord/lib/active_record/connection_adapters
parent039f724c7b48f07181a45dab0b8643d0207d69f5 (diff)
downloadrails-838b02450ad3308c02a347d5f274b530f7a4a161.tar.gz
rails-838b02450ad3308c02a347d5f274b530f7a4a161.tar.bz2
rails-838b02450ad3308c02a347d5f274b530f7a4a161.zip
Optimisation for BigDecimal conversion code. Closes #11110 [adymo]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8870 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
index 8b2f3ad5d4..f7ee7ac7fd 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
@@ -144,7 +144,10 @@ module ActiveRecord
# convert something to a BigDecimal
def value_to_decimal(value)
- if value.is_a?(BigDecimal)
+ # Using .class is faster than .is_a? and
+ # subclasses of BigDecimal will be handled
+ # in the else clause
+ if value.class == BigDecimal
value
elsif value.respond_to?(:to_d)
value.to_d