aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/identity_map.rb
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2011-05-01 19:10:21 -0600
committerDavid Heinemeier Hansson <david@loudthinking.com>2011-05-01 19:10:21 -0600
commit31155eeb3ce00e5f830171d34b2037fb7a1104f0 (patch)
tree01e6f703593a16219e5a71c3cf5f95538435a1af /activerecord/lib/active_record/identity_map.rb
parent635abc7194a0847fee1592eff9fa2fe84bafc5bf (diff)
downloadrails-31155eeb3ce00e5f830171d34b2037fb7a1104f0.tar.gz
rails-31155eeb3ce00e5f830171d34b2037fb7a1104f0.tar.bz2
rails-31155eeb3ce00e5f830171d34b2037fb7a1104f0.zip
Make the identity map use the instrumentation infrastructure so we can style the messages nicely with colors (FIXME: Can someone look into why the test is not working?)
Diffstat (limited to 'activerecord/lib/active_record/identity_map.rb')
-rw-r--r--activerecord/lib/active_record/identity_map.rb15
1 files changed, 9 insertions, 6 deletions
diff --git a/activerecord/lib/active_record/identity_map.rb b/activerecord/lib/active_record/identity_map.rb
index 95a8e5cff7..4ad0b0d205 100644
--- a/activerecord/lib/active_record/identity_map.rb
+++ b/activerecord/lib/active_record/identity_map.rb
@@ -49,12 +49,15 @@ module ActiveRecord
end
def get(klass, primary_key)
- obj = repository[klass.symbolized_base_class][primary_key]
- if obj.is_a?(klass)
- if ActiveRecord::Base.logger
- ActiveRecord::Base.logger.debug "#{klass} with ID = #{primary_key} loaded from Identity Map"
- end
- obj
+ record = repository[klass.symbolized_base_class][primary_key]
+
+ if record.is_a?(klass)
+ ActiveSupport::Notifications.instrument("identity.active_record",
+ :line => "From Identity Map (id: #{primary_key})",
+ :name => "#{klass} Loaded",
+ :connection_id => object_id)
+
+ record
else
nil
end