Class: Tasker::Events::EventPayloadBuilder::StepPayloadBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/tasker/events/event_payload_builder.rb

Overview

Service class to build step payloads for different event types Reduces complexity by organizing payload building logic

Class Method Summary collapse

Class Method Details

.build(step, task, event_type, additional_context) ⇒ Hash

Build complete step payload for specified event type

Parameters:

  • step (WorkflowStep)

    The workflow step

  • task (Task)

    The task (optional, will be retrieved from step if nil)

  • event_type (Symbol)

    The event type

  • additional_context (Hash)

    Additional context to merge

Returns:

  • (Hash)

    Complete event payload



273
274
275
276
277
278
279
280
281
# File 'lib/tasker/events/event_payload_builder.rb', line 273

def build(step, task, event_type, additional_context)
  task ||= step.task

  base_payload = build_base_payload(step, task, event_type)
  event_specific_payload = build_event_specific_payload(step, event_type, additional_context)

  # Merge additional context, allowing overrides
  base_payload.merge(event_specific_payload).merge(additional_context)
end