Module: DSPy::Events::SubscriberMixin::ClassMethods

Extended by:
T::Sig
Defined in:
lib/dspy/events/subscriber_mixin.rb

Instance Method Summary collapse

Instance Method Details

#add_subscription(pattern, &block) ⇒ Object



38
39
40
41
42
43
44
# File 'lib/dspy/events/subscriber_mixin.rb', line 38

def add_subscription(pattern, &block)
  subscription_mutex.synchronize do
    subscription_id = DSPy.events.subscribe(pattern, &block)
    event_subscriptions << subscription_id
    subscription_id
  end
end

#subscriptionsObject



57
58
59
60
61
# File 'lib/dspy/events/subscriber_mixin.rb', line 57

def subscriptions
  subscription_mutex.synchronize do
    event_subscriptions.dup
  end
end

#unsubscribe_allObject



48
49
50
51
52
53
# File 'lib/dspy/events/subscriber_mixin.rb', line 48

def unsubscribe_all
  subscription_mutex.synchronize do
    event_subscriptions.each { |id| DSPy.events.unsubscribe(id) }
    event_subscriptions.clear
  end
end