diff options
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/lib/active_support/notifications.rb | 2 | ||||
-rw-r--r-- | activesupport/lib/active_support/notifications/instrumenter.rb | 10 | ||||
-rw-r--r-- | activesupport/test/notifications_test.rb | 4 |
3 files changed, 5 insertions, 11 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/instrumenter.rb b/activesupport/lib/active_support/notifications/instrumenter.rb index 85c5199946..f3d877efe7 100644 --- a/activesupport/lib/active_support/notifications/instrumenter.rb +++ b/activesupport/lib/active_support/notifications/instrumenter.rb @@ -13,19 +13,13 @@ module ActiveSupport # Instrument the given block by measuring the time taken to execute it # and publish it. - def instrument(name, payload={}, add_result=false) + def instrument(name, payload={}) time = Time.now - result = yield if block_given? - payload.merge!(:result => result) if add_result + result = yield(payload) if block_given? @notifier.publish(name, time, Time.now, @id, payload) result end - # The same as instrument, but adds the result as payload. - def instrument!(name, payload={}, &block) - instrument(name, payload, true, &block) - end - private def unique_id SecureRandom.hex(10) diff --git a/activesupport/test/notifications_test.rb b/activesupport/test/notifications_test.rb index 3690d723fa..c3eb1a4eb5 100644 --- a/activesupport/test/notifications_test.rb +++ b/activesupport/test/notifications_test.rb @@ -90,8 +90,8 @@ module Notifications drain end - def test_instrument_with_band_adds_result_to_payload - assert_equal 2, instrument!(:awesome) { 1 + 1 } + def test_instrument_yields_the_paylod_for_further_modification + assert_equal 2, instrument(:awesome) { |p| p[:result] = 1 + 1 } drain assert_equal 1, @events.size |