just use an attr_accessor so we do not pay ||= on every notification call

This commit is contained in:
Aaron Patterson 2011-02-09 14:02:38 -08:00
parent e50d43a201
commit 3e02b3702e
2 changed files with 10 additions and 7 deletions

View File

@ -44,7 +44,7 @@ module ActiveSupport
@instrumenters = Hash.new { |h,k| h[k] = notifier.listening?(k) }
class << self
attr_writer :notifier
attr_accessor :notifier
def publish(name, *args)
notifier.publish(name, *args)
@ -69,13 +69,11 @@ module ActiveSupport
@instrumenters.clear
end
def notifier
@notifier ||= Fanout.new
end
def instrumenter
Thread.current[:"instrumentation_#{notifier.object_id}"] ||= Instrumenter.new(notifier)
end
end
self.notifier = Fanout.new
end
end

View File

@ -3,14 +3,19 @@ require 'abstract_unit'
module Notifications
class TestCase < ActiveSupport::TestCase
def setup
ActiveSupport::Notifications.notifier = nil
@notifier = ActiveSupport::Notifications.notifier
@old_notifier = ActiveSupport::Notifications.notifier
@notifier = ActiveSupport::Notifications::Fanout.new
ActiveSupport::Notifications.notifier = @notifier
@events = []
@named_events = []
@subscription = @notifier.subscribe { |*args| @events << event(*args) }
@named_subscription = @notifier.subscribe("named.subscription") { |*args| @named_events << event(*args) }
end
def teardown
ActiveSupport::Notifications.notifier = @old_notifier
end
private
def event(*args)