Module: ActiveAgent::Observers::ClassMethods

Defined in:
lib/active_agent/concerns/observers.rb

Instance Method Summary collapse

Instance Method Details

#register_interceptor(interceptor) ⇒ void

This method returns an undefined value.

Register an Interceptor which will be called before prompt is sent.

Either a class, string, or symbol can be passed in as the Interceptor. If a string or symbol is passed in it will be camelized and constantized.

Examples:

Register with class

MyAgent.register_interceptor(ContentFilter)

Register with string

MyAgent.register_interceptor("ContentFilter")

Register with symbol

MyAgent.register_interceptor(:content_filter)

Parameters:

  • interceptor (Class, String, Symbol)

    The interceptor to register



112
113
114
# File 'lib/active_agent/concerns/observers.rb', line 112

def register_interceptor(interceptor)
  Prompt.register_interceptor(observer_class_for(interceptor))
end

#register_interceptors(*interceptors) ⇒ void

This method returns an undefined value.

Register one or more Interceptors which will be called before prompt is sent.

Examples:

Register multiple interceptors

MyAgent.register_interceptors(ContentFilter, :rate_limiter)

Parameters:

  • interceptors (Array<Class, String, Symbol>)

    Interceptor classes or names to register



47
48
49
# File 'lib/active_agent/concerns/observers.rb', line 47

def register_interceptors(*interceptors)
  interceptors.flatten.compact.each { |interceptor| register_interceptor(interceptor) }
end

#register_observer(observer) ⇒ void

This method returns an undefined value.

Register an Observer which will be notified when prompt is generated.

Either a class, string, or symbol can be passed in as the Observer. If a string or symbol is passed in it will be camelized and constantized.

Examples:

Register with class

MyAgent.register_observer(PromptLogger)

Register with string

MyAgent.register_observer("PromptLogger")

Register with symbol

MyAgent.register_observer(:prompt_logger)

Parameters:

  • observer (Class, String, Symbol)

    The observer to register



78
79
80
# File 'lib/active_agent/concerns/observers.rb', line 78

def register_observer(observer)
  Prompt.register_observer(observer_class_for(observer))
end

#register_observers(*observers) ⇒ void

This method returns an undefined value.

Register one or more Observers which will be notified when prompt is generated.

Examples:

Register multiple observers

MyAgent.register_observers(PromptLogger, :analytics_tracker)

Parameters:

  • observers (Array<Class, String, Symbol>)

    Observer classes or names to register



25
26
27
# File 'lib/active_agent/concerns/observers.rb', line 25

def register_observers(*observers)
  observers.flatten.compact.each { |observer| register_observer(observer) }
end

#unregister_interceptor(interceptor) ⇒ void

This method returns an undefined value.

Unregister a previously registered Interceptor.

Either a class, string, or symbol can be passed in as the Interceptor. If a string or symbol is passed in it will be camelized and constantized.

Examples:

Unregister with class

MyAgent.unregister_interceptor(ContentFilter)

Parameters:

  • interceptor (Class, String, Symbol)

    The interceptor to unregister



126
127
128
# File 'lib/active_agent/concerns/observers.rb', line 126

def unregister_interceptor(interceptor)
  Prompt.unregister_interceptor(observer_class_for(interceptor))
end

#unregister_interceptors(*interceptors) ⇒ void

This method returns an undefined value.

Unregister one or more previously registered Interceptors.

Examples:

Unregister multiple interceptors

MyAgent.unregister_interceptors(ContentFilter, :rate_limiter)

Parameters:

  • interceptors (Array<Class, String, Symbol>)

    Interceptor classes or names to unregister



58
59
60
# File 'lib/active_agent/concerns/observers.rb', line 58

def unregister_interceptors(*interceptors)
  interceptors.flatten.compact.each { |interceptor| unregister_interceptor(interceptor) }
end

#unregister_observer(observer) ⇒ void

This method returns an undefined value.

Unregister a previously registered Observer.

Either a class, string, or symbol can be passed in as the Observer. If a string or symbol is passed in it will be camelized and constantized.

Examples:

Unregister with class

MyAgent.unregister_observer(PromptLogger)

Parameters:

  • observer (Class, String, Symbol)

    The observer to unregister



92
93
94
# File 'lib/active_agent/concerns/observers.rb', line 92

def unregister_observer(observer)
  Prompt.unregister_observer(observer_class_for(observer))
end

#unregister_observers(*observers) ⇒ void

This method returns an undefined value.

Unregister one or more previously registered Observers.

Examples:

Unregister multiple observers

MyAgent.unregister_observers(PromptLogger, :analytics_tracker)

Parameters:

  • observers (Array<Class, String, Symbol>)

    Observer classes or names to unregister



36
37
38
# File 'lib/active_agent/concerns/observers.rb', line 36

def unregister_observers(*observers)
  observers.flatten.compact.each { |observer| unregister_observer(observer) }
end