mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge pull request #9523 from stopdropandrew/Instrumenter#instrument-yields-payload
ActiveSupport::Notifications::Instrumenter#instrument should yield Conflicts: activesupport/CHANGELOG.md
This commit is contained in:
commit
57fbcc5247
4 changed files with 16 additions and 2 deletions
|
@ -1,5 +1,10 @@
|
|||
## Rails 4.0.0 (unreleased) ##
|
||||
|
||||
* `ActiveSupport::Notifications::Instrumenter#instrument` should yield
|
||||
its payload.
|
||||
|
||||
*stopdropandrew*
|
||||
|
||||
* `ActiveSupport::TimeWithZone` raises `NoMethodError` in proper context.
|
||||
Fixes #9772.
|
||||
|
||||
|
@ -9,6 +14,7 @@
|
|||
|
||||
*Charles Jones*
|
||||
|
||||
|
||||
## Rails 4.0.0.beta1 (February 25, 2013) ##
|
||||
|
||||
* Improve singularizing a singular for multiple cases.
|
||||
|
|
|
@ -17,7 +17,7 @@ module ActiveSupport
|
|||
def instrument(name, payload={})
|
||||
start name, payload
|
||||
begin
|
||||
yield
|
||||
yield payload
|
||||
rescue Exception => e
|
||||
payload[:exception] = [e.class.name, e.message]
|
||||
raise e
|
||||
|
|
|
@ -34,6 +34,14 @@ module ActiveSupport
|
|||
assert called
|
||||
end
|
||||
|
||||
def test_instrument_yields_the_payload_for_further_modification
|
||||
assert_equal 2, instrumenter.instrument("awesome") { |p| p[:result] = 1 + 1 }
|
||||
assert_equal 1, notifier.finishes.size
|
||||
name, _, payload = notifier.finishes.first
|
||||
assert_equal "awesome", name
|
||||
assert_equal Hash[:result => 2], payload
|
||||
end
|
||||
|
||||
def test_start
|
||||
instrumenter.start("foo", payload)
|
||||
assert_equal [["foo", instrumenter.id, payload]], notifier.starts
|
||||
|
|
|
@ -157,7 +157,7 @@ module Notifications
|
|||
assert_equal 2, instrument(:awesome) { 1 + 1 }
|
||||
end
|
||||
|
||||
def test_instrument_yields_the_paylod_for_further_modification
|
||||
def test_instrument_yields_the_payload_for_further_modification
|
||||
assert_equal 2, instrument(:awesome) { |p| p[:result] = 1 + 1 }
|
||||
assert_equal 1, @events.size
|
||||
assert_equal :awesome, @events.first.name
|
||||
|
|
Loading…
Reference in a new issue