@@ -20,17 +20,10 @@ def map_files_to_owners
2020 return @@map_files_to_owners if @@map_files_to_owners &.keys && @@map_files_to_owners . keys . count . positive?
2121
2222 @@map_files_to_owners = CodeTeams . all . each_with_object ( { } ) do |team , map | # rubocop:disable Style/ClassVars
23- TeamPlugins ::Ownership . for ( team ) . owned_globs . each do |glob |
24- Dir . glob ( glob ) . each do |filename |
25- map [ filename ] = team
26- end
27- end
23+ code_team = TeamPlugins ::Ownership . for ( team )
2824
29- # Remove anything that is unowned
30- TeamPlugins ::Ownership . for ( team ) . unowned_globs . each do |glob |
31- Dir . glob ( glob ) . each do |filename |
32- map . delete ( filename )
33- end
25+ ( Dir . glob ( code_team . owned_globs ) - Dir . glob ( code_team . unowned_globs ) ) . each do |filename |
26+ map [ filename ] = team
3427 end
3528 end
3629 end
@@ -62,18 +55,19 @@ def description
6255 end
6356 def find_overlapping_globs
6457 mapped_files = T . let ( { } , T ::Hash [ String , T ::Array [ MappingContext ] ] )
65- CodeTeams . all . each_with_object ( { } ) do |team , _map |
66- TeamPlugins ::Ownership . for ( team ) . owned_globs . each do |glob |
67- Dir . glob ( glob ) . each do |filename |
58+ CodeTeams . all . each do |team |
59+ code_team = TeamPlugins ::Ownership . for ( team )
60+
61+ code_team . owned_globs . each do |glob |
62+ Dir . glob ( glob ) do |filename |
6863 mapped_files [ filename ] ||= [ ]
6964 T . must ( mapped_files [ filename ] ) << MappingContext . new ( glob : glob , team : team )
7065 end
7166 end
72- # Remove anything that is unowned
73- TeamPlugins ::Ownership . for ( team ) . unowned_globs . each do |glob |
74- Dir . glob ( glob ) . each do |filename |
75- mapped_files . reject! { |key , value | key == filename && value . any? { |context | context . team == team } }
76- end
67+
68+ # Remove anything that is unowned, globbing them all at once
69+ Dir . glob ( code_team . unowned_globs ) do |filename |
70+ mapped_files . reject! { |key , value | key == filename && value . any? { |context | context . team == team } }
7771 end
7872 end
7973
0 commit comments