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.
- checksums.yaml +4 -4
- data/Cargo.lock +8 -14
- data/README.md +50 -14
- data/ext/cargo-vendor/magnus-0.8.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/magnus-0.8.2/.cargo_vcs_info.json +6 -0
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/CHANGELOG.md +66 -1
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/Cargo.lock +243 -9
- data/ext/cargo-vendor/magnus-0.8.2/Cargo.toml +277 -0
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/Cargo.toml.orig +11 -6
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/README.md +75 -23
- data/ext/cargo-vendor/magnus-0.8.2/build.rs +15 -0
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/complete_object/test/temperature_test.rb +4 -4
- data/ext/cargo-vendor/magnus-0.8.2/examples/inheritance.rs +66 -0
- data/ext/cargo-vendor/magnus-0.8.2/examples/mut_point.rs +116 -0
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/api.rs +4 -3
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/class.rs +9 -7
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/encoding.rs +5 -5
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/error.rs +12 -3
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/fiber.rs +5 -5
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/gc.rs +3 -3
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/integer.rs +134 -0
- data/ext/cargo-vendor/magnus-0.8.2/src/io.rs +230 -0
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/lib.rs +53 -54
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/macros.rs +2 -2
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/method.rs +14 -100
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/module.rs +1 -1
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/mutex.rs +1 -1
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_array.rs +2 -2
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_bignum.rs +100 -3
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_hash.rs +63 -1
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_string.rs +31 -231
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_typed_data.rs +6 -9
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/rb_sys.rs +4 -4
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/scan_args.rs +3 -3
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/thread.rs +16 -10
- data/ext/cargo-vendor/magnus-0.8.2/src/time.rs +462 -0
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/try_convert.rs +64 -2
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/typed_data.rs +113 -11
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/value/flonum.rs +1 -1
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/value.rs +83 -6
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/test +1 -1
- data/ext/cargo-vendor/magnus-0.8.2/tests/hash.rs +44 -0
- data/ext/cargo-vendor/magnus-0.8.2/tests/io.rs +62 -0
- data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/return_iter.rs +1 -1
- data/ext/cargo-vendor/magnus-0.8.2/tests/string.rs +23 -0
- data/ext/cargo-vendor/magnus-0.8.2/tests/time.rs +71 -0
- data/ext/cargo-vendor/magnus-macros-0.8.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/magnus-macros-0.8.0/.cargo_vcs_info.json +6 -0
- data/ext/cargo-vendor/magnus-macros-0.8.0/Cargo.lock +47 -0
- data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/Cargo.toml +10 -1
- data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/Cargo.toml.orig +1 -1
- data/ext/cargo-vendor/magnus-macros-0.8.0/src/lib.rs +545 -0
- data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/src/typed_data.rs +3 -3
- data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/src/util.rs +1 -1
- data/ext/cargo-vendor/serde_magnus-0.10.0/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/serde_magnus-0.10.0/.cargo_vcs_info.json +6 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/Cargo.lock +77 -75
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/Cargo.toml +3 -3
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/Cargo.toml.orig +7 -4
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/README.md +8 -5
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/array_deserializer.rs +12 -8
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/array_enumerator.rs +12 -7
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/deserializer.rs +21 -18
- data/ext/cargo-vendor/serde_magnus-0.10.0/src/de/enum_deserializer.rs +35 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/hash_deserializer.rs +18 -11
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/mod.rs +76 -76
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/variant_deserializer.rs +10 -9
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/error.rs +10 -4
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/lib.rs +6 -5
- data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/enums.rs +11 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/map_serializer.rs +11 -12
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/mod.rs +53 -50
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/seq_serializer.rs +11 -10
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/serializer.rs +50 -34
- data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/struct_serializer.rs +40 -0
- data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/struct_variant_serializer.rs +45 -0
- data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/tuple_variant_serializer.rs +38 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_arrays.rs +3 -3
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_booleans.rs +15 -0
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_enums.rs +39 -0
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_floats.rs +12 -0
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_integers.rs +18 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_maps.rs +3 -2
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_options.rs +15 -0
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_results.rs +17 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_strings.rs +7 -7
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_structs.rs +9 -9
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_tuples.rs +27 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_vecs.rs +3 -3
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_arrays.rs +3 -3
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/serializing_booleans.rs +15 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_enums.rs +9 -7
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_floats.rs +2 -2
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_integers.rs +4 -4
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_maps.rs +3 -2
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_options.rs +3 -3
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_results.rs +5 -4
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/serializing_strings.rs +30 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_structs.rs +15 -7
- data/ext/cargo-vendor/serde_magnus-0.10.0/tests/serializing_tuples.rs +35 -0
- data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_vecs.rs +3 -3
- data/ext/code_ownership/Cargo.toml +2 -2
- data/ext/code_ownership/extconf.rb +2 -1
- data/ext/code_ownership/src/lib.rs +16 -16
- data/lib/code_ownership/cli.rb +14 -2
- data/lib/code_ownership/private/file_path_finder.rb +3 -7
- data/lib/code_ownership/private/file_path_team_cache.rb +5 -9
- data/lib/code_ownership/private/for_file_output_builder.rb +1 -1
- data/lib/code_ownership/private/team_finder.rb +8 -14
- data/lib/code_ownership/version.rb +2 -2
- data/lib/code_ownership.rb +62 -17
- metadata +182 -186
- data/ext/cargo-vendor/magnus-0.7.1/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/magnus-0.7.1/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/magnus-0.7.1/Cargo.toml +0 -95
- data/ext/cargo-vendor/magnus-0.7.1/build.rs +0 -5
- data/ext/cargo-vendor/magnus-0.7.1/examples/mut_point.rs +0 -60
- data/ext/cargo-vendor/magnus-0.7.1/src/time.rs +0 -190
- data/ext/cargo-vendor/magnus-0.7.1/tests/hash.rs +0 -25
- data/ext/cargo-vendor/magnus-0.7.1/tests/string.rs +0 -13
- data/ext/cargo-vendor/magnus-macros-0.6.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/magnus-macros-0.6.0/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/magnus-macros-0.6.0/src/lib.rs +0 -401
- data/ext/cargo-vendor/rb-sys-env-0.1.2/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/rb-sys-env-0.1.2/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/rb-sys-env-0.1.2/Cargo.toml +0 -25
- data/ext/cargo-vendor/rb-sys-env-0.1.2/Cargo.toml.orig +0 -14
- data/ext/cargo-vendor/rb-sys-env-0.1.2/LICENSE-APACHE +0 -190
- data/ext/cargo-vendor/rb-sys-env-0.1.2/LICENSE-MIT +0 -21
- data/ext/cargo-vendor/rb-sys-env-0.1.2/readme.md +0 -119
- data/ext/cargo-vendor/rb-sys-env-0.1.2/src/defines.rs +0 -37
- data/ext/cargo-vendor/rb-sys-env-0.1.2/src/lib.rs +0 -180
- data/ext/cargo-vendor/rb-sys-env-0.1.2/src/rb_env.rs +0 -110
- data/ext/cargo-vendor/rb-sys-env-0.1.2/src/ruby_version.rs +0 -163
- data/ext/cargo-vendor/rb-sys-env-0.1.2/src/utils.rs +0 -6
- data/ext/cargo-vendor/serde_magnus-0.9.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/serde_magnus-0.9.0/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/serde_magnus-0.9.0/src/de/enum_deserializer.rs +0 -30
- data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/enums.rs +0 -11
- data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/struct_serializer.rs +0 -36
- data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/struct_variant_serializer.rs +0 -37
- data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/tuple_variant_serializer.rs +0 -33
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_booleans.rs +0 -18
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_enums.rs +0 -39
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_floats.rs +0 -12
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_integers.rs +0 -18
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_options.rs +0 -15
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_results.rs +0 -17
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_tuples.rs +0 -31
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/serializing_booleans.rs +0 -15
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/serializing_strings.rs +0 -30
- data/ext/cargo-vendor/serde_magnus-0.9.0/tests/serializing_tuples.rs +0 -27
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/.cargo/config.toml +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/Gemfile +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/LICENSE +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/complete_object/Rakefile +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/complete_object/lib/temperature.rb +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/Rakefile +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/lib/ahriman/error.rb +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/lib/ahriman.rb +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/test/error_test.rb +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_rust/Rakefile +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_rust/lib/ahriman.rb +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_rust/test/error_test.rb +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/fibonacci.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/hello_world.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/point.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/Rakefile +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/lib/rust_blank.rb +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/test/bench.rb +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/test/blank_test.rb +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/block.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/embed.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/enumerator.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/exception.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/float.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/into_value.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/numeric.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/object.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/process.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_complex.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_file.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_float.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_match.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_object.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_rational.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_regexp.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_struct.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/range.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/symbol.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/allocate_before_init.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/array_slice.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/block_call.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/bytes.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/call_proc.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/classname.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/clone.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/codepoints.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/debug_exception.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/encoding_capable.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/enumerator.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/enumeratorize.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/float_convert_from_value.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/float_convert_to_value.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/fmt.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/freeze.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/integer_convert_to_value.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/integer_traits.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/ivar.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/lazy_id.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/make_proc.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/proc_new.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/range.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/return_custom_error.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/scan_args.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/str.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/struct.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/symbol.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/try_convert_array.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/tuple_to_array.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data_obj.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data_subclass.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data_subclass_from_ruby.rs +0 -0
- /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/yield.rs +0 -0
- /data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/src/init.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/LICENSE +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 694c5ba85aff79d932dbe3976c3fe552b0781509aa1a39c0af89e5f727cd9ce1
|
|
4
|
+
data.tar.gz: 1c360b9fd031fefb75f77d4907300b63be02ae9316bbcc6b33eb53870602fdcb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
|
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.
|
|
497
|
+
version = "0.8.2"
|
|
498
498
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
499
|
-
checksum = "
|
|
499
|
+
checksum = "3b36a5b126bbe97eb0d02d07acfeb327036c6319fd816139a49824a83b7f9012"
|
|
500
500
|
dependencies = [
|
|
501
501
|
"magnus-macros",
|
|
502
502
|
"rb-sys",
|
|
503
|
-
"rb-sys-env
|
|
503
|
+
"rb-sys-env",
|
|
504
504
|
"seq-macro",
|
|
505
505
|
]
|
|
506
506
|
|
|
507
507
|
[[package]]
|
|
508
508
|
name = "magnus-macros"
|
|
509
|
-
version = "0.
|
|
509
|
+
version = "0.8.0"
|
|
510
510
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
511
|
-
checksum = "
|
|
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.
|
|
808
|
+
version = "0.10.0"
|
|
815
809
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
816
|
-
checksum = "
|
|
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](
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
33
|
-
|
|
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
|
-
|
|
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 `
|
|
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
|
|
165
|
-
2
|
|
166
|
-
3
|
|
167
|
-
|
|
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
|
-
|
|
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"}
|
|
@@ -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.
|
|
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
|