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.
Files changed (410) hide show
  1. checksums.yaml +4 -4
  2. data/.cargo/config +2 -2
  3. data/Cargo.lock +10 -16
  4. data/README.md +8 -8
  5. data/ext/cargo-vendor/codeowners-0.3.2/.cargo-checksum.json +1 -0
  6. data/ext/cargo-vendor/codeowners-0.3.2/.github/CODEOWNERS +1 -0
  7. data/ext/cargo-vendor/codeowners-0.3.2/AGENTS.md +38 -0
  8. data/ext/cargo-vendor/codeowners-0.3.2/CLAUDE.md +1 -0
  9. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/Cargo.lock +1 -1
  10. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/Cargo.toml +17 -1
  11. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/README.md +11 -1
  12. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/cli.rs +9 -5
  13. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/config.rs +81 -1
  14. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/crosscheck.rs +5 -8
  15. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/codeowners_file_parser.rs +3 -3
  16. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/file_owner_resolver.rs +3 -1
  17. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/package_mapper.rs +2 -2
  18. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper.rs +2 -2
  19. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/validator.rs +15 -10
  20. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership.rs +1 -0
  21. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/project.rs +3 -0
  22. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/project_builder.rs +111 -44
  23. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/runner/api.rs +7 -6
  24. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/runner/types.rs +2 -1
  25. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/runner.rs +67 -16
  26. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/tracked_files.rs +29 -1
  27. data/ext/cargo-vendor/codeowners-0.3.2/tests/codeowners_path_test.rs +92 -0
  28. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/common/mod.rs +2 -1
  29. data/ext/cargo-vendor/codeowners-0.3.2/tests/executable_name_config_test.rs +67 -0
  30. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/config/code_ownership.yml +11 -0
  31. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/config/teams/test_team.yml +6 -0
  32. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/docs/CODEOWNERS +14 -0
  33. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/expected/CODEOWNERS +14 -0
  34. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/ruby/app/models/test.rb +3 -0
  35. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/.github/CODEOWNERS +10 -0
  36. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/app/foo.rb +3 -0
  37. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/config/code_ownership.yml +4 -0
  38. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/config/teams/foo.yml +5 -0
  39. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/config/teams/payments.yml +6 -0
  40. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/ruby/app/payments/foo.rb +4 -0
  41. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/default_executable_name/.github/CODEOWNERS +11 -0
  42. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/default_executable_name/app/bar.rb +3 -0
  43. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/default_executable_name/config/code_ownership.yml +5 -0
  44. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/default_executable_name/config/teams/bar.yml +5 -0
  45. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/missing_github_team/.github/CODEOWNERS +10 -0
  46. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/missing_github_team/config/code_ownership.yml +10 -0
  47. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/missing_github_team/config/teams/bad_team.yml +1 -0
  48. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/missing_github_team/config/teams/good.yml +3 -0
  49. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/valid_project/gems/pets/dog.rb +5 -0
  50. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/git_stage_test.rs +4 -1
  51. data/ext/cargo-vendor/codeowners-0.3.2/tests/missing_github_team_test.rs +23 -0
  52. data/ext/cargo-vendor/codeowners-0.3.2/tests/run_config_executable_override_test.rs +98 -0
  53. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/runner_api.rs +8 -4
  54. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/valid_project_test.rs +3 -3
  55. data/ext/cargo-vendor/codeowners-0.3.2/tests/validate_files_test.rs +378 -0
  56. data/ext/cargo-vendor/magnus-0.8.2/.cargo-checksum.json +1 -0
  57. data/ext/cargo-vendor/magnus-0.8.2/.cargo_vcs_info.json +6 -0
  58. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/CHANGELOG.md +66 -1
  59. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/Cargo.lock +243 -9
  60. data/ext/cargo-vendor/magnus-0.8.2/Cargo.toml +277 -0
  61. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/Cargo.toml.orig +11 -6
  62. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/README.md +75 -23
  63. data/ext/cargo-vendor/magnus-0.8.2/build.rs +15 -0
  64. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/complete_object/test/temperature_test.rb +4 -4
  65. data/ext/cargo-vendor/magnus-0.8.2/examples/inheritance.rs +66 -0
  66. data/ext/cargo-vendor/magnus-0.8.2/examples/mut_point.rs +116 -0
  67. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/api.rs +4 -3
  68. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/class.rs +9 -7
  69. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/encoding.rs +5 -5
  70. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/error.rs +12 -3
  71. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/fiber.rs +5 -5
  72. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/gc.rs +3 -3
  73. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/integer.rs +134 -0
  74. data/ext/cargo-vendor/magnus-0.8.2/src/io.rs +230 -0
  75. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/lib.rs +53 -54
  76. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/macros.rs +2 -2
  77. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/method.rs +14 -100
  78. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/module.rs +1 -1
  79. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/mutex.rs +1 -1
  80. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_array.rs +2 -2
  81. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_bignum.rs +100 -3
  82. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_hash.rs +63 -1
  83. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_string.rs +31 -231
  84. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_typed_data.rs +6 -9
  85. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/rb_sys.rs +4 -4
  86. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/scan_args.rs +3 -3
  87. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/thread.rs +16 -10
  88. data/ext/cargo-vendor/magnus-0.8.2/src/time.rs +462 -0
  89. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/try_convert.rs +64 -2
  90. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/typed_data.rs +113 -11
  91. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/value/flonum.rs +1 -1
  92. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/value.rs +83 -6
  93. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/test +1 -1
  94. data/ext/cargo-vendor/magnus-0.8.2/tests/hash.rs +44 -0
  95. data/ext/cargo-vendor/magnus-0.8.2/tests/io.rs +62 -0
  96. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/return_iter.rs +1 -1
  97. data/ext/cargo-vendor/magnus-0.8.2/tests/string.rs +23 -0
  98. data/ext/cargo-vendor/magnus-0.8.2/tests/time.rs +71 -0
  99. data/ext/cargo-vendor/magnus-macros-0.8.0/.cargo-checksum.json +1 -0
  100. data/ext/cargo-vendor/magnus-macros-0.8.0/.cargo_vcs_info.json +6 -0
  101. data/ext/cargo-vendor/magnus-macros-0.8.0/Cargo.lock +47 -0
  102. data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/Cargo.toml +10 -1
  103. data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/Cargo.toml.orig +1 -1
  104. data/ext/cargo-vendor/magnus-macros-0.8.0/src/lib.rs +545 -0
  105. data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/src/typed_data.rs +3 -3
  106. data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/src/util.rs +1 -1
  107. data/ext/cargo-vendor/serde_magnus-0.10.0/.cargo-checksum.json +1 -0
  108. data/ext/cargo-vendor/serde_magnus-0.10.0/.cargo_vcs_info.json +6 -0
  109. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/Cargo.lock +77 -75
  110. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/Cargo.toml +3 -3
  111. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/Cargo.toml.orig +7 -4
  112. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/README.md +8 -5
  113. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/array_deserializer.rs +12 -8
  114. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/array_enumerator.rs +12 -7
  115. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/deserializer.rs +21 -18
  116. data/ext/cargo-vendor/serde_magnus-0.10.0/src/de/enum_deserializer.rs +35 -0
  117. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/hash_deserializer.rs +18 -11
  118. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/mod.rs +76 -76
  119. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/variant_deserializer.rs +10 -9
  120. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/error.rs +10 -4
  121. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/lib.rs +6 -5
  122. data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/enums.rs +11 -0
  123. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/map_serializer.rs +11 -12
  124. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/mod.rs +53 -50
  125. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/seq_serializer.rs +11 -10
  126. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/serializer.rs +50 -34
  127. data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/struct_serializer.rs +40 -0
  128. data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/struct_variant_serializer.rs +45 -0
  129. data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/tuple_variant_serializer.rs +38 -0
  130. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_arrays.rs +3 -3
  131. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_booleans.rs +15 -0
  132. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_enums.rs +39 -0
  133. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_floats.rs +12 -0
  134. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_integers.rs +18 -0
  135. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_maps.rs +3 -2
  136. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_options.rs +15 -0
  137. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_results.rs +17 -0
  138. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_strings.rs +7 -7
  139. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_structs.rs +9 -9
  140. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_tuples.rs +27 -0
  141. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_vecs.rs +3 -3
  142. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_arrays.rs +3 -3
  143. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/serializing_booleans.rs +15 -0
  144. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_enums.rs +9 -7
  145. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_floats.rs +2 -2
  146. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_integers.rs +4 -4
  147. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_maps.rs +3 -2
  148. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_options.rs +3 -3
  149. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_results.rs +5 -4
  150. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/serializing_strings.rs +30 -0
  151. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_structs.rs +15 -7
  152. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/serializing_tuples.rs +35 -0
  153. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_vecs.rs +3 -3
  154. data/ext/cargo-vendor/unicode-ident-1.0.19/.cargo-checksum.json +1 -1
  155. data/ext/code_ownership/Cargo.toml +3 -3
  156. data/ext/code_ownership/extconf.rb +2 -1
  157. data/ext/code_ownership/src/lib.rs +18 -18
  158. data/lib/code_ownership/cli.rb +1 -0
  159. data/lib/code_ownership/private/file_path_finder.rb +22 -10
  160. data/lib/code_ownership/private/file_path_team_cache.rb +5 -9
  161. data/lib/code_ownership/private/for_file_output_builder.rb +0 -1
  162. data/lib/code_ownership/private/team_finder.rb +9 -16
  163. data/lib/code_ownership/version.rb +2 -2
  164. data/lib/code_ownership.rb +14 -17
  165. metadata +359 -337
  166. data/ext/cargo-vendor/codeowners-0.3.0/.cargo-checksum.json +0 -1
  167. data/ext/cargo-vendor/codeowners-0.3.0/tests/validate_files_test.rs +0 -144
  168. data/ext/cargo-vendor/magnus-0.7.1/.cargo-checksum.json +0 -1
  169. data/ext/cargo-vendor/magnus-0.7.1/.cargo_vcs_info.json +0 -6
  170. data/ext/cargo-vendor/magnus-0.7.1/Cargo.toml +0 -95
  171. data/ext/cargo-vendor/magnus-0.7.1/build.rs +0 -5
  172. data/ext/cargo-vendor/magnus-0.7.1/examples/mut_point.rs +0 -60
  173. data/ext/cargo-vendor/magnus-0.7.1/src/time.rs +0 -190
  174. data/ext/cargo-vendor/magnus-0.7.1/tests/hash.rs +0 -25
  175. data/ext/cargo-vendor/magnus-0.7.1/tests/string.rs +0 -13
  176. data/ext/cargo-vendor/magnus-macros-0.6.0/.cargo-checksum.json +0 -1
  177. data/ext/cargo-vendor/magnus-macros-0.6.0/.cargo_vcs_info.json +0 -6
  178. data/ext/cargo-vendor/magnus-macros-0.6.0/src/lib.rs +0 -401
  179. data/ext/cargo-vendor/rb-sys-env-0.1.2/.cargo-checksum.json +0 -1
  180. data/ext/cargo-vendor/rb-sys-env-0.1.2/.cargo_vcs_info.json +0 -6
  181. data/ext/cargo-vendor/rb-sys-env-0.1.2/Cargo.toml +0 -25
  182. data/ext/cargo-vendor/rb-sys-env-0.1.2/Cargo.toml.orig +0 -14
  183. data/ext/cargo-vendor/rb-sys-env-0.1.2/LICENSE-APACHE +0 -190
  184. data/ext/cargo-vendor/rb-sys-env-0.1.2/LICENSE-MIT +0 -21
  185. data/ext/cargo-vendor/rb-sys-env-0.1.2/readme.md +0 -119
  186. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/defines.rs +0 -37
  187. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/lib.rs +0 -180
  188. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/rb_env.rs +0 -110
  189. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/ruby_version.rs +0 -163
  190. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/utils.rs +0 -6
  191. data/ext/cargo-vendor/serde_magnus-0.9.0/.cargo-checksum.json +0 -1
  192. data/ext/cargo-vendor/serde_magnus-0.9.0/.cargo_vcs_info.json +0 -6
  193. data/ext/cargo-vendor/serde_magnus-0.9.0/src/de/enum_deserializer.rs +0 -30
  194. data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/enums.rs +0 -11
  195. data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/struct_serializer.rs +0 -36
  196. data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/struct_variant_serializer.rs +0 -37
  197. data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/tuple_variant_serializer.rs +0 -33
  198. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_booleans.rs +0 -18
  199. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_enums.rs +0 -39
  200. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_floats.rs +0 -12
  201. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_integers.rs +0 -18
  202. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_options.rs +0 -15
  203. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_results.rs +0 -17
  204. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_tuples.rs +0 -31
  205. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/serializing_booleans.rs +0 -15
  206. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/serializing_strings.rs +0 -30
  207. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/serializing_tuples.rs +0 -27
  208. data/ext/cargo-vendor/unicode-ident-1.0.19/tests/fst/.gitignore +0 -1
  209. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.github/workflows/audit.yml +0 -0
  210. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.github/workflows/ci.yml +0 -0
  211. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.github/workflows/dotslash-config.json +0 -0
  212. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.rustfmt.toml +0 -0
  213. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.rusty-hook.toml +0 -0
  214. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/dev/run_benchmarks_for_file.sh +0 -0
  215. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/dev/run_benchmarks_for_gv.sh +0 -0
  216. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/rust-toolchain.toml +0 -0
  217. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/cache/file.rs +0 -0
  218. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/cache/mod.rs +0 -0
  219. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/cache/noop.rs +0 -0
  220. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/common_test.rs +0 -0
  221. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/lib.rs +0 -0
  222. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/main.rs +0 -0
  223. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/codeowners_query.rs +0 -0
  224. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/file_generator.rs +0 -0
  225. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/file_owner_finder.rs +0 -0
  226. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/annotated_file_mapper.rs +0 -0
  227. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/directory_mapper.rs +0 -0
  228. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/escaper.rs +0 -0
  229. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/team_gem_mapper.rs +0 -0
  230. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/team_glob_mapper.rs +0 -0
  231. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/team_yml_mapper.rs +0 -0
  232. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/path_utils.rs +0 -0
  233. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/project_file_builder.rs +0 -0
  234. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/cache_test.rs +0 -0
  235. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/crosscheck_owners_test.rs +0 -0
  236. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/.github/CODEOWNERS +0 -0
  237. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/config/code_ownership.yml +0 -0
  238. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/config/teams/payments.yml +0 -0
  239. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/config/teams/payroll.yml +0 -0
  240. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/gems/payroll_calculator/calculator.rb +0 -0
  241. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/models/bank_account.rb +0 -0
  242. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/models/blockchain.rb +0 -0
  243. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/models/payroll.rb +0 -0
  244. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/payments/nacha.rb +0 -0
  245. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/services/.codeowner +0 -0
  246. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/services/multi_owned.rb +0 -0
  247. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/unowned.rb +0 -0
  248. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/packages/payroll_flow/package.yml +0 -0
  249. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/.github/CODEOWNERS +0 -0
  250. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/.keep +0 -0
  251. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/config/code_ownership.yml +0 -0
  252. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/config/teams/design.yml +0 -0
  253. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/config/teams/frontend.yml +0 -0
  254. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/frontend/apps/public/index.tsx +0 -0
  255. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/frontend/packages/dashboard/package.json +0 -0
  256. /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
  257. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/frontend/packages/ui-kit/.codeowner +0 -0
  258. /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
  259. /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
  260. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/.github/CODEOWNERS +0 -0
  261. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/consumers/.codeowner +0 -0
  262. /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
  263. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/consumers/one_owner.rb +0 -0
  264. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/services/.codeowner +0 -0
  265. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/services/exciting/.codeowner +0 -0
  266. /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
  267. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/config/code_ownership.yml +0 -0
  268. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/config/teams/bar.yml +0 -0
  269. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/config/teams/foo.yml +0 -0
  270. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/.github/CODEOWNERS +0 -0
  271. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/.ignore +0 -0
  272. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/config/code_ownership.yml +0 -0
  273. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/config/teams/payments.yml +0 -0
  274. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/config/teams/payroll.yml +0 -0
  275. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/config/teams/ux.yml +0 -0
  276. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/gems/payroll_calculator/calculator.rb +0 -0
  277. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/index.tsx +0 -0
  278. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/package.json +0 -0
  279. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/items/(special)/.codeowner +0 -0
  280. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/items/(special)/pay.ts +0 -0
  281. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/items/.codeowner +0 -0
  282. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/items/item.ts +0 -0
  283. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/list/page-admin.tsx +0 -0
  284. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/models/bank_account.rb +0 -0
  285. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/models/payroll.rb +0 -0
  286. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/payments/foo/.codeowner +0 -0
  287. /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
  288. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/payments/nacha.rb +0 -0
  289. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/payroll/.codeowner +0 -0
  290. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/payroll/payroll.rb +0 -0
  291. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/views/foos/edit.erb +0 -0
  292. /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
  293. /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
  294. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/ignored_files/git_ignored.rb +0 -0
  295. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/packages/payroll_flow/package.yml +0 -0
  296. /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
  297. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/.github/CODEOWNERS +0 -0
  298. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/code_ownership.yml +0 -0
  299. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/teams/brewers.yml +0 -0
  300. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/teams/cubs.yml +0 -0
  301. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/teams/giants.yml +0 -0
  302. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/teams/rockies.yml +0 -0
  303. /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
  304. /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
  305. /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
  306. /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
  307. /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
  308. /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
  309. /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
  310. /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
  311. /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
  312. /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
  313. /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
  314. /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
  315. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/packs/games/package.yml +0 -0
  316. /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
  317. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/packs/locations/package.yml +0 -0
  318. /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
  319. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/packs/schedule/package.yml +0 -0
  320. /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
  321. /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
  322. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/.codeowner +0 -0
  323. /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
  324. /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
  325. /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
  326. /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
  327. /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
  328. /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
  329. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/invalid_project_structure_test.rs +0 -0
  330. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/invalid_project_test.rs +0 -0
  331. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/multiple_directory_owners_test.rs +0 -0
  332. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/untracked_files_test.rs +0 -0
  333. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/valid_project_with_overrides_test.rs +0 -0
  334. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tmp/.gitkeep +0 -0
  335. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/.cargo/config.toml +0 -0
  336. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/Gemfile +0 -0
  337. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/LICENSE +0 -0
  338. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/complete_object/Rakefile +0 -0
  339. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/complete_object/lib/temperature.rb +0 -0
  340. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/Rakefile +0 -0
  341. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/lib/ahriman/error.rb +0 -0
  342. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/lib/ahriman.rb +0 -0
  343. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/test/error_test.rb +0 -0
  344. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_rust/Rakefile +0 -0
  345. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_rust/lib/ahriman.rb +0 -0
  346. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_rust/test/error_test.rb +0 -0
  347. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/fibonacci.rs +0 -0
  348. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/hello_world.rs +0 -0
  349. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/point.rs +0 -0
  350. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/Rakefile +0 -0
  351. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/lib/rust_blank.rb +0 -0
  352. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/test/bench.rb +0 -0
  353. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/test/blank_test.rb +0 -0
  354. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/block.rs +0 -0
  355. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/embed.rs +0 -0
  356. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/enumerator.rs +0 -0
  357. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/exception.rs +0 -0
  358. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/float.rs +0 -0
  359. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/into_value.rs +0 -0
  360. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/numeric.rs +0 -0
  361. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/object.rs +0 -0
  362. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/process.rs +0 -0
  363. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_complex.rs +0 -0
  364. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_file.rs +0 -0
  365. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_float.rs +0 -0
  366. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_match.rs +0 -0
  367. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_object.rs +0 -0
  368. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_rational.rs +0 -0
  369. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_regexp.rs +0 -0
  370. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_struct.rs +0 -0
  371. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/range.rs +0 -0
  372. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/symbol.rs +0 -0
  373. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/allocate_before_init.rs +0 -0
  374. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/array_slice.rs +0 -0
  375. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/block_call.rs +0 -0
  376. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/bytes.rs +0 -0
  377. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/call_proc.rs +0 -0
  378. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/classname.rs +0 -0
  379. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/clone.rs +0 -0
  380. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/codepoints.rs +0 -0
  381. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/debug_exception.rs +0 -0
  382. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/encoding_capable.rs +0 -0
  383. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/enumerator.rs +0 -0
  384. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/enumeratorize.rs +0 -0
  385. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/float_convert_from_value.rs +0 -0
  386. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/float_convert_to_value.rs +0 -0
  387. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/fmt.rs +0 -0
  388. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/freeze.rs +0 -0
  389. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/integer_convert_to_value.rs +0 -0
  390. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/integer_traits.rs +0 -0
  391. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/ivar.rs +0 -0
  392. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/lazy_id.rs +0 -0
  393. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/make_proc.rs +0 -0
  394. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/proc_new.rs +0 -0
  395. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/range.rs +0 -0
  396. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/return_custom_error.rs +0 -0
  397. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/scan_args.rs +0 -0
  398. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/str.rs +0 -0
  399. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/struct.rs +0 -0
  400. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/symbol.rs +0 -0
  401. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/try_convert_array.rs +0 -0
  402. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/tuple_to_array.rs +0 -0
  403. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data.rs +0 -0
  404. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data_obj.rs +0 -0
  405. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data_subclass.rs +0 -0
  406. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data_subclass_from_ruby.rs +0 -0
  407. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/yield.rs +0 -0
  408. /data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/LICENSE +0 -0
  409. /data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/src/init.rs +0 -0
  410. /data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/LICENSE +0 -0
