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
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
use super::VariantDeserializer;
|
|
2
|
+
use crate::error::Error;
|
|
3
|
+
use magnus::{Ruby, Value};
|
|
4
|
+
use serde::de::{DeserializeSeed, EnumAccess, IntoDeserializer};
|
|
5
|
+
|
|
6
|
+
pub struct EnumDeserializer<'r> {
|
|
7
|
+
ruby: &'r Ruby,
|
|
8
|
+
variant: String,
|
|
9
|
+
value: Value,
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
impl<'r> EnumDeserializer<'r> {
|
|
13
|
+
pub fn new(ruby: &'r Ruby, variant: String, value: Value) -> EnumDeserializer<'r> {
|
|
14
|
+
EnumDeserializer {
|
|
15
|
+
ruby,
|
|
16
|
+
variant,
|
|
17
|
+
value,
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
impl<'r, 'i> EnumAccess<'i> for EnumDeserializer<'r> {
|
|
23
|
+
type Variant = VariantDeserializer<'r>;
|
|
24
|
+
type Error = Error;
|
|
25
|
+
|
|
26
|
+
fn variant_seed<Seed>(self, seed: Seed) -> Result<(Seed::Value, Self::Variant), Error>
|
|
27
|
+
where
|
|
28
|
+
Seed: DeserializeSeed<'i>,
|
|
29
|
+
{
|
|
30
|
+
let deserializer = VariantDeserializer::new(self.ruby, self.value);
|
|
31
|
+
|
|
32
|
+
seed.deserialize(self.variant.into_deserializer())
|
|
33
|
+
.map(|value| (value, deserializer))
|
|
34
|
+
}
|
|
35
|
+
}
|
data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/hash_deserializer.rs
RENAMED
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
use super::{array_enumerator::ArrayEnumerator, Deserializer};
|
|
2
2
|
use crate::error::Error;
|
|
3
|
-
use magnus::{
|
|
3
|
+
use magnus::{value::ReprValue, RHash, Ruby};
|
|
4
4
|
use serde::de::{DeserializeSeed, MapAccess};
|
|
5
5
|
use std::iter::Peekable;
|
|
6
6
|
|
|
7
|
-
pub struct HashDeserializer {
|
|
7
|
+
pub struct HashDeserializer<'r> {
|
|
8
|
+
ruby: &'r Ruby,
|
|
8
9
|
hash: RHash,
|
|
9
|
-
keys: Peekable<ArrayEnumerator
|
|
10
|
+
keys: Peekable<ArrayEnumerator<'r>>,
|
|
10
11
|
}
|
|
11
12
|
|
|
12
|
-
impl HashDeserializer {
|
|
13
|
-
pub fn new(hash: RHash) -> Result<HashDeserializer
|
|
13
|
+
impl<'r> HashDeserializer<'r> {
|
|
14
|
+
pub fn new(ruby: &'r Ruby, hash: RHash) -> Result<HashDeserializer<'r>, Error> {
|
|
14
15
|
Ok(HashDeserializer {
|
|
16
|
+
ruby,
|
|
15
17
|
hash,
|
|
16
|
-
keys: ArrayEnumerator::new(hash.funcall("keys", ())?).peekable(),
|
|
18
|
+
keys: ArrayEnumerator::new(ruby, hash.funcall("keys", ())?).peekable(),
|
|
17
19
|
})
|
|
18
20
|
}
|
|
19
21
|
}
|
|
20
22
|
|
|
21
|
-
impl<'i> MapAccess<'i> for HashDeserializer {
|
|
23
|
+
impl<'r, 'i> MapAccess<'i> for HashDeserializer<'r> {
|
|
22
24
|
type Error = Error;
|
|
23
25
|
|
|
24
26
|
fn next_key_seed<Seed>(&mut self, seed: Seed) -> Result<Option<Seed::Value>, Self::Error>
|
|
@@ -26,10 +28,12 @@ impl<'i> MapAccess<'i> for HashDeserializer {
|
|
|
26
28
|
Seed: DeserializeSeed<'i>,
|
|
27
29
|
{
|
|
28
30
|
match self.keys.peek() {
|
|
29
|
-
Some(&Ok(key)) => seed
|
|
31
|
+
Some(&Ok(key)) => seed
|
|
32
|
+
.deserialize(Deserializer::new(self.ruby, key))
|
|
33
|
+
.map(Some),
|
|
30
34
|
|
|
31
35
|
Some(Err(error)) => Err(Error::new(
|
|
32
|
-
|
|
36
|
+
self.ruby.exception_runtime_error(),
|
|
33
37
|
format!("encountered unexpected error: {}", error),
|
|
34
38
|
)),
|
|
35
39
|
|
|
@@ -42,9 +46,12 @@ impl<'i> MapAccess<'i> for HashDeserializer {
|
|
|
42
46
|
Seed: DeserializeSeed<'i>,
|
|
43
47
|
{
|
|
44
48
|
match self.keys.next() {
|
|
45
|
-
Some(Ok(key)) => seed.deserialize(Deserializer::new(self.hash.aref(key)?)),
|
|
49
|
+
Some(Ok(key)) => seed.deserialize(Deserializer::new(self.ruby, self.hash.aref(key)?)),
|
|
46
50
|
Some(Err(error)) => Err(error.into()),
|
|
47
|
-
None => Err(Error::new(
|
|
51
|
+
None => Err(Error::new(
|
|
52
|
+
self.ruby.exception_index_error(),
|
|
53
|
+
"index out of range",
|
|
54
|
+
)),
|
|
48
55
|
}
|
|
49
56
|
}
|
|
50
57
|
}
|
|
@@ -13,7 +13,7 @@ use self::{
|
|
|
13
13
|
hash_deserializer::HashDeserializer, variant_deserializer::VariantDeserializer,
|
|
14
14
|
};
|
|
15
15
|
|
|
16
|
-
use magnus::{Error, IntoValue};
|
|
16
|
+
use magnus::{Error, IntoValue, Ruby};
|
|
17
17
|
use serde::Deserialize;
|
|
18
18
|
|
|
19
19
|
/// Deserialize a Ruby [`Value`][`magnus::Value`] to Rust.
|
|
@@ -25,13 +25,13 @@ use serde::Deserialize;
|
|
|
25
25
|
/// #### Unit type
|
|
26
26
|
///
|
|
27
27
|
/// ```
|
|
28
|
-
/// # let
|
|
28
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
29
29
|
/// #
|
|
30
30
|
/// use magnus::{eval, Value};
|
|
31
31
|
/// use serde_magnus::deserialize;
|
|
32
32
|
///
|
|
33
|
-
/// let input: Value = eval!("nil")?;
|
|
34
|
-
/// let output: () = deserialize(input)?;
|
|
33
|
+
/// let input: Value = eval!(&ruby, "nil")?;
|
|
34
|
+
/// let output: () = deserialize(&ruby, input)?;
|
|
35
35
|
/// assert_eq!((), output);
|
|
36
36
|
/// #
|
|
37
37
|
/// # Ok::<(), magnus::Error>(())
|
|
@@ -43,10 +43,10 @@ use serde::Deserialize;
|
|
|
43
43
|
/// # use magnus::{eval, Value};
|
|
44
44
|
/// # use serde_magnus::deserialize;
|
|
45
45
|
/// #
|
|
46
|
-
/// # let
|
|
46
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
47
47
|
/// #
|
|
48
|
-
/// let input: Value = eval!("true")?;
|
|
49
|
-
/// let output: bool = deserialize(input)?;
|
|
48
|
+
/// let input: Value = eval!(&ruby, "true")?;
|
|
49
|
+
/// let output: bool = deserialize(&ruby, input)?;
|
|
50
50
|
/// assert_eq!(true, output);
|
|
51
51
|
/// #
|
|
52
52
|
/// # Ok::<(), magnus::Error>(())
|
|
@@ -58,10 +58,10 @@ use serde::Deserialize;
|
|
|
58
58
|
/// # use magnus::{eval, Value};
|
|
59
59
|
/// # use serde_magnus::deserialize;
|
|
60
60
|
/// #
|
|
61
|
-
/// # let
|
|
61
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
62
62
|
/// #
|
|
63
|
-
/// let input: Value = eval!("1234")?;
|
|
64
|
-
/// let output: i64 = deserialize(input)?;
|
|
63
|
+
/// let input: Value = eval!(&ruby, "1234")?;
|
|
64
|
+
/// let output: i64 = deserialize(&ruby, input)?;
|
|
65
65
|
/// assert_eq!(1234, output);
|
|
66
66
|
/// #
|
|
67
67
|
/// # Ok::<(), magnus::Error>(())
|
|
@@ -73,10 +73,10 @@ use serde::Deserialize;
|
|
|
73
73
|
/// # use magnus::{eval, Value};
|
|
74
74
|
/// # use serde_magnus::deserialize;
|
|
75
75
|
/// #
|
|
76
|
-
/// # let
|
|
76
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
77
77
|
/// #
|
|
78
|
-
/// let input: Value = eval!("3.14")?;
|
|
79
|
-
/// let output: f64 = deserialize(input)?;
|
|
78
|
+
/// let input: Value = eval!(&ruby, "3.14")?;
|
|
79
|
+
/// let output: f64 = deserialize(&ruby, input)?;
|
|
80
80
|
/// assert_eq!(3.14, output);
|
|
81
81
|
/// #
|
|
82
82
|
/// # Ok::<(), magnus::Error>(())
|
|
@@ -88,10 +88,10 @@ use serde::Deserialize;
|
|
|
88
88
|
/// # use magnus::{eval, Value};
|
|
89
89
|
/// # use serde_magnus::deserialize;
|
|
90
90
|
/// #
|
|
91
|
-
/// # let
|
|
91
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
92
92
|
/// #
|
|
93
|
-
/// let input: Value = eval!(r#""Hello, world!""#)?;
|
|
94
|
-
/// let output: String = deserialize(input)?;
|
|
93
|
+
/// let input: Value = eval!(&ruby, r#""Hello, world!""#)?;
|
|
94
|
+
/// let output: String = deserialize(&ruby, input)?;
|
|
95
95
|
/// assert_eq!("Hello, world!", output);
|
|
96
96
|
/// #
|
|
97
97
|
/// # Ok::<(), magnus::Error>(())
|
|
@@ -103,14 +103,14 @@ use serde::Deserialize;
|
|
|
103
103
|
/// # use magnus::{eval, Value};
|
|
104
104
|
/// # use serde_magnus::deserialize;
|
|
105
105
|
/// #
|
|
106
|
-
/// # let
|
|
106
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
107
107
|
/// #
|
|
108
|
-
/// let input: Value = eval!("nil")?;
|
|
109
|
-
/// let output: Option<i64> = deserialize(input)?;
|
|
108
|
+
/// let input: Value = eval!(&ruby, "nil")?;
|
|
109
|
+
/// let output: Option<i64> = deserialize(&ruby, input)?;
|
|
110
110
|
/// assert_eq!(None, output);
|
|
111
111
|
///
|
|
112
|
-
/// let input: Value = eval!("1234")?;
|
|
113
|
-
/// let output: Option<i64> = deserialize(input)?;
|
|
112
|
+
/// let input: Value = eval!(&ruby, "1234")?;
|
|
113
|
+
/// let output: Option<i64> = deserialize(&ruby, input)?;
|
|
114
114
|
/// assert_eq!(Some(1234), output);
|
|
115
115
|
/// #
|
|
116
116
|
/// # Ok::<(), magnus::Error>(())
|
|
@@ -122,14 +122,14 @@ use serde::Deserialize;
|
|
|
122
122
|
/// # use magnus::{eval, Value};
|
|
123
123
|
/// # use serde_magnus::deserialize;
|
|
124
124
|
/// #
|
|
125
|
-
/// # let
|
|
125
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
126
126
|
/// #
|
|
127
|
-
/// let input: Value = eval!("{ 'Ok' => 1234 }")?;
|
|
128
|
-
/// let output: Result<i64, String> = deserialize(input)?;
|
|
127
|
+
/// let input: Value = eval!(&ruby, "{ 'Ok' => 1234 }")?;
|
|
128
|
+
/// let output: Result<i64, String> = deserialize(&ruby, input)?;
|
|
129
129
|
/// assert_eq!(Ok(1234), output);
|
|
130
130
|
///
|
|
131
|
-
/// let input: Value = eval!("{ 'Err' => 'something went wrong' }")?;
|
|
132
|
-
/// let output: Result<i64, String> = deserialize(input)?;
|
|
131
|
+
/// let input: Value = eval!(&ruby, "{ 'Err' => 'something went wrong' }")?;
|
|
132
|
+
/// let output: Result<i64, String> = deserialize(&ruby, input)?;
|
|
133
133
|
/// assert_eq!(Err("something went wrong".into()), output);
|
|
134
134
|
/// #
|
|
135
135
|
/// # Ok::<(), magnus::Error>(())
|
|
@@ -143,15 +143,15 @@ use serde::Deserialize;
|
|
|
143
143
|
/// # use magnus::{eval, Value};
|
|
144
144
|
/// # use serde_magnus::deserialize;
|
|
145
145
|
/// #
|
|
146
|
-
/// # let
|
|
146
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
147
147
|
/// #
|
|
148
148
|
/// use serde::Deserialize;
|
|
149
149
|
///
|
|
150
150
|
/// #[derive(PartialEq, Debug, Deserialize)]
|
|
151
151
|
/// struct Foo;
|
|
152
152
|
///
|
|
153
|
-
/// let input: Value = eval!("nil")?;
|
|
154
|
-
/// let output: Foo = deserialize(input)?;
|
|
153
|
+
/// let input: Value = eval!(&ruby, "nil")?;
|
|
154
|
+
/// let output: Foo = deserialize(&ruby, input)?;
|
|
155
155
|
/// assert_eq!(Foo, output);
|
|
156
156
|
/// #
|
|
157
157
|
/// # Ok::<(), magnus::Error>(())
|
|
@@ -163,15 +163,15 @@ use serde::Deserialize;
|
|
|
163
163
|
/// # use magnus::{eval, Value};
|
|
164
164
|
/// # use serde_magnus::deserialize;
|
|
165
165
|
/// #
|
|
166
|
-
/// # let
|
|
166
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
167
167
|
/// #
|
|
168
168
|
/// use serde::Deserialize;
|
|
169
169
|
///
|
|
170
170
|
/// #[derive(PartialEq, Debug, Deserialize)]
|
|
171
171
|
/// struct Foo(u16);
|
|
172
172
|
///
|
|
173
|
-
/// let input: Value = eval!("1234")?;
|
|
174
|
-
/// let output: Foo = deserialize(input)?;
|
|
173
|
+
/// let input: Value = eval!(&ruby, "1234")?;
|
|
174
|
+
/// let output: Foo = deserialize(&ruby, input)?;
|
|
175
175
|
/// assert_eq!(Foo(1234), output);
|
|
176
176
|
/// #
|
|
177
177
|
/// # Ok::<(), magnus::Error>(())
|
|
@@ -183,15 +183,15 @@ use serde::Deserialize;
|
|
|
183
183
|
/// # use magnus::{eval, Value};
|
|
184
184
|
/// # use serde_magnus::deserialize;
|
|
185
185
|
/// #
|
|
186
|
-
/// # let
|
|
186
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
187
187
|
/// #
|
|
188
188
|
/// use serde::Deserialize;
|
|
189
189
|
///
|
|
190
190
|
/// #[derive(PartialEq, Debug, Deserialize)]
|
|
191
191
|
/// struct Foo(u16, bool, String);
|
|
192
192
|
///
|
|
193
|
-
/// let input: Value = eval!("[123, true, 'Hello, world!']")?;
|
|
194
|
-
/// let output: Foo = deserialize(input)?;
|
|
193
|
+
/// let input: Value = eval!(&ruby, "[123, true, 'Hello, world!']")?;
|
|
194
|
+
/// let output: Foo = deserialize(&ruby, input)?;
|
|
195
195
|
/// assert_eq!(Foo(123, true, "Hello, world!".into()), output);
|
|
196
196
|
/// #
|
|
197
197
|
/// # Ok::<(), magnus::Error>(())
|
|
@@ -204,7 +204,7 @@ use serde::Deserialize;
|
|
|
204
204
|
/// # use serde::Deserialize;
|
|
205
205
|
/// # use serde_magnus::deserialize;
|
|
206
206
|
/// #
|
|
207
|
-
/// # let
|
|
207
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
208
208
|
/// #
|
|
209
209
|
/// #[derive(PartialEq, Debug, Deserialize)]
|
|
210
210
|
/// struct Foo {
|
|
@@ -213,8 +213,8 @@ use serde::Deserialize;
|
|
|
213
213
|
/// glorp: String
|
|
214
214
|
/// }
|
|
215
215
|
///
|
|
216
|
-
/// let input: Value = eval!("{ bar: 1234, baz: true, glorp: 'Hello, world!' }")?;
|
|
217
|
-
/// let output: Foo = deserialize(input)?;
|
|
216
|
+
/// let input: Value = eval!(&ruby, "{ bar: 1234, baz: true, glorp: 'Hello, world!' }")?;
|
|
217
|
+
/// let output: Foo = deserialize(&ruby, input)?;
|
|
218
218
|
/// assert_eq!(
|
|
219
219
|
/// Foo { bar: 1234, baz: true, glorp: "Hello, world!".into() },
|
|
220
220
|
/// output
|
|
@@ -247,13 +247,13 @@ use serde::Deserialize;
|
|
|
247
247
|
/// # use serde::Deserialize;
|
|
248
248
|
/// # use serde_magnus::deserialize;
|
|
249
249
|
/// #
|
|
250
|
-
/// # let
|
|
250
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
251
251
|
/// #
|
|
252
252
|
/// # #[derive(PartialEq, Debug, Deserialize)]
|
|
253
253
|
/// # enum Foo { Bar }
|
|
254
254
|
/// #
|
|
255
|
-
/// let input: Value = eval!("'Bar'")?;
|
|
256
|
-
/// let output: Foo = deserialize(input)?;
|
|
255
|
+
/// let input: Value = eval!(&ruby, "'Bar'")?;
|
|
256
|
+
/// let output: Foo = deserialize(&ruby, input)?;
|
|
257
257
|
/// assert_eq!(Foo::Bar, output);
|
|
258
258
|
/// #
|
|
259
259
|
/// # Ok::<(), magnus::Error>(())
|
|
@@ -266,13 +266,13 @@ use serde::Deserialize;
|
|
|
266
266
|
/// # use serde::Deserialize;
|
|
267
267
|
/// # use serde_magnus::deserialize;
|
|
268
268
|
/// #
|
|
269
|
-
/// # let
|
|
269
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
270
270
|
/// #
|
|
271
271
|
/// # #[derive(PartialEq, Debug, Deserialize)]
|
|
272
272
|
/// # enum Foo { Baz(u16) }
|
|
273
273
|
/// #
|
|
274
|
-
/// let input: Value = eval!("{ 'Baz' => 1234 }")?;
|
|
275
|
-
/// let output: Foo = deserialize(input)?;
|
|
274
|
+
/// let input: Value = eval!(&ruby, "{ 'Baz' => 1234 }")?;
|
|
275
|
+
/// let output: Foo = deserialize(&ruby, input)?;
|
|
276
276
|
/// assert_eq!(Foo::Baz(1234), output);
|
|
277
277
|
/// #
|
|
278
278
|
/// # Ok::<(), magnus::Error>(())
|
|
@@ -285,13 +285,13 @@ use serde::Deserialize;
|
|
|
285
285
|
/// # use serde::Deserialize;
|
|
286
286
|
/// # use serde_magnus::deserialize;
|
|
287
287
|
/// #
|
|
288
|
-
/// # let
|
|
288
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
289
289
|
/// #
|
|
290
290
|
/// # #[derive(PartialEq, Debug, Deserialize)]
|
|
291
291
|
/// # enum Foo { Glorp(u16, bool, String) }
|
|
292
292
|
/// #
|
|
293
|
-
/// let input: Value = eval!("{ 'Glorp' => [123, true, 'Hello, world!'] }")?;
|
|
294
|
-
/// let output: Foo = deserialize(input)?;
|
|
293
|
+
/// let input: Value = eval!(&ruby, "{ 'Glorp' => [123, true, 'Hello, world!'] }")?;
|
|
294
|
+
/// let output: Foo = deserialize(&ruby, input)?;
|
|
295
295
|
/// assert_eq!(Foo::Glorp(123, true, "Hello, world!".into()), output);
|
|
296
296
|
/// #
|
|
297
297
|
/// # Ok::<(), magnus::Error>(())
|
|
@@ -304,7 +304,7 @@ use serde::Deserialize;
|
|
|
304
304
|
/// # use serde::Deserialize;
|
|
305
305
|
/// # use serde_magnus::deserialize;
|
|
306
306
|
/// #
|
|
307
|
-
/// # let
|
|
307
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
308
308
|
/// #
|
|
309
309
|
/// # #[derive(PartialEq, Debug, Deserialize)]
|
|
310
310
|
/// # enum Foo {
|
|
@@ -315,7 +315,7 @@ use serde::Deserialize;
|
|
|
315
315
|
/// # }
|
|
316
316
|
/// # }
|
|
317
317
|
/// #
|
|
318
|
-
/// let input: Value = eval!(r#"
|
|
318
|
+
/// let input: Value = eval!(&ruby, r#"
|
|
319
319
|
/// {
|
|
320
320
|
/// "Quux" => {
|
|
321
321
|
/// frob: 1234,
|
|
@@ -324,7 +324,7 @@ use serde::Deserialize;
|
|
|
324
324
|
/// }
|
|
325
325
|
/// }
|
|
326
326
|
/// "#)?;
|
|
327
|
-
/// let output: Foo = deserialize(input)?;
|
|
327
|
+
/// let output: Foo = deserialize(&ruby, input)?;
|
|
328
328
|
/// assert_eq!(
|
|
329
329
|
/// Foo::Quux { frob: 1234, wally: true, plugh: "Hello, world!".into() },
|
|
330
330
|
/// output
|
|
@@ -341,10 +341,10 @@ use serde::Deserialize;
|
|
|
341
341
|
/// # use magnus::{eval, Value};
|
|
342
342
|
/// # use serde_magnus::deserialize;
|
|
343
343
|
/// #
|
|
344
|
-
/// # let
|
|
344
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
345
345
|
/// #
|
|
346
|
-
/// let input: Value = eval!("[123, true, 'Hello, world!']")?;
|
|
347
|
-
/// let output: (i16, bool, String) = deserialize(input)?;
|
|
346
|
+
/// let input: Value = eval!(&ruby, "[123, true, 'Hello, world!']")?;
|
|
347
|
+
/// let output: (i16, bool, String) = deserialize(&ruby, input)?;
|
|
348
348
|
/// assert_eq!((123, true, "Hello, world!".into()), output);
|
|
349
349
|
/// #
|
|
350
350
|
/// # Ok::<(), magnus::Error>(())
|
|
@@ -356,10 +356,10 @@ use serde::Deserialize;
|
|
|
356
356
|
/// # use magnus::{eval, Value};
|
|
357
357
|
/// # use serde_magnus::deserialize;
|
|
358
358
|
/// #
|
|
359
|
-
/// # let
|
|
359
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
360
360
|
/// #
|
|
361
|
-
/// let input: Value = eval!("[123, 456, 789]")?;
|
|
362
|
-
/// let output: [i64; 3] = deserialize(input)?;
|
|
361
|
+
/// let input: Value = eval!(&ruby, "[123, 456, 789]")?;
|
|
362
|
+
/// let output: [i64; 3] = deserialize(&ruby, input)?;
|
|
363
363
|
/// assert_eq!([123, 456, 789], output);
|
|
364
364
|
/// #
|
|
365
365
|
/// # Ok::<(), magnus::Error>(())
|
|
@@ -373,10 +373,10 @@ use serde::Deserialize;
|
|
|
373
373
|
/// # use magnus::{eval, Value};
|
|
374
374
|
/// # use serde_magnus::deserialize;
|
|
375
375
|
/// #
|
|
376
|
-
/// # let
|
|
376
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
377
377
|
/// #
|
|
378
|
-
/// let input: Value = eval!("[123, 456, 789]")?;
|
|
379
|
-
/// let output: Vec<u64> = deserialize(input)?;
|
|
378
|
+
/// let input: Value = eval!(&ruby, "[123, 456, 789]")?;
|
|
379
|
+
/// let output: Vec<u64> = deserialize(&ruby, input)?;
|
|
380
380
|
/// assert_eq!(vec![123, 456, 789], output);
|
|
381
381
|
/// #
|
|
382
382
|
/// # Ok::<(), magnus::Error>(())
|
|
@@ -388,11 +388,11 @@ use serde::Deserialize;
|
|
|
388
388
|
/// # use magnus::{eval, Value};
|
|
389
389
|
/// # use serde_magnus::deserialize;
|
|
390
390
|
/// #
|
|
391
|
-
/// # let
|
|
391
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
392
392
|
/// #
|
|
393
393
|
/// use std::collections::HashMap;
|
|
394
394
|
///
|
|
395
|
-
/// let input: Value = eval!(r#"
|
|
395
|
+
/// let input: Value = eval!(&ruby, r#"
|
|
396
396
|
/// {
|
|
397
397
|
/// "yes" => "no",
|
|
398
398
|
/// "stop" => "go",
|
|
@@ -400,7 +400,7 @@ use serde::Deserialize;
|
|
|
400
400
|
/// "goodbye" => "hello"
|
|
401
401
|
/// }
|
|
402
402
|
/// "#)?;
|
|
403
|
-
/// let output: HashMap<String, String> = deserialize(input)?;
|
|
403
|
+
/// let output: HashMap<String, String> = deserialize(&ruby, input)?;
|
|
404
404
|
/// assert_eq!(4, output.len());
|
|
405
405
|
/// assert_eq!(Some(&String::from("no")), output.get("yes"));
|
|
406
406
|
/// #
|
|
@@ -424,10 +424,10 @@ use serde::Deserialize;
|
|
|
424
424
|
/// # use magnus::{eval, Error, Value};
|
|
425
425
|
/// # use serde_magnus::deserialize;
|
|
426
426
|
/// #
|
|
427
|
-
/// # let
|
|
427
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
428
428
|
/// #
|
|
429
|
-
/// let input: Value = eval!("'Hello, world!'")?;
|
|
430
|
-
/// let output: Result<&str, Error> = deserialize(input);
|
|
429
|
+
/// let input: Value = eval!(&ruby, "'Hello, world!'")?;
|
|
430
|
+
/// let output: Result<&str, Error> = deserialize(&ruby, input);
|
|
431
431
|
/// assert!(output.is_err());
|
|
432
432
|
/// assert_eq!(
|
|
433
433
|
/// r#"TypeError: invalid type: expected a borrowed string, got string "Hello, world!""#,
|
|
@@ -443,10 +443,10 @@ use serde::Deserialize;
|
|
|
443
443
|
/// # use magnus::{eval, Error, Value};
|
|
444
444
|
/// # use serde_magnus::deserialize;
|
|
445
445
|
/// #
|
|
446
|
-
/// # let
|
|
446
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
447
447
|
/// #
|
|
448
|
-
/// let input: Value = eval!("'Hello, world!'")?;
|
|
449
|
-
/// let output: String = deserialize(input)?;
|
|
448
|
+
/// let input: Value = eval!(&ruby, "'Hello, world!'")?;
|
|
449
|
+
/// let output: String = deserialize(&ruby, input)?;
|
|
450
450
|
/// assert_eq!("Hello, world!", output);
|
|
451
451
|
/// #
|
|
452
452
|
/// # Ok::<(), magnus::Error>(())
|
|
@@ -460,10 +460,10 @@ use serde::Deserialize;
|
|
|
460
460
|
/// # use magnus::{eval, Error, Value};
|
|
461
461
|
/// # use serde_magnus::deserialize;
|
|
462
462
|
/// #
|
|
463
|
-
/// # let
|
|
463
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
464
464
|
/// #
|
|
465
|
-
/// let input: Value = eval!("'☃'")?;
|
|
466
|
-
/// let output: Result<&[u8], Error> = deserialize(input);
|
|
465
|
+
/// let input: Value = eval!(&ruby, "'☃'")?;
|
|
466
|
+
/// let output: Result<&[u8], Error> = deserialize(&ruby, input);
|
|
467
467
|
/// assert!(output.is_err());
|
|
468
468
|
/// assert_eq!(
|
|
469
469
|
/// "TypeError: can't deserialize into byte slice",
|
|
@@ -479,20 +479,20 @@ use serde::Deserialize;
|
|
|
479
479
|
/// # use magnus::{eval, Error, Value};
|
|
480
480
|
/// # use serde_magnus::deserialize;
|
|
481
481
|
/// #
|
|
482
|
-
/// # let
|
|
482
|
+
/// # let ruby = unsafe { magnus::embed::init() };
|
|
483
483
|
/// #
|
|
484
484
|
/// use serde_bytes::ByteBuf;
|
|
485
485
|
///
|
|
486
|
-
/// let input: Value = eval!("'☃'")?;
|
|
487
|
-
/// let output: ByteBuf = deserialize(input)?;
|
|
486
|
+
/// let input: Value = eval!(&ruby, "'☃'")?;
|
|
487
|
+
/// let output: ByteBuf = deserialize(&ruby, input)?;
|
|
488
488
|
/// assert_eq!(vec![226, 152, 131], output.into_vec());
|
|
489
489
|
/// #
|
|
490
490
|
/// # Ok::<(), magnus::Error>(())
|
|
491
491
|
/// ```
|
|
492
|
-
pub fn deserialize<'i, Input, Output>(input: Input) -> Result<Output, Error>
|
|
492
|
+
pub fn deserialize<'i, Input, Output>(ruby: &Ruby, input: Input) -> Result<Output, Error>
|
|
493
493
|
where
|
|
494
494
|
Input: IntoValue,
|
|
495
495
|
Output: Deserialize<'i>,
|
|
496
496
|
{
|
|
497
|
-
Output::deserialize(Deserializer::new(input.
|
|
497
|
+
Output::deserialize(Deserializer::new(ruby, input.into_value_with(ruby))).map_err(Into::into)
|
|
498
498
|
}
|
data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/variant_deserializer.rs
RENAMED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
use super::{ArrayDeserializer, Deserializer, HashDeserializer};
|
|
2
2
|
use crate::error::Error;
|
|
3
|
-
use magnus::{value::ReprValue, RArray, RHash, Value};
|
|
3
|
+
use magnus::{value::ReprValue, RArray, RHash, Ruby, Value};
|
|
4
4
|
use serde::de::{DeserializeSeed, Unexpected, VariantAccess};
|
|
5
5
|
|
|
6
|
-
pub struct VariantDeserializer {
|
|
6
|
+
pub struct VariantDeserializer<'r> {
|
|
7
|
+
ruby: &'r Ruby,
|
|
7
8
|
value: Value,
|
|
8
9
|
}
|
|
9
10
|
|
|
10
|
-
impl VariantDeserializer {
|
|
11
|
-
pub fn new(value: Value) -> VariantDeserializer {
|
|
12
|
-
VariantDeserializer { value }
|
|
11
|
+
impl<'r> VariantDeserializer<'r> {
|
|
12
|
+
pub fn new(ruby: &'r Ruby, value: Value) -> VariantDeserializer<'r> {
|
|
13
|
+
VariantDeserializer { ruby, value }
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
16
|
|
|
16
|
-
impl<'i> VariantAccess<'i> for VariantDeserializer {
|
|
17
|
+
impl<'r, 'i> VariantAccess<'i> for VariantDeserializer<'r> {
|
|
17
18
|
type Error = Error;
|
|
18
19
|
|
|
19
20
|
fn unit_variant(self) -> Result<(), Self::Error> {
|
|
@@ -32,7 +33,7 @@ impl<'i> VariantAccess<'i> for VariantDeserializer {
|
|
|
32
33
|
where
|
|
33
34
|
Seed: DeserializeSeed<'i>,
|
|
34
35
|
{
|
|
35
|
-
seed.deserialize(Deserializer::new(self.value))
|
|
36
|
+
seed.deserialize(Deserializer::new(self.ruby, self.value))
|
|
36
37
|
}
|
|
37
38
|
|
|
38
39
|
fn tuple_variant<Visitor>(
|
|
@@ -44,7 +45,7 @@ impl<'i> VariantAccess<'i> for VariantDeserializer {
|
|
|
44
45
|
Visitor: serde::de::Visitor<'i>,
|
|
45
46
|
{
|
|
46
47
|
if let Some(array) = RArray::from_value(self.value) {
|
|
47
|
-
visitor.visit_seq(&mut ArrayDeserializer::new(array))
|
|
48
|
+
visitor.visit_seq(&mut ArrayDeserializer::new(self.ruby, array))
|
|
48
49
|
} else {
|
|
49
50
|
Err(serde::de::Error::invalid_type(
|
|
50
51
|
#[allow(clippy::unnecessary_to_owned)]
|
|
@@ -63,7 +64,7 @@ impl<'i> VariantAccess<'i> for VariantDeserializer {
|
|
|
63
64
|
Visitor: serde::de::Visitor<'i>,
|
|
64
65
|
{
|
|
65
66
|
if let Some(hash) = RHash::from_value(self.value) {
|
|
66
|
-
visitor.visit_map(&mut HashDeserializer::new(hash)?)
|
|
67
|
+
visitor.visit_map(&mut HashDeserializer::new(self.ruby, hash)?)
|
|
67
68
|
} else {
|
|
68
69
|
Err(serde::de::Error::invalid_type(
|
|
69
70
|
#[allow(clippy::unnecessary_to_owned)]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
use magnus::{
|
|
1
|
+
use magnus::{ExceptionClass, Ruby};
|
|
2
2
|
use std::{borrow::Cow, fmt};
|
|
3
3
|
|
|
4
4
|
#[derive(Debug)]
|
|
@@ -30,7 +30,10 @@ impl serde::ser::Error for Error {
|
|
|
30
30
|
where
|
|
31
31
|
Message: fmt::Display,
|
|
32
32
|
{
|
|
33
|
-
Error::new(
|
|
33
|
+
Error::new(
|
|
34
|
+
Ruby::get().unwrap().exception_runtime_error(),
|
|
35
|
+
message.to_string(),
|
|
36
|
+
)
|
|
34
37
|
}
|
|
35
38
|
}
|
|
36
39
|
|
|
@@ -39,12 +42,15 @@ impl serde::de::Error for Error {
|
|
|
39
42
|
where
|
|
40
43
|
Message: fmt::Display,
|
|
41
44
|
{
|
|
42
|
-
Error::new(
|
|
45
|
+
Error::new(
|
|
46
|
+
Ruby::get().unwrap().exception_runtime_error(),
|
|
47
|
+
message.to_string(),
|
|
48
|
+
)
|
|
43
49
|
}
|
|
44
50
|
|
|
45
51
|
fn invalid_type(unexpected: serde::de::Unexpected, expected: &dyn serde::de::Expected) -> Self {
|
|
46
52
|
Error::new(
|
|
47
|
-
|
|
53
|
+
Ruby::get().unwrap().exception_type_error(),
|
|
48
54
|
format!("invalid type: expected {}, got {}", expected, unexpected),
|
|
49
55
|
)
|
|
50
56
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
//! trait into a Ruby equivalent.
|
|
10
10
|
//!
|
|
11
11
|
//! ```
|
|
12
|
-
//! # let
|
|
12
|
+
//! # let ruby = unsafe { magnus::embed::init() };
|
|
13
13
|
//! #
|
|
14
14
|
//! use serde::{Serialize, Deserialize};
|
|
15
15
|
//! use magnus::{eval, Value};
|
|
@@ -42,9 +42,10 @@
|
|
|
42
42
|
//! ]
|
|
43
43
|
//! };
|
|
44
44
|
//!
|
|
45
|
-
//! let post: Value = serialize(&post)?;
|
|
45
|
+
//! let post: Value = serialize(&ruby, &post)?;
|
|
46
46
|
//!
|
|
47
47
|
//! assert!(eval!(
|
|
48
|
+
//! &ruby,
|
|
48
49
|
//! r#"
|
|
49
50
|
//! post == {
|
|
50
51
|
//! title: "Spring carnival planning update",
|
|
@@ -68,7 +69,7 @@
|
|
|
68
69
|
//! # use serde::Deserialize;
|
|
69
70
|
//! # use magnus::{eval, RHash};
|
|
70
71
|
//! #
|
|
71
|
-
//! # let
|
|
72
|
+
//! # let ruby = unsafe { magnus::embed::init() };
|
|
72
73
|
//! #
|
|
73
74
|
//! # #[derive(Deserialize, PartialEq, Debug)]
|
|
74
75
|
//! # struct Post {
|
|
@@ -86,7 +87,7 @@
|
|
|
86
87
|
//! #
|
|
87
88
|
//! use serde_magnus::deserialize;
|
|
88
89
|
//!
|
|
89
|
-
//! let post: RHash = eval!(r#"
|
|
90
|
+
//! let post: RHash = eval!(&ruby, r#"
|
|
90
91
|
//! {
|
|
91
92
|
//! title: "Spring carnival planning update",
|
|
92
93
|
//! content: "Here's what's new.",
|
|
@@ -98,7 +99,7 @@
|
|
|
98
99
|
//! }
|
|
99
100
|
//! "#)?;
|
|
100
101
|
//!
|
|
101
|
-
//! let post: Post = deserialize(post)?;
|
|
102
|
+
//! let post: Post = deserialize(&ruby, post)?;
|
|
102
103
|
//!
|
|
103
104
|
//! assert_eq!(
|
|
104
105
|
//! Post {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
use crate::error::Error;
|
|
2
|
+
use magnus::{IntoValue, Ruby, Value};
|
|
3
|
+
|
|
4
|
+
pub fn nest<Data>(ruby: &Ruby, variant: &'static str, data: Data) -> Result<Value, Error>
|
|
5
|
+
where
|
|
6
|
+
Data: IntoValue,
|
|
7
|
+
{
|
|
8
|
+
let hash = ruby.hash_new();
|
|
9
|
+
hash.aset(variant, data)?;
|
|
10
|
+
Ok(hash.into_value_with(ruby))
|
|
11
|
+
}
|