diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2010-08-19 11:06:53 -0500 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2010-08-19 11:07:09 -0500 |
commit | d3e30a18b286b1de93fb484170ab6e1723e364a6 (patch) | |
tree | ebb475c600793706ae96260e601f648f169a6f6e /activerecord/lib | |
parent | 072cd60379dfee830845f32cb81019584d619331 (diff) | |
download | rails-d3e30a18b286b1de93fb484170ab6e1723e364a6.tar.gz rails-d3e30a18b286b1de93fb484170ab6e1723e364a6.tar.bz2 rails-d3e30a18b286b1de93fb484170ab6e1723e364a6.zip |
Memoize STI class lookups for the duration of a request
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/base.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index 9d3ee9528a..d9b4cd3831 100644 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -1171,7 +1171,7 @@ MSG if type_name.match(/^::/) # If the type is prefixed with a scope operator then we assume that # the type_name is an absolute reference. - type_name.constantize + ActiveSupport::Dependencies.constantize(type_name) else # Build a list of candidates to search for candidates = [] @@ -1180,7 +1180,7 @@ MSG candidates.each do |candidate| begin - constant = candidate.constantize + constant = ActiveSupport::Dependencies.constantize(candidate) return constant if candidate == constant.to_s rescue NameError => e # We don't want to swallow NoMethodError < NameError errors |