@@ -0,0 +1,378 @@
1
+ use assert_cmd::prelude::*;
2
+ use predicates::prelude::*;
3
+ use std::{error::Error, process::Command};
4
+
5
+ mod common;
6
+
7
+ use common::*;
8
+
9
+ #[test]
10
+ fn test_validate_with_owned_files() -> Result<(), Box<dyn Error>> {
11
+ run_codeowners(
12
+ "valid_project",
13
+ &["validate", "ruby/app/models/payroll.rb", "ruby/app/models/bank_account.rb"],
14
+ true,
15
+ OutputStream::Stdout,
16
+ predicate::eq(""),
17
+ )?;
18
+
19
+ Ok(())
20
+ }
21
+
22
+ #[test]
23
+ fn test_validate_with_unowned_file() -> Result<(), Box<dyn Error>> {
24
+ run_codeowners(
25
+ "valid_project",
26
+ &["validate", "ruby/app/unowned.rb"],
27
+ false,
28
+ OutputStream::Stdout,
29
+ predicate::str::contains("ruby/app/unowned.rb").and(predicate::str::contains("Unowned")),
30
+ )?;
31
+
32
+ Ok(())
33
+ }
34
+
35
+ #[test]
36
+ fn test_validate_with_mixed_files() -> Result<(), Box<dyn Error>> {
37
+ run_codeowners(
38
+ "valid_project",
39
+ &["validate", "ruby/app/models/payroll.rb", "ruby/app/unowned.rb"],
40
+ false,
41
+ OutputStream::Stdout,
42
+ predicate::str::contains("ruby/app/unowned.rb").and(predicate::str::contains("Unowned")),
43
+ )?;
44
+
45
+ Ok(())
46
+ }
47
+
48
+ #[test]
49
+ fn test_validate_with_no_files() -> Result<(), Box<dyn Error>> {
50
+ // Existing behavior - validates entire project
51
+ run_codeowners("valid_project", &["validate"], true, OutputStream::Stdout, predicate::eq(""))?;
52
+
53
+ Ok(())
54
+ }
55
+
56
+ #[test]
57
+ fn test_generate_and_validate_with_owned_files() -> Result<(), Box<dyn Error>> {
58
+ let fixture_root = std::path::Path::new("tests/fixtures/valid_project");
59
+ let temp_dir = setup_fixture_repo(fixture_root);
60
+ let project_root = temp_dir.path();
61
+ git_add_all_files(project_root);
62
+
63
+ let codeowners_path = project_root.join("tmp/CODEOWNERS");
64
+
65
+ Command::cargo_bin("codeowners")?
66
+ .arg("--project-root")
67
+ .arg(project_root)
68
+ .arg("--codeowners-file-path")
69
+ .arg(&codeowners_path)
70
+ .arg("--no-cache")
71
+ .arg("generate-and-validate")
72
+ .arg("ruby/app/models/payroll.rb")
73
+ .arg("ruby/app/models/bank_account.rb")
74
+ .assert()
75
+ .success();
76
+
77
+ Ok(())
78
+ }
79
+
80
+ #[test]
81
+ fn test_generate_and_validate_with_unowned_file() -> Result<(), Box<dyn Error>> {
82
+ let fixture_root = std::path::Path::new("tests/fixtures/valid_project");
83
+ let temp_dir = setup_fixture_repo(fixture_root);
84
+ let project_root = temp_dir.path();
85
+ git_add_all_files(project_root);
86
+
87
+ let codeowners_path = project_root.join("tmp/CODEOWNERS");
88
+
89
+ Command::cargo_bin("codeowners")?
90
+ .arg("--project-root")
91
+ .arg(project_root)
92
+ .arg("--codeowners-file-path")
93
+ .arg(&codeowners_path)
94
+ .arg("--no-cache")
95
+ .arg("generate-and-validate")
96
+ .arg("ruby/app/unowned.rb")
97
+ .assert()
98
+ .failure()
99
+ .stdout(predicate::str::contains("ruby/app/unowned.rb"))
100
+ .stdout(predicate::str::contains("Unowned"));
101
+
102
+ Ok(())
103
+ }
104
+
105
+ #[test]
106
+ fn test_validate_with_absolute_path() -> Result<(), Box<dyn Error>> {
107
+ let fixture_root = std::path::Path::new("tests/fixtures/valid_project");
108
+ let temp_dir = setup_fixture_repo(fixture_root);
109
+ let project_root = temp_dir.path();
110
+ git_add_all_files(project_root);
111
+
112
+ let file_absolute_path = project_root.join("ruby/app/models/payroll.rb").canonicalize()?;
113
+
114
+ Command::cargo_bin("codeowners")?
115
+ .arg("--project-root")
116
+ .arg(project_root)
117
+ .arg("--no-cache")
118
+ .arg("validate")
119
+ .arg(file_absolute_path.to_str().unwrap())
120
+ .assert()
121
+ .success();
122
+
123
+ Ok(())
124
+ }
125
+
126
+ #[test]
127
+ fn test_validate_only_checks_codeowners_file() -> Result<(), Box<dyn Error>> {
128
+ // This test demonstrates that `validate` with files only checks the CODEOWNERS file
129
+ // It does NOT check file annotations or other ownership sources
130
+ //
131
+ // If a file has an annotation but is missing from CODEOWNERS, `validate` will report it as unowned
132
+ // This is why `generate-and-validate` should be used for accuracy
133
+
134
+ // ruby/app/models/bank_account.rb has @team Payments annotation and is in CODEOWNERS
135
+ run_codeowners(
136
+ "valid_project",
137
+ &["validate", "ruby/app/models/bank_account.rb"],
138
+ true,
139
+ OutputStream::Stdout,
140
+ predicate::eq(""),
141
+ )?;
142
+
143
+ Ok(())
144
+ }
145
+
146
+ #[test]
147
+ fn test_validate_files_respects_owned_globs_with_excluded_extensions() -> Result<(), Box<dyn Error>> {
148
+ // Validates that files not matching owned_globs are silently skipped when
149
+ // validate is called with an explicit file list.
150
+ //
151
+ // valid_project owned_globs: "{gems,config,javascript,ruby,components}/**/*.{rb,tsx,erb}"
152
+ // .rbi files (Sorbet interface files) do NOT match this pattern and should be filtered.
153
+
154
+ // Setup: Create a temporary copy of valid_project fixture
155
+ let fixture_root = std::path::Path::new("tests/fixtures/valid_project");
156
+ let temp_dir = setup_fixture_repo(fixture_root);
157
+ let project_root = temp_dir.path();
158
+
159
+ // Create .rbi files (Sorbet interface files) that do NOT match owned_globs
160
+ // These files should be ignored by validate when specified in the file list
161
+ let bank_account_rbi = project_root.join("ruby/app/models/bank_account.rbi");
162
+ let payroll_rbi = project_root.join("ruby/app/models/payroll.rbi");
163
+
164
+ std::fs::write(
165
+ &bank_account_rbi,
166
+ "# typed: strict\n# RBI file for BankAccount\nclass BankAccount; end\n",
167
+ )?;
168
+ std::fs::write(&payroll_rbi, "# typed: strict\n# RBI file for Payroll\nclass Payroll; end\n")?;
169
+
170
+ git_add_all_files(project_root);
171
+
172
+ // Step 1: Generate CODEOWNERS
173
+ // This should ONLY include .rb files (not .rbi) because .rbi doesn't match owned_globs
174
+ let codeowners_path = project_root.join("tmp/CODEOWNERS");
175
+ Command::cargo_bin("codeowners")?
176
+ .arg("--project-root")
177
+ .arg(project_root)
178
+ .arg("--codeowners-file-path")
179
+ .arg(&codeowners_path)
180
+ .arg("--no-cache")
181
+ .arg("generate")
182
+ .assert()
183
+ .success();
184
+
185
+ // Verify: CODEOWNERS contains .rb files but NOT .rbi files
186
+ let codeowners_content = std::fs::read_to_string(&codeowners_path)?;
187
+ assert!(
188
+ codeowners_content.contains("bank_account.rb"),
189
+ "CODEOWNERS should contain .rb files (they match owned_globs)"
190
+ );
191
+ assert!(
192
+ !codeowners_content.contains("bank_account.rbi"),
193
+ "CODEOWNERS should NOT contain .rbi files (they don't match owned_globs)"
194
+ );
195
+
196
+ // Step 2: Run validate with BOTH .rb and .rbi files in the list.
197
+ // .rbi files should be silently filtered; only .rb files validated; command succeeds.
198
+ Command::cargo_bin("codeowners")?
199
+ .arg("--project-root")
200
+ .arg(project_root)
201
+ .arg("--codeowners-file-path")
202
+ .arg(&codeowners_path)
203
+ .arg("--no-cache")
204
+ .arg("validate")
205
+ // Mix .rb and .rbi files in the argument list
206
+ .arg("ruby/app/models/bank_account.rb") // Should be validated (matches owned_globs)
207
+ .arg("ruby/app/models/bank_account.rbi") // Should be SKIPPED (doesn't match)
208
+ .arg("ruby/app/models/payroll.rb") // Should be validated (matches owned_globs)
209
+ .arg("ruby/app/models/payroll.rbi") // Should be SKIPPED (doesn't match)
210
+ .assert()
211
+ .success()
212
+ .stdout(predicate::eq(""));
213
+
214
+ Ok(())
215
+ }
216
+
217
+ // ============================================================================
218
+ // GLOB FILTERING TESTS: Verify validate with files respects owned_globs
219
+ // ============================================================================
220
+ //
221
+ // These tests ensure that when validate is called with explicit file paths,
222
+ // it correctly filters files based on owned_globs configuration. Files that
223
+ // don't match owned_globs should be silently skipped, not reported as unowned.
224
+
225
+ #[test]
226
+ fn test_validate_filters_multiple_non_matching_extensions() -> Result<(), Box<dyn Error>> {
227
+ // Test that various file types not in owned_globs are filtered out
228
+ // valid_project owned_globs: "{gems,config,javascript,ruby,components}/**/*.{rb,tsx,erb}"
229
+ let fixture_root = std::path::Path::new("tests/fixtures/valid_project");
230
+ let temp_dir = setup_fixture_repo(fixture_root);
231
+ let project_root = temp_dir.path();
232
+
233
+ // Create files with extensions NOT in owned_globs
234
+ std::fs::write(project_root.join("ruby/app/models/test.rbi"), "# Sorbet RBI file")?;
235
+ std::fs::write(project_root.join("ruby/app/models/test.md"), "# Markdown doc")?;
236
+ std::fs::write(project_root.join("ruby/app/models/test.txt"), "Plain text")?;
237
+ std::fs::write(project_root.join("ruby/app/models/test.json"), "{}")?;
238
+
239
+ git_add_all_files(project_root);
240
+
241
+ let codeowners_path = project_root.join("tmp/CODEOWNERS");
242
+
243
+ // Generate CODEOWNERS (will only include .rb, .tsx, .erb files)
244
+ Command::cargo_bin("codeowners")?
245
+ .arg("--project-root")
246
+ .arg(project_root)
247
+ .arg("--codeowners-file-path")
248
+ .arg(&codeowners_path)
249
+ .arg("--no-cache")
250
+ .arg("generate")
251
+ .assert()
252
+ .success();
253
+
254
+ // Validate with a mix of matching and non-matching files
255
+ // All non-matching should be filtered, matching ones should succeed
256
+ Command::cargo_bin("codeowners")?
257
+ .arg("--project-root")
258
+ .arg(project_root)
259
+ .arg("--codeowners-file-path")
260
+ .arg(&codeowners_path)
261
+ .arg("--no-cache")
262
+ .arg("validate")
263
+ .arg("ruby/app/models/payroll.rb") // matches owned_globs, is owned
264
+ .arg("ruby/app/models/test.rbi") // doesn't match owned_globs
265
+ .arg("ruby/app/models/test.md") // doesn't match owned_globs
266
+ .arg("ruby/app/models/test.txt") // doesn't match owned_globs
267
+ .arg("ruby/app/models/test.json") // doesn't match owned_globs
268
+ .assert()
269
+ .success()
270
+ .stdout(predicate::eq(""));
271
+
272
+ Ok(())
273
+ }
274
+
275
+ #[test]
276
+ fn test_validate_filters_files_outside_owned_directories() -> Result<(), Box<dyn Error>> {
277
+ // Test that files in directories not matching owned_globs are filtered
278
+ // valid_project owned_globs: "{gems,config,javascript,ruby,components}/**/*.{rb,tsx,erb}"
279
+ let fixture_root = std::path::Path::new("tests/fixtures/valid_project");
280
+ let temp_dir = setup_fixture_repo(fixture_root);
281
+ let project_root = temp_dir.path();
282
+
283
+ // Create .rb files OUTSIDE the owned directories
284
+ std::fs::create_dir_all(project_root.join("scripts"))?;
285
+ std::fs::write(project_root.join("scripts/deploy.rb"), "# Deploy script")?;
286
+ std::fs::create_dir_all(project_root.join("bin"))?;
287
+ std::fs::write(project_root.join("bin/run.rb"), "# Run script")?;
288
+
289
+ git_add_all_files(project_root);
290
+
291
+ let codeowners_path = project_root.join("tmp/CODEOWNERS");
292
+
293
+ // Generate CODEOWNERS
294
+ Command::cargo_bin("codeowners")?
295
+ .arg("--project-root")
296
+ .arg(project_root)
297
+ .arg("--codeowners-file-path")
298
+ .arg(&codeowners_path)
299
+ .arg("--no-cache")
300
+ .arg("generate")
301
+ .assert()
302
+ .success();
303
+
304
+ // Validate with files both inside and outside owned directories
305
+ Command::cargo_bin("codeowners")?
306
+ .arg("--project-root")
307
+ .arg(project_root)
308
+ .arg("--codeowners-file-path")
309
+ .arg(&codeowners_path)
310
+ .arg("--no-cache")
311
+ .arg("validate")
312
+ .arg("ruby/app/models/payroll.rb") // inside ruby/, matches owned_globs
313
+ .arg("scripts/deploy.rb") // outside owned dirs, filtered
314
+ .arg("bin/run.rb") // outside owned dirs, filtered
315
+ .assert()
316
+ .success()
317
+ .stdout(predicate::eq(""));
318
+
319
+ Ok(())
320
+ }
321
+
322
+ #[test]
323
+ fn test_validate_respects_unowned_globs() -> Result<(), Box<dyn Error>> {
324
+ // Test that files matching unowned_globs are filtered out even if they match owned_globs
325
+ let fixture_root = std::path::Path::new("tests/fixtures/valid_project");
326
+ let temp_dir = setup_fixture_repo(fixture_root);
327
+ let project_root = temp_dir.path();
328
+
329
+ // Read and modify the config to add unowned_globs
330
+ let config_path = project_root.join("config/code_ownership.yml");
331
+ let config_content = std::fs::read_to_string(&config_path)?;
332
+ let updated_config = config_content.replace("unowned_globs:", "unowned_globs:\n - ruby/app/models/ignored_*.rb");
333
+ std::fs::write(&config_path, updated_config)?;
334
+
335
+ // Create a file that matches owned_globs but also matches unowned_globs
336
+ std::fs::write(
337
+ project_root.join("ruby/app/models/ignored_test.rb"),
338
+ "# This file should be ignored via unowned_globs",
339
+ )?;
340
+
341
+ git_add_all_files(project_root);
342
+
343
+ let codeowners_path = project_root.join("tmp/CODEOWNERS");
344
+
345
+ // Generate CODEOWNERS (ignored_test.rb should NOT be included)
346
+ Command::cargo_bin("codeowners")?
347
+ .arg("--project-root")
348
+ .arg(project_root)
349
+ .arg("--codeowners-file-path")
350
+ .arg(&codeowners_path)
351
+ .arg("--no-cache")
352
+ .arg("generate")
353
+ .assert()
354
+ .success();
355
+
356
+ // Verify the ignored file is NOT in CODEOWNERS
357
+ let codeowners_content = std::fs::read_to_string(&codeowners_path)?;
358
+ assert!(
359
+ !codeowners_content.contains("ignored_test.rb"),
360
+ "ignored_test.rb should not be in CODEOWNERS"
361
+ );
362
+
363
+ // Validate with the ignored file - should be filtered by unowned_globs
364
+ Command::cargo_bin("codeowners")?
365
+ .arg("--project-root")
366
+ .arg(project_root)
367
+ .arg("--codeowners-file-path")
368
+ .arg(&codeowners_path)
369
+ .arg("--no-cache")
370
+ .arg("validate")
371
+ .arg("ruby/app/models/payroll.rb") // owned, should validate
372
+ .arg("ruby/app/models/ignored_test.rb") // matches unowned_globs, should be filtered
373
+ .assert()
374
+ .success()
375
+ .stdout(predicate::eq(""));
376
+
377
+ Ok(())
378
+ }
@@ -0,0 +1 @@
1
+ {"files":{".cargo/config.toml":"ed525863f7a774eb7e8ef3a93105d90b8abb0c1f9b08ea366b5fe2248b22b27a",".cargo_vcs_info.json":"f0c4b5c4fe51556342db5f1814bea3b79b09cdc750ef7e86b675b96a0f4d0336","CHANGELOG.md":"b25ccca125ef060e422eb66f669dae281a5da0bb5ec7a64737c02c2917ff1d84","Cargo.lock":"d51a655ebe11a5cf47c4ccd791f17bf0201f755ab01e895bdbfe0af55cc41e1e","Cargo.toml":"61f329474ec714384fb0dba6db3369fa2ff9e18a62738b689fbc21dc58c4d659","Cargo.toml.orig":"7b7324b56f885496ca90c54b52f5df6af29a864ac458ff971d9a435a08081be0","Gemfile":"7c958c7b6cd184575ee0a468b66d67112b4def09f3030a5157d62f560878708a","LICENSE":"79e69d34457af5881b9b7410144cac786098fd86f242a98f419aa8abd1b0578a","README.md":"10ac5fb99d9be8620641eab43d4f55edd927a310b2bf6b9c7c2ee1b6a80f8d77","build.rs":"0646d851f8c094ccf5b587eb83ce3d6562ab1b3acec28e6f439fa85971387154","examples/complete_object/Rakefile":"63be02aaf8cf175aae6e3d817d33981317b8c06110ee38ac4b7756f6e05151ca","examples/complete_object/lib/temperature.rb":"d6cbafd219936c70cb5c35de5d43b2e1fecf0148068647c7bf5f50987ff49634","examples/complete_object/test/temperature_test.rb":"74b8121af848759ebc498a8fc769c1eddab281baba0778284f82e048c1df8422","examples/custom_exception_ruby/Rakefile":"ae1bb6e5b35786f2a6db2be6315d9ffdef5302f848295a54831bfad24386b49f","examples/custom_exception_ruby/lib/ahriman.rb":"5c87d840c7722e2e2f6a25a5b79b8953f3a629acab339c4b52f24e999dd4c97b","examples/custom_exception_ruby/lib/ahriman/error.rb":"06135d2f03ee80dfdd241bb5429da5e428b2286a56630e35ed7fb4e2bf82f92a","examples/custom_exception_ruby/test/error_test.rb":"58929553d12dceacf48c353ff46f0a88efd778bce88a674fcc2db97430f038af","examples/custom_exception_rust/Rakefile":"ae1bb6e5b35786f2a6db2be6315d9ffdef5302f848295a54831bfad24386b49f","examples/custom_exception_rust/lib/ahriman.rb":"bf286f8248334f6e437676c545609442a764fc342c3bcf40fec0cd05c7439ba7","examples/custom_exception_rust/test/error_test.rb":"58929553d12dceacf48c353ff46f0a88efd778bce88a674fcc2db97430f038af","examples/fibonacci.rs":"bf17b928cafb2163850f7571b17460285037cdcdc5318a34753d9fbc0f8a82e6","examples/hello_world.rs":"bd58f701357dfa36b22dd5086de2f7f76daba1d5da7964089d3c62e0a80871a0","examples/inheritance.rs":"d8ffa218b0d6007efcfea1d424e246d26e3628ddc36492d0045459da8b0f8824","examples/mut_point.rs":"1c40e4d85164f6ad9311384625cbf87ce83a2bc4c067f74b1f1e18e6c15e9a3b","examples/point.rs":"ec16e0e7b472a3bdac26025356854f406637f0db4e841e01f612fed778159a20","examples/rust_blank/Rakefile":"5dabeb863e0633e93b76a0bf7de3c8df3d2bfcfa0bee11978142d58e7749d347","examples/rust_blank/lib/rust_blank.rb":"6369d3940e2aa1180af34a035a2b06b046374f170f9aab5f5fb33643deb596ab","examples/rust_blank/test/bench.rb":"85e7af2db8c3613cd4f095bddc7cd8c528a3ffdcd32571b8a2eed2ea1fcb75a4","examples/rust_blank/test/blank_test.rb":"ee40ae3b73b27ba27fe0c8d00c6a59225943087d09dc67c5e9b2e38810c37fc5","src/api.rs":"0fcf5195f8fda3b7952af8f3b8fec00f04d9fc1ee01421a444a93ddd05af8eb7","src/block.rs":"5c6d93755e73d703b60d3049dae66e786a07db881c3d6a7f241c01d5c0a760c5","src/class.rs":"568b3e0dacf0148f67e189c0534bdfede6779917c2b4c1a2699277739df74d69","src/embed.rs":"731aee7b1fe3022e708236e1b63e35ecc5f265be16201a574a6075053a5da58e","src/encoding.rs":"3fc111336119644101129685f25452798d6701fd4fcfb31875f89d4a7865b63b","src/enumerator.rs":"0b4f5cc76fe3fe609b79ebbcb65e1bcfd05a8a49eef1818e15ee54f7f26c1b37","src/error.rs":"e6bcbc4f65a12241d202448c3f4c9da1f0f4869625bda56d7ee1f4b6f224f8c2","src/exception.rs":"380add542d2ff44998b5803e7d0425a95f30b22a160229a5814c975687c74f72","src/fiber.rs":"4e3ea9e8b3f78a1b85ae2e0833ade92e55750d337533691665de4477e5b5ecc4","src/float.rs":"6834a672df366db5c370a73a5af5b113854809deebd3cc522dff1c0bd6416952","src/gc.rs":"6135084cb9339553c57d6af65cb9a63046b083bacddd9abe2c4da972b4216370","src/integer.rs":"c756186f1c90394cfd7d9a8b9dac6ea9edb09c21c54e2fddff9918bffbf777d3","src/into_value.rs":"67ad873553aab8b140f47ad9f7d0949875df461a57d72c930ba8ad21fdbec178","src/io.rs":"8ad2974e4f11ac5e1982be65ba72a2c86b0227afcdf2248afd9cc79d5c36b612","src/lib.rs":"536706cddf4490dda547b81e1695c0a7445815683bc7e228410d271e49bd076b","src/macros.rs":"66f6581cbab0c6e9829356e63d058215d0c32ac56b2143b0fa61da8d039cc3ed","src/method.rs":"9c2b2573376278b52fbdf3d0dcc27ff006bf863c1e699355ddc50f7aa1210150","src/module.rs":"863a3daa75caab0daeee40fd85c785878602100e846b910a03eaf22c07d58165","src/mutex.rs":"cadb50178cf083045a5aec6c8e68ec11551707a8746b18c4f90064d88d6f56c3","src/numeric.rs":"078819ce53c4a6d633d3536cc0eb0f8602c68d32f42cc432788fdb87aefedbdd","src/object.rs":"83f083aadc9bb7f9fbbf22fb2de9bdffdd54a560a8fbc099522a4081c565cd29","src/process.rs":"3407b1090a90ef7d9550b04155b20ca10a43d2ba6f2a2677441f834d389c3c30","src/r_array.rs":"4ab7b13bb8080fafc82f114eaa8f7011b578023044a3e23b7054fe2015628daa","src/r_bignum.rs":"e62d741776ebf640a09b669f422169b259f788a80b5e34d33336fa18fab43dec","src/r_complex.rs":"541038c4f0c22255d1ba743225cdd7fd03bf131dd282ee7d0ddf07dbe2d75a5b","src/r_file.rs":"cf2d40ac8e7822a4ea0158caf10417aa8229b6bfb11b98765127c835b42362fa","src/r_float.rs":"42c5bc3e468f3ca9dcfed6e450188f4e3843453c9892962d8644878369f3549d","src/r_hash.rs":"5c573feecfe7a1e5d703ea15dae8a6cf1455f280ac701bb2cde765f87219bf79","src/r_match.rs":"d88c090998b3f2bcaaf9e06ffe1685ec7920223af8412c2d1a13862ab373181b","src/r_object.rs":"b8e6d7e147e870880b5f00679c04619db5921d9b7015a9ca3e40694957812343","src/r_rational.rs":"6df9146be9ca7f2ed08917b94bd9dd0a6696c1018926fe69a39d55d2cfa264ac","src/r_regexp.rs":"9dfb1e8d4aae0788793fc39e182921db099f64020a4907e9d83bfa8d9aeb11c3","src/r_string.rs":"2638130b48338d553c74c5829724772c5caae7b01f4c8e2a626680b925fc5db2","src/r_struct.rs":"8d0d9cd99df09f24fc36b5b10709fe7925d55e2d0d2b71dfa0921cf23c2121dc","src/r_typed_data.rs":"042c7950d792828b43d133f8bce0310ae2d9cb578213dcf75a8cf5f70a73c917","src/range.rs":"d77fe64e36aa95cbc8367952704ec08e05b383ac826f19f456defed986bf34aa","src/rb_sys.rs":"846f96dd49a9d1b92077e774b89deb6b86beca8684eefe29fac992d4cbe29fb3","src/scan_args.rs":"0fab1930950700c57b7717649963559c73fcf6318db931018d16ff7e62e2f60c","src/symbol.rs":"634afde87a5c416ce53b3db0366d74455accb088739debd993fb9eca9d08199f","src/thread.rs":"814d1220771b9fc1a97a4424519e61bdadef11250b88a0e6c71de91e0402d9ff","src/time.rs":"d3406519e170010ae64f2d8f78c829f1304bc463cff47cafe58f519ef26084ca","src/try_convert.rs":"7831ea6898747d5c8afdcbb89c9866edac343dfdd401914ad7ad98199e9a3e92","src/typed_data.rs":"c3458d541bdeb6e3897ebdea4b431c212afcb0155c6ff473c4744d025b0e61ca","src/value.rs":"85071510fd06e3dda0f95f537d23433d3e471402edf7a1583619a8bd16927885","src/value/flonum.rs":"d847a2207518f7e39d1c9f5d49e43305bf342e66a868fe263fc7ccd527dd91f1","test":"5c5ce2cd50f3146a75019f49af99ec0141e8ec8743453f91d13bbb8a730a04ba","tests/allocate_before_init.rs":"fb7633b928825be8813291bef021f72ae01fea4950bc72896418ca22eba9d70d","tests/array_slice.rs":"eec9de22f0bc8432540654557abbc217f431b1ba186dd81c7e92485d507ab095","tests/block_call.rs":"96671e3404e32455dfe7dfb7ab0a0b3ded8dc4175830ae15c174a6556eb67f03","tests/bytes.rs":"1f9725be6ab1ed89a7c67816c1f351b397e4aa35102ceb14cda31d07b6464c7a","tests/call_proc.rs":"99d291576ed4e558e2f39ec9ac9dc673c6586e3dde30afac4ab923497e0e92bf","tests/classname.rs":"591f6e214c4e790f4bd608fc36e3812e7af11b787e74fabbdc08bb8d6a313c53","tests/clone.rs":"60fe97ee8396e880ab46f5818a1bf76fa983d03155a651e653fa8fcbd9141810","tests/codepoints.rs":"47a5ecd6444c20fc1e6f1d1970a38a1165ed35bbe90ceca0a91e925e6c885c7f","tests/debug_exception.rs":"c07319cd47464cf1a718ae8375a0ae71318949950478bafcfb309efdf33f7bc6","tests/encoding_capable.rs":"7c5a38ed28bf9678108defca7b88ecc4bcdf3d39d08f553f147ef945e396a335","tests/enumerator.rs":"ca1f20638160235bd1470836169f6a7ff354bad2dfc61742a426fd3f64c2724e","tests/enumeratorize.rs":"77b00419d23036217730eaad8f32e45b91eb6977611f246bd90fd3443fe250b5","tests/float_convert_from_value.rs":"db3e5f50996b0ac55336d2b901159b76c9f6ef1c42af2fdcc5e96c9aa307cd4c","tests/float_convert_to_value.rs":"21427a640e833d7387ddd147a0901c35bb39b0ae4ef2bcaaef9358c56794182c","tests/fmt.rs":"620bd39a7fd3fc051182dcda2e12bbaa772bfb2a9202c2dfdf3d81c88a2984ac","tests/freeze.rs":"9b75c9ad6bbdc6b70d530351f444d44d3c84d87f7f2ee246737f517085c8b779","tests/hash.rs":"4622a299a45ce92d3047dd055352abbf99f54b8c368046b7284a5a697fc9665c","tests/integer_convert_to_value.rs":"b431e6a619f7e55e6a01c53e1871da166529f2fa71643a268c25ea890d556b81","tests/integer_traits.rs":"6b1c40531bf5462702bdb159c91f965129e2e25a7253a61c6f36dc919e245223","tests/io.rs":"40cc7d450f834d32b62bcd3420a0657bb3069b67b478480e1dd2aa8eb8c2ca77","tests/ivar.rs":"bac10083f326fec4abfb952e7c2aa6e2ff499d8a8252708cfe6f89eda3d62af3","tests/lazy_id.rs":"f419a2d067b42999655550cb9e28f2774dd5380a2674c55da925dfc4c7042982","tests/make_proc.rs":"f50a6ad3c0677ffb846290aeb1f2c6e202fdebc27109286fdfb2e7b3b870042d","tests/proc_new.rs":"0094b318caf5771cc2308b38b9c8d3d1e836df72b79bb3c77f84dc9f553f8b84","tests/range.rs":"c77f088075b7cd1bdd0541b0384cc23f29d941bf4928b61bb2ab72fe156cb390","tests/return_custom_error.rs":"df037981097ddc50003de4edf0215d120abcbf70ede2a7059cb0a5ddebacf781","tests/return_iter.rs":"cb0fc2b21e884ac9401f238ea1cbb7c0580372ddcccc9688decad5713c88dd68","tests/scan_args.rs":"c45d5ffba6df85d6d06d27df42f3238fe55fe1ea08999238698598d077df05b1","tests/str.rs":"ac18b42cf8d9fb1ffe8a18391869237a90bf1009e9a291bbbf90869fe038881e","tests/string.rs":"679c19177af6b78b76c15bcbfa40cf1649a8e9b1b356a1b3b101bdb48375b188","tests/struct.rs":"8fbf88c58cb9b40defa26d7ef744c3c82b9839f60a4f73fbe7e3e02a36d6b0ee","tests/symbol.rs":"af3a13dedced18fc25cfb957426b9df6ee174efc89b2664d1c8e3855a8837a86","tests/time.rs":"e6bc1c9027fb893528187d74ea834fa166561ce6c16db9635aa1b677a665c06a","tests/try_convert_array.rs":"2bf663f15b841b0bd6ddcc8d9b0cb6ff9d5ccf2243c64e4037cae3a82483d9b0","tests/tuple_to_array.rs":"c2eccb535e5af3ce4e40c2a60ae36b5fdd712424f7834cd7c0ac6de9a6329049","tests/typed_data.rs":"0a3104b3f1de5fd012a47532f78f23b066d425d5d8ed71625d25ea4d170c321c","tests/typed_data_obj.rs":"3310ecfb45f39cbc10a70656c647d6bac39375554365a6ae42e12a7056db601f","tests/typed_data_subclass.rs":"25b2f46f516f2700cbb24049ed52d075e6359defe1495ee4756c1d93f11d831b","tests/typed_data_subclass_from_ruby.rs":"6fb7207a1bd5fe7c087d939ee58c36775b74b616885f497b646ee9cc9bccc22e","tests/yield.rs":"a3008268817e527fb4f0ca177a183472a365aedbf6fca00a9d2921d7ff505de2"},"package":"3b36a5b126bbe97eb0d02d07acfeb327036c6319fd816139a49824a83b7f9012"}
@@ -0,0 +1,6 @@
1
+ {
2
+ "git": {
3
+ "sha1": "bca4ea7afe6870f27c16f5ca68f2106a6390840a"
4
+ },
5
+ "path_in_vcs": ""
6
+ }
@@ -13,6 +13,68 @@
13
13
 
