class ActiveSupport::Notifications::Fanout::Subscribers::Evented

:nodoc:

def group_class

def group_class
  EventedGroup
end

def initialize(pattern, delegate)

def initialize(pattern, delegate)
  @pattern = Matcher.wrap(pattern)
  @delegate = delegate
  @silenceable = delegate.respond_to?(:silenced?)
  @can_publish = delegate.respond_to?(:publish)
  @can_publish_event = delegate.respond_to?(:publish_event)
end

def publish(name, *args)

def publish(name, *args)
  if @can_publish
    @delegate.publish name, *args
  end
end

def publish_event(event)

def publish_event(event)
  if @can_publish_event
    @delegate.publish_event event
  else
    publish(event.name, event.time, event.end, event.transaction_id, event.payload)
  end
end

def silenced?(name)

def silenced?(name)
  @silenceable && @delegate.silenced?(name)
end

def subscribed_to?(name)

def subscribed_to?(name)
  pattern === name
end

def unsubscribe!(name)

def unsubscribe!(name)
  pattern.unsubscribe!(name)
end