code_ownership 2.1.0 → 2.1.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 +4 -4
- data/.cargo/config +2 -2
- data/Cargo.lock +10 -16
- data/README.md +8 -8
- data/ext/cargo-vendor/codeowners-0.3.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/codeowners-0.3.2/.github/CODEOWNERS +1 -0
- data/ext/cargo-vendor/codeowners-0.3.2/AGENTS.md +38 -0
- data/ext/cargo-vendor/codeowners-0.3.2/CLAUDE.md +1 -0
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/Cargo.lock +1 -1
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/Cargo.toml +17 -1
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/README.md +11 -1
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/cli.rs +9 -5
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/config.rs +81 -1
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/crosscheck.rs +5 -8
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/codeowners_file_parser.rs +3 -3
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/file_owner_resolver.rs +3 -1
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/package_mapper.rs +2 -2
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper.rs +2 -2
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/validator.rs +15 -10
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership.rs +1 -0
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/project.rs +3 -0
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/project_builder.rs +111 -44
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/runner/api.rs +7 -6
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/runner/types.rs +2 -1
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/runner.rs +67 -16
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/tracked_files.rs +29 -1
- data/ext/cargo-vendor/codeowners-0.3.2/tests/codeowners_path_test.rs +92 -0
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/common/mod.rs +2 -1
- data/ext/cargo-vendor/codeowners-0.3.2/tests/executable_name_config_test.rs +67 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/config/code_ownership.yml +11 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/config/teams/test_team.yml +6 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/docs/CODEOWNERS +14 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/expected/CODEOWNERS +14 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/ruby/app/models/test.rb +3 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/.github/CODEOWNERS +10 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/app/foo.rb +3 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/config/code_ownership.yml +4 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/config/teams/foo.yml +5 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/config/teams/payments.yml +6 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/ruby/app/payments/foo.rb +4 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/default_executable_name/.github/CODEOWNERS +11 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/default_executable_name/app/bar.rb +3 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/default_executable_name/config/code_ownership.yml +5 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/default_executable_name/config/teams/bar.yml +5 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/missing_github_team/.github/CODEOWNERS +10 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/missing_github_team/config/code_ownership.yml +10 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/missing_github_team/config/teams/bad_team.yml +1 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/missing_github_team/config/teams/good.yml +3 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/valid_project/gems/pets/dog.rb +5 -0
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/git_stage_test.rs +4 -1
- data/ext/cargo-vendor/codeowners-0.3.2/tests/missing_github_team_test.rs +23 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/run_config_executable_override_test.rs +98 -0
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/runner_api.rs +8 -4
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/valid_project_test.rs +3 -3
- data/ext/cargo-vendor/codeowners-0.3.2/tests/validate_files_test.rs +378 -0
- data/ext/cargo-vendor/magnus-0.8.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/magnus-0.8.2/.cargo_vcs_info.json +6 -0
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/CHANGELOG.md +66 -1
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/Cargo.lock +243 -9
- data/ext/cargo-vendor/magnus-0.8.2/Cargo.toml +277 -0
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/Cargo.toml.orig +11 -6
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/README.md +75 -23
- data/ext/cargo-vendor/magnus-0.8.2/build.rs +15 -0
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/complete_object/test/temperature_test.rb +4 -4
- data/ext/cargo-vendor/magnus-0.8.2/examples/inheritance.rs +66 -0
- data/ext/cargo-vendor/magnus-0.8.2/examples/mut_point.rs +116 -0
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/api.rs +4 -3
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/class.rs +9 -7
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/encoding.rs +5 -5
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/error.rs +12 -3
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/fiber.rs +5 -5
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/gc.rs +3 -3
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/integer.rs +134 -0
- data/ext/cargo-vendor/magnus-0.8.2/src/io.rs +230 -0
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/lib.rs +53 -54
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/macros.rs +2 -2
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/method.rs +14 -100
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/module.rs +1 -1
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/mutex.rs +1 -1
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_array.rs +2 -2
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_bignum.rs +100 -3
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_hash.rs +63 -1
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_string.rs +31 -231
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_typed_data.rs +6 -9
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/rb_sys.rs +4 -4
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/scan_args.rs +3 -3
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/thread.rs +16 -10
- data/ext/cargo-vendor/magnus-0.8.2/src/time.rs +462 -0
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/try_convert.rs +64 -2
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/typed_data.rs +113 -11
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/value/flonum.rs +1 -1
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/value.rs +83 -6
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/test +1 -1
- data/ext/cargo-vendor/magnus-0.8.2/tests/hash.rs +44 -0
- data/ext/cargo-vendor/magnus-0.8.2/tests/io.rs +62 -0
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/return_iter.rs +1 -1
- data/ext/cargo-vendor/magnus-0.8.2/tests/string.rs +23 -0
- data/ext/cargo-vendor/magnus-0.8.2/tests/time.rs +71 -0
- data/ext/cargo-vendor/magnus-macros-0.8.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/magnus-macros-0.8.0/.cargo_vcs_info.json +6 -0
- data/ext/cargo-vendor/magnus-macros-0.8.0/Cargo.lock +47 -0
- data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/Cargo.toml +10 -1
- data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/Cargo.toml.orig +1 -1
- data/ext/cargo-vendor/magnus-macros-0.8.0/src/lib.rs +545 -0
- data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/src/typed_data.rs +3 -3
- data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/src/util.rs +1 -1
- data/ext/cargo-vendor/serde_magnus-0.10.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/serde_magnus-0.10.0/.cargo_vcs_info.json +6 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/Cargo.lock +77 -75
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/Cargo.toml +3 -3
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/Cargo.toml.orig +7 -4
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/README.md +8 -5
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/array_deserializer.rs +12 -8
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/array_enumerator.rs +12 -7
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/deserializer.rs +21 -18
- data/ext/cargo-vendor/serde_magnus-0.10.0/src/de/enum_deserializer.rs +35 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/hash_deserializer.rs +18 -11
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/mod.rs +76 -76
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/variant_deserializer.rs +10 -9
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/error.rs +10 -4
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/lib.rs +6 -5
- data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/enums.rs +11 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/map_serializer.rs +11 -12
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/mod.rs +53 -50
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/seq_serializer.rs +11 -10
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/serializer.rs +50 -34
- data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/struct_serializer.rs +40 -0
- data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/struct_variant_serializer.rs +45 -0
- data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/tuple_variant_serializer.rs +38 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_arrays.rs +3 -3
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_booleans.rs +15 -0
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_enums.rs +39 -0
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_floats.rs +12 -0
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_integers.rs +18 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_maps.rs +3 -2
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_options.rs +15 -0
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_results.rs +17 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_strings.rs +7 -7
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_structs.rs +9 -9
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_tuples.rs +27 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_vecs.rs +3 -3
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_arrays.rs +3 -3
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/serializing_booleans.rs +15 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_enums.rs +9 -7
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_floats.rs +2 -2
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_integers.rs +4 -4
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_maps.rs +3 -2
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_options.rs +3 -3
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_results.rs +5 -4
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/serializing_strings.rs +30 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_structs.rs +15 -7
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/serializing_tuples.rs +35 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_vecs.rs +3 -3
- data/ext/cargo-vendor/unicode-ident-1.0.19/.cargo-checksum.json +1 -1
- data/ext/code_ownership/Cargo.toml +3 -3
- data/ext/code_ownership/extconf.rb +2 -1
- data/ext/code_ownership/src/lib.rs +18 -18
- data/lib/code_ownership/cli.rb +1 -0
- data/lib/code_ownership/private/file_path_finder.rb +22 -10
- data/lib/code_ownership/private/file_path_team_cache.rb +5 -9
- data/lib/code_ownership/private/for_file_output_builder.rb +0 -1
- data/lib/code_ownership/private/team_finder.rb +9 -16
- data/lib/code_ownership/version.rb +2 -2
- data/lib/code_ownership.rb +14 -17
- metadata +359 -337
- data/ext/cargo-vendor/codeowners-0.3.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/codeowners-0.3.0/tests/validate_files_test.rs +0 -144
- data/ext/cargo-vendor/magnus-0.7.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/magnus-0.7.1/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/magnus-0.7.1/Cargo.toml +0 -95
- data/ext/cargo-vendor/magnus-0.7.1/build.rs +0 -5
- data/ext/cargo-vendor/magnus-0.7.1/examples/mut_point.rs +0 -60
- data/ext/cargo-vendor/magnus-0.7.1/src/time.rs +0 -190
- data/ext/cargo-vendor/magnus-0.7.1/tests/hash.rs +0 -25
- data/ext/cargo-vendor/magnus-0.7.1/tests/string.rs +0 -13
- data/ext/cargo-vendor/magnus-macros-0.6.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/magnus-macros-0.6.0/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/magnus-macros-0.6.0/src/lib.rs +0 -401
- data/ext/cargo-vendor/rb-sys-env-0.1.2/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/rb-sys-env-0.1.2/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/rb-sys-env-0.1.2/Cargo.toml +0 -25
- data/ext/cargo-vendor/rb-sys-env-0.1.2/Cargo.toml.orig +0 -14
- data/ext/cargo-vendor/rb-sys-env-0.1.2/LICENSE-APACHE +0 -190
- data/ext/cargo-vendor/rb-sys-env-0.1.2/LICENSE-MIT +0 -21
- data/ext/cargo-vendor/rb-sys-env-0.1.2/readme.md +0 -119
- data/ext/cargo-vendor/rb-sys-env-0.1.2/src/defines.rs +0 -37
- data/ext/cargo-vendor/rb-sys-env-0.1.2/src/lib.rs +0 -180
- data/ext/cargo-vendor/rb-sys-env-0.1.2/src/rb_env.rs +0 -110
- data/ext/cargo-vendor/rb-sys-env-0.1.2/src/ruby_version.rs +0 -163
- data/ext/cargo-vendor/rb-sys-env-0.1.2/src/utils.rs +0 -6
- data/ext/cargo-vendor/serde_magnus-0.9.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/serde_magnus-0.9.0/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/serde_magnus-0.9.0/src/de/enum_deserializer.rs +0 -30
- data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/enums.rs +0 -11
- data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/struct_serializer.rs +0 -36
- data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/struct_variant_serializer.rs +0 -37
- data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/tuple_variant_serializer.rs +0 -33
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_booleans.rs +0 -18
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_enums.rs +0 -39
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_floats.rs +0 -12
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_integers.rs +0 -18
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_options.rs +0 -15
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_results.rs +0 -17
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_tuples.rs +0 -31
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/serializing_booleans.rs +0 -15
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/serializing_strings.rs +0 -30
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/serializing_tuples.rs +0 -27
- data/ext/cargo-vendor/unicode-ident-1.0.19/tests/fst/.gitignore +0 -1
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.github/workflows/audit.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.github/workflows/ci.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.github/workflows/dotslash-config.json +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.rustfmt.toml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.rusty-hook.toml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/dev/run_benchmarks_for_file.sh +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/dev/run_benchmarks_for_gv.sh +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/rust-toolchain.toml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/cache/file.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/cache/mod.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/cache/noop.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/common_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/main.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/codeowners_query.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/file_generator.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/file_owner_finder.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/annotated_file_mapper.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/directory_mapper.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/escaper.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/team_gem_mapper.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/team_glob_mapper.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/team_yml_mapper.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/path_utils.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/project_file_builder.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/cache_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/crosscheck_owners_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/.github/CODEOWNERS +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/config/code_ownership.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/config/teams/payments.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/config/teams/payroll.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/gems/payroll_calculator/calculator.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/models/bank_account.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/models/blockchain.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/models/payroll.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/payments/nacha.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/services/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/services/multi_owned.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/unowned.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/packages/payroll_flow/package.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/.github/CODEOWNERS +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/.keep +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/config/code_ownership.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/config/teams/design.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/config/teams/frontend.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/frontend/apps/public/index.tsx +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/frontend/packages/dashboard/package.json +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/frontend/packages/dashboard/src/index.tsx +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/frontend/packages/ui-kit/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/frontend/packages/ui-kit/src/button.tsx +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0/tests/fixtures/valid_project → codeowners-0.3.2/tests/fixtures/missing_github_team}/gems/pets/dog.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/.github/CODEOWNERS +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/consumers/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/consumers/deep/nesting/nestdir/deep_file.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/consumers/one_owner.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/services/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/services/exciting/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/services/exciting/some_other_file.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/config/code_ownership.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/config/teams/bar.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/config/teams/foo.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/.github/CODEOWNERS +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/.ignore +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/config/code_ownership.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/config/teams/payments.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/config/teams/payroll.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/config/teams/ux.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/gems/payroll_calculator/calculator.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/index.tsx +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/package.json +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/items/(special)/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/items/(special)/pay.ts +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/items/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/items/item.ts +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/list/page-admin.tsx +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/models/bank_account.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/models/payroll.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/payments/foo/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/payments/foo/ownedby_payroll.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/payments/nacha.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/payroll/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/payroll/payroll.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/views/foos/edit.erb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/views/foos/index.html.erb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/views/foos/new.html.erb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/ignored_files/git_ignored.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/packages/payroll_flow/package.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/should_be_ignored/an_ignored_file.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/.github/CODEOWNERS +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/code_ownership.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/teams/brewers.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/teams/cubs.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/teams/giants.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/teams/rockies.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/datepicker/package.json +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/datepicker/src/picks/dp.tsx +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/list/package.json +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/list/src/item.tsx +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/package.json +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/src/field.tsx +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/src/fields/small.tsx +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/gems/apollo/lib/apollo.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/gems/ivy/lib/ivy.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/gems/lager/lib/lager.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/gems/summit/lib/summit.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/packs/games/app/services/stats.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/packs/games/package.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/packs/locations/app/services/capacity.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/packs/locations/package.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/packs/schedule/app/services/date.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/packs/schedule/package.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/brewers/lib/util.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/brewers/services/play.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/db/price.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/entertainment.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/play.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/giants/services/play.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/rockies/services/play.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/invalid_project_structure_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/invalid_project_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/multiple_directory_owners_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/untracked_files_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/valid_project_with_overrides_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tmp/.gitkeep +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/.cargo/config.toml +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/Gemfile +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/complete_object/Rakefile +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/complete_object/lib/temperature.rb +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/Rakefile +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/lib/ahriman/error.rb +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/lib/ahriman.rb +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/test/error_test.rb +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_rust/Rakefile +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_rust/lib/ahriman.rb +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_rust/test/error_test.rb +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/fibonacci.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/hello_world.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/point.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/Rakefile +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/lib/rust_blank.rb +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/test/bench.rb +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/test/blank_test.rb +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/block.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/embed.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/enumerator.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/exception.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/float.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/into_value.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/numeric.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/object.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/process.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_complex.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_file.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_float.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_match.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_object.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_rational.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_regexp.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_struct.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/range.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/symbol.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/allocate_before_init.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/array_slice.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/block_call.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/bytes.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/call_proc.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/classname.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/clone.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/codepoints.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/debug_exception.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/encoding_capable.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/enumerator.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/enumeratorize.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/float_convert_from_value.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/float_convert_to_value.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/fmt.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/freeze.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/integer_convert_to_value.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/integer_traits.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/ivar.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/lazy_id.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/make_proc.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/proc_new.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/range.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/return_custom_error.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/scan_args.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/str.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/struct.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/symbol.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/try_convert_array.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/tuple_to_array.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data_obj.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data_subclass.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data_subclass_from_ruby.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/yield.rs +0 -0
- /data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/src/init.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/LICENSE +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"files":{".cargo_vcs_info.json":"5416fcff6fa0c6611cec99144bd5690f506c7875b8263ddeae6f123e22c3b50c",".github/FUNDING.yml":"b017158736b3c9751a2d21edfce7fe61c8954e2fced8da8dd3013c2f3e295bd9",".github/workflows/ci.yml":"3f09084970623b248ee41aaa7928e8e1e4298a712a6621334580951a3227495b","Cargo.lock":"2b727ff15f388012e929c089fdb62ead00fdb88a720a34c0e5c88b98748dc186","Cargo.toml":"92d59ecf8e5c840a4cad498e6fa36ccb34ae1aa3c2ceec2abd258b129fae67d1","Cargo.toml.orig":"afbf880657a9fd530a2c7e47f3e91e388a5a4b313580e82ad0618a3f0d043823","LICENSE-APACHE":"62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","LICENSE-UNICODE":"f7db81051789b729fea528a63ec4c938fdcb93d9d61d97dc8cc2e9df6d47f2a1","README.md":"14a5b144df5ffd729c605286a8b2abe4733f147197b5142e60d6bc77ea44854c","benches/xid.rs":"7eb058c1140a253f7177af8868a95aabb1b92c52dc7eee5abbfeadb507d7845d","src/lib.rs":"9fdfc52c5695b4bdf6a777afe6705f18f50a9d05939f17fbede0e84aeef11c64","src/tables.rs":"9afe268f3a6087a96d4217aaf2fe9ebd5418f133bd733193009df7dccebf154b","tests/compare.rs":"f2311271aa1db7380e5bf153ef83ee99777e14579e4f28c2b1a3e21877ffe715","tests/fst
|
|
1
|
+
{"files":{".cargo_vcs_info.json":"5416fcff6fa0c6611cec99144bd5690f506c7875b8263ddeae6f123e22c3b50c",".github/FUNDING.yml":"b017158736b3c9751a2d21edfce7fe61c8954e2fced8da8dd3013c2f3e295bd9",".github/workflows/ci.yml":"3f09084970623b248ee41aaa7928e8e1e4298a712a6621334580951a3227495b","Cargo.lock":"2b727ff15f388012e929c089fdb62ead00fdb88a720a34c0e5c88b98748dc186","Cargo.toml":"92d59ecf8e5c840a4cad498e6fa36ccb34ae1aa3c2ceec2abd258b129fae67d1","Cargo.toml.orig":"afbf880657a9fd530a2c7e47f3e91e388a5a4b313580e82ad0618a3f0d043823","LICENSE-APACHE":"62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","LICENSE-UNICODE":"f7db81051789b729fea528a63ec4c938fdcb93d9d61d97dc8cc2e9df6d47f2a1","README.md":"14a5b144df5ffd729c605286a8b2abe4733f147197b5142e60d6bc77ea44854c","benches/xid.rs":"7eb058c1140a253f7177af8868a95aabb1b92c52dc7eee5abbfeadb507d7845d","src/lib.rs":"9fdfc52c5695b4bdf6a777afe6705f18f50a9d05939f17fbede0e84aeef11c64","src/tables.rs":"9afe268f3a6087a96d4217aaf2fe9ebd5418f133bd733193009df7dccebf154b","tests/compare.rs":"f2311271aa1db7380e5bf153ef83ee99777e14579e4f28c2b1a3e21877ffe715","tests/fst/mod.rs":"69a3aaf59acd8bca962ecc6234be56be8c0934ab79b253162f10eb881523901f","tests/fst/xid_continue.fst":"b58be4f0c498253e7a5ac664046096f15f249da66131347d4b822097623549a2","tests/fst/xid_start.fst":"aec7eecdacfce308d2e6210f47d28ed3aad5c8b048efbfbc11fc22e60fbf435b","tests/roaring/mod.rs":"f5c6d55463a7f53e92a493cf046d717149250fbafc0e0fe94bdb531377bf8b11","tests/static_size.rs":"3a3467bad2bbb0cef8f0fe953967e16bc0b0a865ec52fd7eb34d620e9b3a11d4","tests/tables/mod.rs":"e6949172d10fc4b2431ce7546269bfd4f9146454c8c3e31faf5e5d80c16a8ab6","tests/tables/tables.rs":"302d87306100b6280f8db93e167dc70c47f724045cf1312b7354683656c3f36b","tests/trie/mod.rs":"d4acbb716bcbaf80660039797f45e138ed8bbd66749fa3b19b1a971574679cc9","tests/trie/trie.rs":"f7b9edc1e8a98e3be42b653bba27bb4eb5fc48a559d6d8d1c6a4db4b5425b0d5"},"package":"f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d"}
|
|
@@ -14,10 +14,10 @@ rb-sys = { version = "0.9.111", features = [
|
|
|
14
14
|
"bindgen-deprecated-types",
|
|
15
15
|
"stable-api-compiled-fallback",
|
|
16
16
|
] }
|
|
17
|
-
magnus = { version = "0.
|
|
17
|
+
magnus = { version = "0.8" }
|
|
18
18
|
serde = { version = "1.0.219", features = ["derive"] }
|
|
19
|
-
serde_magnus = "0.
|
|
20
|
-
codeowners = { git = "https://github.com/rubyatscale/codeowners-rs.git", tag = "v0.3.
|
|
19
|
+
serde_magnus = "0.10"
|
|
20
|
+
codeowners = { git = "https://github.com/rubyatscale/codeowners-rs.git", tag = "v0.3.2" }
|
|
21
21
|
|
|
22
22
|
[dev-dependencies]
|
|
23
23
|
rb-sys = { version = "0.9.117", features = [
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
require 'mkmf'
|
|
4
4
|
require 'rb_sys/mkmf'
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
ruby_minor = RUBY_VERSION[/\d+\.\d+/]
|
|
7
|
+
create_rust_makefile("code_ownership/#{ruby_minor}/code_ownership") do |ext|
|
|
7
8
|
ext.extra_cargo_args += ['--crate-type', 'cdylib']
|
|
8
9
|
ext.extra_cargo_args += ['--package', 'code_ownership']
|
|
9
10
|
end
|
|
@@ -12,13 +12,13 @@ pub struct Team {
|
|
|
12
12
|
pub reasons: Vec<String>,
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
fn for_team(team_name: String) -> Result<Value, Error> {
|
|
15
|
+
fn for_team(ruby: &Ruby, team_name: String) -> Result<Value, Error> {
|
|
16
16
|
let run_config = build_run_config();
|
|
17
17
|
let team = runner::for_team(&run_config, &team_name);
|
|
18
|
-
validate_result(&team)
|
|
18
|
+
validate_result(ruby, &team)
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
fn teams_for_files(file_paths: Vec<String>) -> Result<Value, Error> {
|
|
21
|
+
fn teams_for_files(ruby: &Ruby, file_paths: Vec<String>) -> Result<Value, Error> {
|
|
22
22
|
let run_config = build_run_config();
|
|
23
23
|
let path_teams = runner::teams_for_files_from_codeowners(&run_config, &file_paths);
|
|
24
24
|
match path_teams {
|
|
@@ -35,14 +35,14 @@ fn teams_for_files(file_paths: Vec<String>) -> Result<Value, Error> {
|
|
|
35
35
|
teams_map.insert(path, None);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
let serialized: Value = serialize(&teams_map)?;
|
|
38
|
+
let serialized: Value = serialize(ruby, &teams_map)?;
|
|
39
39
|
Ok(serialized)
|
|
40
40
|
}
|
|
41
|
-
Err(e) => Err(Error::new(
|
|
41
|
+
Err(e) => Err(Error::new(ruby.exception_runtime_error(), e.to_string())),
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
fn for_file(file_path: String) -> Result<Option<Value>, Error> {
|
|
45
|
+
fn for_file(ruby: &Ruby, file_path: String) -> Result<Option<Value>, Error> {
|
|
46
46
|
let run_config = build_run_config();
|
|
47
47
|
|
|
48
48
|
match runner::file_owner_for_file(&run_config, &file_path) {
|
|
@@ -57,14 +57,14 @@ fn for_file(file_path: String) -> Result<Option<Value>, Error> {
|
|
|
57
57
|
.map(|source| source.to_string())
|
|
58
58
|
.collect(),
|
|
59
59
|
};
|
|
60
|
-
let serialized: Value = serialize(&team)?;
|
|
60
|
+
let serialized: Value = serialize(ruby, &team)?;
|
|
61
61
|
Ok(Some(serialized))
|
|
62
62
|
} else {
|
|
63
63
|
Ok(None)
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
Err(e) => Err(Error::new(
|
|
67
|
-
|
|
67
|
+
ruby.exception_runtime_error(),
|
|
68
68
|
e.to_string(),
|
|
69
69
|
)),
|
|
70
70
|
}
|
|
@@ -74,33 +74,33 @@ fn version() -> String {
|
|
|
74
74
|
runner::version()
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
fn validate(files: Option<Vec<String>>) -> Result<Value, Error> {
|
|
77
|
+
fn validate(ruby: &Ruby, files: Option<Vec<String>>) -> Result<Value, Error> {
|
|
78
78
|
let run_config = build_run_config();
|
|
79
79
|
let files_vec = files.unwrap_or_default();
|
|
80
80
|
let run_result = runner::validate(&run_config, files_vec);
|
|
81
|
-
validate_result(&run_result)
|
|
81
|
+
validate_result(ruby, &run_result)
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
fn generate_and_validate(files: Option<Vec<String>>, skip_stage: bool) -> Result<Value, Error> {
|
|
84
|
+
fn generate_and_validate(ruby: &Ruby, files: Option<Vec<String>>, skip_stage: bool) -> Result<Value, Error> {
|
|
85
85
|
let run_config = build_run_config();
|
|
86
86
|
let files_vec = files.unwrap_or_default();
|
|
87
87
|
let run_result = runner::generate_and_validate(&run_config, files_vec, skip_stage);
|
|
88
|
-
validate_result(&run_result)
|
|
88
|
+
validate_result(ruby, &run_result)
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
fn validate_result(run_result: &runner::RunResult) -> Result<Value, Error> {
|
|
91
|
+
fn validate_result(ruby: &Ruby, run_result: &runner::RunResult) -> Result<Value, Error> {
|
|
92
92
|
if !run_result.validation_errors.is_empty() {
|
|
93
93
|
Err(Error::new(
|
|
94
|
-
|
|
94
|
+
ruby.exception_runtime_error(),
|
|
95
95
|
run_result.validation_errors.join("\n"),
|
|
96
96
|
))
|
|
97
97
|
} else if !run_result.io_errors.is_empty() {
|
|
98
98
|
Err(Error::new(
|
|
99
|
-
|
|
99
|
+
ruby.exception_runtime_error(),
|
|
100
100
|
run_result.io_errors.join("\n"),
|
|
101
101
|
))
|
|
102
102
|
} else {
|
|
103
|
-
let serialized: Value = serialize(&run_result.info_messages)?;
|
|
103
|
+
let serialized: Value = serialize(ruby, &run_result.info_messages)?;
|
|
104
104
|
Ok(serialized)
|
|
105
105
|
}
|
|
106
106
|
}
|
|
@@ -109,14 +109,14 @@ fn build_run_config() -> RunConfig {
|
|
|
109
109
|
Ok(path) => path,
|
|
110
110
|
_ => PathBuf::from("."),
|
|
111
111
|
};
|
|
112
|
-
let codeowners_file_path = project_root.join(".github/CODEOWNERS");
|
|
113
112
|
let config_path = project_root.join("config/code_ownership.yml");
|
|
114
113
|
|
|
115
114
|
RunConfig {
|
|
116
115
|
project_root,
|
|
117
|
-
codeowners_file_path,
|
|
116
|
+
codeowners_file_path: None,
|
|
118
117
|
config_path,
|
|
119
118
|
no_cache: false,
|
|
119
|
+
executable_name: Some("bin/codeownership validate".to_string()),
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
122
|
|
data/lib/code_ownership/cli.rb
CHANGED
|
@@ -1,29 +1,41 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
|
|
3
2
|
# typed: strict
|
|
4
3
|
|
|
5
4
|
module CodeOwnership
|
|
6
5
|
module Private
|
|
7
6
|
module FilePathFinder
|
|
8
|
-
module_function
|
|
9
|
-
|
|
10
7
|
extend T::Sig
|
|
11
|
-
|
|
8
|
+
|
|
9
|
+
sig { returns(String) }
|
|
10
|
+
def self.pwd_prefix
|
|
11
|
+
@pwd_prefix ||= T.let("#{Dir.pwd}/", T.nilable(String))
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(Pathname) }
|
|
15
|
+
def self.pwd
|
|
16
|
+
@pwd ||= T.let(Pathname.pwd, T.nilable(Pathname))
|
|
17
|
+
end
|
|
12
18
|
|
|
13
19
|
# Returns a string version of the relative path to a Rails constant,
|
|
14
20
|
# or nil if it can't find anything
|
|
15
|
-
sig { params(klass: T.nilable(T.any(T::Class[T.anything], Module))).returns(T.nilable(String)) }
|
|
16
|
-
def path_from_klass(klass)
|
|
21
|
+
sig { params(klass: T.nilable(T.any(T::Class[T.anything], T::Module[T.anything]))).returns(T.nilable(String)) }
|
|
22
|
+
def self.path_from_klass(klass)
|
|
17
23
|
if klass
|
|
18
24
|
path = Object.const_source_location(klass.to_s)&.first
|
|
19
|
-
|
|
25
|
+
return nil unless path
|
|
26
|
+
|
|
27
|
+
if path.start_with?(pwd_prefix)
|
|
28
|
+
path.delete_prefix(pwd_prefix)
|
|
29
|
+
else
|
|
30
|
+
Pathname.new(path).relative_path_from(pwd).to_s
|
|
31
|
+
end
|
|
20
32
|
end
|
|
21
33
|
rescue NameError
|
|
22
34
|
nil
|
|
23
35
|
end
|
|
24
36
|
|
|
25
37
|
sig { params(backtrace: T.nilable(T::Array[String])).returns(T::Enumerable[String]) }
|
|
26
|
-
def from_backtrace(backtrace)
|
|
38
|
+
def self.from_backtrace(backtrace)
|
|
27
39
|
return [] unless backtrace
|
|
28
40
|
|
|
29
41
|
# The pattern for a backtrace hasn't changed in forever and is considered
|
|
@@ -34,7 +46,7 @@ module CodeOwnership
|
|
|
34
46
|
# ./app/controllers/some_controller.rb:43:in `block (3 levels) in create'
|
|
35
47
|
#
|
|
36
48
|
backtrace_line = if RUBY_VERSION >= '3.4.0'
|
|
37
|
-
%r{\A(#{
|
|
49
|
+
%r{\A(#{pwd}/|\./)?
|
|
38
50
|
(?<file>.+) # Matches 'app/controllers/some_controller.rb'
|
|
39
51
|
:
|
|
40
52
|
(?<line>\d+) # Matches '43'
|
|
@@ -42,7 +54,7 @@ module CodeOwnership
|
|
|
42
54
|
'(?<function>.*)' # Matches "`block (3 levels) in create'"
|
|
43
55
|
\z}x
|
|
44
56
|
else
|
|
45
|
-
%r{\A(#{
|
|
57
|
+
%r{\A(#{pwd}/|\./)?
|
|
46
58
|
(?<file>.+) # Matches 'app/controllers/some_controller.rb'
|
|
47
59
|
:
|
|
48
60
|
(?<line>\d+) # Matches '43'
|
|
@@ -1,37 +1,33 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
|
|
3
2
|
# typed: strict
|
|
4
3
|
|
|
5
4
|
module CodeOwnership
|
|
6
5
|
module Private
|
|
7
6
|
module FilePathTeamCache
|
|
8
|
-
module_function
|
|
9
|
-
|
|
10
7
|
extend T::Sig
|
|
11
|
-
extend T::Helpers
|
|
12
8
|
|
|
13
9
|
sig { params(file_path: String).returns(T.nilable(CodeTeams::Team)) }
|
|
14
|
-
def get(file_path)
|
|
10
|
+
def self.get(file_path)
|
|
15
11
|
cache[file_path]
|
|
16
12
|
end
|
|
17
13
|
|
|
18
14
|
sig { params(file_path: String, team: T.nilable(CodeTeams::Team)).void }
|
|
19
|
-
def set(file_path, team)
|
|
15
|
+
def self.set(file_path, team)
|
|
20
16
|
cache[file_path] = team
|
|
21
17
|
end
|
|
22
18
|
|
|
23
19
|
sig { params(file_path: String).returns(T::Boolean) }
|
|
24
|
-
def cached?(file_path)
|
|
20
|
+
def self.cached?(file_path)
|
|
25
21
|
cache.key?(file_path)
|
|
26
22
|
end
|
|
27
23
|
|
|
28
24
|
sig { void }
|
|
29
|
-
def bust_cache!
|
|
25
|
+
def self.bust_cache!
|
|
30
26
|
@cache = nil
|
|
31
27
|
end
|
|
32
28
|
|
|
33
29
|
sig { returns(T::Hash[String, T.nilable(CodeTeams::Team)]) }
|
|
34
|
-
def cache
|
|
30
|
+
def self.cache
|
|
35
31
|
@cache ||= T.let(@cache,
|
|
36
32
|
T.nilable(T::Hash[String, T.nilable(CodeTeams::Team)]))
|
|
37
33
|
@cache ||= {}
|
|
@@ -1,27 +1,20 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
|
|
3
2
|
# typed: strict
|
|
4
3
|
|
|
5
4
|
module CodeOwnership
|
|
6
5
|
module Private
|
|
7
6
|
module TeamFinder
|
|
8
|
-
module_function
|
|
9
|
-
|
|
10
7
|
extend T::Sig
|
|
11
|
-
extend T::Helpers
|
|
12
|
-
|
|
13
|
-
requires_ancestor { Kernel }
|
|
14
8
|
|
|
15
9
|
sig { params(file_path: String, allow_raise: T::Boolean).returns(T.nilable(CodeTeams::Team)) }
|
|
16
|
-
def for_file(file_path, allow_raise: false)
|
|
10
|
+
def self.for_file(file_path, allow_raise: false)
|
|
17
11
|
return nil if file_path.start_with?('./')
|
|
18
12
|
|
|
19
13
|
return FilePathTeamCache.get(file_path) if FilePathTeamCache.cached?(file_path)
|
|
20
14
|
|
|
21
15
|
result = T.let(RustCodeOwners.for_file(file_path), T.nilable(T::Hash[Symbol, String]))
|
|
22
|
-
return if result.nil?
|
|
23
16
|
|
|
24
|
-
if result[:team_name].nil?
|
|
17
|
+
if result.nil? || result[:team_name].nil?
|
|
25
18
|
FilePathTeamCache.set(file_path, nil)
|
|
26
19
|
else
|
|
27
20
|
FilePathTeamCache.set(file_path, T.let(find_team!(T.must(result[:team_name]), allow_raise: allow_raise), T.nilable(CodeTeams::Team)))
|
|
@@ -31,7 +24,7 @@ module CodeOwnership
|
|
|
31
24
|
end
|
|
32
25
|
|
|
33
26
|
sig { params(files: T::Array[String], allow_raise: T::Boolean).returns(T::Hash[String, T.nilable(CodeTeams::Team)]) }
|
|
34
|
-
def teams_for_files(files, allow_raise: false)
|
|
27
|
+
def self.teams_for_files(files, allow_raise: false)
|
|
35
28
|
result = {}
|
|
36
29
|
|
|
37
30
|
# Collect cached results and identify non-cached files
|
|
@@ -57,8 +50,8 @@ module CodeOwnership
|
|
|
57
50
|
result
|
|
58
51
|
end
|
|
59
52
|
|
|
60
|
-
sig { params(klass: T.nilable(T.any(T::Class[T.anything], Module))).returns(T.nilable(::CodeTeams::Team)) }
|
|
61
|
-
def for_class(klass)
|
|
53
|
+
sig { params(klass: T.nilable(T.any(T::Class[T.anything], T::Module[T.anything]))).returns(T.nilable(::CodeTeams::Team)) }
|
|
54
|
+
def self.for_class(klass)
|
|
62
55
|
file_path = FilePathFinder.path_from_klass(klass)
|
|
63
56
|
return nil if file_path.nil?
|
|
64
57
|
|
|
@@ -66,7 +59,7 @@ module CodeOwnership
|
|
|
66
59
|
end
|
|
67
60
|
|
|
68
61
|
sig { params(package: Packs::Pack).returns(T.nilable(::CodeTeams::Team)) }
|
|
69
|
-
def for_package(package)
|
|
62
|
+
def self.for_package(package)
|
|
70
63
|
owner_name = package.raw_hash['owner'] || package.metadata['owner']
|
|
71
64
|
return nil if owner_name.nil?
|
|
72
65
|
|
|
@@ -74,12 +67,12 @@ module CodeOwnership
|
|
|
74
67
|
end
|
|
75
68
|
|
|
76
69
|
sig { params(backtrace: T.nilable(T::Array[String]), excluded_teams: T::Array[::CodeTeams::Team]).returns(T.nilable(::CodeTeams::Team)) }
|
|
77
|
-
def for_backtrace(backtrace, excluded_teams: [])
|
|
70
|
+
def self.for_backtrace(backtrace, excluded_teams: [])
|
|
78
71
|
first_owned_file_for_backtrace(backtrace, excluded_teams: excluded_teams)&.first
|
|
79
72
|
end
|
|
80
73
|
|
|
81
74
|
sig { params(backtrace: T.nilable(T::Array[String]), excluded_teams: T::Array[::CodeTeams::Team]).returns(T.nilable([::CodeTeams::Team, String])) }
|
|
82
|
-
def first_owned_file_for_backtrace(backtrace, excluded_teams: [])
|
|
75
|
+
def self.first_owned_file_for_backtrace(backtrace, excluded_teams: [])
|
|
83
76
|
FilePathFinder.from_backtrace(backtrace).each do |file|
|
|
84
77
|
team = for_file(file)
|
|
85
78
|
if team && !excluded_teams.include?(team)
|
|
@@ -91,7 +84,7 @@ module CodeOwnership
|
|
|
91
84
|
end
|
|
92
85
|
|
|
93
86
|
sig { params(team_name: String, allow_raise: T::Boolean).returns(T.nilable(CodeTeams::Team)) }
|
|
94
|
-
def find_team!(team_name, allow_raise: false)
|
|
87
|
+
def self.find_team!(team_name, allow_raise: false)
|
|
95
88
|
team = CodeTeams.find(team_name)
|
|
96
89
|
if team.nil? && allow_raise
|
|
97
90
|
raise(StandardError, "Could not find team with name: `#{team_name}`. Make sure the team is one of `#{CodeTeams.all.map(&:name).sort}`")
|
data/lib/code_ownership.rb
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
|
|
3
2
|
# typed: strict
|
|
4
3
|
|
|
5
4
|
require 'code_teams'
|
|
@@ -25,17 +24,13 @@ if defined?(Packwerk)
|
|
|
25
24
|
end
|
|
26
25
|
|
|
27
26
|
module CodeOwnership
|
|
28
|
-
module_function
|
|
29
|
-
|
|
30
27
|
extend T::Sig
|
|
31
|
-
extend T::Helpers
|
|
32
28
|
|
|
33
|
-
requires_ancestor { Kernel }
|
|
34
29
|
GlobsToOwningTeamMap = T.type_alias { T::Hash[String, CodeTeams::Team] }
|
|
35
30
|
|
|
36
31
|
# Returns the version of the code_ownership gem and the codeowners-rs gem.
|
|
37
32
|
sig { returns(T::Array[String]) }
|
|
38
|
-
def version
|
|
33
|
+
def self.version
|
|
39
34
|
["code_ownership version: #{VERSION}",
|
|
40
35
|
"codeowners-rs version: #{::RustCodeOwners.version}"]
|
|
41
36
|
end
|
|
@@ -65,7 +60,7 @@ module CodeOwnership
|
|
|
65
60
|
# # => raises exception if no owner found
|
|
66
61
|
#
|
|
67
62
|
sig { params(file: String, from_codeowners: T::Boolean, allow_raise: T::Boolean).returns(T.nilable(CodeTeams::Team)) }
|
|
68
|
-
def for_file(file, from_codeowners: true, allow_raise: false)
|
|
63
|
+
def self.for_file(file, from_codeowners: true, allow_raise: false)
|
|
69
64
|
if from_codeowners
|
|
70
65
|
teams_for_files_from_codeowners([file], allow_raise: allow_raise).values.first
|
|
71
66
|
else
|
|
@@ -116,7 +111,7 @@ module CodeOwnership
|
|
|
116
111
|
# @see #validate! for ensuring CODEOWNERS file is up-to-date
|
|
117
112
|
#
|
|
118
113
|
sig { params(files: T::Array[String], allow_raise: T::Boolean).returns(T::Hash[String, T.nilable(CodeTeams::Team)]) }
|
|
119
|
-
def teams_for_files_from_codeowners(files, allow_raise: false)
|
|
114
|
+
def self.teams_for_files_from_codeowners(files, allow_raise: false)
|
|
120
115
|
Private::TeamFinder.teams_for_files(files, allow_raise: allow_raise)
|
|
121
116
|
end
|
|
122
117
|
|
|
@@ -160,12 +155,12 @@ module CodeOwnership
|
|
|
160
155
|
# @see CLI#for_file for the command-line interface that uses this method
|
|
161
156
|
#
|
|
162
157
|
sig { params(file: String).returns(T.nilable(T::Hash[Symbol, String])) }
|
|
163
|
-
def for_file_verbose(file)
|
|
158
|
+
def self.for_file_verbose(file)
|
|
164
159
|
::RustCodeOwners.for_file(file)
|
|
165
160
|
end
|
|
166
161
|
|
|
167
162
|
sig { params(team: T.any(CodeTeams::Team, String)).returns(T::Array[String]) }
|
|
168
|
-
def for_team(team)
|
|
163
|
+
def self.for_team(team)
|
|
169
164
|
team = T.must(CodeTeams.find(team)) if team.is_a?(String)
|
|
170
165
|
::RustCodeOwners.for_team(team.name)
|
|
171
166
|
end
|
|
@@ -226,7 +221,7 @@ module CodeOwnership
|
|
|
226
221
|
files: T.nilable(T::Array[String])
|
|
227
222
|
).void
|
|
228
223
|
end
|
|
229
|
-
def validate!(
|
|
224
|
+
def self.validate!(
|
|
230
225
|
autocorrect: true,
|
|
231
226
|
stage_changes: true,
|
|
232
227
|
files: nil
|
|
@@ -269,7 +264,7 @@ module CodeOwnership
|
|
|
269
264
|
# @note Leading newlines after the annotation are also removed to maintain clean formatting.
|
|
270
265
|
#
|
|
271
266
|
sig { params(filename: String).void }
|
|
272
|
-
def remove_file_annotation!(filename)
|
|
267
|
+
def self.remove_file_annotation!(filename)
|
|
273
268
|
filepath = Pathname.new(filename)
|
|
274
269
|
|
|
275
270
|
begin
|
|
@@ -292,24 +287,24 @@ module CodeOwnership
|
|
|
292
287
|
# Given a backtrace from either `Exception#backtrace` or `caller`, find the
|
|
293
288
|
# first line that corresponds to a file with assigned ownership
|
|
294
289
|
sig { params(backtrace: T.nilable(T::Array[String]), excluded_teams: T::Array[::CodeTeams::Team]).returns(T.nilable(::CodeTeams::Team)) }
|
|
295
|
-
def for_backtrace(backtrace, excluded_teams: [])
|
|
290
|
+
def self.for_backtrace(backtrace, excluded_teams: [])
|
|
296
291
|
Private::TeamFinder.for_backtrace(backtrace, excluded_teams: excluded_teams)
|
|
297
292
|
end
|
|
298
293
|
|
|
299
294
|
# Given a backtrace from either `Exception#backtrace` or `caller`, find the
|
|
300
295
|
# first owned file in it, useful for figuring out which file is being blamed.
|
|
301
296
|
sig { params(backtrace: T.nilable(T::Array[String]), excluded_teams: T::Array[::CodeTeams::Team]).returns(T.nilable([::CodeTeams::Team, String])) }
|
|
302
|
-
def first_owned_file_for_backtrace(backtrace, excluded_teams: [])
|
|
297
|
+
def self.first_owned_file_for_backtrace(backtrace, excluded_teams: [])
|
|
303
298
|
Private::TeamFinder.first_owned_file_for_backtrace(backtrace, excluded_teams: excluded_teams)
|
|
304
299
|
end
|
|
305
300
|
|
|
306
|
-
sig { params(klass: T.nilable(T.any(T::Class[T.anything], Module))).returns(T.nilable(::CodeTeams::Team)) }
|
|
307
|
-
def for_class(klass)
|
|
301
|
+
sig { params(klass: T.nilable(T.any(T::Class[T.anything], T::Module[T.anything]))).returns(T.nilable(::CodeTeams::Team)) }
|
|
302
|
+
def self.for_class(klass)
|
|
308
303
|
Private::TeamFinder.for_class(klass)
|
|
309
304
|
end
|
|
310
305
|
|
|
311
306
|
sig { params(package: Packs::Pack).returns(T.nilable(::CodeTeams::Team)) }
|
|
312
|
-
def for_package(package)
|
|
307
|
+
def self.for_package(package)
|
|
313
308
|
Private::TeamFinder.for_package(package)
|
|
314
309
|
end
|
|
315
310
|
|
|
@@ -320,5 +315,7 @@ module CodeOwnership
|
|
|
320
315
|
sig { void }
|
|
321
316
|
def self.bust_caches!
|
|
322
317
|
Private::FilePathTeamCache.bust_cache!
|
|
318
|
+
Private::FilePathFinder.instance_variable_set(:@pwd, nil)
|
|
319
|
+
Private::FilePathFinder.instance_variable_set(:@pwd_prefix, nil)
|
|
323
320
|
end
|
|
324
321
|
end
|