code_ownership 2.1.0 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.cargo/config +2 -2
- data/Cargo.lock +10 -16
- data/README.md +8 -8
- data/ext/cargo-vendor/codeowners-0.3.2/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/codeowners-0.3.2/.github/CODEOWNERS +1 -0
- data/ext/cargo-vendor/codeowners-0.3.2/AGENTS.md +38 -0
- data/ext/cargo-vendor/codeowners-0.3.2/CLAUDE.md +1 -0
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/Cargo.lock +1 -1
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/Cargo.toml +17 -1
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/README.md +11 -1
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/cli.rs +9 -5
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/config.rs +81 -1
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/crosscheck.rs +5 -8
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/codeowners_file_parser.rs +3 -3
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/file_owner_resolver.rs +3 -1
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/package_mapper.rs +2 -2
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper.rs +2 -2
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/validator.rs +15 -10
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership.rs +1 -0
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/project.rs +3 -0
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/project_builder.rs +111 -44
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/runner/api.rs +7 -6
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/runner/types.rs +2 -1
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/runner.rs +67 -16
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/tracked_files.rs +29 -1
- data/ext/cargo-vendor/codeowners-0.3.2/tests/codeowners_path_test.rs +92 -0
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/common/mod.rs +2 -1
- data/ext/cargo-vendor/codeowners-0.3.2/tests/executable_name_config_test.rs +67 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/config/code_ownership.yml +11 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/config/teams/test_team.yml +6 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/docs/CODEOWNERS +14 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/expected/CODEOWNERS +14 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/ruby/app/models/test.rb +3 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/.github/CODEOWNERS +10 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/app/foo.rb +3 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/config/code_ownership.yml +4 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/config/teams/foo.yml +5 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/config/teams/payments.yml +6 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/ruby/app/payments/foo.rb +4 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/default_executable_name/.github/CODEOWNERS +11 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/default_executable_name/app/bar.rb +3 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/default_executable_name/config/code_ownership.yml +5 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/default_executable_name/config/teams/bar.yml +5 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/missing_github_team/.github/CODEOWNERS +10 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/missing_github_team/config/code_ownership.yml +10 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/missing_github_team/config/teams/bad_team.yml +1 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/missing_github_team/config/teams/good.yml +3 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/valid_project/gems/pets/dog.rb +5 -0
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/git_stage_test.rs +4 -1
- data/ext/cargo-vendor/codeowners-0.3.2/tests/missing_github_team_test.rs +23 -0
- data/ext/cargo-vendor/codeowners-0.3.2/tests/run_config_executable_override_test.rs +98 -0
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/runner_api.rs +8 -4
- data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/valid_project_test.rs +3 -3
- data/ext/cargo-vendor/codeowners-0.3.2/tests/validate_files_test.rs +378 -0
- 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/cargo-vendor/unicode-ident-1.0.19/.cargo-checksum.json +1 -1
- data/ext/code_ownership/Cargo.toml +3 -3
- data/ext/code_ownership/extconf.rb +2 -1
- data/ext/code_ownership/src/lib.rs +18 -18
- data/lib/code_ownership/cli.rb +1 -0
- data/lib/code_ownership/private/file_path_finder.rb +22 -10
- 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 +9 -16
- data/lib/code_ownership/version.rb +2 -2
- data/lib/code_ownership.rb +14 -17
- metadata +359 -337
- data/ext/cargo-vendor/codeowners-0.3.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/codeowners-0.3.0/tests/validate_files_test.rs +0 -144
- 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/unicode-ident-1.0.19/tests/fst/.gitignore +0 -1
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.github/workflows/audit.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.github/workflows/ci.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.github/workflows/dotslash-config.json +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.rustfmt.toml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.rusty-hook.toml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/dev/run_benchmarks_for_file.sh +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/dev/run_benchmarks_for_gv.sh +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/rust-toolchain.toml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/cache/file.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/cache/mod.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/cache/noop.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/common_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/main.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/codeowners_query.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/file_generator.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/file_owner_finder.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/annotated_file_mapper.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/directory_mapper.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/escaper.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/team_gem_mapper.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/team_glob_mapper.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/team_yml_mapper.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/path_utils.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/project_file_builder.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/cache_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/crosscheck_owners_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/.github/CODEOWNERS +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/config/code_ownership.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/config/teams/payments.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/config/teams/payroll.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/gems/payroll_calculator/calculator.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/models/bank_account.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/models/blockchain.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/models/payroll.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/payments/nacha.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/services/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/services/multi_owned.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/unowned.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/packages/payroll_flow/package.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/.github/CODEOWNERS +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/.keep +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/config/code_ownership.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/config/teams/design.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/config/teams/frontend.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/frontend/apps/public/index.tsx +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/frontend/packages/dashboard/package.json +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/frontend/packages/dashboard/src/index.tsx +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/frontend/packages/ui-kit/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/frontend/packages/ui-kit/src/button.tsx +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0/tests/fixtures/valid_project → codeowners-0.3.2/tests/fixtures/missing_github_team}/gems/pets/dog.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/.github/CODEOWNERS +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/consumers/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/consumers/deep/nesting/nestdir/deep_file.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/consumers/one_owner.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/services/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/services/exciting/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/services/exciting/some_other_file.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/config/code_ownership.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/config/teams/bar.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/config/teams/foo.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/.github/CODEOWNERS +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/.ignore +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/config/code_ownership.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/config/teams/payments.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/config/teams/payroll.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/config/teams/ux.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/gems/payroll_calculator/calculator.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/index.tsx +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/package.json +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/items/(special)/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/items/(special)/pay.ts +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/items/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/items/item.ts +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/list/page-admin.tsx +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/models/bank_account.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/models/payroll.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/payments/foo/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/payments/foo/ownedby_payroll.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/payments/nacha.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/payroll/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/payroll/payroll.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/views/foos/edit.erb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/views/foos/index.html.erb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/views/foos/new.html.erb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/ignored_files/git_ignored.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/packages/payroll_flow/package.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/should_be_ignored/an_ignored_file.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/.github/CODEOWNERS +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/code_ownership.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/teams/brewers.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/teams/cubs.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/teams/giants.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/teams/rockies.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/datepicker/package.json +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/datepicker/src/picks/dp.tsx +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/list/package.json +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/list/src/item.tsx +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/package.json +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/src/field.tsx +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/src/fields/small.tsx +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/gems/apollo/lib/apollo.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/gems/ivy/lib/ivy.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/gems/lager/lib/lager.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/gems/summit/lib/summit.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/packs/games/app/services/stats.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/packs/games/package.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/packs/locations/app/services/capacity.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/packs/locations/package.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/packs/schedule/app/services/date.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/packs/schedule/package.yml +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/brewers/lib/util.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/brewers/services/play.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/.codeowner +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/db/price.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/entertainment.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/play.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/giants/services/play.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/rockies/services/play.rb +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/invalid_project_structure_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/invalid_project_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/multiple_directory_owners_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/untracked_files_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/valid_project_with_overrides_test.rs +0 -0
- /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tmp/.gitkeep +0 -0
- /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
|
@@ -97,6 +97,70 @@ impl Ruby {
|
|
|
97
97
|
)
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
|
+
|
|
101
|
+
/// Create a new `Integer` from an `i128.`
|
|
102
|
+
///
|
|
103
|
+
/// # Examples
|
|
104
|
+
///
|
|
105
|
+
/// ```
|
|
106
|
+
/// use magnus::{rb_assert, Error, Ruby};
|
|
107
|
+
///
|
|
108
|
+
/// fn example(ruby: &Ruby) -> Result<(), Error> {
|
|
109
|
+
/// rb_assert!(ruby, "i == 0", i = ruby.integer_from_i128(0));
|
|
110
|
+
/// rb_assert!(
|
|
111
|
+
/// ruby,
|
|
112
|
+
/// "i == 170141183460469231731687303715884105727",
|
|
113
|
+
/// i = ruby.integer_from_i128(170141183460469231731687303715884105727),
|
|
114
|
+
/// );
|
|
115
|
+
/// rb_assert!(
|
|
116
|
+
/// ruby,
|
|
117
|
+
/// "i == -170141183460469231731687303715884105728",
|
|
118
|
+
/// i = ruby.integer_from_i128(-170141183460469231731687303715884105728),
|
|
119
|
+
/// );
|
|
120
|
+
///
|
|
121
|
+
/// Ok(())
|
|
122
|
+
/// }
|
|
123
|
+
/// # Ruby::init(example).unwrap()
|
|
124
|
+
/// ```
|
|
125
|
+
#[inline]
|
|
126
|
+
pub fn integer_from_i128(&self, n: i128) -> Integer {
|
|
127
|
+
if n >= i64::MIN as i128 && n <= i64::MAX as i128 {
|
|
128
|
+
self.integer_from_i64(n as i64)
|
|
129
|
+
} else {
|
|
130
|
+
self.module_kernel()
|
|
131
|
+
.funcall("Integer", (n.to_string(),))
|
|
132
|
+
.unwrap()
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/// Create a new `Integer` from a `u128.`
|
|
137
|
+
///
|
|
138
|
+
/// # Examples
|
|
139
|
+
///
|
|
140
|
+
/// ```
|
|
141
|
+
/// use magnus::{rb_assert, Error, Ruby};
|
|
142
|
+
///
|
|
143
|
+
/// fn example(ruby: &Ruby) -> Result<(), Error> {
|
|
144
|
+
/// rb_assert!("i == 0", i = ruby.integer_from_u128(0));
|
|
145
|
+
/// rb_assert!(
|
|
146
|
+
/// "i == 340282366920938463463374607431768211455",
|
|
147
|
+
/// i = ruby.integer_from_u128(340282366920938463463374607431768211455),
|
|
148
|
+
/// );
|
|
149
|
+
///
|
|
150
|
+
/// Ok(())
|
|
151
|
+
/// }
|
|
152
|
+
/// # Ruby::init(example).unwrap()
|
|
153
|
+
/// ```
|
|
154
|
+
#[inline]
|
|
155
|
+
pub fn integer_from_u128(&self, n: u128) -> Integer {
|
|
156
|
+
if n <= u64::MAX as u128 {
|
|
157
|
+
self.integer_from_u64(n as u64)
|
|
158
|
+
} else {
|
|
159
|
+
self.module_kernel()
|
|
160
|
+
.funcall("Integer", (n.to_string(),))
|
|
161
|
+
.unwrap()
|
|
162
|
+
}
|
|
163
|
+
}
|
|
100
164
|
}
|
|
101
165
|
|
|
102
166
|
/// A type wrapping either a [`Fixnum`] or a [`RBignum`].
|
|
@@ -330,6 +394,46 @@ impl Integer {
|
|
|
330
394
|
}
|
|
331
395
|
}
|
|
332
396
|
|
|
397
|
+
/// Convert `self` to an `i128`. Returns `Err` if `self` is out of range for
|
|
398
|
+
/// `i128`.
|
|
399
|
+
///
|
|
400
|
+
/// # Examples
|
|
401
|
+
///
|
|
402
|
+
/// ```
|
|
403
|
+
/// use magnus::{eval, Integer};
|
|
404
|
+
/// # let _cleanup = unsafe { magnus::embed::init() };
|
|
405
|
+
///
|
|
406
|
+
/// assert_eq!(
|
|
407
|
+
/// eval::<Integer>("170141183460469231731687303715884105727")
|
|
408
|
+
/// .unwrap()
|
|
409
|
+
/// .to_i128()
|
|
410
|
+
/// .unwrap(),
|
|
411
|
+
/// 170141183460469231731687303715884105727
|
|
412
|
+
/// );
|
|
413
|
+
/// assert_eq!(
|
|
414
|
+
/// eval::<Integer>("-170141183460469231731687303715884105728")
|
|
415
|
+
/// .unwrap()
|
|
416
|
+
/// .to_i128()
|
|
417
|
+
/// .unwrap(),
|
|
418
|
+
/// -170141183460469231731687303715884105728
|
|
419
|
+
/// );
|
|
420
|
+
/// assert!(eval::<Integer>("170141183460469231731687303715884105728")
|
|
421
|
+
/// .unwrap()
|
|
422
|
+
/// .to_i128()
|
|
423
|
+
/// .is_err());
|
|
424
|
+
/// assert!(eval::<Integer>("-170141183460469231731687303715884105729")
|
|
425
|
+
/// .unwrap()
|
|
426
|
+
/// .to_i128()
|
|
427
|
+
/// .is_err());
|
|
428
|
+
/// ```
|
|
429
|
+
#[inline]
|
|
430
|
+
pub fn to_i128(self) -> Result<i128, Error> {
|
|
431
|
+
match self.integer_type() {
|
|
432
|
+
IntegerType::Fixnum(fix) => Ok(fix.to_i128()),
|
|
433
|
+
IntegerType::Bignum(big) => big.to_i128(),
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
|
|
333
437
|
/// Convert `self` to an `isize`. Returns `Err` if `self` is out of range
|
|
334
438
|
/// for `isize`.
|
|
335
439
|
///
|
|
@@ -464,6 +568,36 @@ impl Integer {
|
|
|
464
568
|
}
|
|
465
569
|
}
|
|
466
570
|
|
|
571
|
+
/// Convert `self` to a `u128`. Returns `Err` if `self` is negative or out of
|
|
572
|
+
/// range for `u128`.
|
|
573
|
+
///
|
|
574
|
+
/// # Examples
|
|
575
|
+
///
|
|
576
|
+
/// ```
|
|
577
|
+
/// use magnus::{eval, Integer};
|
|
578
|
+
/// # let _cleanup = unsafe { magnus::embed::init() };
|
|
579
|
+
///
|
|
580
|
+
/// assert_eq!(
|
|
581
|
+
/// eval::<Integer>("340282366920938463463374607431768211455")
|
|
582
|
+
/// .unwrap()
|
|
583
|
+
/// .to_u128()
|
|
584
|
+
/// .unwrap(),
|
|
585
|
+
/// 340282366920938463463374607431768211455
|
|
586
|
+
/// );
|
|
587
|
+
/// assert!(eval::<Integer>("-1").unwrap().to_u128().is_err());
|
|
588
|
+
/// assert!(eval::<Integer>("340282366920938463463374607431768211456")
|
|
589
|
+
/// .unwrap()
|
|
590
|
+
/// .to_u128()
|
|
591
|
+
/// .is_err());
|
|
592
|
+
/// ```
|
|
593
|
+
#[inline]
|
|
594
|
+
pub fn to_u128(self) -> Result<u128, Error> {
|
|
595
|
+
match self.integer_type() {
|
|
596
|
+
IntegerType::Fixnum(fix) => fix.to_u128(),
|
|
597
|
+
IntegerType::Bignum(big) => big.to_u128(),
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
|
|
467
601
|
/// Convert `self` to a `usize`. Returns `Err` if `self` is negative or out
|
|
468
602
|
/// of range for `usize`.
|
|
469
603
|
///
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
//! Types and functions for working with Ruby IO semantics in Rust.
|
|
2
|
+
//!
|
|
3
|
+
//! This module provides safe wrappers and accessors for working with Ruby's IO system,
|
|
4
|
+
//! including file open flags (`OpenFlags`), mode flags (`FMode`), and encoding metadata
|
|
5
|
+
//! (`IoEncoding`).
|
|
6
|
+
|
|
7
|
+
#[cfg(ruby_lt_3_3)]
|
|
8
|
+
use rb_sys::rb_io_enc_t as rb_io_encoding;
|
|
9
|
+
#[cfg(ruby_gt_3_4)]
|
|
10
|
+
use rb_sys::rb_io_mode;
|
|
11
|
+
#[cfg(ruby_gte_3_3)]
|
|
12
|
+
use rb_sys::{rb_io_encoding, FMODE_EXTERNAL};
|
|
13
|
+
use rb_sys::{
|
|
14
|
+
rb_io_extract_modeenc, OnigEncodingTypeST, FMODE_APPEND, FMODE_BINMODE, FMODE_CREATE,
|
|
15
|
+
FMODE_DUPLEX, FMODE_EXCL, FMODE_READABLE, FMODE_READWRITE, FMODE_SETENC_BY_BOM, FMODE_SYNC,
|
|
16
|
+
FMODE_TEXTMODE, FMODE_TRUNC, FMODE_TTY, FMODE_WRITABLE, VALUE,
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
use crate::{
|
|
20
|
+
encoding::{Encoding, RbEncoding},
|
|
21
|
+
error::{protect, Error},
|
|
22
|
+
value::{private::ReprValue as _, ReprValue, Value},
|
|
23
|
+
RHash, Ruby,
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/// Wrapper for Ruby's file open flag bits (`O_*`).
|
|
27
|
+
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
|
28
|
+
pub struct OpenFlags(pub i32);
|
|
29
|
+
|
|
30
|
+
impl OpenFlags {
|
|
31
|
+
/// Constructs a new set of open flags.
|
|
32
|
+
pub fn new(bits: i32) -> Self {
|
|
33
|
+
Self(bits)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/// Returns the raw flag bits.
|
|
37
|
+
pub fn bits(&self) -> i32 {
|
|
38
|
+
self.0
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/// Checks if a particular flag is set.
|
|
42
|
+
pub fn contains(&self, flag: i32) -> bool {
|
|
43
|
+
self.0 & flag != 0
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/// Ruby IO mode flags (`FMODE_*`), used to describe how a file or stream is opened.
|
|
48
|
+
///
|
|
49
|
+
/// These are internal Ruby VM flags describing the open mode and encoding behavior
|
|
50
|
+
/// of an IO stream.
|
|
51
|
+
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
|
52
|
+
pub struct FMode(u32);
|
|
53
|
+
|
|
54
|
+
#[cfg(ruby_lt_3_3)]
|
|
55
|
+
const FMODE_EXTERNAL: u32 = 65536; // this was FMODE_PREP. rb-sys doesn't include this binding.
|
|
56
|
+
|
|
57
|
+
impl FMode {
|
|
58
|
+
/// File is opened as readable (`"r"`, `"r+"`, etc.)
|
|
59
|
+
pub const READ: u32 = FMODE_READABLE;
|
|
60
|
+
/// File is opened as writable (`"w"`, `"a"`, `"r+"`, etc.)
|
|
61
|
+
pub const WRITE: u32 = FMODE_WRITABLE;
|
|
62
|
+
/// File is readable and writable (`"r+"`, `"w+"`, etc.)
|
|
63
|
+
pub const READ_WRITE: u32 = FMODE_READWRITE;
|
|
64
|
+
/// File is opened in binary mode (`"b"` modifier)
|
|
65
|
+
///
|
|
66
|
+
/// Disables newline conversions and sets default external encoding to ASCII-8BIT.
|
|
67
|
+
pub const BINARY_MODE: u32 = FMODE_BINMODE;
|
|
68
|
+
/// File is opened with sync mode (`IO#sync = true`)
|
|
69
|
+
pub const SYNC: u32 = FMODE_SYNC;
|
|
70
|
+
/// The stream is connected to a terminal/TTY
|
|
71
|
+
pub const TTY: u32 = FMODE_TTY;
|
|
72
|
+
/// Duplex stream — supports both input and output on a single handle
|
|
73
|
+
pub const DUPLEX: u32 = FMODE_DUPLEX;
|
|
74
|
+
/// Append mode — all writes go to the end of the file
|
|
75
|
+
pub const APPEND: u32 = FMODE_APPEND;
|
|
76
|
+
/// Create mode — file is created if it doesn't exist
|
|
77
|
+
pub const CREATE: u32 = FMODE_CREATE;
|
|
78
|
+
/// Exclusive mode — fail if file exists
|
|
79
|
+
pub const EXCLUSIVE: u32 = FMODE_EXCL;
|
|
80
|
+
/// Truncate the file to 0 bytes on open
|
|
81
|
+
pub const TRUNCATE: u32 = FMODE_TRUNC;
|
|
82
|
+
/// File is opened in text mode (`"t"` modifier)
|
|
83
|
+
///
|
|
84
|
+
/// Affects encoding and newline translation on some platforms.
|
|
85
|
+
pub const TEXT_MODE: u32 = FMODE_TEXTMODE;
|
|
86
|
+
/// External encoding explicitly specified
|
|
87
|
+
pub const EXTERNAL_ENCODING: u32 = FMODE_EXTERNAL;
|
|
88
|
+
/// Set encoding by inspecting BOM (Byte Order Mark)
|
|
89
|
+
pub const BOM_ENCODING: u32 = FMODE_SETENC_BY_BOM;
|
|
90
|
+
|
|
91
|
+
/// Constructs a new `FMode` from raw bits.
|
|
92
|
+
pub fn new(bits: u32) -> Self {
|
|
93
|
+
Self(bits)
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/// Check if a given flag is set.
|
|
97
|
+
pub fn contains(&self, flag: u32) -> bool {
|
|
98
|
+
self.0 & flag != 0
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/// Returns the raw flag bits.
|
|
102
|
+
pub fn bits(&self) -> u32 {
|
|
103
|
+
self.0
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/// Ruby-owned encoding metadata extracted from IO options.
|
|
108
|
+
///
|
|
109
|
+
/// This struct represents the result of parsing Ruby's file mode string and encoding-related
|
|
110
|
+
/// options (e.g., `:external_encoding`, `:internal_encoding`, or `:encoding`) using the
|
|
111
|
+
/// internal Ruby C API `rb_io_extract_modeenc`.
|
|
112
|
+
///
|
|
113
|
+
/// The data here includes both Ruby-side encodings and flags that affect transcoding behavior,
|
|
114
|
+
/// such as BOM handling or newline modes. The optional `options` hash contains additional
|
|
115
|
+
/// transcoding options as a Ruby `Hash`.
|
|
116
|
+
///
|
|
117
|
+
/// # Example
|
|
118
|
+
///
|
|
119
|
+
/// ```rust
|
|
120
|
+
/// # use magnus::{Ruby, Value, RHash};
|
|
121
|
+
/// # fn parse_encoding(ruby: &Ruby, mode: &mut Value, perm: &mut Value, options: &RHash) {
|
|
122
|
+
/// let (_, _, encoding) = ruby.io_extract_modeenc(mode, perm, options).unwrap();
|
|
123
|
+
///
|
|
124
|
+
/// if let Some(ext) = &encoding.external {
|
|
125
|
+
/// println!("External encoding: {}", ext);
|
|
126
|
+
/// }
|
|
127
|
+
///
|
|
128
|
+
/// if let Some(hash) = &encoding.options {
|
|
129
|
+
/// println!("Encoding options: {:?}", hash);
|
|
130
|
+
/// }
|
|
131
|
+
/// # }
|
|
132
|
+
/// ```
|
|
133
|
+
///
|
|
134
|
+
/// # Safety
|
|
135
|
+
///
|
|
136
|
+
/// This struct should **not be stored beyond the stack frame** in which it was created.
|
|
137
|
+
/// The Ruby VM may deallocate or reuse internal objects such as the `options` hash,
|
|
138
|
+
/// which is **not automatically GC-pinned**. Copying this structure beyond a single
|
|
139
|
+
/// call boundary can lead to undefined behavior or use-after-free.
|
|
140
|
+
///
|
|
141
|
+
/// Always extract the fields you need and clone or persist Ruby values separately if necessary.
|
|
142
|
+
pub struct IoEncoding {
|
|
143
|
+
/// The external encoding used for reading/writing to the file or stream.
|
|
144
|
+
pub external: Option<Encoding>,
|
|
145
|
+
/// The internal encoding used for transcoding, if any.
|
|
146
|
+
pub internal: Option<Encoding>,
|
|
147
|
+
/// Encoding flags describing transcoding behavior (e.g., whether to
|
|
148
|
+
/// use BOM detection, or newline modes).
|
|
149
|
+
pub flags: i32,
|
|
150
|
+
/// A Ruby hash of encoding options passed in by the user, if present.
|
|
151
|
+
pub options: Option<RHash>,
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/// # IO helper functions
|
|
155
|
+
///
|
|
156
|
+
/// See also [`IoEncoding`] type and [`FMode`] type.
|
|
157
|
+
impl Ruby {
|
|
158
|
+
/// Extract open flags and IO encoding metadata from a Ruby method call.
|
|
159
|
+
///
|
|
160
|
+
/// This wraps Ruby's `rb_io_extract_modeenc` function, which parses `mode`, `perm`, and `options`
|
|
161
|
+
/// into a combination of open flags, mode flags, and encoding metadata.
|
|
162
|
+
///
|
|
163
|
+
/// Can raise:
|
|
164
|
+
/// - `TypeError` if passed unexpected objects (e.g., `Time`)
|
|
165
|
+
/// - `ArgError` if conflicting options are provided
|
|
166
|
+
pub fn io_extract_modeenc(
|
|
167
|
+
&self,
|
|
168
|
+
mode: &mut Value,
|
|
169
|
+
permission: &mut Value,
|
|
170
|
+
option: &RHash,
|
|
171
|
+
) -> Result<(OpenFlags, FMode, IoEncoding), Error> {
|
|
172
|
+
// `rb_io_extract_modeenc` will fill these variables:
|
|
173
|
+
let mut oflags: std::os::raw::c_int = 0; // with O_ flags; flags are available in `File::Constants`.
|
|
174
|
+
#[cfg(ruby_lte_3_4)]
|
|
175
|
+
let mut fmode: std::os::raw::c_int = 0; // with FMODE_ flags
|
|
176
|
+
#[cfg(ruby_gt_3_4)]
|
|
177
|
+
let mut fmode: rb_io_mode = rb_io_mode::RUBY_IO_MODE_EXTERNAL; // arbitrary initialization value
|
|
178
|
+
let mut io_encoding: rb_io_encoding = unsafe { std::mem::zeroed() }; // with IO encoding options
|
|
179
|
+
|
|
180
|
+
// Can raise:
|
|
181
|
+
// - `TypeError`: Unexpected object (e.g. Time) passed.
|
|
182
|
+
// - `ArgError`: Contradiction inside of params.
|
|
183
|
+
protect(|| unsafe {
|
|
184
|
+
rb_io_extract_modeenc(
|
|
185
|
+
&mut mode.as_rb_value() as *mut _,
|
|
186
|
+
&mut permission.as_rb_value() as *mut _,
|
|
187
|
+
option.as_rb_value(),
|
|
188
|
+
&mut oflags as *mut _,
|
|
189
|
+
&mut fmode as *mut _,
|
|
190
|
+
&mut io_encoding as *mut _,
|
|
191
|
+
);
|
|
192
|
+
self.qnil()
|
|
193
|
+
})?;
|
|
194
|
+
|
|
195
|
+
// `rb_io_extract_modeenc` populated the values
|
|
196
|
+
let open_flags = OpenFlags::new(oflags as i32);
|
|
197
|
+
let fmode_flags = FMode::new(fmode as u32);
|
|
198
|
+
|
|
199
|
+
// extracts and starts to manage objects for better user experience
|
|
200
|
+
let internal: Option<Encoding> = {
|
|
201
|
+
let ptr = io_encoding.enc as *mut OnigEncodingTypeST;
|
|
202
|
+
RbEncoding::new(ptr).map(|r| r.into())
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
let external: Option<Encoding> = {
|
|
206
|
+
let ptr = io_encoding.enc2 as *mut OnigEncodingTypeST;
|
|
207
|
+
RbEncoding::new(ptr).map(|r| r.into())
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
let flags = io_encoding.ecflags;
|
|
211
|
+
|
|
212
|
+
let options = {
|
|
213
|
+
let value = Value::new(io_encoding.ecopts as VALUE);
|
|
214
|
+
if value.is_nil() {
|
|
215
|
+
None
|
|
216
|
+
} else {
|
|
217
|
+
RHash::from_value(value)
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
let io_encoding = IoEncoding {
|
|
222
|
+
external,
|
|
223
|
+
internal,
|
|
224
|
+
flags,
|
|
225
|
+
options,
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
Ok((open_flags, fmode_flags, io_encoding))
|
|
229
|
+
}
|
|
230
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//! Magnus is a library for writing Ruby
|
|
1
|
+
//! Magnus is a library for writing Ruby extensions in Rust, or running Ruby
|
|
2
2
|
//! code from Rust.
|
|
3
3
|
//!
|
|
4
4
|
//! # Overview
|
|
@@ -345,19 +345,19 @@
|
|
|
345
345
|
//!
|
|
346
346
|
//! ## `rb_c`
|
|
347
347
|
//!
|
|
348
|
-
//! * `rb_call_super`: See [`call_super`].
|
|
349
|
-
//! * `rb_call_super_kw`: [`call_super`].
|
|
348
|
+
//! * `rb_call_super`: See [`Ruby::call_super`].
|
|
349
|
+
//! * `rb_call_super_kw`: [`Ruby::call_super`].
|
|
350
350
|
// * `rb_catch`:
|
|
351
351
|
// * `rb_catch_obj`:
|
|
352
352
|
// * `rb_category_compile_warn`:
|
|
353
353
|
// * `rb_category_warn`:
|
|
354
354
|
// * `rb_category_warning`:
|
|
355
355
|
// * `rb_char_to_option_kcode`:
|
|
356
|
-
//! * `rb_check_arity`: [`
|
|
356
|
+
//! * `rb_check_arity`: [`Ruby::check_arity`].
|
|
357
357
|
//! * `rb_check_array_type`: See [`TryConvert`] and [`Value::try_convert`].
|
|
358
358
|
// * `rb_check_convert_type`:
|
|
359
359
|
// * `rb_check_copyable`:
|
|
360
|
-
|
|
360
|
+
//! * `rb_check_frozen`: See [`ReprValue::check_frozen`].
|
|
361
361
|
// * `rb_check_frozen_inline`:
|
|
362
362
|
//! * `rb_check_funcall`: See [`Value::check_funcall`].
|
|
363
363
|
//! * `rb_check_funcall_kw`: [`Value::check_funcall`].
|
|
@@ -366,11 +366,11 @@
|
|
|
366
366
|
//! * `rb_check_id_cstr`: [`Id::check`](value::Id::check).
|
|
367
367
|
// * `rb_check_inheritable`:
|
|
368
368
|
// * `rb_check_safe_str`:
|
|
369
|
-
|
|
369
|
+
//! * `rb_check_string_type`: See [`TryConvert`] and [`Value::try_convert`].
|
|
370
370
|
//! * `rb_check_symbol`: Similar to [`StaticSymbol::check`].
|
|
371
371
|
//! * `rb_check_symbol_cstr`: [`StaticSymbol::check`].
|
|
372
|
-
|
|
373
|
-
|
|
372
|
+
//! * `rb_check_to_float`: See [`TryConvert`] and [`Value::try_convert`].
|
|
373
|
+
//! * `rb_check_to_int`: See [`TryConvert`] and [`Value::try_convert`].
|
|
374
374
|
// * `rb_check_to_integer`:
|
|
375
375
|
// * `rb_check_type`:
|
|
376
376
|
//! * `rb_check_typeddata`: See [`TryConvert`] and [`Value::try_convert`].
|
|
@@ -380,7 +380,7 @@
|
|
|
380
380
|
// * `rb_class_get_superclass`:
|
|
381
381
|
// * `rb_class_inherited_p`: [`Module::is_inherited`].
|
|
382
382
|
// * `rb_class_instance_methods`:
|
|
383
|
-
//! * `rb_class_name`:
|
|
383
|
+
//! * `rb_class_name`: Similar to [`Value::classname`].
|
|
384
384
|
//! * `rb_class_new`: [`RClass::new`].
|
|
385
385
|
//! * `rb_class_new_instance`: See [`RClass::new_instance`].
|
|
386
386
|
//! * `rb_class_new_instance_kw`: [`RClass::new_instance`].
|
|
@@ -447,7 +447,7 @@
|
|
|
447
447
|
// * `rb_cstr2inum`:
|
|
448
448
|
// * `rb_cstr_to_dbl`:
|
|
449
449
|
// * `rb_cstr_to_inum`:
|
|
450
|
-
//! * `rb_current_receiver`: [`current_receiver`].
|
|
450
|
+
//! * `rb_current_receiver`: [`Ruby::current_receiver`].
|
|
451
451
|
// * `rb_cvar_defined`:
|
|
452
452
|
// * `rb_cvar_find`:
|
|
453
453
|
// * `rb_cvar_get`:
|
|
@@ -481,8 +481,8 @@
|
|
|
481
481
|
//! * `rb_define_alias`: [`Module::define_alias`].
|
|
482
482
|
// * `rb_define_alloc_func`:
|
|
483
483
|
//! * `rb_define_attr`: See [`Module::define_attr`].
|
|
484
|
-
//! * `rb_define_class`: [`define_class`].
|
|
485
|
-
//! * `rb_define_class_id`:
|
|
484
|
+
//! * `rb_define_class`: [`Ruby::define_class`].
|
|
485
|
+
//! * `rb_define_class_id`: Similar to [`Ruby::define_class`].
|
|
486
486
|
//! * `rb_define_class_id_under`: [`Module::define_class`].
|
|
487
487
|
//! * `rb_define_class_under`: See [`Module::define_class`].
|
|
488
488
|
// * `rb_define_class_variable`:
|
|
@@ -490,20 +490,20 @@
|
|
|
490
490
|
// * `rb_define_dummy_encoding`:
|
|
491
491
|
// * `rb_define_finalizer`:
|
|
492
492
|
// * `rb_define_global_const`:
|
|
493
|
-
//! * `rb_define_global_function`: [`define_global_function`].
|
|
493
|
+
//! * `rb_define_global_function`: [`Ruby::define_global_function`].
|
|
494
494
|
// * `rb_define_hooked_variable`:
|
|
495
495
|
//! * `rb_define_method`: See [`Module::define_method`].
|
|
496
496
|
//! * `rb_define_method_id`: [`Module::define_method`].
|
|
497
|
-
//! * `rb_define_module`: [`define_module`].
|
|
497
|
+
//! * `rb_define_module`: [`Ruby::define_module`].
|
|
498
498
|
//! * `rb_define_module_function`: [`RModule::define_module_function`].
|
|
499
|
-
//! * `rb_define_module_id`: See [`define_module`].
|
|
499
|
+
//! * `rb_define_module_id`: See [`Ruby::define_module`].
|
|
500
500
|
//! * `rb_define_module_id_under`: [`Module::define_module`].
|
|
501
501
|
//! * `rb_define_module_under`: See [`Module::define_module`].
|
|
502
502
|
//! * `rb_define_private_method`: [`Module::define_private_method`].
|
|
503
503
|
//! * `rb_define_protected_method`: [`Module::define_protected_method`].
|
|
504
504
|
// * `rb_define_readonly_variable`:
|
|
505
505
|
//! * `rb_define_singleton_method`: [`Object::define_singleton_method`].
|
|
506
|
-
//! * `rb_define_variable`: [`define_variable`].
|
|
506
|
+
//! * `rb_define_variable`: [`Ruby::define_variable`].
|
|
507
507
|
// * `rb_define_virtual_variable`:
|
|
508
508
|
// * `rb_deprecate_constant`:
|
|
509
509
|
// * `rb_detach_process`:
|
|
@@ -658,7 +658,7 @@
|
|
|
658
658
|
//! * `rb_eval_string`: See [`eval()`] or [`eval!`].
|
|
659
659
|
//! * `rb_eval_string_protect`: [`eval()`] or [`eval!`].
|
|
660
660
|
// * `rb_eval_string_wrap`:
|
|
661
|
-
|
|
661
|
+
//! * `rb_exc_fatal`: Return an [`Error`] constructed from [`Ruby::exception_fatal`].
|
|
662
662
|
// * `rb_exc_new`:
|
|
663
663
|
// * `rb_exc_new_cstr`:
|
|
664
664
|
// * `rb_exc_new_str`:
|
|
@@ -812,13 +812,13 @@
|
|
|
812
812
|
//!
|
|
813
813
|
//! ## `rb_g`
|
|
814
814
|
//!
|
|
815
|
-
//! * `rb_gc`: [`
|
|
816
|
-
//! * `rb_gc_adjust_memory_usage`: [`
|
|
815
|
+
//! * `rb_gc`: [`Ruby::gc_start`].
|
|
816
|
+
//! * `rb_gc_adjust_memory_usage`: [`Ruby::gc_adjust_memory_usage`].
|
|
817
817
|
// * `rb_gc_call_finalizer_at_exit`:
|
|
818
818
|
// * `rb_gc_copy_finalizer`:
|
|
819
|
-
//! * `rb_gc_count`: [`
|
|
820
|
-
//! * `rb_gc_disable`: [`
|
|
821
|
-
//! * `rb_gc_enable`: [`
|
|
819
|
+
//! * `rb_gc_count`: [`Ruby::gc_count`].
|
|
820
|
+
//! * `rb_gc_disable`: [`Ruby::gc_disable`].
|
|
821
|
+
//! * `rb_gc_enable`: [`Ruby::gc_enable`].
|
|
822
822
|
// * `RB_GC_GUARD`:
|
|
823
823
|
// * `rb_gc_latest_gc_info`:
|
|
824
824
|
//! * `rb_gc_location`: [`gc::Compactor::location`].
|
|
@@ -829,12 +829,12 @@
|
|
|
829
829
|
//! * `rb_gc_register_address`: [`gc::register_address`] or
|
|
830
830
|
//! [`BoxValue`](value::BoxValue).
|
|
831
831
|
//! * `rb_gc_register_mark_object`: [`gc::register_mark_object`].
|
|
832
|
-
//! * `rb_gc_start`: [`
|
|
833
|
-
//! * `rb_gc_stat`: [`
|
|
832
|
+
//! * `rb_gc_start`: [`Ruby::gc_start`].
|
|
833
|
+
//! * `rb_gc_stat`: [`Ruby::gc_stat`] or [`Ruby::gc_all_stats`].
|
|
834
834
|
//! * `rb_gc_unregister_address`: [`gc::unregister_address`].
|
|
835
835
|
// * `rb_gc_update_tbl_refs`:
|
|
836
|
-
|
|
837
|
-
|
|
836
|
+
//! * `rb_gc_writebarrier`: [`typed_data::Writebarrier::writebarrier`].
|
|
837
|
+
//! * `rb_gc_writebarrier_unprotect`: [`typed_data::Writebarrier::writebarrier_unprotect`].
|
|
838
838
|
// * `rb_generic_ivar_table`:
|
|
839
839
|
// * `rb_genrand_int32`:
|
|
840
840
|
// * `rb_genrand_real`:
|
|
@@ -932,7 +932,7 @@
|
|
|
932
932
|
// * `rb_io_descriptor`:
|
|
933
933
|
// * `rb_io_eof`:
|
|
934
934
|
// * `rb_io_extract_encoding_option`:
|
|
935
|
-
|
|
935
|
+
//! * `rb_io_extract_modeenc`: [`Ruby::io_extract_modeenc`].
|
|
936
936
|
// * `rb_io_fdopen`:
|
|
937
937
|
// * `rb_io_flush`:
|
|
938
938
|
// * `rb_io_fptr_finalize`:
|
|
@@ -1114,10 +1114,6 @@
|
|
|
1114
1114
|
// * `rb_native_mutex_unlock`:
|
|
1115
1115
|
// * `rb_need_block`:
|
|
1116
1116
|
// * `RB_NEGFIXABLE`:
|
|
1117
|
-
// * `RB_NEWOBJ`:
|
|
1118
|
-
// * `rb_newobj`:
|
|
1119
|
-
// * `RB_NEWOBJ_OF`:
|
|
1120
|
-
// * `rb_newobj_of`:
|
|
1121
1117
|
// * `RB_NIL_P`:
|
|
1122
1118
|
// * `rb_nogvl`:
|
|
1123
1119
|
// * `rb_notimplement`:
|
|
@@ -1253,7 +1249,7 @@
|
|
|
1253
1249
|
// * `rb_ractor_stdin_set`:
|
|
1254
1250
|
// * `rb_ractor_stdout`:
|
|
1255
1251
|
// * `rb_ractor_stdout_set`:
|
|
1256
|
-
//! * `rb_raise`:
|
|
1252
|
+
//! * `rb_raise`: Similar to returning [`Error`].
|
|
1257
1253
|
// * `rb_random_base_init`:
|
|
1258
1254
|
// * `rb_random_bytes`:
|
|
1259
1255
|
// * `RB_RANDOM_DATA_INIT_PARENT`:
|
|
@@ -1311,8 +1307,8 @@
|
|
|
1311
1307
|
// * `rb_remove_event_hook_with_data`:
|
|
1312
1308
|
// * `rb_remove_method`:
|
|
1313
1309
|
// * `rb_remove_method_id`:
|
|
1314
|
-
//! * `rb_require`: [`require`].
|
|
1315
|
-
//! * `rb_require_string`: [`require`].
|
|
1310
|
+
//! * `rb_require`: [`Ruby::require`].
|
|
1311
|
+
//! * `rb_require_string`: [`Ruby::require`].
|
|
1316
1312
|
// * `rb_rescue`:
|
|
1317
1313
|
// * `rb_rescue2`:
|
|
1318
1314
|
// * `RB_RESERVED_FD_P`:
|
|
@@ -1413,10 +1409,10 @@
|
|
|
1413
1409
|
//! * `rb_str_new`: [`RString::from_slice`].
|
|
1414
1410
|
// * `rb_str_new_cstr`:
|
|
1415
1411
|
//! * `rb_str_new_frozen`: [`RString::new_frozen`].
|
|
1416
|
-
//! * `rb_str_new_lit`:
|
|
1417
|
-
//! * `rb_str_new_literal`:
|
|
1412
|
+
//! * `rb_str_new_lit`: Similar to [`r_string!`].
|
|
1413
|
+
//! * `rb_str_new_literal`: Similar to [`r_string!`].
|
|
1418
1414
|
//! * `rb_str_new_shared`: [`RString::new_shared`].
|
|
1419
|
-
// * `rb_str_new_static`:
|
|
1415
|
+
// * `rb_str_new_static`: Similar to [`r_string!`].
|
|
1420
1416
|
// * `rb_str_new_with_class`:
|
|
1421
1417
|
//! * `rb_str_offset`: [`RString::offset`].
|
|
1422
1418
|
//! * `rb_str_plus`: [`RString::plus`].
|
|
@@ -1540,13 +1536,13 @@
|
|
|
1540
1536
|
// * `rb_throw_obj`:
|
|
1541
1537
|
// * `rb_timespec_now`:
|
|
1542
1538
|
// * `rb_time_interval`:
|
|
1543
|
-
|
|
1539
|
+
//! * `rb_time_nano_new`: [`Ruby::time_nano_new`].
|
|
1544
1540
|
//! * `rb_time_new`: [`Ruby::time_new`].
|
|
1545
1541
|
// * `rb_time_num_new`:
|
|
1546
|
-
|
|
1542
|
+
//! * `rb_time_timespec`: See [`Time::timespec`].
|
|
1547
1543
|
// * `rb_time_timespec_interval`:
|
|
1548
|
-
|
|
1549
|
-
|
|
1544
|
+
//! * `rb_time_timespec_new`: [`Ruby::time_timespec_new`].
|
|
1545
|
+
// * `rb_time_timeval`:
|
|
1550
1546
|
//! * `rb_time_utc_offset`: [`Time::utc_offset`].
|
|
1551
1547
|
// * `rb_tolower`:
|
|
1552
1548
|
// * `rb_toupper`:
|
|
@@ -1610,8 +1606,8 @@
|
|
|
1610
1606
|
//! * `rb_utf8_encoding`: [`RbEncoding::utf8`](encoding::RbEncoding::utf8).
|
|
1611
1607
|
//! * `rb_utf8_str_new`: [`RString::new`].
|
|
1612
1608
|
//! * `rb_utf8_str_new_cstr`: See [`RString::new`].
|
|
1613
|
-
//! * `rb_utf8_str_new_lit`:
|
|
1614
|
-
//! * `rb_utf8_str_new_literal`:
|
|
1609
|
+
//! * `rb_utf8_str_new_lit`: Similar to [`r_string!`].
|
|
1610
|
+
//! * `rb_utf8_str_new_literal`: Similar to [`r_string!`].
|
|
1615
1611
|
//! * `rb_utf8_str_new_static`: [`r_string!`].
|
|
1616
1612
|
// * `rb_uv_to_utf8`:
|
|
1617
1613
|
//!
|
|
@@ -1622,19 +1618,19 @@
|
|
|
1622
1618
|
// * `rb_w32_fd_dup`:
|
|
1623
1619
|
//! * `rb_waitpid`: [`Ruby::waitpid`].
|
|
1624
1620
|
// * `rb_warn`:
|
|
1625
|
-
//! * `rb_warning`: [`
|
|
1621
|
+
//! * `rb_warning`: [`Ruby::warning`].
|
|
1626
1622
|
// * `rb_write_error`:
|
|
1627
1623
|
// * `rb_write_error2`:
|
|
1628
|
-
//! * `rb_yield`: [`
|
|
1624
|
+
//! * `rb_yield`: [`Ruby::yield_value`] / return [`block::Yield`].
|
|
1629
1625
|
// * `rb_yield_block`:
|
|
1630
|
-
//! * `rb_yield_splat`: [`
|
|
1626
|
+
//! * `rb_yield_splat`: [`Ruby::yield_splat`] / return [`block::YieldSplat`].
|
|
1631
1627
|
// * `rb_yield_splat_kw`:
|
|
1632
1628
|
//! * `rb_yield_values`:
|
|
1633
|
-
//! See [`
|
|
1629
|
+
//! See [`Ruby::yield_values`] / return [`block::YieldValues`].
|
|
1634
1630
|
//! * `rb_yield_values2`:
|
|
1635
|
-
//! See [`
|
|
1631
|
+
//! See [`Ruby::yield_values`] / return [`block::YieldValues`].
|
|
1636
1632
|
//! * `rb_yield_values_kw`:
|
|
1637
|
-
//! [`
|
|
1633
|
+
//! [`Ruby::yield_values`] / return [`block::YieldValues`].
|
|
1638
1634
|
// * `RB_ZALLOC`:
|
|
1639
1635
|
// * `RB_ZALLOC_N`:
|
|
1640
1636
|
//!
|
|
@@ -1740,11 +1736,11 @@
|
|
|
1740
1736
|
// * `ruby_scan_digits`:
|
|
1741
1737
|
// * `ruby_scan_hex`:
|
|
1742
1738
|
// * `ruby_scan_oct`:
|
|
1743
|
-
//! * `ruby_script`: Similar to [`
|
|
1739
|
+
//! * `ruby_script`: Similar to [`Ruby::script`].
|
|
1744
1740
|
// * `ruby_setenv`:
|
|
1745
1741
|
//! * `ruby_setup`: [`embed::setup`].
|
|
1746
1742
|
// * `ruby_set_argv`:
|
|
1747
|
-
//! * `ruby_set_script_name`: [`
|
|
1743
|
+
//! * `ruby_set_script_name`: [`Ruby::script`].
|
|
1748
1744
|
// * `ruby_show_copyright`:
|
|
1749
1745
|
// * `ruby_show_version`:
|
|
1750
1746
|
// * `ruby_signal_name`:
|
|
@@ -1808,6 +1804,9 @@ mod float;
|
|
|
1808
1804
|
pub mod gc;
|
|
1809
1805
|
mod integer;
|
|
1810
1806
|
mod into_value;
|
|
1807
|
+
#[cfg(feature = "io")]
|
|
1808
|
+
#[cfg_attr(docsrs, doc(cfg(feature = "io")))]
|
|
1809
|
+
pub mod io;
|
|
1811
1810
|
pub mod method;
|
|
1812
1811
|
pub mod module;
|
|
1813
1812
|
mod mutex;
|
|
@@ -1842,7 +1841,7 @@ pub mod rb_sys;
|
|
|
1842
1841
|
pub mod scan_args;
|
|
1843
1842
|
pub mod symbol;
|
|
1844
1843
|
mod thread;
|
|
1845
|
-
mod time;
|
|
1844
|
+
pub mod time;
|
|
1846
1845
|
pub mod try_convert;
|
|
1847
1846
|
pub mod typed_data;
|
|
1848
1847
|
pub mod value;
|
|
@@ -2183,9 +2182,9 @@ impl Ruby {
|
|
|
2183
2182
|
|
|
2184
2183
|
/// Alias the global variable `src` as `dst`.
|
|
2185
2184
|
///
|
|
2186
|
-
/// Unlike [`define_variable`](Ruby::define_variable), the
|
|
2185
|
+
/// Unlike [`define_variable`](Ruby::define_variable), the preceding `$`
|
|
2187
2186
|
/// of the global variable's name is required, otherwise the alias will not
|
|
2188
|
-
/// be
|
|
2187
|
+
/// be accessible from Ruby.
|
|
2189
2188
|
///
|
|
2190
2189
|
/// # Examples
|
|
2191
2190
|
///
|