Class: DurableFlow::WorkflowStep

Inherits:
ApplicationRecord show all
Includes:
Live::Broadcastable
Defined in:
lib/durable_flow/models/workflow_step.rb

Instance Method Summary collapse

Instance Method Details

#complete!(value) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/durable_flow/models/workflow_step.rb', line 20

def complete!(value)
  update!(
    status: "succeeded",
    result: Serializer.dump(value),
    completed_at: Time.current,
  )
end

#live_snapshotObject



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/durable_flow/models/workflow_step.rb', line 32

def live_snapshot
  {
    id: id,
    workflow_run_id: workflow_run_id,
    name: name,
    status: status,
    attempts: attempts,
    result: result,
    metadata: ,
    started_at: started_at,
    completed_at: completed_at,
    created_at: created_at,
    updated_at: updated_at,
  }
end

#metadata_hashObject



28
29
30
# File 'lib/durable_flow/models/workflow_step.rb', line 28

def 
  .presence || {}
end

#result_valueObject



16
17
18
# File 'lib/durable_flow/models/workflow_step.rb', line 16

def result_value
  Serializer.load(result)
end

#succeeded?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/durable_flow/models/workflow_step.rb', line 12

def succeeded?
  status == "succeeded"
end