Class: Observ::ModerationInstrumenter
- Inherits:
-
Object
- Object
- Observ::ModerationInstrumenter
- Defined in:
- app/services/observ/moderation_instrumenter.rb
Instance Attribute Summary collapse
-
#context ⇒ Object
readonly
Returns the value of attribute context.
-
#session ⇒ Object
readonly
Returns the value of attribute session.
Instance Method Summary collapse
-
#initialize(session, context: {}) ⇒ ModerationInstrumenter
constructor
A new instance of ModerationInstrumenter.
- #instrument! ⇒ Object
- #uninstrument! ⇒ Object
Constructor Details
#initialize(session, context: {}) ⇒ ModerationInstrumenter
Returns a new instance of ModerationInstrumenter.
7 8 9 10 11 12 |
# File 'app/services/observ/moderation_instrumenter.rb', line 7 def initialize(session, context: {}) @session = session @context = context @original_moderate_method = nil @instrumented = false end |
Instance Attribute Details
#context ⇒ Object (readonly)
Returns the value of attribute context.
5 6 7 |
# File 'app/services/observ/moderation_instrumenter.rb', line 5 def context @context end |
#session ⇒ Object (readonly)
Returns the value of attribute session.
5 6 7 |
# File 'app/services/observ/moderation_instrumenter.rb', line 5 def session @session end |
Instance Method Details
#instrument! ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'app/services/observ/moderation_instrumenter.rb', line 14 def instrument! return if @instrumented wrap_moderate_method @instrumented = true Rails.logger.info "[Observability] Instrumented RubyLLM.moderate for session #{session.session_id}" end |
#uninstrument! ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'app/services/observ/moderation_instrumenter.rb', line 23 def uninstrument! return unless @instrumented return unless @original_moderate_method RubyLLM.define_singleton_method(:moderate, @original_moderate_method) @instrumented = false Rails.logger.info "[Observability] Uninstrumented RubyLLM.moderate" end |