Module: Tasker::Concerns::StateMachineBase

Extended by:
ActiveSupport::Concern
Includes:
EventPublisher
Defined in:
lib/tasker/concerns/state_machine_base.rb

Overview

StateMachineBase provides shared functionality for all Tasker state machines

This concern consolidates common patterns used by TaskStateMachine and StepStateMachine:

  • Idempotent transition handling
  • Event publishing through unified publisher
  • Consistent transition logging
  • Helper methods for state checking

It replaces the legacy LifecycleEvents system with direct integration to Events::Publisher

Defined Under Namespace

Modules: ClassMethods, StateMachineBase

Method Summary

Methods included from EventPublisher

#infer_step_event_type_from_state, #publish_custom_event, #publish_no_viable_steps, #publish_step_backoff, #publish_step_before_handle, #publish_step_cancelled, #publish_step_completed, #publish_step_event_for_context, #publish_step_failed, #publish_step_retry_requested, #publish_step_started, #publish_steps_execution_completed, #publish_steps_execution_started, #publish_task_completed, #publish_task_enqueue, #publish_task_failed, #publish_task_finalization_completed, #publish_task_finalization_started, #publish_task_pending_transition, #publish_task_reenqueue_delayed, #publish_task_reenqueue_failed, #publish_task_reenqueue_requested, #publish_task_reenqueue_started, #publish_task_retry_requested, #publish_task_started, #publish_viable_steps_discovered, #publish_workflow_state_unclear, #publish_workflow_step_completed, #publish_workflow_task_started