Skip to content

Commit 9a809ff

Browse files
authored
Merge pull request reidmorrison#96 from kontentcore/master
Fix unsubscribing notifications in rails v6
2 parents d3b30b0 + 2185228 commit 9a809ff

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

lib/rails_semantic_logger.rb

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,21 @@ def self.swap_subscriber(old_class, new_class, notifier)
3030
end
3131

3232
def self.unattach(subscriber)
33-
subscriber.patterns.each do |event|
34-
ActiveSupport::Notifications.notifier.listeners_for(event).each do |sub|
33+
subscriber_patterns(subscriber).each do |pattern|
34+
ActiveSupport::Notifications.notifier.listeners_for(pattern).each do |sub|
3535
next unless sub.instance_variable_get(:@delegate) == subscriber
3636
ActiveSupport::Notifications.unsubscribe(sub)
3737
end
3838
end
3939

4040
ActiveSupport::LogSubscriber.subscribers.delete(subscriber)
4141
end
42-
private_class_method :unattach
42+
43+
def self.subscriber_patterns(subscriber)
44+
subscriber.patterns.respond_to?(:keys) ?
45+
subscriber.patterns.keys :
46+
subscriber.patterns
47+
end
48+
49+
private_class_method :subscriber_patterns, :unattach
4350
end

0 commit comments

Comments
 (0)