diff options
author | Luke Bennett <lbennett@gitlab.com> | 2018-09-24 14:39:00 +0100 |
---|---|---|
committer | Luke Bennett <lbennett@gitlab.com> | 2018-09-24 14:39:00 +0100 |
commit | 05afd11e16aecd43adfb869ae90aa6cae13916ec (patch) | |
tree | 63b31431981d48ac970853778dd01a5301bb9564 /app/serializers/stage_entity.rb | |
parent | 086549d986a453e1b2dd0d09ffbd19d0487d9c51 (diff) | |
parent | 28086b203ae397e01d5e9870dfbddd66466450c2 (diff) | |
download | gitlab-ce-05afd11e16aecd43adfb869ae90aa6cae13916ec.tar.gz |
Merge remote-tracking branch 'origin/master' into ce-6983-promote-starting-a-gitlab-com-trial
Diffstat (limited to 'app/serializers/stage_entity.rb')
-rw-r--r-- | app/serializers/stage_entity.rb | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/app/serializers/stage_entity.rb b/app/serializers/stage_entity.rb index 00e6d32ee3a..029dd3d0684 100644 --- a/app/serializers/stage_entity.rb +++ b/app/serializers/stage_entity.rb @@ -19,7 +19,13 @@ class StageEntity < Grape::Entity latest_statuses end - expose :detailed_status, as: :status, with: StatusEntity + expose :retried, + if: -> (_, opts) { opts[:retried] }, + with: JobEntity do |stage| + retried_statuses + end + + expose :detailed_status, as: :status, with: DetailedStatusEntity expose :path do |stage| project_pipeline_path( @@ -48,9 +54,19 @@ class StageEntity < Grape::Entity @grouped_statuses ||= stage.statuses.latest_ordered.group_by(&:status) end + def grouped_retried_statuses + @grouped_retried_statuses ||= stage.statuses.retried_ordered.group_by(&:status) + end + def latest_statuses HasStatus::ORDERED_STATUSES.map do |ordered_status| grouped_statuses.fetch(ordered_status, []) end.flatten end + + def retried_statuses + HasStatus::ORDERED_STATUSES.map do |ordered_status| + grouped_retried_statuses.fetch(ordered_status, []) + end.flatten + end end |