Class: Olyx::Guardrails::Rails::DecisionService
- Inherits:
-
Object
- Object
- Olyx::Guardrails::Rails::DecisionService
- Defined in:
- lib/olyx/guardrails/rails/decision_service.rb
Overview
Configures a reusable Rails lifecycle around one public decision operation.
Instance Method Summary collapse
- #call(input, metadata:, configuration:) ⇒ Object
-
#initialize(operation, notification_input: nil) ⇒ DecisionService
constructor
A new instance of DecisionService.
Constructor Details
#initialize(operation, notification_input: nil) ⇒ DecisionService
Returns a new instance of DecisionService.
10 11 12 13 |
# File 'lib/olyx/guardrails/rails/decision_service.rb', line 10 def initialize(operation, notification_input: nil) @operation = operation @notification_input = notification_input end |
Instance Method Details
#call(input, metadata:, configuration:) ⇒ Object
15 16 17 18 19 20 21 22 |
# File 'lib/olyx/guardrails/rails/decision_service.rb', line 15 def call(input, metadata:, configuration:) notification_input = @notification_input ? @notification_input.call(input) : input EvaluationLifecycle.call(notification_input, metadata: , configuration: configuration) do Guardrails.public_send( @operation, input, policy: configuration.policy, llm_provider: configuration.llm_provider ) end end |