code_ownership 1.32.1 → 1.32.2

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: ebb581f1f5784bcac8ce0772d2350227c522f1d5096f2b9546a514b1d79fba1d
4
- data.tar.gz: 4f2d525089ce8a67f1c0248bfa2bdb06db432dac677ae995e125c5997cdd97f1
3
+ metadata.gz: 32fde48e3bfda45fef25ea894835a45548aac619699a8c56549000ca373916b5
4
+ data.tar.gz: e9155c7e859a17a8d31bc0f092822bd161f65a965b356060295be61ee695858b
5
5
  SHA512:
6
- metadata.gz: 2ccb639acea58cf8a882a06a1075146991781a8ee213251ec0dd8a5fdde19583df739a439246bd00548bf4b540e2904bd7c679f57ca470a3aecacfe1ee022e26
7
- data.tar.gz: af0f3b0ee49dbdd0ce6f5a8b98aa6cf15cf290620d080ae1d791b273377b723ae5a31a4d48a667ece4072a24748dff2672d15cb38752ad8574b0e6bdd65fffd4
6
+ metadata.gz: d407ad1c1437c75b7ee9b5df5e22bfe74d90b5e353f62546879fdaf09b7be6d9bbb4c67f70fe0721d55729215377f407f03a83bb094f0fd8d24ad209cbd65957
7
+ data.tar.gz: dcef3ed24a4af4825a3f8320bcd704885dee0f4f65d7db08515844a67a094dca32f06024275a4d4361908f85f5cbbbdffb27e53c79efab1c384cd1348bb642db
@@ -58,10 +58,10 @@ module CodeOwnership
58
58
 
59
59
  # Returns a string version of the relative path to a Rails constant,
60
60
  # or nil if it can't find something
61
- sig { params(klass: T.nilable(T.any(Class, Module))).returns(T.nilable(String)) }
62
- def self.path_from_klass(klass)
63
- if klass
64
- path = Object.const_source_location(klass.to_s)&.first
61
+ sig { params(klass_string: T.nilable(String)).returns(T.nilable(String)) }
62
+ def self.path_from_klass_string(klass_string)
63
+ if klass_string
64
+ path = Object.const_source_location(klass_string)&.first
65
65
  (path && Pathname.new(path).relative_path_from(Pathname.pwd).to_s) || nil
66
66
  else
67
67
  nil
@@ -149,20 +149,23 @@ module CodeOwnership
149
149
  end
150
150
  private_class_method(:backtrace_with_ownership)
151
151
 
152
- sig { params(klass: T.nilable(T.any(Class, Module))).returns(T.nilable(::CodeTeams::Team)) }
152
+ sig { params(klass: T.nilable(T.any(Class, Module, String))).returns(T.nilable(::CodeTeams::Team)) }
153
153
  def for_class(klass)
154
154
  @memoized_values ||= T.let(@memoized_values, T.nilable(T::Hash[String, T.nilable(::CodeTeams::Team)]))
155
155
  @memoized_values ||= {}
156
+
157
+ klass_string = klass.to_s
158
+
156
159
  # We use key because the memoized value could be `nil`
157
- if !@memoized_values.key?(klass.to_s)
158
- path = Private.path_from_klass(klass)
160
+ if !@memoized_values.key?(klass_string)
161
+ path = Private.path_from_klass_string(klass_string)
159
162
  return nil if path.nil?
160
163
 
161
164
  value_to_memoize = for_file(path)
162
- @memoized_values[klass.to_s] = value_to_memoize
165
+ @memoized_values[klass_string] = value_to_memoize
163
166
  value_to_memoize
164
167
  else
165
- @memoized_values[klass.to_s]
168
+ @memoized_values[klass_string]
166
169
  end
167
170
  end
168
171
 
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.1
4
+ version: 1.32.2
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-03-09 00:00:00.000000000 Z
11
+ date: 2023-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: code_teams