class Celluloid::Notifications::Subscriber

def initialize(actor, pattern, method)

def initialize(actor, pattern, method)
  @actor = actor
  @pattern = pattern
  @method = method
end

def matches?(subscriber_or_pattern)

def matches?(subscriber_or_pattern)
  self === subscriber_or_pattern ||
    @pattern && @pattern === subscriber_or_pattern
end

def publish(pattern, *args)

def publish(pattern, *args)
  actor.async method, pattern, *args
rescue DeadActorError
  # TODO: needs a tests
  # Bad shutdown logic. Oh well....
end

def subscribed_to?(pattern)

def subscribed_to?(pattern)
  !pattern || @pattern === pattern.to_s || @pattern === pattern
end