37 lines
770 B
Ruby
37 lines
770 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(*args)
|
||
|
end
|
||
|
|
||
|
def failure(*args)
|
||
|
Gitlab::MergeRequests::Mergeability::CheckResult.failed(*args)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|