Sha256: 12e861a7f410f1572603dbd1f94bdbb80b081e9ff8ecf053f39315b8e3fadc83

Contents?: true

Size: 998 Bytes

Versions: 7

Compression:

Stored size: 998 Bytes

Contents

# typed: strict

module CodeOwnership
  module Private
    module Validations
      class FilesHaveOwners
        extend T::Sig
        extend T::Helpers
        include Validator

        sig { override.params(files: T::Array[String], autocorrect: T::Boolean, stage_changes: T::Boolean).returns(T::Array[String]) }
        def validation_errors(files:, autocorrect: true, stage_changes: true)
          cache = Private.glob_cache
          file_mappings = cache.mapper_descriptions_that_map_files(files)
          files_not_mapped_at_all = file_mappings.select do |_file, mapper_descriptions|
            mapper_descriptions.count.zero?
          end

          errors = T.let([], T::Array[String])

          if files_not_mapped_at_all.any?
            errors << <<~MSG
              Some files are missing ownership:

              #{files_not_mapped_at_all.map { |file, _mappers| "- #{file}" }.join("\n")}
            MSG
          end

          errors
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
code_ownership-1.39.0 lib/code_ownership/private/validations/files_have_owners.rb
code_ownership-1.38.3 lib/code_ownership/private/validations/files_have_owners.rb
code_ownership-1.38.2 lib/code_ownership/private/validations/files_have_owners.rb
code_ownership-1.38.1 lib/code_ownership/private/validations/files_have_owners.rb
code_ownership-1.38.0 lib/code_ownership/private/validations/files_have_owners.rb
code_ownership-1.37.0 lib/code_ownership/private/validations/files_have_owners.rb
code_ownership-1.36.3 lib/code_ownership/private/validations/files_have_owners.rb