diff options
4 files changed, 3 insertions, 30 deletions
| diff --git a/activesupport/lib/active_support/notifications.rb b/activesupport/lib/active_support/notifications.rb index a1383bb478..3e96decb8c 100644 --- a/activesupport/lib/active_support/notifications.rb +++ b/activesupport/lib/active_support/notifications.rb @@ -45,7 +45,7 @@ module ActiveSupport      class << self        attr_writer :notifier        delegate :publish, :subscribe, :to => :notifier -      delegate :instrument, :instrument!, :to => :instrumenter +      delegate :instrument, :to => :instrumenter        def notifier          @notifier ||= Notifier.new diff --git a/activesupport/lib/active_support/notifications/fanout.rb b/activesupport/lib/active_support/notifications/fanout.rb index ac482a2ec8..0ec23da073 100644 --- a/activesupport/lib/active_support/notifications/fanout.rb +++ b/activesupport/lib/active_support/notifications/fanout.rb @@ -1,5 +1,3 @@ -require 'thread' -  module ActiveSupport    module Notifications      # This is a default queue implementation that ships with Notifications. It @@ -21,8 +19,8 @@ module ActiveSupport          @subscribers.each { |s| s.publish(*args) }        end +      # This is a sync queue, so there is not waiting.        def wait -        sleep(0.05) until @subscribers.all?(&:drained?)        end        # Used for internal implementation only. diff --git a/activesupport/lib/active_support/notifications/instrumenter.rb b/activesupport/lib/active_support/notifications/instrumenter.rb index 7c5b118ee3..f3d877efe7 100644 --- a/activesupport/lib/active_support/notifications/instrumenter.rb +++ b/activesupport/lib/active_support/notifications/instrumenter.rb @@ -20,15 +20,6 @@ module ActiveSupport          result        end -      # The same as instrument, but sends the notification even if the yielded -      # block raises an error. -      def instrument!(name, payload={}) -        time = Time.now -        yield(payload) if block_given? -      ensure -        @notifier.publish(name, time, Time.now, @id, payload) -      end -        private          def unique_id            SecureRandom.hex(10) diff --git a/activesupport/test/notifications_test.rb b/activesupport/test/notifications_test.rb index 0b78b53c73..545811a376 100644 --- a/activesupport/test/notifications_test.rb +++ b/activesupport/test/notifications_test.rb @@ -67,29 +67,13 @@ module Notifications    end    class InstrumentationTest < TestCase -    delegate :instrument, :instrument!, :to => ActiveSupport::Notifications +    delegate :instrument, :to => ActiveSupport::Notifications      def test_instrument_returns_block_result        assert_equal 2, instrument(:awesome) { 1 + 1 }        drain      end -    def test_instrument_with_bang_returns_result_even_on_failure -      begin -        instrument!(:awesome, :payload => "notifications") do -          raise "FAIL" -        end -        flunk -      rescue -      end - -      drain - -      assert_equal 1, @events.size -      assert_equal :awesome, @events.last.name -      assert_equal Hash[:payload => "notifications"], @events.last.payload -    end -      def test_instrument_yields_the_paylod_for_further_modification        assert_equal 2, instrument(:awesome) { |p| p[:result] = 1 + 1 }        drain | 
