From ad063263bcaffb97f3e8d625d24c19d51b95b839 Mon Sep 17 00:00:00 2001 From: Andrew White Date: Thu, 19 Aug 2010 21:48:19 +0100 Subject: [PATCH] Optimize find_sti_class when store_full_sti_class is true [#5403] Signed-off-by: Jeremy Kemper --- activerecord/lib/active_record/base.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index d9b4cd38317b2..90241dd8975cb 100644 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -918,7 +918,11 @@ def find_sti_class(type_name) self else begin - compute_type(type_name) + if store_full_sti_class + ActiveSupport::Dependencies.constantize(type_name) + else + compute_type(type_name) + end rescue NameError raise SubclassNotFound, "The single-table inheritance mechanism failed to locate the subclass: '#{type_name}'. " +