code_ownership 1.32.15 → 1.32.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a8705b2519d1dda2e50bc2051864d8f41b16111b3ab3a47923ff2b1e1c22024e
4
- data.tar.gz: 2dd240f0854303fbbfd080a23f3c37ee38c5c6912f04e445ce9bc6fd08d6996e
3
+ metadata.gz: 7a5c5f4a43ef44ffca514c001aa9eae7042bcdf445913afaa15adf40520e1d6d
4
+ data.tar.gz: e6cb1255f18886edabdd09086ed86d616742b9683311b657e7ba4c418baff443
5
5
  SHA512:
6
- metadata.gz: c0de295ef841c8d50edffa5d8dedfeace747160d0c368b0b919d2aa76f4d3b540d80cd91b8eeea8578230b596613705cd6ed2dc72d524d240de5bd48162184bc
7
- data.tar.gz: 0f9da2508a46330de7a75a8bf8b7ee1117f4a7449a53cf3516bd5e608b07f07b59e207a109ea40c14af22b575f75fdc02c2ee93eca427072eef13d29f76974d2
6
+ metadata.gz: ede48eace0e4e7096671816ba0c1264fad5d3ea465ba5473a5724da95623e4982e5058b81f8eca0df39602889d88a3ea041cdb12fbb0a9e489b029fe32fa8579
7
+ data.tar.gz: 55c7bd2a181710065712eb211b969dbefbfb9d83daedbfec324816cc8aae38fd1161ddde6b049370866a00d75b6a4df5d374629a5a619cabbb8f8e1e8b511182
@@ -47,10 +47,19 @@ module CodeOwnership
47
47
  override.params(cache: GlobsToOwningTeamMap, files: T::Array[String]).returns(GlobsToOwningTeamMap)
48
48
  end
49
49
  def update_cache(cache, files)
50
- cache.merge!(globs_to_owner(files))
50
+ # We map files to nil owners so that files whose annotation have been removed will be properly
51
+ # overwritten (i.e. removed) from the cache.
52
+ updated_cache_for_files = globs_to_owner(files)
53
+ cache.merge!(updated_cache_for_files)
54
+
51
55
  invalid_files = cache.keys.select do |file|
52
- !Private.file_tracked?(file)
56
+ # If a file is not tracked, it should be removed from the cache
57
+ !Private.file_tracked?(file) ||
58
+ # If a file no longer has a file annotation (i.e. `globs_to_owner` doesn't map it)
59
+ # it should be removed from the cache
60
+ !updated_cache_for_files.key?(file)
53
61
  end
62
+
54
63
  invalid_files.each do |invalid_file|
55
64
  cache.delete(invalid_file)
56
65
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: code_ownership
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.32.15
4
+ version: 1.32.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gusto Engineers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-17 00:00:00.000000000 Z
11
+ date: 2023-04-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: code_teams