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 |
#subscriptions ⇒ Object
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_all ⇒ Object
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 |