14
14
  ### Security
15
15
 
16
+ ## [0.8.2] - 2025-10-07
17
+ ### Fixed
18
+ - Fixed error message when converting Ruby string to a Rust string.
19
+
20
+ ## [0.8.1] - 2025-09-06
21
+ ### Fixed
22
+ - Fixed error compiling on 32-bit platforms.
23
+
24
+ ## [0.8.0] - 2025-08-25
25
+ ### Added
26
+ - `Ruby::time_nano_new`, `Ruby::time_timespec_new`, and `Time::timespec`.
27
+ - The `chrono` feature can be enabled to allow automatic conversions
28
+ between `chrono::DateTime<Utc>` and `chrono::DateTime<FixedOffset>` and Ruby
29
+ `Time` objects.
30
+ - `typed_data::Writebarrier::writebarrier` and `writebarrier_unprotect`.
31
+ - Implement `TryConvert` for `NonZero` types.
32
+ - `io` module available with `io` feature, supporting `io_extract_modeenc`,
33
+ `OpenFlags`, `FMode`, and `IoEncoding`.
34
+ - `Ruby::io_extract_modeenc`, a safe wrapper around `rb_io_extract_modeenc`,
35
+ allowing structured extraction of open flags, mode flags, and IO encoding
36
+ metadata.
37
+ - `OpenFlags` struct, which wraps Ruby's `O_` open flags
38
+ (e.g. `O_RDONLY`, `O_CREAT`) in a convenient bitflag-like interface.
39
+ - `FMode` struct, representing `FMODE_` flags used internally by Ruby to
40
+ represent IO modes (`READ`, `WRITE`, `BINARY_MODE`, etc.).
41
+ - `IoEncoding`, a safe Rust struct for temporarily owning and
42
+ inspecting `rb_io_encoding`, including safe accessors for
43
+ internal/external encoding and encoding options.
44
+ - Automatic type conversions to/from `i128`/`u128`.
45
+ - `to_i128`/`to_u128` for `Fixnum`/`Bignum`/`Integer`.
46
+ - `Ruby::integer_from_i128` & `Ruby::integer_from_u128`.
47
+ - `RHash::to_btree_map` and automatic conversion from `Hash` to `BTreeMap`.
48
+
49
+ ### Changed
50
+ - Minimum supported Rust version is now 1.65.
51
+ - Conversions between Ruby's `Time` and Rust's `SystemTime` now preserve
52
+ nanosecond precision.
53
+ - 'old-api' feature, which disables deprecation warnings for the old api is no
54
+ longer a default feature.
55
+ - `RString::to_string` will now use a Ruby utf-8 validation api that caches the
56
+ results of the validity check. This will greatly improve performance in the
57
+ case a string is already known to be utf-8, but may slightly reduce
58
+ performance when not known.
59
+ - `RString::to_interned_str` now returns an `RString` rather than an `FString`.
60
+
61
+ ### Deprecated
62
+ - `thread_fd_close` as it will be a no-op as of Ruby 3.5
63
+
64
+ ### Removed
65
+ - `FString` as it can not safely uphold the promise it was making. Either due
66
+ to Ruby's apis changing or a misinterpretation of old documentation it had
67
+ been designed assuming interned strings (aka fstrings) would not be garbage
68
+ collected, which is not the case.
69
+ - `RString::as_interned_str` as its only purpose was to return an `FString`.
70
+
71
+ ### Fixed
72
+ - The `fatal` exception raised when a Rust function bound to Ruby panics can no
73
+ longer be caught with `rescue Exception`.
74
+ - Fixed type bounds for `TryConvertOwned` for `(T, ...)` so that `T` must be
75
+ `TryConvertOwned`.
76
+ - Defining functions with an arity of 16
77
+
16
78
  ## [0.7.1] - 2024-06-30
17
79
 
18
80
  ### Fixed
@@ -479,7 +541,10 @@
479
541
  - Pre-built bindings for Ruby 2.6 - 3.1 on common platforms, build-time
480
542
  generated bindings otherwise.
481
543
 
482
- [Unreleased]: https://github.com/matsadler/magnus/compare/0.7.1...HEAD
544
+ [Unreleased]: https://github.com/matsadler/magnus/compare/0.8.0...HEAD
545
+ [0.8.2]: https://github.com/matsadler/magnus/compare/0.8.1...0.8.2
546
+ [0.8.1]: https://github.com/matsadler/magnus/compare/0.8.0...0.8.1
547
+ [0.8.0]: https://github.com/matsadler/magnus/compare/0.7.1...0.8.0
483
548
  [0.7.1]: https://github.com/matsadler/magnus/compare/0.7.0...0.7.1
484
549
  [0.7.0]: https://github.com/matsadler/magnus/compare/0.6.4...0.7.0
485
550
  [0.6.4]: https://github.com/matsadler/magnus/compare/0.6.3...0.6.4