AS::Notifications.subscribe blocks are now yielded the arguments to pass to AS::Notifications::Event.new
This commit is contained in:
parent
9b67b7ba2f
commit
cbcb947b00
@ -1,6 +1,8 @@
|
||||
require 'active_support/notifications'
|
||||
|
||||
ActiveSupport::Notifications.subscribe(/(read|write|cache|expire|exist)_(fragment|page)\??/) do |event|
|
||||
ActiveSupport::Notifications.subscribe(/(read|write|cache|expire|exist)_(fragment|page)\??/) do |*args|
|
||||
event = ActiveSupport::Notifications::Event.new(*args)
|
||||
|
||||
if logger = ActionController::Base.logger
|
||||
human_name = event.name.to_s.humanize
|
||||
logger.info("#{human_name} (%.1fms)" % event.duration)
|
||||
|
@ -96,7 +96,7 @@ def bind(pattern)
|
||||
|
||||
def subscribe
|
||||
@queue.subscribe(@pattern) do |*args|
|
||||
yield Event.new(*args)
|
||||
yield *args
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -52,7 +52,9 @@ class NotificationsMainTest < Test::Unit::TestCase
|
||||
def setup
|
||||
@events = []
|
||||
Thread.abort_on_exception = true
|
||||
ActiveSupport::Notifications.subscribe { |event| @events << event }
|
||||
ActiveSupport::Notifications.subscribe do |*args|
|
||||
@events << ActiveSupport::Notifications::Event.new(*args)
|
||||
end
|
||||
end
|
||||
|
||||
def teardown
|
||||
@ -124,7 +126,11 @@ def test_event_is_pushed_even_without_block
|
||||
|
||||
def test_subscriber_with_pattern
|
||||
@another = []
|
||||
ActiveSupport::Notifications.subscribe("cache"){ |event| @another << event }
|
||||
|
||||
ActiveSupport::Notifications.subscribe("cache") do |*args|
|
||||
@another << ActiveSupport::Notifications::Event.new(*args)
|
||||
end
|
||||
|
||||
ActiveSupport::Notifications.instrument(:cache){ 1 }
|
||||
|
||||
sleep(0.1)
|
||||
@ -136,7 +142,9 @@ def test_subscriber_with_pattern
|
||||
|
||||
def test_subscriber_with_pattern_as_regexp
|
||||
@another = []
|
||||
ActiveSupport::Notifications.subscribe(/cache/){ |event| @another << event }
|
||||
ActiveSupport::Notifications.subscribe(/cache/) do |*args|
|
||||
@another << ActiveSupport::Notifications::Event.new(*args)
|
||||
end
|
||||
|
||||
ActiveSupport::Notifications.instrument(:something){ 0 }
|
||||
ActiveSupport::Notifications.instrument(:cache){ 1 }
|
||||
@ -150,7 +158,9 @@ def test_subscriber_with_pattern_as_regexp
|
||||
|
||||
def test_with_several_consumers_and_several_events
|
||||
@another = []
|
||||
ActiveSupport::Notifications.subscribe { |event| @another << event }
|
||||
ActiveSupport::Notifications.subscribe do |*args|
|
||||
@another << ActiveSupport::Notifications::Event.new(*args)
|
||||
end
|
||||
|
||||
1.upto(100) do |i|
|
||||
ActiveSupport::Notifications.instrument(:value){ i }
|
||||
|
Loading…
Reference in New Issue
Block a user