Sha256: f6b7c81a4139e3bda6f6db6d486bc37ddfb9da677ee5a2b9141c67634684d107
Contents?: true
Size: 918 Bytes
Versions: 30
Compression:
Stored size: 918 Bytes
Contents
module Timber module Util # @private module ActiveSupportLogSubscriber extend self def find(component, type) ActiveSupport::LogSubscriber.log_subscribers.find do |subscriber| subscriber.class == type end end def subscribed?(component, type) !find(component, type).nil? end def unsubscribe(component, type) subscriber = find(component, type) if subscriber events = subscriber.public_methods(false).reject { |method| method.to_s == 'call' } events.each do |event| ActiveSupport::Notifications.notifier.listeners_for("#{event}.#{component}").each do |listener| if listener.instance_variable_get('@delegate') == subscriber ActiveSupport::Notifications.unsubscribe listener end end end end end end end end
Version data entries
30 entries across 30 versions & 2 rubygems