Sha256: 8ed27402debbf64b244932f2e84694b10dfbbf39037b8f2356a355458d54e664

Contents?: true

Size: 1.01 KB

Versions: 5

Compression:

Stored size: 1.01 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(::Teams::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(::Teams::Team)])
        end
        def map_files_to_owners(files)
        end

        sig do
          abstract.returns(T::Hash[String, T.nilable(::Teams::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

5 entries across 5 versions & 1 rubygems

Version Path
code_ownership-1.27.0 lib/code_ownership/private/ownership_mappers/interface.rb
code_ownership-1.26.0 lib/code_ownership/private/ownership_mappers/interface.rb
code_ownership-1.25.0 lib/code_ownership/private/ownership_mappers/interface.rb
code_ownership-1.24.0 lib/code_ownership/private/ownership_mappers/interface.rb
code_ownership-1.23.0 lib/code_ownership/private/ownership_mappers/interface.rb