@@ -13,24 +13,32 @@ def job_status
1313 job = GoodJob ::Job . find_by ( active_job_id : data )
1414 return 'not_found' unless job
1515
16- return 'discarded' if job . discarded?
17- return 'succeeded' if job . succeeded?
18- return 'failed' if job . finished? && job . error . present?
19- return 'running' if job . running?
20- return 'scheduled' if job . scheduled_at . present? && job . scheduled_at > Time . current
21-
22- 'queued'
16+ determine_job_status ( job )
2317 end
2418
2519 def status_class
2620 case job_status
27- when 'succeeded' then 'status-completed'
28- when 'completed' then 'status-completed'
29- when 'failed' then 'status-failed'
30- when 'discarded' then 'status-failed'
21+ when 'succeeded' , 'completed' then 'status-completed'
22+ when 'failed' , 'discarded' then 'status-failed'
3123 when 'running' then 'status-running'
3224 when 'queued' , 'scheduled' then 'status-queued'
3325 else 'status-unknown'
3426 end
3527 end
28+
29+ private
30+
31+ def determine_job_status ( job )
32+ return 'discarded' if job . discarded?
33+ return 'succeeded' if job . succeeded?
34+ return 'failed' if job . finished? && job . error . present?
35+ return 'running' if job . running?
36+ return 'scheduled' if scheduled? ( job )
37+
38+ 'queued'
39+ end
40+
41+ def scheduled? ( job )
42+ job . scheduled_at . present? && job . scheduled_at > Time . current
43+ end
3644end
0 commit comments