Class: Assistant::TechnicalSupport::CaseReplayEpisodeBuilder
- Inherits:
-
Object
- Object
- Assistant::TechnicalSupport::CaseReplayEpisodeBuilder
- Defined in:
- app/services/assistant/technical_support/case_replay_episode_builder.rb
Overview
Converts structured episode extraction into the immutable replay value object
and validates that every evidence boundary is safe to use.
Defined Under Namespace
Classes: Result
Class Method Summary collapse
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(payload:, events:) ⇒ CaseReplayEpisodeBuilder
constructor
A new instance of CaseReplayEpisodeBuilder.
Constructor Details
#initialize(payload:, events:) ⇒ CaseReplayEpisodeBuilder
Returns a new instance of CaseReplayEpisodeBuilder.
14 15 16 17 |
# File 'app/services/assistant/technical_support/case_replay_episode_builder.rb', line 14 def initialize(payload:, events:) @payload = payload.to_h.stringify_keys @events = Array(events) end |
Class Method Details
.call(payload:, events:) ⇒ Object
9 10 11 |
# File 'app/services/assistant/technical_support/case_replay_episode_builder.rb', line 9 def call(payload:, events:) new(payload:, events:).call end |
Instance Method Details
#call ⇒ Object
19 20 21 22 23 24 25 |
# File 'app/services/assistant/technical_support/case_replay_episode_builder.rb', line 19 def call episode = build_episode Result.new( episode:, error: Assistant::TechnicalSupport::CaseReplayEpisodeValidator.call(episode:, events:) ) end |