Sha256: d210b81e0a993273aa07d4058c5367576b2ce8cb74015d1686a552fb7efefca2

Contents?: true

Size: 1.02 KB

Versions: 9

Compression:

Stored size: 1.02 KB

Contents

# frozen_string_literal: true

# typed: strict

module CodeOwnership
  module Private
    module OwnershipMappers
      module Interface
        extend T::Sig
        extend T::Helpers

        interface!

        #
        # This should be fast when run with ONE file
        #
        sig do
          abstract.params(file: String).
            returns(T.nilable(::CodeTeams::Team))
        end
        def map_file_to_owner(file)
        end

        #
        # This should be fast when run with MANY files
        #
        sig do
          abstract.params(files: T::Array[String]).
            returns(T::Hash[String, T.nilable(::CodeTeams::Team)])
        end
        def map_files_to_owners(files)
        end

        sig do
          abstract.returns(T::Hash[String, T.nilable(::CodeTeams::Team)])
        end
        def codeowners_lines_to_owners
        end

        sig { abstract.returns(String) }
        def description
        end

        sig { abstract.void }
        def bust_caches!
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
code_ownership-1.31.1 lib/code_ownership/private/ownership_mappers/interface.rb
code_ownership-1.31.0 lib/code_ownership/private/ownership_mappers/interface.rb
code_ownership-1.30.0 lib/code_ownership/private/ownership_mappers/interface.rb
code_ownership-1.29.3 lib/code_ownership/private/ownership_mappers/interface.rb
code_ownership-1.29.2 lib/code_ownership/private/ownership_mappers/interface.rb
code_ownership-1.29.1 lib/code_ownership/private/ownership_mappers/interface.rb
code_ownership-1.29.0 lib/code_ownership/private/ownership_mappers/interface.rb
code_ownership-1.28.2 lib/code_ownership/private/ownership_mappers/interface.rb
code_ownership-1.28.0 lib/code_ownership/private/ownership_mappers/interface.rb