gitlab-org--gitlab-foss/app/presenters/ci/build_presenter.rb
2017-09-04 21:55:26 +09:00

32 lines
891 B
Ruby

module Ci
class BuildPresenter < Gitlab::View::Presenter::Delegated
presents :build
def erased_by_user?
# Build can be erased through API, therefore it does not have
# `erased_by` user assigned in that case.
erased? && erased_by
end
def erased_by_name
erased_by.name if erased_by_user?
end
def status_title
if auto_canceled?
"Job is redundant and is auto-canceled by Pipeline ##{auto_canceled_by_id}"
end
end
def old_or_new_trigger_variables
return @old_or_new_trigger_variables if defined?(@old_or_new_trigger_variables)
if build.pipeline.variables.any?
@old_or_new_trigger_variables =
build.pipeline.variables&.map { |v| { v.key => v.value } } &.reduce({}, :merge)
else
@old_or_new_trigger_variables = build.trigger_request.variables
end
end
end
end