diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index a113a5b..74b8f98 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -59,7 +59,7 @@ representative at an online or offline event. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at bigrails@gusto.com. +reported to the community leaders responsible for enforcement at rubyatscale@gusto.com. All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the diff --git a/Gemfile.lock b/Gemfile.lock index ee87bba..62ecd0c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,9 +1,9 @@ PATH remote: . specs: - modularization_statistics (1.33.1) - bigrails-teams + modularization_statistics (1.34.0) code_ownership + code_teams dogapi package_protections parse_packwerk @@ -18,12 +18,12 @@ GEM minitest (>= 5.1) tzinfo (~> 2.0) ast (2.4.2) - bigrails-teams (0.1.0) - sorbet-runtime - code_ownership (1.23.0) - bigrails-teams + code_ownership (1.28.0) + code_teams (~> 1.0) parse_packwerk sorbet-runtime + code_teams (1.0.0) + sorbet-runtime coderay (1.1.3) concurrent-ruby (1.1.10) diff-lcs (1.5.0) diff --git a/lib/modularization_statistics.rb b/lib/modularization_statistics.rb index 05ee0cd..74c5567 100644 --- a/lib/modularization_statistics.rb +++ b/lib/modularization_statistics.rb @@ -4,7 +4,7 @@ require 'json' require 'yaml' require 'benchmark' -require 'teams' +require 'code_teams' require 'code_ownership' require 'pathname' require 'modularization_statistics/private/source_code_file' diff --git a/lib/modularization_statistics/private/source_code_file.rb b/lib/modularization_statistics/private/source_code_file.rb index ad910e8..b617c4c 100644 --- a/lib/modularization_statistics/private/source_code_file.rb +++ b/lib/modularization_statistics/private/source_code_file.rb @@ -7,7 +7,7 @@ class SourceCodeFile < T::Struct const :is_componentized_file, T::Boolean const :is_packaged_file, T::Boolean - const :team_owner, T.nilable(Teams::Team) + const :team_owner, T.nilable(CodeTeams::Team) const :pathname, Pathname sig { returns(T::Boolean) } diff --git a/modularization_statistics.gemspec b/modularization_statistics.gemspec index b97c672..2f2ad24 100644 --- a/modularization_statistics.gemspec +++ b/modularization_statistics.gemspec @@ -1,6 +1,6 @@ Gem::Specification.new do |spec| spec.name = 'modularization_statistics' - spec.version = '1.33.1' + spec.version = '1.34.0' spec.authors = ['Gusto Engineers'] spec.email = ['dev@gusto.com'] @@ -26,7 +26,7 @@ Gem::Specification.new do |spec| spec.require_paths = ['lib'] - spec.add_dependency 'bigrails-teams' + spec.add_dependency 'code_teams' spec.add_dependency 'code_ownership' spec.add_dependency 'dogapi' spec.add_dependency 'package_protections' diff --git a/sorbet/rbi/gems/code_ownership@1.23.0.rbi b/sorbet/rbi/gems/code_ownership@1.28.0.rbi similarity index 84% rename from sorbet/rbi/gems/code_ownership@1.23.0.rbi rename to sorbet/rbi/gems/code_ownership@1.28.0.rbi index 0e47a98..340e7e9 100644 --- a/sorbet/rbi/gems/code_ownership@1.23.0.rbi +++ b/sorbet/rbi/gems/code_ownership@1.28.0.rbi @@ -12,18 +12,18 @@ module CodeOwnership sig do params( backtrace: T.nilable(T::Array[::String]), - excluded_teams: T::Array[::Teams::Team] - ).returns(T.nilable(::Teams::Team)) + excluded_teams: T::Array[::CodeTeams::Team] + ).returns(T.nilable(::CodeTeams::Team)) end def for_backtrace(backtrace, excluded_teams: T.unsafe(nil)); end - sig { params(klass: T.nilable(T.any(::Class, ::Module))).returns(T.nilable(::Teams::Team)) } + sig { params(klass: T.nilable(T.any(::Class, ::Module))).returns(T.nilable(::CodeTeams::Team)) } def for_class(klass); end - sig { params(file: ::String).returns(T.nilable(::Teams::Team)) } + sig { params(file: ::String).returns(T.nilable(::CodeTeams::Team)) } def for_file(file); end - sig { params(package: ::ParsePackwerk::Package).returns(T.nilable(::Teams::Team)) } + sig { params(package: ::ParsePackwerk::Package).returns(T.nilable(::CodeTeams::Team)) } def for_package(package); end sig { params(files: T::Array[::String], autocorrect: T::Boolean, stage_changes: T::Boolean).void } @@ -40,6 +40,7 @@ end class CodeOwnership::Cli class << self + def for_file(argv); end def run!(argv); end private @@ -64,7 +65,7 @@ module CodeOwnership::Private sig { params(files: T::Array[::String]).returns(T::Hash[::String, T::Array[::String]]) } def files_by_mapper(files); end - sig { params(team_name: ::String, location_of_reference: ::String).returns(::Teams::Team) } + sig { params(team_name: ::String, location_of_reference: ::String).returns(::CodeTeams::Team) } def find_team!(team_name, location_of_reference); end sig { returns(T::Array[::CodeOwnership::Private::OwnershipMappers::Interface]) } @@ -107,19 +108,19 @@ class CodeOwnership::Private::OwnershipMappers::FileAnnotations sig { override.void } def bust_caches!; end - sig { override.returns(T::Hash[::String, T.nilable(::Teams::Team)]) } + sig { override.returns(T::Hash[::String, T.nilable(::CodeTeams::Team)]) } def codeowners_lines_to_owners; end sig { override.returns(::String) } def description; end - sig { params(filename: ::String).returns(T.nilable(::Teams::Team)) } + sig { params(filename: ::String).returns(T.nilable(::CodeTeams::Team)) } def file_annotation_based_owner(filename); end - sig { override.params(file: ::String).returns(T.nilable(::Teams::Team)) } + sig { override.params(file: ::String).returns(T.nilable(::CodeTeams::Team)) } def map_file_to_owner(file); end - sig { override.params(files: T::Array[::String]).returns(T::Hash[::String, T.nilable(::Teams::Team)]) } + sig { override.params(files: T::Array[::String]).returns(T::Hash[::String, T.nilable(::CodeTeams::Team)]) } def map_files_to_owners(files); end sig { params(filename: ::String).void } @@ -134,16 +135,16 @@ module CodeOwnership::Private::OwnershipMappers::Interface sig { abstract.void } def bust_caches!; end - sig { abstract.returns(T::Hash[::String, T.nilable(::Teams::Team)]) } + sig { abstract.returns(T::Hash[::String, T.nilable(::CodeTeams::Team)]) } def codeowners_lines_to_owners; end sig { abstract.returns(::String) } def description; end - sig { abstract.params(file: ::String).returns(T.nilable(::Teams::Team)) } + sig { abstract.params(file: ::String).returns(T.nilable(::CodeTeams::Team)) } def map_file_to_owner(file); end - sig { abstract.params(files: T::Array[::String]).returns(T::Hash[::String, T.nilable(::Teams::Team)]) } + sig { abstract.params(files: T::Array[::String]).returns(T::Hash[::String, T.nilable(::CodeTeams::Team)]) } def map_files_to_owners(files); end end @@ -153,19 +154,19 @@ class CodeOwnership::Private::OwnershipMappers::JsPackageOwnership sig { override.void } def bust_caches!; end - sig { override.returns(T::Hash[::String, T.nilable(::Teams::Team)]) } + sig { override.returns(T::Hash[::String, T.nilable(::CodeTeams::Team)]) } def codeowners_lines_to_owners; end sig { override.returns(::String) } def description; end - sig { override.params(file: ::String).returns(T.nilable(::Teams::Team)) } + sig { override.params(file: ::String).returns(T.nilable(::CodeTeams::Team)) } def map_file_to_owner(file); end - sig { override.params(files: T::Array[::String]).returns(T::Hash[::String, T.nilable(::Teams::Team)]) } + sig { override.params(files: T::Array[::String]).returns(T::Hash[::String, T.nilable(::CodeTeams::Team)]) } def map_files_to_owners(files); end - sig { params(package: ::CodeOwnership::Private::ParseJsPackages::Package).returns(T.nilable(::Teams::Team)) } + sig { params(package: ::CodeOwnership::Private::ParseJsPackages::Package).returns(T.nilable(::CodeTeams::Team)) } def owner_for_package(package); end private @@ -180,19 +181,19 @@ class CodeOwnership::Private::OwnershipMappers::PackageOwnership sig { override.void } def bust_caches!; end - sig { override.returns(T::Hash[::String, T.nilable(::Teams::Team)]) } + sig { override.returns(T::Hash[::String, T.nilable(::CodeTeams::Team)]) } def codeowners_lines_to_owners; end sig { override.returns(::String) } def description; end - sig { override.params(file: ::String).returns(T.nilable(::Teams::Team)) } + sig { override.params(file: ::String).returns(T.nilable(::CodeTeams::Team)) } def map_file_to_owner(file); end - sig { override.params(files: T::Array[::String]).returns(T::Hash[::String, T.nilable(::Teams::Team)]) } + sig { override.params(files: T::Array[::String]).returns(T::Hash[::String, T.nilable(::CodeTeams::Team)]) } def map_files_to_owners(files); end - sig { params(package: ::ParsePackwerk::Package).returns(T.nilable(::Teams::Team)) } + sig { params(package: ::ParsePackwerk::Package).returns(T.nilable(::CodeTeams::Team)) } def owner_for_package(package); end private @@ -207,16 +208,16 @@ class CodeOwnership::Private::OwnershipMappers::TeamGlobs sig { override.void } def bust_caches!; end - sig { override.returns(T::Hash[::String, T.nilable(::Teams::Team)]) } + sig { override.returns(T::Hash[::String, T.nilable(::CodeTeams::Team)]) } def codeowners_lines_to_owners; end sig { override.returns(::String) } def description; end - sig { override.params(file: ::String).returns(T.nilable(::Teams::Team)) } + sig { override.params(file: ::String).returns(T.nilable(::CodeTeams::Team)) } def map_file_to_owner(file); end - sig { override.params(files: T::Array[::String]).returns(T::Hash[::String, T.nilable(::Teams::Team)]) } + sig { override.params(files: T::Array[::String]).returns(T::Hash[::String, T.nilable(::CodeTeams::Team)]) } def map_files_to_owners(files); end end @@ -248,7 +249,7 @@ end CodeOwnership::Private::ParseJsPackages::ROOT_PACKAGE_NAME = T.let(T.unsafe(nil), String) module CodeOwnership::Private::TeamPlugins; end -class CodeOwnership::Private::TeamPlugins::Github < ::Teams::Plugin +class CodeOwnership::Private::TeamPlugins::Github < ::CodeTeams::Plugin sig { returns(::CodeOwnership::Private::TeamPlugins::Github::GithubStruct) } def github; end end @@ -267,7 +268,7 @@ class CodeOwnership::Private::TeamPlugins::Github::GithubStruct < ::Struct end end -class CodeOwnership::Private::TeamPlugins::Ownership < ::Teams::Plugin +class CodeOwnership::Private::TeamPlugins::Ownership < ::CodeTeams::Plugin sig { returns(T::Array[::String]) } def owned_globs; end end diff --git a/sorbet/rbi/gems/bigrails-teams@0.1.0.rbi b/sorbet/rbi/gems/code_teams@1.0.0.rbi similarity index 53% rename from sorbet/rbi/gems/bigrails-teams@0.1.0.rbi rename to sorbet/rbi/gems/code_teams@1.0.0.rbi index f40e574..c252b40 100644 --- a/sorbet/rbi/gems/bigrails-teams@0.1.0.rbi +++ b/sorbet/rbi/gems/code_teams@1.0.0.rbi @@ -1,78 +1,78 @@ # typed: true # DO NOT EDIT MANUALLY -# This is an autogenerated file for types exported from the `bigrails-teams` gem. -# Please instead update this file by running `bin/tapioca gem bigrails-teams`. +# This is an autogenerated file for types exported from the `code_teams` gem. +# Please instead update this file by running `bin/tapioca gem code_teams`. -module Teams +module CodeTeams class << self - sig { returns(T::Array[::Teams::Team]) } + sig { returns(T::Array[::CodeTeams::Team]) } def all; end sig { void } def bust_caches!; end - sig { params(name: ::String).returns(T.nilable(::Teams::Team)) } + sig { params(name: ::String).returns(T.nilable(::CodeTeams::Team)) } def find(name); end - sig { params(dir: ::String).returns(T::Array[::Teams::Team]) } + sig { params(dir: ::String).returns(T::Array[::CodeTeams::Team]) } def for_directory(dir); end sig { params(string: ::String).returns(::String) } def tag_value_for(string); end - sig { params(teams: T::Array[::Teams::Team]).returns(T::Array[::String]) } + sig { params(teams: T::Array[::CodeTeams::Team]).returns(T::Array[::String]) } def validation_errors(teams); end end end -class Teams::IncorrectPublicApiUsageError < ::StandardError; end +class CodeTeams::IncorrectPublicApiUsageError < ::StandardError; end -class Teams::Plugin +class CodeTeams::Plugin abstract! - sig { params(team: ::Teams::Team).void } + sig { params(team: ::CodeTeams::Team).void } def initialize(team); end class << self - sig { returns(T::Array[T.class_of(Teams::Plugin)]) } + sig { returns(T::Array[T.class_of(CodeTeams::Plugin)]) } def all_plugins; end - sig { params(team: ::Teams::Team).returns(T.attached_class) } + sig { params(team: ::CodeTeams::Team).returns(T.attached_class) } def for(team); end sig { params(base: T.untyped).void } def inherited(base); end - sig { params(team: ::Teams::Team, key: ::String).returns(::String) } + sig { params(team: ::CodeTeams::Team, key: ::String).returns(::String) } def missing_key_error_message(team, key); end - sig { params(teams: T::Array[::Teams::Team]).returns(T::Array[::String]) } + sig { params(teams: T::Array[::CodeTeams::Team]).returns(T::Array[::String]) } def validation_errors(teams); end private - sig { params(team: ::Teams::Team).returns(T.attached_class) } + sig { params(team: ::CodeTeams::Team).returns(T.attached_class) } def register_team(team); end - sig { returns(T::Hash[T.nilable(::String), T::Hash[::Class, ::Teams::Plugin]]) } + sig { returns(T::Hash[T.nilable(::String), T::Hash[::Class, ::CodeTeams::Plugin]]) } def registry; end end end -module Teams::Plugins; end +module CodeTeams::Plugins; end -class Teams::Plugins::Identity < ::Teams::Plugin - sig { returns(::Teams::Plugins::Identity::IdentityStruct) } +class CodeTeams::Plugins::Identity < ::CodeTeams::Plugin + sig { returns(::CodeTeams::Plugins::Identity::IdentityStruct) } def identity; end class << self - sig { override.params(teams: T::Array[::Teams::Team]).returns(T::Array[::String]) } + sig { override.params(teams: T::Array[::CodeTeams::Team]).returns(T::Array[::String]) } def validation_errors(teams); end end end -class Teams::Plugins::Identity::IdentityStruct < ::Struct +class CodeTeams::Plugins::Identity::IdentityStruct < ::Struct def name; end def name=(_); end @@ -84,7 +84,7 @@ class Teams::Plugins::Identity::IdentityStruct < ::Struct end end -class Teams::Team +class CodeTeams::Team sig { params(config_yml: T.nilable(::String), raw_hash: T::Hash[T.untyped, T.untyped]).void } def initialize(config_yml:, raw_hash:); end @@ -109,12 +109,12 @@ class Teams::Team def to_tag; end class << self - sig { params(raw_hash: T::Hash[T.untyped, T.untyped]).returns(::Teams::Team) } + sig { params(raw_hash: T::Hash[T.untyped, T.untyped]).returns(::CodeTeams::Team) } def from_hash(raw_hash); end - sig { params(config_yml: ::String).returns(::Teams::Team) } + sig { params(config_yml: ::String).returns(::CodeTeams::Team) } def from_yml(config_yml); end end end -Teams::UNKNOWN_TEAM_STRING = T.let(T.unsafe(nil), String) +CodeTeams::UNKNOWN_TEAM_STRING = T.let(T.unsafe(nil), String) diff --git a/spec/modularization_statistics_spec.rb b/spec/modularization_statistics_spec.rb index c787a9f..82f6224 100644 --- a/spec/modularization_statistics_spec.rb +++ b/spec/modularization_statistics_spec.rb @@ -83,7 +83,7 @@ module ModularizationStatistics # rubocop:disable RSpec/DescribedClassModuleWrap let(:metrics) { subject } before do - Teams.bust_caches! + CodeTeams.bust_caches! CodeOwnership.bust_caches! end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index cb27932..7c2c345 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -44,7 +44,7 @@ def sorbet_double(stubbed_class, attr_map = {}) match = filename.match(/_(\d+)/) if match team_number = match[1] - sorbet_double(Teams::Team, name: "Team #{team_number}") + sorbet_double(CodeTeams::Team, name: "Team #{team_number}") end end end @@ -52,6 +52,6 @@ def sorbet_double(stubbed_class, attr_map = {}) RSpec.shared_context 'only one team' do before do - allow(CodeOwnership).to receive(:for_file).and_return(sorbet_double(Teams::Team, name: 'Some team')) + allow(CodeOwnership).to receive(:for_file).and_return(sorbet_double(CodeTeams::Team, name: 'Some team')) end end