Module: ReductoAI::JobStatus

Extended by:
JobStatus
Included in:
JobStatus, Resources::Jobs
Defined in:
lib/reducto_ai/job_status.rb

Constant Summary collapse

STATUS_MAP =
{
  "pending" => "Pending",
  "idle" => "Pending",
  "inprogress" => "InProgress",
  "processing" => "InProgress",
  "running" => "InProgress",
  "completing" => "Completing",
  "completed" => "Completed",
  "complete" => "Completed",
  "succeeded" => "Completed",
  "failed" => "Failed"
}.freeze

Instance Method Summary collapse

Instance Method Details

#completed?(value_or_response) ⇒ Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/reducto_ai/job_status.rb', line 39

def completed?(value_or_response)
  normalize_status(value_or_response) == "Completed"
end

#completing?(value_or_response) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/reducto_ai/job_status.rb', line 35

def completing?(value_or_response)
  normalize_status(value_or_response) == "Completing"
end

#failed?(value_or_response) ⇒ Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/reducto_ai/job_status.rb', line 43

def failed?(value_or_response)
  normalize_status(value_or_response) == "Failed"
end

#in_progress?(value_or_response) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/reducto_ai/job_status.rb', line 31

def in_progress?(value_or_response)
  normalize_status(value_or_response) == "InProgress"
end

#normalize_status(value_or_response) ⇒ Object



20
21
22
23
24
25
# File 'lib/reducto_ai/job_status.rb', line 20

def normalize_status(value_or_response)
  raw_status = extract_status(value_or_response)
  return nil if raw_status.nil?

  STATUS_MAP.fetch(raw_status.to_s.downcase, raw_status.to_s)
end

#pending?(value_or_response) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/reducto_ai/job_status.rb', line 27

def pending?(value_or_response)
  normalize_status(value_or_response) == "Pending"
end

#terminal?(value_or_response) ⇒ Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/reducto_ai/job_status.rb', line 47

def terminal?(value_or_response)
  completed?(value_or_response) || failed?(value_or_response)
end