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