class ActiveSupport::Notifications::Fanout::Subscribers::Matcher

:nodoc:

def self.wrap(pattern)

def self.wrap(pattern)
  if String === pattern
    pattern
  elsif pattern.nil?
    AllMessages.new
  else
    new(pattern)
  end
end

def ===(name)

def ===(name)
  pattern === name && !exclusions.include?(name)
end

def initialize(pattern)

def initialize(pattern)
  @pattern = pattern
  @exclusions = Set.new
end

def unsubscribe!(name)

def unsubscribe!(name)
  exclusions << -name if pattern === name
end