code_ownership 2.0.0 → 2.1.1

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 (228) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +8 -14
  3. data/README.md +50 -14
  4. data/ext/cargo-vendor/magnus-0.8.2/.cargo-checksum.json +1 -0
  5. data/ext/cargo-vendor/magnus-0.8.2/.cargo_vcs_info.json +6 -0
  6. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/CHANGELOG.md +66 -1
  7. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/Cargo.lock +243 -9
  8. data/ext/cargo-vendor/magnus-0.8.2/Cargo.toml +277 -0
  9. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/Cargo.toml.orig +11 -6
  10. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/README.md +75 -23
  11. data/ext/cargo-vendor/magnus-0.8.2/build.rs +15 -0
  12. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/complete_object/test/temperature_test.rb +4 -4
  13. data/ext/cargo-vendor/magnus-0.8.2/examples/inheritance.rs +66 -0
  14. data/ext/cargo-vendor/magnus-0.8.2/examples/mut_point.rs +116 -0
  15. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/api.rs +4 -3
  16. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/class.rs +9 -7
  17. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/encoding.rs +5 -5
  18. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/error.rs +12 -3
  19. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/fiber.rs +5 -5
  20. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/gc.rs +3 -3
  21. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/integer.rs +134 -0
  22. data/ext/cargo-vendor/magnus-0.8.2/src/io.rs +230 -0
  23. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/lib.rs +53 -54
  24. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/macros.rs +2 -2
  25. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/method.rs +14 -100
  26. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/module.rs +1 -1
  27. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/mutex.rs +1 -1
  28. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_array.rs +2 -2
  29. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_bignum.rs +100 -3
  30. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_hash.rs +63 -1
  31. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_string.rs +31 -231
  32. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_typed_data.rs +6 -9
  33. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/rb_sys.rs +4 -4
  34. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/scan_args.rs +3 -3
  35. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/thread.rs +16 -10
  36. data/ext/cargo-vendor/magnus-0.8.2/src/time.rs +462 -0
  37. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/try_convert.rs +64 -2
  38. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/typed_data.rs +113 -11
  39. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/value/flonum.rs +1 -1
  40. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/value.rs +83 -6
  41. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/test +1 -1
  42. data/ext/cargo-vendor/magnus-0.8.2/tests/hash.rs +44 -0
  43. data/ext/cargo-vendor/magnus-0.8.2/tests/io.rs +62 -0
  44. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/return_iter.rs +1 -1
  45. data/ext/cargo-vendor/magnus-0.8.2/tests/string.rs +23 -0
  46. data/ext/cargo-vendor/magnus-0.8.2/tests/time.rs +71 -0
  47. data/ext/cargo-vendor/magnus-macros-0.8.0/.cargo-checksum.json +1 -0
  48. data/ext/cargo-vendor/magnus-macros-0.8.0/.cargo_vcs_info.json +6 -0
  49. data/ext/cargo-vendor/magnus-macros-0.8.0/Cargo.lock +47 -0
  50. data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/Cargo.toml +10 -1
  51. data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/Cargo.toml.orig +1 -1
  52. data/ext/cargo-vendor/magnus-macros-0.8.0/src/lib.rs +545 -0
  53. data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/src/typed_data.rs +3 -3
  54. data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/src/util.rs +1 -1
  55. data/ext/cargo-vendor/serde_magnus-0.10.0/.cargo-checksum.json +1 -0
  56. data/ext/cargo-vendor/serde_magnus-0.10.0/.cargo_vcs_info.json +6 -0
  57. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/Cargo.lock +77 -75
  58. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/Cargo.toml +3 -3
  59. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/Cargo.toml.orig +7 -4
  60. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/README.md +8 -5
  61. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/array_deserializer.rs +12 -8
  62. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/array_enumerator.rs +12 -7
  63. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/deserializer.rs +21 -18
  64. data/ext/cargo-vendor/serde_magnus-0.10.0/src/de/enum_deserializer.rs +35 -0
  65. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/hash_deserializer.rs +18 -11
  66. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/mod.rs +76 -76
  67. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/variant_deserializer.rs +10 -9
  68. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/error.rs +10 -4
  69. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/lib.rs +6 -5
  70. data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/enums.rs +11 -0
  71. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/map_serializer.rs +11 -12
  72. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/mod.rs +53 -50
  73. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/seq_serializer.rs +11 -10
  74. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/serializer.rs +50 -34
  75. data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/struct_serializer.rs +40 -0
  76. data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/struct_variant_serializer.rs +45 -0
  77. data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/tuple_variant_serializer.rs +38 -0
  78. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_arrays.rs +3 -3
  79. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_booleans.rs +15 -0
  80. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_enums.rs +39 -0
  81. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_floats.rs +12 -0
  82. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_integers.rs +18 -0
  83. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_maps.rs +3 -2
  84. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_options.rs +15 -0
  85. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_results.rs +17 -0
  86. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_strings.rs +7 -7
  87. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_structs.rs +9 -9
  88. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_tuples.rs +27 -0
  89. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_vecs.rs +3 -3
  90. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_arrays.rs +3 -3
  91. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/serializing_booleans.rs +15 -0
  92. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_enums.rs +9 -7
  93. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_floats.rs +2 -2
  94. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_integers.rs +4 -4
  95. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_maps.rs +3 -2
  96. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_options.rs +3 -3
  97. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_results.rs +5 -4
  98. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/serializing_strings.rs +30 -0
  99. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_structs.rs +15 -7
  100. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/serializing_tuples.rs +35 -0
  101. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_vecs.rs +3 -3
  102. data/ext/code_ownership/Cargo.toml +2 -2
  103. data/ext/code_ownership/extconf.rb +2 -1
  104. data/ext/code_ownership/src/lib.rs +16 -16
  105. data/lib/code_ownership/cli.rb +14 -2
  106. data/lib/code_ownership/private/file_path_finder.rb +3 -7
  107. data/lib/code_ownership/private/file_path_team_cache.rb +5 -9
  108. data/lib/code_ownership/private/for_file_output_builder.rb +1 -1
  109. data/lib/code_ownership/private/team_finder.rb +8 -14
  110. data/lib/code_ownership/version.rb +2 -2
  111. data/lib/code_ownership.rb +62 -17
  112. metadata +182 -186
  113. data/ext/cargo-vendor/magnus-0.7.1/.cargo-checksum.json +0 -1
  114. data/ext/cargo-vendor/magnus-0.7.1/.cargo_vcs_info.json +0 -6
  115. data/ext/cargo-vendor/magnus-0.7.1/Cargo.toml +0 -95
  116. data/ext/cargo-vendor/magnus-0.7.1/build.rs +0 -5
  117. data/ext/cargo-vendor/magnus-0.7.1/examples/mut_point.rs +0 -60
  118. data/ext/cargo-vendor/magnus-0.7.1/src/time.rs +0 -190
  119. data/ext/cargo-vendor/magnus-0.7.1/tests/hash.rs +0 -25
  120. data/ext/cargo-vendor/magnus-0.7.1/tests/string.rs +0 -13
  121. data/ext/cargo-vendor/magnus-macros-0.6.0/.cargo-checksum.json +0 -1
  122. data/ext/cargo-vendor/magnus-macros-0.6.0/.cargo_vcs_info.json +0 -6
  123. data/ext/cargo-vendor/magnus-macros-0.6.0/src/lib.rs +0 -401
  124. data/ext/cargo-vendor/rb-sys-env-0.1.2/.cargo-checksum.json +0 -1
  125. data/ext/cargo-vendor/rb-sys-env-0.1.2/.cargo_vcs_info.json +0 -6
  126. data/ext/cargo-vendor/rb-sys-env-0.1.2/Cargo.toml +0 -25
  127. data/ext/cargo-vendor/rb-sys-env-0.1.2/Cargo.toml.orig +0 -14
  128. data/ext/cargo-vendor/rb-sys-env-0.1.2/LICENSE-APACHE +0 -190
  129. data/ext/cargo-vendor/rb-sys-env-0.1.2/LICENSE-MIT +0 -21
  130. data/ext/cargo-vendor/rb-sys-env-0.1.2/readme.md +0 -119
  131. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/defines.rs +0 -37
  132. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/lib.rs +0 -180
  133. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/rb_env.rs +0 -110
  134. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/ruby_version.rs +0 -163
  135. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/utils.rs +0 -6
  136. data/ext/cargo-vendor/serde_magnus-0.9.0/.cargo-checksum.json +0 -1
  137. data/ext/cargo-vendor/serde_magnus-0.9.0/.cargo_vcs_info.json +0 -6
  138. data/ext/cargo-vendor/serde_magnus-0.9.0/src/de/enum_deserializer.rs +0 -30
  139. data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/enums.rs +0 -11
  140. data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/struct_serializer.rs +0 -36
  141. data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/struct_variant_serializer.rs +0 -37
  142. data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/tuple_variant_serializer.rs +0 -33
  143. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_booleans.rs +0 -18
  144. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_enums.rs +0 -39
  145. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_floats.rs +0 -12
  146. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_integers.rs +0 -18
  147. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_options.rs +0 -15
  148. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_results.rs +0 -17
  149. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_tuples.rs +0 -31
  150. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/serializing_booleans.rs +0 -15
  151. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/serializing_strings.rs +0 -30
  152. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/serializing_tuples.rs +0 -27
  153. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/.cargo/config.toml +0 -0
  154. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/Gemfile +0 -0
  155. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/LICENSE +0 -0
  156. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/complete_object/Rakefile +0 -0
  157. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/complete_object/lib/temperature.rb +0 -0
  158. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/Rakefile +0 -0
  159. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/lib/ahriman/error.rb +0 -0
  160. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/lib/ahriman.rb +0 -0
  161. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/test/error_test.rb +0 -0
  162. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_rust/Rakefile +0 -0
  163. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_rust/lib/ahriman.rb +0 -0
  164. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_rust/test/error_test.rb +0 -0
  165. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/fibonacci.rs +0 -0
  166. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/hello_world.rs +0 -0
  167. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/point.rs +0 -0
  168. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/Rakefile +0 -0
  169. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/lib/rust_blank.rb +0 -0
  170. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/test/bench.rb +0 -0
  171. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/test/blank_test.rb +0 -0
  172. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/block.rs +0 -0
  173. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/embed.rs +0 -0
  174. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/enumerator.rs +0 -0
  175. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/exception.rs +0 -0
  176. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/float.rs +0 -0
  177. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/into_value.rs +0 -0
  178. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/numeric.rs +0 -0
  179. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/object.rs +0 -0
  180. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/process.rs +0 -0
  181. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_complex.rs +0 -0
  182. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_file.rs +0 -0
  183. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_float.rs +0 -0
  184. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_match.rs +0 -0
  185. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_object.rs +0 -0
  186. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_rational.rs +0 -0
  187. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_regexp.rs +0 -0
  188. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_struct.rs +0 -0
  189. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/range.rs +0 -0
  190. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/symbol.rs +0 -0
  191. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/allocate_before_init.rs +0 -0
  192. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/array_slice.rs +0 -0
  193. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/block_call.rs +0 -0
  194. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/bytes.rs +0 -0
  195. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/call_proc.rs +0 -0
  196. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/classname.rs +0 -0
  197. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/clone.rs +0 -0
  198. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/codepoints.rs +0 -0
  199. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/debug_exception.rs +0 -0
  200. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/encoding_capable.rs +0 -0
  201. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/enumerator.rs +0 -0
  202. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/enumeratorize.rs +0 -0
  203. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/float_convert_from_value.rs +0 -0
  204. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/float_convert_to_value.rs +0 -0
  205. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/fmt.rs +0 -0
  206. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/freeze.rs +0 -0
  207. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/integer_convert_to_value.rs +0 -0
  208. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/integer_traits.rs +0 -0
  209. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/ivar.rs +0 -0
  210. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/lazy_id.rs +0 -0
  211. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/make_proc.rs +0 -0
  212. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/proc_new.rs +0 -0
  213. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/range.rs +0 -0
  214. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/return_custom_error.rs +0 -0
  215. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/scan_args.rs +0 -0
  216. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/str.rs +0 -0
  217. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/struct.rs +0 -0
  218. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/symbol.rs +0 -0
  219. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/try_convert_array.rs +0 -0
  220. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/tuple_to_array.rs +0 -0
  221. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data.rs +0 -0
  222. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data_obj.rs +0 -0
  223. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data_subclass.rs +0 -0
  224. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data_subclass_from_ruby.rs +0 -0
  225. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/yield.rs +0 -0
  226. /data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/LICENSE +0 -0
  227. /data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/src/init.rs +0 -0
  228. /data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/LICENSE +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 83f3c317cdf7db45eb48b216fc86fc03ba101c8e87ebe2e6b2ec0a27b23f7b5b
