From 8cbb89c0bf33e6daad3f91c6debd283b979d800c Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Sun, 18 Jul 2010 17:20:20 -0700 Subject: subscriber does not need to be a block, but an object that responds to #call --- activesupport/lib/active_support/notifications/fanout.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'activesupport') diff --git a/activesupport/lib/active_support/notifications/fanout.rb b/activesupport/lib/active_support/notifications/fanout.rb index 6e4ff40dc3..3bbb9cca44 100644 --- a/activesupport/lib/active_support/notifications/fanout.rb +++ b/activesupport/lib/active_support/notifications/fanout.rb @@ -8,9 +8,9 @@ module ActiveSupport @listeners_for = {} end - def subscribe(pattern = nil, &block) + def subscribe(pattern = nil, block = Proc.new) @listeners_for.clear - Subscriber.new(pattern, &block).tap do |s| + Subscriber.new(pattern, block).tap do |s| @subscribers << s end end @@ -33,14 +33,14 @@ module ActiveSupport end class Subscriber #:nodoc: - def initialize(pattern, &block) + def initialize(pattern, delegate) @pattern = pattern - @block = block + @delegate = delegate end def publish(*args) return unless subscribed_to?(args.first) - @block.call(*args) + @delegate.call(*args) true end -- cgit v1.2.3