aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--actionpack/lib/action_controller/notifications.rb4
-rw-r--r--activesupport/lib/active_support/notifications.rb2
-rw-r--r--activesupport/test/notifications_test.rb18
3 files changed, 18 insertions, 6 deletions
diff --git a/actionpack/lib/action_controller/notifications.rb b/actionpack/lib/action_controller/notifications.rb
index 4ec88193d5..1a4f29e0e2 100644
--- a/actionpack/lib/action_controller/notifications.rb
+++ b/actionpack/lib/action_controller/notifications.rb
@@ -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)
diff --git a/activesupport/lib/active_support/notifications.rb b/activesupport/lib/active_support/notifications.rb
index 139c66b1e1..2cf91fc383 100644
--- a/activesupport/lib/active_support/notifications.rb
+++ b/activesupport/lib/active_support/notifications.rb
@@ -96,7 +96,7 @@ module ActiveSupport
def subscribe
@queue.subscribe(@pattern) do |*args|
- yield Event.new(*args)
+ yield *args
end
end
end
diff --git a/activesupport/test/notifications_test.rb b/activesupport/test/notifications_test.rb
index 7d2bdf5ccf..b763b740af 100644
--- a/activesupport/test/notifications_test.rb
+++ b/activesupport/test/notifications_test.rb
@@ -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 @@ class NotificationsMainTest < Test::Unit::TestCase
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 @@ class NotificationsMainTest < Test::Unit::TestCase
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 @@ class NotificationsMainTest < Test::Unit::TestCase
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 }