4
- data.tar.gz: ea97e16de10c95494e4e7ea334cbe78c81e2c7589607afe7a6afe967b818dda5
3
+ metadata.gz: 694c5ba85aff79d932dbe3976c3fe552b0781509aa1a39c0af89e5f727cd9ce1
4
+ data.tar.gz: 1c360b9fd031fefb75f77d4907300b63be02ae9316bbcc6b33eb53870602fdcb
5
5
  SHA512:
6
- metadata.gz: 9642faa88fea498efd7e7d504f45bc9f092aad4e736d77dc551c6d36d11569ecf4f3f62074fbd69533a721799ad5e822ad87b855fe9e8e12cfb0e0b557d8783e
7
- data.tar.gz: 6a783844309b3fec6bdd704c05ce142bb67dea227f2865eb487a1fe1e988025a813f65144dcf58c33c7d82be7425e9984d00713236f9c5e3999b2ed0d611ed7f
6
+ metadata.gz: 53c140fd95c1d935e8c1a2666ce73f05795702053e3d60a78ad5947ca867839c9a3406cd70427b33db2cfd120a1b53e676890d086948945a8626b8caee511efd
7
+ data.tar.gz: db0f74d47095eac705be408d563d7cc553a6e21cc282fd4d0dd39cfe45051896539429255459a94e2584f476b1aacdc213ab92de7a97be04bc0f5ae0ef5ba445
data/Cargo.lock CHANGED
@@ -193,7 +193,7 @@ dependencies = [
193
193
  "codeowners",
194
194
  "magnus",
195
195
  "rb-sys",
196
- "rb-sys-env 0.2.2",
196
+ "rb-sys-env",
197
197
  "serde",
198
198
  "serde_magnus",
199
199
  ]
