gitlab-org--gitlab-foss/lib/gitlab/bullet/exclusions.rb

37 lines
906 B
Ruby

# frozen_string_literal: true
module Gitlab
module Bullet
class Exclusions
def initialize(config_file = Gitlab.root.join('config/bullet.yml'))
@config_file = config_file
end
def execute
exclusions.map { |v| v['exclude'] }
end
def validate_paths!
exclusions.each do |properties|
next unless properties['path_with_method']
file = properties['exclude'].first
raise "Bullet: File used by #{config_file} doesn't exist, validate the #{file} exclusion!" unless File.exist?(file)
end
end
private
attr_reader :config_file
def exclusions
@exclusions ||= if File.exist?(config_file)
YAML.load_file(config_file)['exclusions']&.values || []
else
[]
end
end
end
end
end