gitlab-org--gitlab-foss/app/services/merge_requests/mergeability/check_base_service.rb

37 lines
788 B
Ruby

# frozen_string_literal: true
module MergeRequests
module Mergeability
class CheckBaseService
attr_reader :merge_request, :params
def initialize(merge_request:, params:)
@merge_request = merge_request
@params = params
end
def skip?
raise NotImplementedError
end
# When this method is true, we need to implement a cache_key
def cacheable?
raise NotImplementedError
end
def cache_key
raise NotImplementedError
end
private
def success(**args)
Gitlab::MergeRequests::Mergeability::CheckResult.success(payload: args)
end
def failure(**args)
Gitlab::MergeRequests::Mergeability::CheckResult.failed(payload: args)
end
end
end
end