28 lines
612 B
Ruby
28 lines
612 B
Ruby
# frozen_string_literal: true
|
|
|
|
class EnvironmentStatus
|
|
include Gitlab::Utils::StrongMemoize
|
|
|
|
attr_reader :environment, :merge_request
|
|
|
|
delegate :id, to: :environment
|
|
delegate :name, to: :environment
|
|
delegate :project, to: :environment
|
|
delegate :deployed_at, to: :deployment, allow_nil: true
|
|
|
|
def initialize(environment, merge_request)
|
|
@environment = environment
|
|
@merge_request = merge_request
|
|
end
|
|
|
|
def deployment
|
|
strong_memoize(:deployment) do
|
|
environment.first_deployment_for(merge_request.diff_head_sha)
|
|
end
|
|
end
|
|
|
|
def deployed_at
|
|
deployment&.created_at
|
|
end
|
|
end
|