46 lines
957 B
Ruby
46 lines
957 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Gitlab
|
|
module Ci
|
|
module Reports
|
|
class AccessibilityReports
|
|
attr_reader :urls, :error_message
|
|
|
|
def initialize
|
|
@urls = {}
|
|
@error_message = nil
|
|
end
|
|
|
|
def add_url(url, data)
|
|
if url.empty?
|
|
set_error_message("Empty URL detected in gl-accessibility.json")
|
|
else
|
|
urls[url] = data
|
|
end
|
|
end
|
|
|
|
def scans_count
|
|
@urls.size
|
|
end
|
|
|
|
def passes_count
|
|
@urls.count { |url, errors| errors.empty? }
|
|
end
|
|
|
|
# rubocop: disable CodeReuse/ActiveRecord
|
|
def errors_count
|
|
@urls.sum { |url, errors| errors.size }
|
|
end
|
|
# rubocop: enable CodeReuse/ActiveRecord
|
|
|
|
def set_error_message(error)
|
|
@error_message = error
|
|
end
|
|
|
|
def all_errors
|
|
@urls.values.flatten
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|