code_ownership 2.1.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/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 +1 -0
- 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 +0 -1
- data/lib/code_ownership/private/team_finder.rb +8 -14
- data/lib/code_ownership/version.rb +2 -2
- data/lib/code_ownership.rb +12 -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
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
# `rb-sys-env`
|
|
2
|
-
|
|
3
|
-
Helpers to integrate `rb-sys` into your high-level Ruby bindings library.
|
|
4
|
-
|
|
5
|
-
## Features
|
|
6
|
-
|
|
7
|
-
- Provides the neccesary Cargo configuration to ensure that Rust crates compile properly across all platforms
|
|
8
|
-
- Sets useful rustc-cfg flags that you can use from your crate
|
|
9
|
-
- Exposes all `RbConfig::CONFIG` values from rb-sys
|
|
10
|
-
|
|
11
|
-
## Usage
|
|
12
|
-
|
|
13
|
-
Add this to your `Cargo.toml`:
|
|
14
|
-
|
|
15
|
-
```toml
|
|
16
|
-
[build-dependencies]
|
|
17
|
-
rb-sys-env = "0.1"
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Then, in your crate's `build.rs`:
|
|
21
|
-
|
|
22
|
-
```rust
|
|
23
|
-
pub fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
24
|
-
let _rb_env = rb_sys_env::activate()?;
|
|
25
|
-
|
|
26
|
-
Ok(())
|
|
27
|
-
}
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## Available `rustc-cfg`
|
|
31
|
-
|
|
32
|
-
Here is an example of the `rustc-cfg` flags that are set by this crate:
|
|
33
|
-
|
|
34
|
-
- `#[cfg(ruby_have_ruby_re_h)]`
|
|
35
|
-
- `#[cfg(ruby_use_rgengc)]`
|
|
36
|
-
- `#[cfg(ruby_use_symbol_as_method_name)]`
|
|
37
|
-
- `#[cfg(ruby_have_ruby_util_h)]`
|
|
38
|
-
- `#[cfg(ruby_have_ruby_oniguruma_h)]`
|
|
39
|
-
- `#[cfg(ruby_have_ruby_defines_h)]`
|
|
40
|
-
- `#[cfg(ruby_use_flonum)]`
|
|
41
|
-
- `#[cfg(ruby_have_ruby_onigmo_h)]`
|
|
42
|
-
- `#[cfg(ruby_use_unaligned_member_access)]`
|
|
43
|
-
- `#[cfg(ruby_use_transient_heap)]`
|
|
44
|
-
- `#[cfg(ruby_have_ruby_atomic_h)]`
|
|
45
|
-
- `#[cfg(ruby_have_rb_scan_args_optional_hash)]`
|
|
46
|
-
- `#[cfg(ruby_have_rb_data_type_t_parent)]`
|
|
47
|
-
- `#[cfg(ruby_have_ruby_debug_h)]`
|
|
48
|
-
- `#[cfg(ruby_have_ruby_encoding_h)]`
|
|
49
|
-
- `#[cfg(ruby_have_ruby_ruby_h)]`
|
|
50
|
-
- `#[cfg(ruby_have_ruby_intern_h)]`
|
|
51
|
-
- `#[cfg(ruby_use_mjit)]`
|
|
52
|
-
- `#[cfg(ruby_have_rb_data_type_t_function)]`
|
|
53
|
-
- `#[cfg(ruby_have_rb_fd_init)]`
|
|
54
|
-
- `#[cfg(ruby_have_rb_reg_new_str)]`
|
|
55
|
-
- `#[cfg(ruby_have_rb_io_t)]`
|
|
56
|
-
- `#[cfg(ruby_have_ruby_memory_view_h)]`
|
|
57
|
-
- `#[cfg(ruby_have_ruby_version_h)]`
|
|
58
|
-
- `#[cfg(ruby_have_ruby_st_h)]`
|
|
59
|
-
- `#[cfg(ruby_have_ruby_thread_native_h)]`
|
|
60
|
-
- `#[cfg(ruby_have_ruby_random_h)]`
|
|
61
|
-
- `#[cfg(ruby_have_ruby_regex_h)]`
|
|
62
|
-
- `#[cfg(ruby_have_rb_define_alloc_func)]`
|
|
63
|
-
- `#[cfg(ruby_have_ruby_fiber_scheduler_h)]`
|
|
64
|
-
- `#[cfg(ruby_have_ruby_missing_h)]`
|
|
65
|
-
- `#[cfg(ruby_have_rb_ext_ractor_safe)]`
|
|
66
|
-
- `#[cfg(ruby_have_ruby_thread_h)]`
|
|
67
|
-
- `#[cfg(ruby_have_ruby_vm_h)]`
|
|
68
|
-
- `#[cfg(ruby_use_rincgc)]`
|
|
69
|
-
- `#[cfg(ruby_have_ruby_ractor_h)]`
|
|
70
|
-
- `#[cfg(ruby_have_ruby_io_h)]`
|
|
71
|
-
- `#[cfg(ruby_3)]`
|
|
72
|
-
- `#[cfg(ruby_3_1)]`
|
|
73
|
-
- `#[cfg(ruby_3_1_2)]`
|
|
74
|
-
- `#[cfg(ruby_gte_2_2)]`
|
|
75
|
-
- `#[cfg(ruby_gt_2_2)]`
|
|
76
|
-
- `#[cfg(ruby_gte_2_3)]`
|
|
77
|
-
- `#[cfg(ruby_gt_2_3)]`
|
|
78
|
-
- `#[cfg(ruby_gte_2_4)]`
|
|
79
|
-
- `#[cfg(ruby_gt_2_4)]`
|
|
80
|
-
- `#[cfg(ruby_gte_2_5)]`
|
|
81
|
-
- `#[cfg(ruby_gt_2_5)]`
|
|
82
|
-
- `#[cfg(ruby_gte_2_6)]`
|
|
83
|
-
- `#[cfg(ruby_gt_2_6)]`
|
|
84
|
-
- `#[cfg(ruby_gte_2_7)]`
|
|
85
|
-
- `#[cfg(ruby_gt_2_7)]`
|
|
86
|
-
- `#[cfg(ruby_gte_3_0)]`
|
|
87
|
-
- `#[cfg(ruby_gt_3_0)]`
|
|
88
|
-
- `#[cfg(ruby_lte_3_1)]`
|
|
89
|
-
- `#[cfg(ruby_3_1)]`
|
|
90
|
-
- `#[cfg(ruby_eq_3_1)]`
|
|
91
|
-
- `#[cfg(ruby_gte_3_1)]`
|
|
92
|
-
- `#[cfg(ruby_lt_3_2)]`
|
|
93
|
-
- `#[cfg(ruby_lte_3_2)]`
|
|
94
|
-
- `#[cfg(ruby_lt_3_3)]`
|
|
95
|
-
- `#[cfg(ruby_lte_3_3)]`
|
|
96
|
-
- `#[cfg(ruby_gte_1)]`
|
|
97
|
-
- `#[cfg(ruby_gt_1)]`
|
|
98
|
-
- `#[cfg(ruby_gte_2)]`
|
|
99
|
-
- `#[cfg(ruby_gt_2)]`
|
|
100
|
-
- `#[cfg(ruby_lte_3)]`
|
|
101
|
-
- `#[cfg(ruby_3)]`
|
|
102
|
-
- `#[cfg(ruby_eq_3)]`
|
|
103
|
-
- `#[cfg(ruby_gte_3)]`
|
|
104
|
-
- `#[cfg(ruby_lt_4)]`
|
|
105
|
-
- `#[cfg(ruby_lte_4)]`
|
|
106
|
-
|
|
107
|
-
## License
|
|
108
|
-
|
|
109
|
-
Licensed under either of
|
|
110
|
-
|
|
111
|
-
- Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
|
|
112
|
-
- MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
|
|
113
|
-
|
|
114
|
-
at your option.
|
|
115
|
-
|
|
116
|
-
### Contribution
|
|
117
|
-
|
|
118
|
-
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as
|
|
119
|
-
defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
use std::{collections::HashMap, rc::Rc};
|
|
2
|
-
|
|
3
|
-
/// The DEFINES variables from libruby.
|
|
4
|
-
#[derive(Debug, Clone)]
|
|
5
|
-
pub struct Defines {
|
|
6
|
-
raw_environment: Rc<HashMap<String, String>>,
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
impl Defines {
|
|
10
|
-
pub(crate) fn from_raw_environment(raw_environment: Rc<HashMap<String, String>>) -> Self {
|
|
11
|
-
Self { raw_environment }
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/// Determines the given key is true.
|
|
15
|
-
pub fn is_value_true(&self, key: &str) -> bool {
|
|
16
|
-
self.raw_environment
|
|
17
|
-
.get(format!("DEFINES_{}", key).as_str())
|
|
18
|
-
.map(|v| v == "1" || v == "true")
|
|
19
|
-
.unwrap_or(false)
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/// Fetches the raw value for the given key.
|
|
23
|
-
pub fn get_raw_value(&self, key: &str) -> Option<&str> {
|
|
24
|
-
self.raw_environment
|
|
25
|
-
.get(format!("DEFINES_{}", key).as_str())
|
|
26
|
-
.map(|v| v.as_str())
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
pub(crate) fn print_cargo_rustc_cfg(&self) {
|
|
30
|
-
for (key, val) in self.raw_environment.iter() {
|
|
31
|
-
if key.starts_with("DEFINES_") && val == "true" {
|
|
32
|
-
let key = key.trim_start_matches("DEFINES_");
|
|
33
|
-
rustc_cfg!("ruby_{}", key.to_lowercase());
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
//! # `rb-sys-env`
|
|
2
|
-
//!
|
|
3
|
-
//! Helpers to integrate `rb-sys` into your high-level Ruby bindings library.
|
|
4
|
-
//!
|
|
5
|
-
//! ## Features
|
|
6
|
-
//!
|
|
7
|
-
//! - Provides the neccesary Cargo configuration to ensure that Rust crates compile properly across all platforms
|
|
8
|
-
//! - Sets useful rustc-cfg flags that you can use from your crate
|
|
9
|
-
//! - Exposes all `RbConfig::CONFIG` values from rb-sys
|
|
10
|
-
//!
|
|
11
|
-
//! ## Usage
|
|
12
|
-
//!
|
|
13
|
-
//! Add this to your `Cargo.toml`:
|
|
14
|
-
//!
|
|
15
|
-
//! ```toml
|
|
16
|
-
//! [build-dependencies]
|
|
17
|
-
//! rb-sys-env = "0.1"
|
|
18
|
-
//! ```
|
|
19
|
-
//!
|
|
20
|
-
//! Then, in your crate's `build.rs`:
|
|
21
|
-
//!
|
|
22
|
-
//! ```rust
|
|
23
|
-
//! pub fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
24
|
-
//! let _rb_env = rb_sys_env::activate()?;
|
|
25
|
-
//!
|
|
26
|
-
//! Ok(())
|
|
27
|
-
//! }
|
|
28
|
-
//! ```
|
|
29
|
-
//!
|
|
30
|
-
//! ## Available `rustc-cfg`
|
|
31
|
-
//!
|
|
32
|
-
//! Here is an example of the `rustc-cfg` flags that are set by this crate:
|
|
33
|
-
//!
|
|
34
|
-
//! - `#[cfg(ruby_have_ruby_re_h)]`
|
|
35
|
-
//! - `#[cfg(ruby_use_rgengc)]`
|
|
36
|
-
//! - `#[cfg(ruby_use_symbol_as_method_name)]`
|
|
37
|
-
//! - `#[cfg(ruby_have_ruby_util_h)]`
|
|
38
|
-
//! - `#[cfg(ruby_have_ruby_oniguruma_h)]`
|
|
39
|
-
//! - `#[cfg(ruby_have_ruby_defines_h)]`
|
|
40
|
-
//! - `#[cfg(ruby_use_flonum)]`
|
|
41
|
-
//! - `#[cfg(ruby_have_ruby_onigmo_h)]`
|
|
42
|
-
//! - `#[cfg(ruby_use_unaligned_member_access)]`
|
|
43
|
-
//! - `#[cfg(ruby_use_transient_heap)]`
|
|
44
|
-
//! - `#[cfg(ruby_have_ruby_atomic_h)]`
|
|
45
|
-
//! - `#[cfg(ruby_have_rb_scan_args_optional_hash)]`
|
|
46
|
-
//! - `#[cfg(ruby_have_rb_data_type_t_parent)]`
|
|
47
|
-
//! - `#[cfg(ruby_have_ruby_debug_h)]`
|
|
48
|
-
//! - `#[cfg(ruby_have_ruby_encoding_h)]`
|
|
49
|
-
//! - `#[cfg(ruby_have_ruby_ruby_h)]`
|
|
50
|
-
//! - `#[cfg(ruby_have_ruby_intern_h)]`
|
|
51
|
-
//! - `#[cfg(ruby_use_mjit)]`
|
|
52
|
-
//! - `#[cfg(ruby_have_rb_data_type_t_function)]`
|
|
53
|
-
//! - `#[cfg(ruby_have_rb_fd_init)]`
|
|
54
|
-
//! - `#[cfg(ruby_have_rb_reg_new_str)]`
|
|
55
|
-
//! - `#[cfg(ruby_have_rb_io_t)]`
|
|
56
|
-
//! - `#[cfg(ruby_have_ruby_memory_view_h)]`
|
|
57
|
-
//! - `#[cfg(ruby_have_ruby_version_h)]`
|
|
58
|
-
//! - `#[cfg(ruby_have_ruby_st_h)]`
|
|
59
|
-
//! - `#[cfg(ruby_have_ruby_thread_native_h)]`
|
|
60
|
-
//! - `#[cfg(ruby_have_ruby_random_h)]`
|
|
61
|
-
//! - `#[cfg(ruby_have_ruby_regex_h)]`
|
|
62
|
-
//! - `#[cfg(ruby_have_rb_define_alloc_func)]`
|
|
63
|
-
//! - `#[cfg(ruby_have_ruby_fiber_scheduler_h)]`
|
|
64
|
-
//! - `#[cfg(ruby_have_ruby_missing_h)]`
|
|
65
|
-
//! - `#[cfg(ruby_have_rb_ext_ractor_safe)]`
|
|
66
|
-
//! - `#[cfg(ruby_have_ruby_thread_h)]`
|
|
67
|
-
//! - `#[cfg(ruby_have_ruby_vm_h)]`
|
|
68
|
-
//! - `#[cfg(ruby_use_rincgc)]`
|
|
69
|
-
//! - `#[cfg(ruby_have_ruby_ractor_h)]`
|
|
70
|
-
//! - `#[cfg(ruby_have_ruby_io_h)]`
|
|
71
|
-
//! - `#[cfg(ruby_3)]`
|
|
72
|
-
//! - `#[cfg(ruby_3_1)]`
|
|
73
|
-
//! - `#[cfg(ruby_3_1_2)]`
|
|
74
|
-
//! - `#[cfg(ruby_gte_2_2)]`
|
|
75
|
-
//! - `#[cfg(ruby_gt_2_2)]`
|
|
76
|
-
//! - `#[cfg(ruby_gte_2_3)]`
|
|
77
|
-
//! - `#[cfg(ruby_gt_2_3)]`
|
|
78
|
-
//! - `#[cfg(ruby_gte_2_4)]`
|
|
79
|
-
//! - `#[cfg(ruby_gt_2_4)]`
|
|
80
|
-
//! - `#[cfg(ruby_gte_2_5)]`
|
|
81
|
-
//! - `#[cfg(ruby_gt_2_5)]`
|
|
82
|
-
//! - `#[cfg(ruby_gte_2_6)]`
|
|
83
|
-
//! - `#[cfg(ruby_gt_2_6)]`
|
|
84
|
-
//! - `#[cfg(ruby_gte_2_7)]`
|
|
85
|
-
//! - `#[cfg(ruby_gt_2_7)]`
|
|
86
|
-
//! - `#[cfg(ruby_gte_3_0)]`
|
|
87
|
-
//! - `#[cfg(ruby_gt_3_0)]`
|
|
88
|
-
//! - `#[cfg(ruby_lte_3_1)]`
|
|
89
|
-
//! - `#[cfg(ruby_3_1)]`
|
|
90
|
-
//! - `#[cfg(ruby_eq_3_1)]`
|
|
91
|
-
//! - `#[cfg(ruby_gte_3_1)]`
|
|
92
|
-
//! - `#[cfg(ruby_lt_3_2)]`
|
|
93
|
-
//! - `#[cfg(ruby_lte_3_2)]`
|
|
94
|
-
//! - `#[cfg(ruby_lt_3_3)]`
|
|
95
|
-
//! - `#[cfg(ruby_lte_3_3)]`
|
|
96
|
-
//! - `#[cfg(ruby_gte_1)]`
|
|
97
|
-
//! - `#[cfg(ruby_gt_1)]`
|
|
98
|
-
//! - `#[cfg(ruby_gte_2)]`
|
|
99
|
-
//! - `#[cfg(ruby_gt_2)]`
|
|
100
|
-
//! - `#[cfg(ruby_lte_3)]`
|
|
101
|
-
//! - `#[cfg(ruby_3)]`
|
|
102
|
-
//! - `#[cfg(ruby_eq_3)]`
|
|
103
|
-
//! - `#[cfg(ruby_gte_3)]`
|
|
104
|
-
//! - `#[cfg(ruby_lt_4)]`
|
|
105
|
-
//! - `#[cfg(ruby_lte_4)]`
|
|
106
|
-
|
|
107
|
-
#[macro_use]
|
|
108
|
-
mod utils;
|
|
109
|
-
mod defines;
|
|
110
|
-
mod rb_env;
|
|
111
|
-
mod ruby_version;
|
|
112
|
-
|
|
113
|
-
use std::error::Error;
|
|
114
|
-
|
|
115
|
-
pub use defines::Defines;
|
|
116
|
-
pub use rb_env::RbEnv;
|
|
117
|
-
pub use ruby_version::RubyVersion;
|
|
118
|
-
|
|
119
|
-
/// Configures Cargo linking based on the `DEP_RB_*` environment variables. This
|
|
120
|
-
/// is needed to ensure that Cargo properly links to libruby on Windows..
|
|
121
|
-
///
|
|
122
|
-
/// ```should_panic
|
|
123
|
-
/// // In your crate's build.rs
|
|
124
|
-
///
|
|
125
|
-
/// pub fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
126
|
-
/// let rb_env = rb_sys_env::activate()?;
|
|
127
|
-
///
|
|
128
|
-
/// if rb_env.ruby_major_minor() < (2, 7) {
|
|
129
|
-
/// panic!("Your Ruby version is EOL!");
|
|
130
|
-
/// }
|
|
131
|
-
///
|
|
132
|
-
/// Ok(())
|
|
133
|
-
/// }
|
|
134
|
-
///
|
|
135
|
-
/// // In your crate's lib.rs
|
|
136
|
-
/// pub fn is_ruby_flonum_activated() -> bool {
|
|
137
|
-
/// cfg!(ruby_use_flonum)
|
|
138
|
-
/// }
|
|
139
|
-
/// ```
|
|
140
|
-
pub fn activate() -> Result<RbEnv, Box<dyn Error>> {
|
|
141
|
-
let env = RbEnv::default();
|
|
142
|
-
|
|
143
|
-
env.print_cargo_rustc_cfg();
|
|
144
|
-
env.print_encoded_cargo_args();
|
|
145
|
-
|
|
146
|
-
if std::env::var_os("RB_SYS_ENV_DEBUG").is_some() {
|
|
147
|
-
eprintln!("=======================");
|
|
148
|
-
eprintln!("The \"RB_SYS_ENV_DEBUG\" env var was detecting, aborted build.");
|
|
149
|
-
std::process::exit(1);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
Ok(env)
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
/// Loads the `DEP_RB_*` environment variables, without setting Cargo configuration.
|
|
156
|
-
///
|
|
157
|
-
/// *Note*: This will not activate the `rb-sys` crate's features to ensure Ruby is properly linked.
|
|
158
|
-
///
|
|
159
|
-
/// ```
|
|
160
|
-
/// // In your crate's build.rs
|
|
161
|
-
///
|
|
162
|
-
/// pub fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
163
|
-
/// let rb_env = rb_sys_env::load()?;
|
|
164
|
-
///
|
|
165
|
-
/// rb_env.print_cargo_rerun_if_changed();
|
|
166
|
-
/// rb_env.print_cargo_rustc_cfg();
|
|
167
|
-
/// rb_env.print_encoded_cargo_args();
|
|
168
|
-
///
|
|
169
|
-
/// if rb_env.ruby_major_minor() < (2, 7) {
|
|
170
|
-
/// panic!("Your Ruby version is EOL!");
|
|
171
|
-
/// }
|
|
172
|
-
///
|
|
173
|
-
/// Ok(())
|
|
174
|
-
/// }
|
|
175
|
-
/// ```
|
|
176
|
-
pub fn load() -> Result<RbEnv, Box<dyn Error>> {
|
|
177
|
-
let env = RbEnv::default();
|
|
178
|
-
|
|
179
|
-
Ok(env)
|
|
180
|
-
}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
use crate::{Defines, RubyVersion};
|
|
2
|
-
use std::{collections::HashMap, rc::Rc};
|
|
3
|
-
|
|
4
|
-
const ENV_PREFIX: &str = "DEP_RB_";
|
|
5
|
-
const RBCONFIG_PREFIX: &str = "RBCONFIG_";
|
|
6
|
-
const CARGO_FEATURE_PREFIX: &str = "CARGO_FEATURE_";
|
|
7
|
-
|
|
8
|
-
/// Information about the rb-sys environment.
|
|
9
|
-
#[derive(Debug, Clone)]
|
|
10
|
-
pub struct RbEnv {
|
|
11
|
-
defines: Defines,
|
|
12
|
-
vars: Rc<HashMap<String, String>>,
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
impl RbEnv {
|
|
16
|
-
/// The current Ruby version.
|
|
17
|
-
pub fn ruby_version(&self) -> RubyVersion {
|
|
18
|
-
RubyVersion::from_raw_environment(&self.vars)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/// The (major, minor) tuple of the current Ruby version.
|
|
22
|
-
pub fn ruby_major_minor(&self) -> (u8, u8) {
|
|
23
|
-
self.ruby_version().major_minor()
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/// Get a value from the current Ruby's `RbConfig::CONFIG`.
|
|
27
|
-
pub fn get_rbconfig_value(&self, key: &str) -> Option<&str> {
|
|
28
|
-
self.vars
|
|
29
|
-
.get(&format!("{}{}", RBCONFIG_PREFIX, key))
|
|
30
|
-
.map(|v| v.as_str())
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/// List the Cargo features of rb-sys
|
|
34
|
-
pub fn cargo_features(&self) -> Vec<String> {
|
|
35
|
-
let keys = self.vars.keys();
|
|
36
|
-
let keys = keys.filter(|k| k.starts_with(CARGO_FEATURE_PREFIX));
|
|
37
|
-
let keys = keys.map(|k| k.trim_start_matches(CARGO_FEATURE_PREFIX));
|
|
38
|
-
|
|
39
|
-
keys.map(|k| k.replace('_', "-").to_lowercase()).collect()
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/// Tell Cargo to link to libruby, even if `rb-sys` decided not to.
|
|
43
|
-
pub fn force_link_ruby(self) -> Self {
|
|
44
|
-
let libdir = self.vars.get("LIBDIR").expect("DEP_RB_LIBDIR is not set");
|
|
45
|
-
let lib = self.vars.get("LIB").expect("DEP_RB_LIB is not set");
|
|
46
|
-
|
|
47
|
-
println!("cargo:rustc-link-search=native={}", libdir);
|
|
48
|
-
println!("cargo:rustc-link-lib={}", lib);
|
|
49
|
-
|
|
50
|
-
self
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// Decodes the cargo args from `DEP_RB_ENCODED_CARGO_ARGS` environment variable.
|
|
54
|
-
pub fn encoded_cargo_args(&self) -> Vec<String> {
|
|
55
|
-
if let Some(raw_args) = self.vars.get("ENCODED_CARGO_ARGS") {
|
|
56
|
-
let lines = raw_args.split('\x1E');
|
|
57
|
-
let unescaped = lines.map(|line| line.replace('\x1F', "\n"));
|
|
58
|
-
unescaped.collect()
|
|
59
|
-
} else {
|
|
60
|
-
vec![]
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/// Indicates if we are using libruby-static.
|
|
65
|
-
pub fn is_ruby_static(&self) -> bool {
|
|
66
|
-
self.vars
|
|
67
|
-
.get("RUBY_STATIC")
|
|
68
|
-
.map(|v| v == "true")
|
|
69
|
-
.unwrap_or(false)
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/// Prints args for rustc (i.e. `cargo:rustc-cfg=...`).
|
|
73
|
-
pub fn print_cargo_rustc_cfg(&self) {
|
|
74
|
-
self.defines.print_cargo_rustc_cfg();
|
|
75
|
-
self.ruby_version().print_cargo_rustc_cfg();
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/// Prints directives for rustc (i.e. `cargo:rustc-link-lib=...`).
|
|
79
|
-
pub fn print_encoded_cargo_args(&self) {
|
|
80
|
-
for line in self.encoded_cargo_args() {
|
|
81
|
-
println!("{}", line);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/// Prints directives for re-runs (i.e. `cargo:rerun-if-env-changed=...`)
|
|
86
|
-
pub fn print_cargo_rerun_if_changed(&self) {
|
|
87
|
-
for key in self.vars.keys() {
|
|
88
|
-
println!("cargo:rerun-if-env-changed={}{}", ENV_PREFIX, key);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
println!("cargo:rerun-if-changed=build.rs");
|
|
92
|
-
println!("cargo:rerun-if-env-changed=RB_SYS_ENV_DEBUG");
|
|
93
|
-
println!("cargo:rerun-if-env-changed=RUBY");
|
|
94
|
-
println!("cargo:rerun-if-env-changed=RUBY_ROOT");
|
|
95
|
-
println!("cargo:rerun-if-env-changed=RUBY_VERSION");
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
impl Default for RbEnv {
|
|
100
|
-
fn default() -> Self {
|
|
101
|
-
let vars = std::env::vars();
|
|
102
|
-
let vars = vars.filter(|(key, _)| key.starts_with(ENV_PREFIX));
|
|
103
|
-
let vars = vars.map(|(key, value)| (key.trim_start_matches(ENV_PREFIX).to_string(), value));
|
|
104
|
-
let vars: HashMap<String, String> = vars.collect();
|
|
105
|
-
let vars = Rc::new(vars);
|
|
106
|
-
let defines = Defines::from_raw_environment(vars.clone());
|
|
107
|
-
|
|
108
|
-
Self { defines, vars }
|
|
109
|
-
}
|
|
110
|
-
}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
use std::collections::HashMap;
|
|
2
|
-
|
|
3
|
-
const COMPARABLE_RUBY_MAJORS: [u8; 4] = [1, 2, 3, 4];
|
|
4
|
-
|
|
5
|
-
const COMPARABLE_RUBY_MINORS: [(u8, u8); 10] = [
|
|
6
|
-
(2, 2),
|
|
7
|
-
(2, 3),
|
|
8
|
-
(2, 4),
|
|
9
|
-
(2, 5),
|
|
10
|
-
(2, 6),
|
|
11
|
-
(2, 7),
|
|
12
|
-
(3, 0),
|
|
13
|
-
(3, 1),
|
|
14
|
-
(3, 2),
|
|
15
|
-
(3, 3),
|
|
16
|
-
];
|
|
17
|
-
|
|
18
|
-
/// The current Ruby version.
|
|
19
|
-
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
|
|
20
|
-
pub struct RubyVersion {
|
|
21
|
-
major: u8,
|
|
22
|
-
minor: u8,
|
|
23
|
-
teeny: u8,
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
impl RubyVersion {
|
|
27
|
-
/// The Ruby major version.
|
|
28
|
-
pub fn major(&self) -> u8 {
|
|
29
|
-
self.major
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/// The Ruby minor version.
|
|
33
|
-
pub fn minor(&self) -> u8 {
|
|
34
|
-
self.minor
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/// The Ruby teeny version.
|
|
38
|
-
pub fn teeny(&self) -> u8 {
|
|
39
|
-
self.teeny
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/// The Ruby version as a u8 triple.
|
|
43
|
-
pub fn major_minor_teeny(&self) -> (u8, u8, u8) {
|
|
44
|
-
(self.major, self.minor, self.teeny)
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/// The Ruby version as a u8 pair.
|
|
48
|
-
pub fn major_minor(&self) -> (u8, u8) {
|
|
49
|
-
(self.major, self.minor)
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
pub fn print_cargo_rustc_cfg(&self) {
|
|
53
|
-
rustc_cfg!("ruby_{}", self.major);
|
|
54
|
-
rustc_cfg!("ruby_{}_{}", self.major, self.minor);
|
|
55
|
-
rustc_cfg!("ruby_{}_{}_{}", self.major, self.minor, self.teeny);
|
|
56
|
-
|
|
57
|
-
for v in &COMPARABLE_RUBY_MINORS {
|
|
58
|
-
if self.major_minor() < *v {
|
|
59
|
-
rustc_cfg!(r#"ruby_lt_{}_{}"#, v.0, v.1);
|
|
60
|
-
}
|
|
61
|
-
if self.major_minor() <= *v {
|
|
62
|
-
rustc_cfg!(r#"ruby_lte_{}_{}"#, v.0, v.1);
|
|
63
|
-
}
|
|
64
|
-
if self.major_minor() == *v {
|
|
65
|
-
rustc_cfg!(r#"ruby_{}_{}"#, v.0, v.1);
|
|
66
|
-
rustc_cfg!(r#"ruby_eq_{}_{}"#, v.0, v.1);
|
|
67
|
-
}
|
|
68
|
-
if self.major_minor() >= *v {
|
|
69
|
-
rustc_cfg!(r#"ruby_gte_{}_{}"#, v.0, v.1);
|
|
70
|
-
}
|
|
71
|
-
if self.major_minor() > *v {
|
|
72
|
-
rustc_cfg!(r#"ruby_gt_{}_{}"#, v.0, v.1);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
for v in &COMPARABLE_RUBY_MAJORS {
|
|
77
|
-
if self.major() < *v {
|
|
78
|
-
rustc_cfg!(r#"ruby_lt_{}"#, v);
|
|
79
|
-
}
|
|
80
|
-
if self.major() <= *v {
|
|
81
|
-
rustc_cfg!(r#"ruby_lte_{}"#, v);
|
|
82
|
-
}
|
|
83
|
-
if self.major() == *v {
|
|
84
|
-
rustc_cfg!(r#"ruby_{}"#, v);
|
|
85
|
-
rustc_cfg!(r#"ruby_eq_{}"#, v);
|
|
86
|
-
}
|
|
87
|
-
if self.major() >= *v {
|
|
88
|
-
rustc_cfg!(r#"ruby_gte_{}"#, v);
|
|
89
|
-
}
|
|
90
|
-
if self.major() > *v {
|
|
91
|
-
rustc_cfg!(r#"ruby_gt_{}"#, v);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
impl From<u8> for RubyVersion {
|
|
98
|
-
fn from(major: u8) -> Self {
|
|
99
|
-
Self {
|
|
100
|
-
major,
|
|
101
|
-
minor: 0,
|
|
102
|
-
teeny: 0,
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
impl From<(u8, u8)> for RubyVersion {
|
|
108
|
-
fn from((major, minor): (u8, u8)) -> Self {
|
|
109
|
-
Self {
|
|
110
|
-
major,
|
|
111
|
-
minor,
|
|
112
|
-
teeny: 0,
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
impl From<(u8, u8, u8)> for RubyVersion {
|
|
118
|
-
fn from((major, minor, teeny): (u8, u8, u8)) -> Self {
|
|
119
|
-
Self {
|
|
120
|
-
major,
|
|
121
|
-
minor,
|
|
122
|
-
teeny,
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
fn verpart(env: &HashMap<String, String>, key: &str) -> u8 {
|
|
128
|
-
env.get(key).unwrap().parse().unwrap()
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
impl RubyVersion {
|
|
132
|
-
pub(crate) fn from_raw_environment(env: &HashMap<String, String>) -> Self {
|
|
133
|
-
Self {
|
|
134
|
-
major: verpart(env, "MAJOR"),
|
|
135
|
-
minor: verpart(env, "MINOR"),
|
|
136
|
-
teeny: verpart(env, "TEENY"),
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
#[cfg(test)]
|
|
142
|
-
mod tests {
|
|
143
|
-
use super::*;
|
|
144
|
-
|
|
145
|
-
#[test]
|
|
146
|
-
fn test_equality_from_tuple() {
|
|
147
|
-
assert_eq!(RubyVersion::from((3, 0, 0)), RubyVersion::from((3, 0)));
|
|
148
|
-
assert_ne!(RubyVersion::from((3, 0, 1)), RubyVersion::from((3, 0)));
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
#[test]
|
|
152
|
-
fn test_from_hashmap() {
|
|
153
|
-
let mut env = HashMap::new();
|
|
154
|
-
env.insert("MAJOR".to_string(), "3".to_string());
|
|
155
|
-
env.insert("MINOR".to_string(), "0".to_string());
|
|
156
|
-
env.insert("TEENY".to_string(), "0".to_string());
|
|
157
|
-
|
|
158
|
-
assert_eq!(
|
|
159
|
-
RubyVersion::from_raw_environment(&env),
|
|
160
|
-
RubyVersion::from((3, 0, 0))
|
|
161
|
-
);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"files":{".cargo_vcs_info.json":"b6c3bf981adfce27dc15bb6a3282f034e5640d0a1d8cc06368ee5aa75834e2a0","Cargo.lock":"fd713a3a07b2fbdfe3dc9d6fd28223801e96262d067cc39ee32abd44c5af5692","Cargo.toml":"c1ffb2fd5103bc311ac597e2f4f3455df573e482636cd628a624cb6f80eb0923","Cargo.toml.orig":"6fc3286748fdb9be3464e6adf24f27228d7e361132fb1c0f79068e967691bfca","LICENSE":"b13a15a45244679c4be9cc2e3a6e93e18d971fe890350e131f68a8f7d013d8ad","README.md":"b9fe5f4cb3b35148012dd9ca55fd010a4231e3116d3255dee15b4a78303dd781","src/de/array_deserializer.rs":"4b4b6a534f7daa81f689d0c4f07da906e2ec21aa724642d93161f5dce9e4a39d","src/de/array_enumerator.rs":"f94ec3536fef5a747b7c5ab98b8c839f2d2ee83cdca18769484029c8fb2211ae","src/de/deserializer.rs":"3226e9381735a1f9870d981e714bc392617be475ffeae808e419578331a9470c","src/de/enum_deserializer.rs":"15f6cb655b30317c6f8515c9c8163817ef8781b157716258075da9b7d60dcc03","src/de/hash_deserializer.rs":"30e12980c6e069628ed4531f3c9c9e1995e27c67df7ebd61147554b4b87cf59d","src/de/mod.rs":"d51cd173ecd7d5f8289044c9b7a592dde5d52ac40b18859032d883fe1924dd6e","src/de/variant_deserializer.rs":"cd699910dee47bf7b8e5edd6eabb96e70949376179ce8f349a5e916b5d2e904f","src/error.rs":"4a58e9272dc7e4411fb8c5169598bebeed81732ae72b77e2659320e763891898","src/lib.rs":"77253605276a74cbcd0f3b130d38f855ebabf0812fd90fe3166d090eda79e0ef","src/ser/enums.rs":"b19d3640ce19cc5c89188690a84e09e223c45b752dd5cf7e8bac2b81b29e0529","src/ser/map_serializer.rs":"bd84636ed75f1735b09d591634301434b12bdcefcb116bafa34ac915404feb79","src/ser/mod.rs":"b440b6c6d88dbc6eaab0e77fdfa15edabbe037948244f8098e24ae10e6e2dd73","src/ser/seq_serializer.rs":"92ee0da3279758c06e668262ac58b8c70492194456588ea2e30f90da40ce22ef","src/ser/serializer.rs":"695f06bfa3bd7822a930f03a8a844669f91dbbd2c97ee19f9f4c8b2758af0c9c","src/ser/struct_serializer.rs":"24a323f0064beb2e8f1fdbec3c4f88444cf739ea713bb14251e5d5a79934b95d","src/ser/struct_variant_serializer.rs":"a64c81e1d85f5e02e21c56cf19a411b4fb7e721d853440a627102486e604633b","src/ser/tuple_variant_serializer.rs":"a48e660c8b33be01fcd046771f8483398e1e895a667b66df88b0d92646365ced","tests/deserializing_arrays.rs":"82493506ea45372bff6c184e26c5dfdaad5d245aebecc38971c20b545dd4c964","tests/deserializing_booleans.rs":"9ecb77e102c39a23918b178de9e83dbac2f2707d32eb33bd83cfb3e4206bf6d6","tests/deserializing_enums.rs":"f86e0a0404b70f03c76c390df72b521751334db0ab88cb5e4e396222456ffa92","tests/deserializing_floats.rs":"f5c73dcfd365ea73321889175dc063127bf1011895603f843709c921217c1a43","tests/deserializing_integers.rs":"e767f711fbf0b24022360081c3e6ec98873b1193d8f90fdf5171ae15fecbcd2b","tests/deserializing_maps.rs":"67b5433321bca597f0e68b41eca2d981f38b378464662db3478f31799556fd68","tests/deserializing_options.rs":"78672966978eaa6d146d88a554cc74702aa080565a4e34db9d0e7667621b9e89","tests/deserializing_results.rs":"c30ba03bf8a48dde8abd8a0acf62240a55849b482fd478da46899cd3e1d99bf5","tests/deserializing_strings.rs":"370f5a493f99dc72a487ddbb3dc706672d2193b696d6f6b3a78aa172e4324bca","tests/deserializing_structs.rs":"0a236bbe370ad8c72e1f2759f3b9444aaca7f868ae1eb1c552e4221fd79421a1","tests/deserializing_tuples.rs":"80e20283943cb6c6825188514155ee854b73fe2c2e6a1266e9f4d7dd8bc9c277","tests/deserializing_vecs.rs":"a0cf48ff03f4dc77eb0815a6ada816b67da5e96604e2570cc3a34d547503ccfb","tests/serializing_arrays.rs":"92bbbd06a45c0e57048053eb347a02b9de03d6027287ad4c9f5a50f0d4024b55","tests/serializing_booleans.rs":"56bb3b97f2043aa10377921b952c90de06dd1777c68c2e7a9ebc85a9a2e1928a","tests/serializing_enums.rs":"3baedd901aa2ae36111c8f849775130ccfd06c3f640a2eacdc40126c1cbe12fe","tests/serializing_floats.rs":"2d4e886d060cf7ffb4e1dbbd29585c336490e45f82f500b5afb3d7cc13ea0bf4","tests/serializing_integers.rs":"cdba2b767a4fc12c765e8131ad4565abec3afcbb2fe088c9bfeb5e3c5d39eab4","tests/serializing_maps.rs":"d7c5039e0a2318ad7d69850d6c2761ce69325733e26bccf142d50b2158b29518","tests/serializing_options.rs":"0ad553d5b307e1b1b2f30e774263871704e5991169e8aaa6d951bdcd9b42c952","tests/serializing_results.rs":"d0ae2806a5fde975c1745ddccb7ce07e960a9d2ccda4b1993ac6b979d4c93ad5","tests/serializing_strings.rs":"b6ac6f21297b82517910f31159e4922489026b56f79f78fefd20ce44a07aa631","tests/serializing_structs.rs":"58c126b73c5f28bee6eeb2e23588fbb30f16ad9baf8ea5f74c8f35c1003deb02","tests/serializing_tuples.rs":"abab9a596715ddc8e4a44accd2e97f1bf3769818d05bef122c88138b3c12e6c3","tests/serializing_vecs.rs":"f8294e28bd08a15f01e98e9c746736ab270556413219a1137b87619ba21a0f46"},"package":"51b8b945a2dadb221f1c5490cfb411cab6c3821446b8eca50ee07e5a3893ec51"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
use super::VariantDeserializer;
|
|
2
|
-
use crate::error::Error;
|
|
3
|
-
use magnus::Value;
|
|
4
|
-
use serde::de::{DeserializeSeed, EnumAccess, IntoDeserializer};
|
|
5
|
-
|
|
6
|
-
pub struct EnumDeserializer {
|
|
7
|
-
variant: String,
|
|
8
|
-
value: Value,
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
impl EnumDeserializer {
|
|
12
|
-
pub fn new(variant: String, value: Value) -> EnumDeserializer {
|
|
13
|
-
EnumDeserializer { variant, value }
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
impl<'i> EnumAccess<'i> for EnumDeserializer {
|
|
18
|
-
type Variant = VariantDeserializer;
|
|
19
|
-
type Error = Error;
|
|
20
|
-
|
|
21
|
-
fn variant_seed<Seed>(self, seed: Seed) -> Result<(Seed::Value, Self::Variant), Error>
|
|
22
|
-
where
|
|
23
|
-
Seed: DeserializeSeed<'i>,
|
|
24
|
-
{
|
|
25
|
-
let deserializer = VariantDeserializer::new(self.value);
|
|
26
|
-
|
|
27
|
-
seed.deserialize(self.variant.into_deserializer())
|
|
28
|
-
.map(|value| (value, deserializer))
|
|
29
|
-
}
|
|
30
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
use crate::error::Error;
|
|
2
|
-
use magnus::{IntoValue, RHash, Value};
|
|
3
|
-
|
|
4
|
-
pub fn nest<Data>(variant: &'static str, data: Data) -> Result<Value, Error>
|
|
5
|
-
where
|
|
6
|
-
Data: IntoValue,
|
|
7
|
-
{
|
|
8
|
-
let hash = RHash::new();
|
|
9
|
-
hash.aset(variant, data)?;
|
|
10
|
-
Ok(hash.into_value())
|
|
11
|
-
}
|