gitlab-ce/app/models/blob_viewer/gitlab_ci_yml.rb

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