Module: CodeOwnership
- Extended by:
- T::Sig
- Defined in:
- lib/code_ownership/version.rb,
lib/code_ownership.rb,
lib/code_ownership/cli.rb,
lib/code_ownership/private/team_finder.rb,
lib/code_ownership/private/file_path_finder.rb,
lib/code_ownership/private/file_path_team_cache.rb,
lib/code_ownership/private/for_file_output_builder.rb,
lib/code_ownership/private/permit_pack_owner_top_level_key.rb
Overview
Defined Under Namespace
Modules: Private
Classes: Cli
Constant Summary
collapse
- GlobsToOwningTeamMap =
T.type_alias { T::Hash[String, CodeTeams::Team] }
- VERSION =
'2.1.1'
Class Method Summary
collapse
Class Method Details
.first_owned_file_for_backtrace(backtrace, excluded_teams: []) ⇒ Object
.for_backtrace(backtrace, excluded_teams: []) ⇒ Object
290
291
292
|
# File 'lib/code_ownership.rb', line 290
def self.for_backtrace(backtrace, excluded_teams: [])
Private::TeamFinder.for_backtrace(backtrace, excluded_teams: excluded_teams)
end
|
.for_class(klass) ⇒ Object
.for_file(file, from_codeowners: true, allow_raise: false) ⇒ Object
63
64
65
66
67
68
69
|
# File 'lib/code_ownership.rb', line 63
def self.for_file(file, from_codeowners: true, allow_raise: false)
if from_codeowners
teams_for_files_from_codeowners([file], allow_raise: allow_raise).values.first
else
Private::TeamFinder.for_file(file, allow_raise: allow_raise)
end
end
|
.for_file_verbose(file) ⇒ Object
158
159
160
|
# File 'lib/code_ownership.rb', line 158
def self.for_file_verbose(file)
::RustCodeOwners.for_file(file)
end
|
.for_package(package) ⇒ Object
.for_team(team) ⇒ Object
163
164
165
166
|
# File 'lib/code_ownership.rb', line 163
def self.for_team(team)
team = T.must(CodeTeams.find(team)) if team.is_a?(String)
::RustCodeOwners.for_team(team.name)
end
|
.remove_file_annotation!(filename) ⇒ Object
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
|
# File 'lib/code_ownership.rb', line 267
def self.remove_file_annotation!(filename)
filepath = Pathname.new(filename)
begin
content = filepath.read
rescue Errno::EISDIR, Errno::ENOENT
return
end
team_pattern = %r{\A(?:#|//|-#) @team .*\n+}
new_content = content.sub(team_pattern, '')
filepath.write(new_content) if new_content != content
rescue ArgumentError => e
raise unless e.message.include?('invalid byte sequence')
end
|
.teams_for_files_from_codeowners(files, allow_raise: false) ⇒ Object
114
115
116
|
# File 'lib/code_ownership.rb', line 114
def self.teams_for_files_from_codeowners(files, allow_raise: false)
Private::TeamFinder.teams_for_files(files, allow_raise: allow_raise)
end
|
.validate!(autocorrect: true, stage_changes: true, files: nil) ⇒ Object
224
225
226
227
228
229
230
231
232
233
234
|
# File 'lib/code_ownership.rb', line 224
def self.validate!(
autocorrect: true,
stage_changes: true,
files: nil
)
if autocorrect
::RustCodeOwners.generate_and_validate(files, !stage_changes)
else
::RustCodeOwners.validate(files)
end
end
|
.version ⇒ Object
33
34
35
36
|
# File 'lib/code_ownership.rb', line 33
def self.version
["code_ownership version: #{VERSION}",
"codeowners-rs version: #{::RustCodeOwners.version}"]
end
|