Class: Tasker::WorkflowStepSerializer

Inherits:
ActiveModel::Serializer
  • Object
show all
Defined in:
app/serializers/tasker/workflow_step_serializer.rb

Instance Method Summary collapse

Instance Method Details

#children_idsObject



11
12
13
14
# File 'app/serializers/tasker/workflow_step_serializer.rb', line 11

def children_ids
  # Use scenic view for efficient parent/child lookups - eliminates N+1 queries
  object.step_dag_relationship&.child_step_ids_array || []
end

#parents_idsObject



16
17
18
19
# File 'app/serializers/tasker/workflow_step_serializer.rb', line 16

def parents_ids
  # Use scenic view for efficient parent/child lookups - eliminates N+1 queries
  object.step_dag_relationship&.parent_step_ids_array || []
end

#siblings_idsObject



21
22
23
24
25
# File 'app/serializers/tasker/workflow_step_serializer.rb', line 21

def siblings_ids
  # Use existing WorkflowStepEdge siblings logic - finds steps with exact same parent set
  # This is more accurate than just shared parents and leverages well-tested code
  WorkflowStepEdge.siblings_of(object).pluck(:to_step_id)
end