@@ -494,21 +494,21 @@ dependencies = [
494
494
 
495
495
  [[package]]
496
496
  name = "magnus"
497
- version = "0.7.1"
497
+ version = "0.8.2"
498
498
  source = "registry+https://github.com/rust-lang/crates.io-index"
499
- checksum = "3d87ae53030f3a22e83879e666cb94e58a7bdf31706878a0ba48752994146dab"
499
+ checksum = "3b36a5b126bbe97eb0d02d07acfeb327036c6319fd816139a49824a83b7f9012"
500
500
  dependencies = [
501
501
  "magnus-macros",
502
502
  "rb-sys",
503
- "rb-sys-env 0.1.2",
503
+ "rb-sys-env",
504
504
  "seq-macro",
505
505
  ]
506
506
 
507
507
  [[package]]
508
508
  name = "magnus-macros"
509
- version = "0.6.0"
509
+ version = "0.8.0"
510
510
  source = "registry+https://github.com/rust-lang/crates.io-index"
511
- checksum = "5968c820e2960565f647819f5928a42d6e874551cab9d88d75e3e0660d7f71e3"
511
+ checksum = "47607461fd8e1513cb4f2076c197d8092d921a1ea75bd08af97398f593751892"
512
512
  dependencies = [
513
513
  "proc-macro2",
514
514
  "quote",
@@ -670,12 +670,6 @@ dependencies = [
670
670
  "syn 2.0.106",
671
671
  ]
672
672
 
673
- [[package]]
674
- name = "rb-sys-env"
675
- version = "0.1.2"
676
- source = "registry+https://github.com/rust-lang/crates.io-index"
677
- checksum = "a35802679f07360454b418a5d1735c89716bde01d35b1560fc953c1415a0b3bb"
678
-
679
673
  [[package]]
680
674
  name = "rb-sys-env"
681
675
  version = "0.2.2"
@@ -811,9 +805,9 @@ dependencies = [
811
805
 
812
806
  [[package]]
813
807
  name = "serde_magnus"
814
- version = "0.9.0"
808
+ version = "0.10.0"
815
809
  source = "registry+https://github.com/rust-lang/crates.io-index"
816
- checksum = "51b8b945a2dadb221f1c5490cfb411cab6c3821446b8eca50ee07e5a3893ec51"
810
+ checksum = "c4a5121544138e6a14036e48ecbe589fb63577f35620caaa32642257b412c317"
817
811
  dependencies = [
818
812
  "magnus",
819
813
  "serde",
data/README.md CHANGED
@@ -6,13 +6,14 @@ Check out [`lib/code_ownership.rb`](https://github.com/rubyatscale/code_ownershi
6
6
 
7
7
  Check out [`code_ownership_spec.rb`](https://github.com/rubyatscale/code_ownership/blob/main/spec/lib/code_ownership_spec.rb) to see examples of how code ownership is used.
8
8
 
9
- There is also a [companion VSCode Extension]([url](https://github.com/rubyatscale/code-ownership-vscode)) for this gem. Just search `Gusto.code-ownership-vscode` in the VSCode Extension Marketplace.
9
+ There is also a [companion VSCode Extension](https://github.com/rubyatscale/code-ownership-vscode) for this gem. Just search `Gusto.code-ownership-vscode` in the VSCode Extension Marketplace.
10
10
 
11
11
  ## Getting started
12
12
 
13
13
  To get started there's a few things you should do.
14
14
 
15
- 1) Create a `config/code_ownership.yml` file and declare where your files live. Here's a sample to start with:
15
+ 1. Create a `config/code_ownership.yml` file and declare where your files live. Here's a sample to start with:
16
+
16
17
  ```yml
17
18
  owned_globs:
18
19
  - '{app,components,config,frontend,lib,packs,spec}/**/*.{rb,rake,js,jsx,ts,tsx}'
@@ -23,33 +24,42 @@ unowned_globs:
23
24
  - app/services/some_file2.rb
24
25
  - frontend/javascripts/**/__generated__/**/*
25
26
  ```
26
- 2) Declare some teams. Here's an example, that would live at `config/teams/operations.yml`:
27
+
28
+ 2. Declare some teams. Here's an example, that would live at `config/teams/operations.yml`:
29
+
27
30
  ```yml
28
31
  name: Operations
29
32
  github:
30
33
  team: '@my-org/operations-team'
31
34
  ```
32
- 3) Declare ownership. You can do this at a directory level or at a file level. All of the files within the `owned_globs` you declared in step 1 will need to have an owner assigned (or be opted out via `unowned_globs`). See the next section for more detail.
33
- 4) Run validations when you commit, and/or in CI. If you run validations in CI, ensure that if your `.github/CODEOWNERS` file gets changed, that gets pushed to the PR.
35
+
36
+ 3. Declare ownership. You can do this at a directory level or at a file level. All of the files within the `owned_globs` you declared in step 1 will need to have an owner assigned (or be opted out via `unowned_globs`). See the next section for more detail.
37
+ 4. Run validations when you commit, and/or in CI. If you run validations in CI, ensure that if your `.github/CODEOWNERS` file gets changed, that gets pushed to the PR.
34
38
 
35
39
  ## Usage: Declaring Ownership
36
40
 
37
41
  There are five ways to declare code ownership using this gem:
38
42
 
39
43
  ### Directory-Based Ownership
44
+
40
45
  Directory based ownership allows for all files in that directory and all its sub-directories to be owned by one team. To define this, add a `.codeowner` file inside that directory with the name of the team as the contents of that file.
46
+
41
47
  ```
42
48
  Team
43
49
  ```
44
50
 
45
51
  ### File-Annotation Based Ownership
52
+
46
53
  File annotations are a last resort if there is no clear home for your code. File annotations go at the top of your file, and look like this:
54
+
47
55
  ```ruby
48
56
  # @team MyTeam
49
57
  ```
50
58
 
51
59
  ### Package-Based Ownership
60
+
52
61
  Package based ownership integrates [`packwerk`](https://github.com/Shopify/packwerk) and has ownership defined per package. To define that all files within a package are owned by one team, configure your `package.yml` like this:
62
+
53
63
  ```yml
54
64
  enforce_dependency: true
55
65
  enforce_privacy: true
@@ -58,16 +68,19 @@ metadata:
58
68
  ```
59
69
 
60
70
  You can also define `owner` as a top-level key, e.g.
71
+
61
72
  ```yml
62
73
  enforce_dependency: true
63
74
  enforce_privacy: true
64
75
  owner: Team
65
76
  ```
66
77
 
67
- To do this, add `code_ownership` to the `require` key of your `packwerk.yml`. See https://github.com/Shopify/packwerk/blob/main/USAGE.md#loading-extensions for more information.
78
+ To do this, add `code_ownership` to the `require` key of your `packwerk.yml`. See <https://github.com/Shopify/packwerk/blob/main/USAGE.md#loading-extensions> for more information.
68
79
 
69
80
  ### Glob-Based Ownership
81
+
70
82
  In your team's configured YML (see [`code_teams`](https://github.com/rubyatscale/code_teams)), you can set `owned_globs` to be a glob of files your team owns. For example, in `my_team.yml`:
83
+
71
84
  ```yml
72
85
  name: My Team
73
86
  owned_globs:
@@ -78,6 +91,7 @@ unowned_globs:
78
91
  ```
79
92
 
80
93
  ### Javascript Package Ownership
94
+
81
95
  Javascript package based ownership allows you to specify an ownership key in a `package.json`. To use this, configure your `package.json` like this:
82
96
 
83
97
  ```json
@@ -91,6 +105,7 @@ Javascript package based ownership allows you to specify an ownership key in a `
91
105
  ```
92
106
 
93
107
  You can also tell `code_ownership` where to find JS packages in the configuration, like this:
108
+
94
109
  ```yml
95
110
  js_package_paths:
96
111
  - frontend/javascripts/packages/*
@@ -101,12 +116,15 @@ This defaults `**/`, which makes it look for `package.json` files across your ap
101
116
 
102
117
  > [!NOTE]
103
118
  > Javscript package ownership does not respect `unowned_globs`. If you wish to disable usage of this feature you can set `js_package_paths` to an empty list.
119
+
104
120
  ```yml
105
121
  js_package_paths: []
106
122
  ```
107
123
 
108
124
  ## Usage: Reading CodeOwnership
125
+
109
126
  ### `for_file`
127
+
110
128
  `CodeOwnership.for_file`, given a relative path to a file returns a `CodeTeams::Team` if there is a team that owns the file, `nil` otherwise.
111
129
 
112
130
  ```ruby
@@ -118,6 +136,7 @@ Contributor note: If you are making updates to this method or the methods gettin
118
136
  See `code_ownership_spec.rb` for examples.
119
137
 
120
138
  ### `for_backtrace`
139
+
121
140
  `CodeOwnership.for_backtrace` can be given a backtrace and will either return `nil`, or a `CodeTeams::Team`.
122
141
 
123
142
  ```ruby
@@ -141,19 +160,22 @@ Under the hood, this finds the file where the class is defined and returns the o
141
160
  See `code_ownership_spec.rb` for an example.
142
161
 
143
162
  ### `for_team`
163
+
144
164
  `CodeOwnership.for_team` can be used to generate an ownership report for a team.
165
+
145
166
  ```ruby
146
167
  CodeOwnership.for_team('My Team')
147
168
  ```
148
169
 
149
170
  You can shovel this into a markdown file for easy viewing using the CLI:
171
+
150
172
  ```
151
- bin/codeownership for_team 'My Team' > tmp/ownership_report.md
173
+ codeownership for_team 'My Team' > tmp/ownership_report.md
152
174
  ```
153
175
 
154
176
  ## Usage: Generating a `CODEOWNERS` file
155
177
 
156
- A `CODEOWNERS` file defines who owns specific files or paths in a repository. When you run `bin/codeownership validate`, a `.github/CODEOWNERS` file will automatically be generated and updated.
178
+ A `CODEOWNERS` file defines who owns specific files or paths in a repository. When you run `codeownership validate`, a `.github/CODEOWNERS` file will automatically be generated and updated.
157
179
 
158
180
  If `codeowners_path` is set in `code_ownership.yml` codeowners will use that path to generate the `CODEOWNERS` file. For example, `codeowners_path: docs` will generate `docs/CODEOWNERS`.
159
181
 
@@ -161,14 +183,15 @@ If `codeowners_path` is set in `code_ownership.yml` codeowners will use that pat
161
183
 
162
184
  CodeOwnership comes with a validation function to ensure the following things are true:
163
185
 
164
- 1) Only one mechanism is defining file ownership. That is -- you can't have a file annotation on a file owned via package-based or glob-based ownership. This helps make ownership behavior more clear by avoiding concerns about precedence.
165
- 2) All teams referenced as an owner for any file or package is a valid team (i.e. it's in the list of `CodeTeams.all`).
166
- 3) All files have ownership. You can specify in `unowned_globs` to represent a TODO list of files to add ownership to.
167
- 3) The `.github/CODEOWNERS` file is up to date. This is automatically corrected and staged unless specified otherwise with `bin/codeownership validate --skip-autocorrect --skip-stage`. You can turn this validation off by setting `skip_codeowners_validation: true` in `config/code_ownership.yml`.
186
+ 1. Only one mechanism is defining file ownership. That is -- you can't have a file annotation on a file owned via package-based or glob-based ownership. This helps make ownership behavior more clear by avoiding concerns about precedence.
187
+ 2. All teams referenced as an owner for any file or package is a valid team (i.e. it's in the list of `CodeTeams.all`).
188
+ 3. All files have ownership. You can specify in `unowned_globs` to represent a TODO list of files to add ownership to.
189
+ 4. The `.github/CODEOWNERS` file is up to date. This is automatically corrected and staged unless specified otherwise with `bin/codeownership validate --skip-autocorrect --skip-stage`. You can turn this validation off by setting `skip_codeowners_validation: true` in `config/code_ownership.yml`.
168
190
 
169
191
  CodeOwnership also allows you to specify which globs and file extensions should be considered ownable.
170
192
 
171
193
  Here is an example `config/code_ownership.yml`.
194
+
172
195
  ```yml
173
196
  owned_globs:
174
197
  - '{app,components,config,frontend,lib,packs,spec}/**/*.{rb,rake,js,jsx,ts,tsx}'
@@ -178,13 +201,24 @@ unowned_globs:
178
201
  - app/services/some_file2.rb
179
202
  - frontend/javascripts/**/__generated__/**/*
180
203
  ```
204
+
181
205
  You can call the validation function with the Ruby API
206
+
182
207
  ```ruby
183
208
  CodeOwnership.validate!
184
209
  ```
210
+
185
211
  or the CLI
186
- ```
187
- bin/codeownership validate
212
+
213
+ ```bash
214
+ # Validate all files
215
+ codeownership validate
216
+
217
+ # Validate specific files
218
+ codeownership validate path/to/file1.rb path/to/file2.rb
219
+
220
+ # Validate only staged files
221
+ codeownership validate --diff
188
222
  ```
189
223
 
190
224
  ## Development
@@ -192,10 +226,12 @@ bin/codeownership validate
192
226
  Please add to `CHANGELOG.md` and this `README.md` when you make make changes.
193
227
 
194
228
  ## Running specs
229
+
195
230
  ```sh
196
231
  bundle install
197
232
  bundle exec rake
198
233
  ```
199
234
 
200
235
  ## Creating a new release
236
+
201
237
  Simply [create a new release](https://github.com/rubyatscale/code_ownership/releases/new) with github. The release tag must match the gem version
@@ -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