Skip to content

Commit aa4e4ee

Browse files
authored
Pass files in the diff to codeowners-rs for faster processing (#135)
* pass the diff to codeowners-rs v0.3.0 * prerelease version 2.0.0-5
1 parent 0fda010 commit aa4e4ee

File tree

7 files changed

+18
-16
lines changed

7 files changed

+18
-16
lines changed

ext/code_ownership/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ rb-sys = { version = "0.9.111", features = [
1717
magnus = { version = "0.7.1" }
1818
serde = { version = "1.0.219", features = ["derive"] }
1919
serde_magnus = "0.9.0"
20-
codeowners = { git = "https://github.com/rubyatscale/codeowners-rs.git", tag = "v0.2.17" }
20+
codeowners = { git = "https://github.com/rubyatscale/codeowners-rs.git", tag = "v0.3.0" }
2121

2222
[dev-dependencies]
2323
rb-sys = { version = "0.9.117", features = [

ext/code_ownership/src/lib.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,15 +74,17 @@ fn version() -> String {
7474
runner::version()
7575
}
7676

77-
fn validate() -> Result<Value, Error> {
77+
fn validate(files: Option<Vec<String>>) -> Result<Value, Error> {
7878
let run_config = build_run_config();
79-
let run_result = runner::validate(&run_config, vec![]);
79+
let files_vec = files.unwrap_or_default();
80+
let run_result = runner::validate(&run_config, files_vec);
8081
validate_result(&run_result)
8182
}
8283

83-
fn generate_and_validate(skip_stage: bool) -> Result<Value, Error> {
84+
fn generate_and_validate(files: Option<Vec<String>>, skip_stage: bool) -> Result<Value, Error> {
8485
let run_config = build_run_config();
85-
let run_result = runner::generate_and_validate(&run_config, vec![], skip_stage);
86+
let files_vec = files.unwrap_or_default();
87+
let run_result = runner::generate_and_validate(&run_config, files_vec, skip_stage);
8688
validate_result(&run_result)
8789
}
8890

@@ -122,12 +124,11 @@ fn build_run_config() -> RunConfig {
122124
fn init(ruby: &Ruby) -> Result<(), Error> {
123125
let module = ruby.define_module("RustCodeOwners")?;
124126
module.define_singleton_method("for_file", function!(for_file, 1))?;
125-
module.define_singleton_method("generate_and_validate", function!(generate_and_validate, 1))?;
126-
module.define_singleton_method("validate", function!(validate, 0))?;
127+
module.define_singleton_method("generate_and_validate", function!(generate_and_validate, 2))?;
128+
module.define_singleton_method("validate", function!(validate, 1))?;
127129
module.define_singleton_method("for_team", function!(for_team, 1))?;
128130
module.define_singleton_method("version", function!(version, 0))?;
129131
module.define_singleton_method("teams_for_files", function!(teams_for_files, 1))?;
130132

131133
Ok(())
132134
}
133-

lib/code_ownership.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,9 +233,9 @@ def validate!(
233233
files: nil
234234
)
235235
if autocorrect
236-
::RustCodeOwners.generate_and_validate(!stage_changes)
236+
::RustCodeOwners.generate_and_validate(files, !stage_changes)
237237
else
238-
::RustCodeOwners.validate
238+
::RustCodeOwners.validate(files)
239239
end
240240
end
241241

-7.28 MB
Binary file not shown.

lib/code_ownership/version.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1+
# typed: false
12
# frozen_string_literal: true
23

34
module CodeOwnership
4-
VERSION = '2.0.0-4'
5+
VERSION = '2.0.0-5'
56
end

sorbet/rbi/manual.rbi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ module RustCodeOwners
77
def for_file(file)
88
end
99

10-
def generate_and_validate(skip_stage)
10+
def generate_and_validate(files, skip_stage)
1111
end
1212

13-
def validate
13+
def validate(files)
1414
end
1515

1616
def for_team(team)

spec/lib/code_ownership_spec.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
before do
2121
create_non_empty_application
2222
# codeowners-rs is matching files against the codeowners file
23-
RustCodeOwners.generate_and_validate(false)
23+
RustCodeOwners.generate_and_validate(nil, false)
2424
end
2525

2626
context 'when no ownership is found' do
@@ -92,7 +92,7 @@
9292
before do
9393
create_non_empty_application
9494
# codeowners-rs is matching files against the codeowners file
95-
RustCodeOwners.generate_and_validate(false)
95+
RustCodeOwners.generate_and_validate(nil, false)
9696
end
9797

9898
context 'when no ownership is found' do
@@ -162,7 +162,7 @@
162162
before do
163163
create_non_empty_application
164164
# codeowners-rs is matching files against the codeowners file for default path
165-
RustCodeOwners.generate_and_validate(false)
165+
RustCodeOwners.generate_and_validate(nil, false)
166166
end
167167

168168
context 'when no ownership is found' do

0 commit comments

Comments
 (0)