33 lines
898 B
Ruby
33 lines
898 B
Ruby
# frozen_string_literal: true
|
|
|
|
module BlobViewer
|
|
class GitlabCiYml < Base
|
|
include ServerSide
|
|
include Auxiliary
|
|
|
|
self.partial_name = 'gitlab_ci_yml'
|
|
self.loading_partial_name = 'gitlab_ci_yml_loading'
|
|
self.binary = false
|
|
|
|
# rubocop:disable Lint/UnusedMethodArgument -- The keyword argument is required by the parent class but not here.
|
|
def self.can_render?(blob, verify_binary: true)
|
|
blob.path == blob.project.ci_config_path_or_default
|
|
end
|
|
# rubocop:enable Lint/UnusedMethodArgument
|
|
|
|
def validation_message(opts)
|
|
return @validation_message if defined?(@validation_message)
|
|
|
|
prepare!
|
|
|
|
@validation_message = Gitlab::Ci::Lint
|
|
.new(project: opts[:project], current_user: opts[:user], sha: opts[:sha])
|
|
.validate(blob.data).errors.first
|
|
end
|
|
|
|
def valid?(opts)
|
|
validation_message(opts).blank?
|
|
end
|
|
end
|
|
end
|