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.
Files changed (410) hide show
  1. checksums.yaml +4 -4
  2. data/.cargo/config +2 -2
  3. data/Cargo.lock +10 -16
  4. data/README.md +8 -8
  5. data/ext/cargo-vendor/codeowners-0.3.2/.cargo-checksum.json +1 -0
  6. data/ext/cargo-vendor/codeowners-0.3.2/.github/CODEOWNERS +1 -0
  7. data/ext/cargo-vendor/codeowners-0.3.2/AGENTS.md +38 -0
  8. data/ext/cargo-vendor/codeowners-0.3.2/CLAUDE.md +1 -0
  9. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/Cargo.lock +1 -1
  10. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/Cargo.toml +17 -1
  11. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/README.md +11 -1
  12. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/cli.rs +9 -5
  13. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/config.rs +81 -1
  14. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/crosscheck.rs +5 -8
  15. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/codeowners_file_parser.rs +3 -3
  16. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/file_owner_resolver.rs +3 -1
  17. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/package_mapper.rs +2 -2
  18. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper.rs +2 -2
  19. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/validator.rs +15 -10
  20. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership.rs +1 -0
  21. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/project.rs +3 -0
  22. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/project_builder.rs +111 -44
  23. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/runner/api.rs +7 -6
  24. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/runner/types.rs +2 -1
  25. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/runner.rs +67 -16
  26. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/tracked_files.rs +29 -1
  27. data/ext/cargo-vendor/codeowners-0.3.2/tests/codeowners_path_test.rs +92 -0
  28. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/common/mod.rs +2 -1
  29. data/ext/cargo-vendor/codeowners-0.3.2/tests/executable_name_config_test.rs +67 -0
  30. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/config/code_ownership.yml +11 -0
  31. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/config/teams/test_team.yml +6 -0
  32. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/docs/CODEOWNERS +14 -0
  33. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/expected/CODEOWNERS +14 -0
  34. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_codeowners_path/ruby/app/models/test.rb +3 -0
  35. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/.github/CODEOWNERS +10 -0
  36. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/app/foo.rb +3 -0
  37. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/config/code_ownership.yml +4 -0
  38. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/config/teams/foo.yml +5 -0
  39. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/config/teams/payments.yml +6 -0
  40. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/custom_executable_name/ruby/app/payments/foo.rb +4 -0
  41. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/default_executable_name/.github/CODEOWNERS +11 -0
  42. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/default_executable_name/app/bar.rb +3 -0
  43. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/default_executable_name/config/code_ownership.yml +5 -0
  44. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/default_executable_name/config/teams/bar.yml +5 -0
  45. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/missing_github_team/.github/CODEOWNERS +10 -0
  46. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/missing_github_team/config/code_ownership.yml +10 -0
  47. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/missing_github_team/config/teams/bad_team.yml +1 -0
  48. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/missing_github_team/config/teams/good.yml +3 -0
  49. data/ext/cargo-vendor/codeowners-0.3.2/tests/fixtures/valid_project/gems/pets/dog.rb +5 -0
  50. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/git_stage_test.rs +4 -1
  51. data/ext/cargo-vendor/codeowners-0.3.2/tests/missing_github_team_test.rs +23 -0
  52. data/ext/cargo-vendor/codeowners-0.3.2/tests/run_config_executable_override_test.rs +98 -0
  53. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/runner_api.rs +8 -4
  54. data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/valid_project_test.rs +3 -3
  55. data/ext/cargo-vendor/codeowners-0.3.2/tests/validate_files_test.rs +378 -0
  56. data/ext/cargo-vendor/magnus-0.8.2/.cargo-checksum.json +1 -0
  57. data/ext/cargo-vendor/magnus-0.8.2/.cargo_vcs_info.json +6 -0
  58. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/CHANGELOG.md +66 -1
  59. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/Cargo.lock +243 -9
  60. data/ext/cargo-vendor/magnus-0.8.2/Cargo.toml +277 -0
  61. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/Cargo.toml.orig +11 -6
  62. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/README.md +75 -23
  63. data/ext/cargo-vendor/magnus-0.8.2/build.rs +15 -0
  64. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/complete_object/test/temperature_test.rb +4 -4
  65. data/ext/cargo-vendor/magnus-0.8.2/examples/inheritance.rs +66 -0
  66. data/ext/cargo-vendor/magnus-0.8.2/examples/mut_point.rs +116 -0
  67. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/api.rs +4 -3
  68. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/class.rs +9 -7
  69. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/encoding.rs +5 -5
  70. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/error.rs +12 -3
  71. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/fiber.rs +5 -5
  72. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/gc.rs +3 -3
  73. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/integer.rs +134 -0
  74. data/ext/cargo-vendor/magnus-0.8.2/src/io.rs +230 -0
  75. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/lib.rs +53 -54
  76. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/macros.rs +2 -2
  77. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/method.rs +14 -100
  78. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/module.rs +1 -1
  79. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/mutex.rs +1 -1
  80. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_array.rs +2 -2
  81. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_bignum.rs +100 -3
  82. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_hash.rs +63 -1
  83. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_string.rs +31 -231
  84. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_typed_data.rs +6 -9
  85. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/rb_sys.rs +4 -4
  86. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/scan_args.rs +3 -3
  87. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/thread.rs +16 -10
  88. data/ext/cargo-vendor/magnus-0.8.2/src/time.rs +462 -0
  89. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/try_convert.rs +64 -2
  90. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/typed_data.rs +113 -11
  91. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/value/flonum.rs +1 -1
  92. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/value.rs +83 -6
  93. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/test +1 -1
  94. data/ext/cargo-vendor/magnus-0.8.2/tests/hash.rs +44 -0
  95. data/ext/cargo-vendor/magnus-0.8.2/tests/io.rs +62 -0
  96. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/return_iter.rs +1 -1
  97. data/ext/cargo-vendor/magnus-0.8.2/tests/string.rs +23 -0
  98. data/ext/cargo-vendor/magnus-0.8.2/tests/time.rs +71 -0
  99. data/ext/cargo-vendor/magnus-macros-0.8.0/.cargo-checksum.json +1 -0
  100. data/ext/cargo-vendor/magnus-macros-0.8.0/.cargo_vcs_info.json +6 -0
  101. data/ext/cargo-vendor/magnus-macros-0.8.0/Cargo.lock +47 -0
  102. data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/Cargo.toml +10 -1
  103. data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/Cargo.toml.orig +1 -1
  104. data/ext/cargo-vendor/magnus-macros-0.8.0/src/lib.rs +545 -0
  105. data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/src/typed_data.rs +3 -3
  106. data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/src/util.rs +1 -1
  107. data/ext/cargo-vendor/serde_magnus-0.10.0/.cargo-checksum.json +1 -0
  108. data/ext/cargo-vendor/serde_magnus-0.10.0/.cargo_vcs_info.json +6 -0
  109. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/Cargo.lock +77 -75
  110. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/Cargo.toml +3 -3
  111. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/Cargo.toml.orig +7 -4
  112. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/README.md +8 -5
  113. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/array_deserializer.rs +12 -8
  114. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/array_enumerator.rs +12 -7
  115. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/deserializer.rs +21 -18
  116. data/ext/cargo-vendor/serde_magnus-0.10.0/src/de/enum_deserializer.rs +35 -0
  117. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/hash_deserializer.rs +18 -11
  118. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/mod.rs +76 -76
  119. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/variant_deserializer.rs +10 -9
  120. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/error.rs +10 -4
  121. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/lib.rs +6 -5
  122. data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/enums.rs +11 -0
  123. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/map_serializer.rs +11 -12
  124. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/mod.rs +53 -50
  125. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/seq_serializer.rs +11 -10
  126. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/serializer.rs +50 -34
  127. data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/struct_serializer.rs +40 -0
  128. data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/struct_variant_serializer.rs +45 -0
  129. data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/tuple_variant_serializer.rs +38 -0
  130. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_arrays.rs +3 -3
  131. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_booleans.rs +15 -0
  132. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_enums.rs +39 -0
  133. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_floats.rs +12 -0
  134. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_integers.rs +18 -0
  135. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_maps.rs +3 -2
  136. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_options.rs +15 -0
  137. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_results.rs +17 -0
  138. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_strings.rs +7 -7
  139. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_structs.rs +9 -9
  140. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_tuples.rs +27 -0
  141. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_vecs.rs +3 -3
  142. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_arrays.rs +3 -3
  143. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/serializing_booleans.rs +15 -0
  144. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_enums.rs +9 -7
  145. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_floats.rs +2 -2
  146. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_integers.rs +4 -4
  147. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_maps.rs +3 -2
  148. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_options.rs +3 -3
  149. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_results.rs +5 -4
  150. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/serializing_strings.rs +30 -0
  151. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_structs.rs +15 -7
  152. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/serializing_tuples.rs +35 -0
  153. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_vecs.rs +3 -3
  154. data/ext/cargo-vendor/unicode-ident-1.0.19/.cargo-checksum.json +1 -1
  155. data/ext/code_ownership/Cargo.toml +3 -3
  156. data/ext/code_ownership/extconf.rb +2 -1
  157. data/ext/code_ownership/src/lib.rs +18 -18
  158. data/lib/code_ownership/cli.rb +1 -0
  159. data/lib/code_ownership/private/file_path_finder.rb +22 -10
  160. data/lib/code_ownership/private/file_path_team_cache.rb +5 -9
  161. data/lib/code_ownership/private/for_file_output_builder.rb +0 -1
  162. data/lib/code_ownership/private/team_finder.rb +9 -16
  163. data/lib/code_ownership/version.rb +2 -2
  164. data/lib/code_ownership.rb +14 -17
  165. metadata +359 -337
  166. data/ext/cargo-vendor/codeowners-0.3.0/.cargo-checksum.json +0 -1
  167. data/ext/cargo-vendor/codeowners-0.3.0/tests/validate_files_test.rs +0 -144
  168. data/ext/cargo-vendor/magnus-0.7.1/.cargo-checksum.json +0 -1
  169. data/ext/cargo-vendor/magnus-0.7.1/.cargo_vcs_info.json +0 -6
  170. data/ext/cargo-vendor/magnus-0.7.1/Cargo.toml +0 -95
  171. data/ext/cargo-vendor/magnus-0.7.1/build.rs +0 -5
  172. data/ext/cargo-vendor/magnus-0.7.1/examples/mut_point.rs +0 -60
  173. data/ext/cargo-vendor/magnus-0.7.1/src/time.rs +0 -190
  174. data/ext/cargo-vendor/magnus-0.7.1/tests/hash.rs +0 -25
  175. data/ext/cargo-vendor/magnus-0.7.1/tests/string.rs +0 -13
  176. data/ext/cargo-vendor/magnus-macros-0.6.0/.cargo-checksum.json +0 -1
  177. data/ext/cargo-vendor/magnus-macros-0.6.0/.cargo_vcs_info.json +0 -6
  178. data/ext/cargo-vendor/magnus-macros-0.6.0/src/lib.rs +0 -401
  179. data/ext/cargo-vendor/rb-sys-env-0.1.2/.cargo-checksum.json +0 -1
  180. data/ext/cargo-vendor/rb-sys-env-0.1.2/.cargo_vcs_info.json +0 -6
  181. data/ext/cargo-vendor/rb-sys-env-0.1.2/Cargo.toml +0 -25
  182. data/ext/cargo-vendor/rb-sys-env-0.1.2/Cargo.toml.orig +0 -14
  183. data/ext/cargo-vendor/rb-sys-env-0.1.2/LICENSE-APACHE +0 -190
  184. data/ext/cargo-vendor/rb-sys-env-0.1.2/LICENSE-MIT +0 -21
  185. data/ext/cargo-vendor/rb-sys-env-0.1.2/readme.md +0 -119
  186. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/defines.rs +0 -37
  187. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/lib.rs +0 -180
  188. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/rb_env.rs +0 -110
  189. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/ruby_version.rs +0 -163
  190. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/utils.rs +0 -6
  191. data/ext/cargo-vendor/serde_magnus-0.9.0/.cargo-checksum.json +0 -1
  192. data/ext/cargo-vendor/serde_magnus-0.9.0/.cargo_vcs_info.json +0 -6
  193. data/ext/cargo-vendor/serde_magnus-0.9.0/src/de/enum_deserializer.rs +0 -30
  194. data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/enums.rs +0 -11
  195. data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/struct_serializer.rs +0 -36
  196. data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/struct_variant_serializer.rs +0 -37
  197. data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/tuple_variant_serializer.rs +0 -33
  198. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_booleans.rs +0 -18
  199. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_enums.rs +0 -39
  200. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_floats.rs +0 -12
  201. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_integers.rs +0 -18
  202. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_options.rs +0 -15
  203. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_results.rs +0 -17
  204. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_tuples.rs +0 -31
  205. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/serializing_booleans.rs +0 -15
  206. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/serializing_strings.rs +0 -30
  207. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/serializing_tuples.rs +0 -27
  208. data/ext/cargo-vendor/unicode-ident-1.0.19/tests/fst/.gitignore +0 -1
  209. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.github/workflows/audit.yml +0 -0
  210. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.github/workflows/ci.yml +0 -0
  211. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.github/workflows/dotslash-config.json +0 -0
  212. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.rustfmt.toml +0 -0
  213. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/.rusty-hook.toml +0 -0
  214. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/dev/run_benchmarks_for_file.sh +0 -0
  215. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/dev/run_benchmarks_for_gv.sh +0 -0
  216. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/rust-toolchain.toml +0 -0
  217. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/cache/file.rs +0 -0
  218. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/cache/mod.rs +0 -0
  219. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/cache/noop.rs +0 -0
  220. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/common_test.rs +0 -0
  221. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/lib.rs +0 -0
  222. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/main.rs +0 -0
  223. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/codeowners_query.rs +0 -0
  224. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/file_generator.rs +0 -0
  225. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/file_owner_finder.rs +0 -0
  226. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/annotated_file_mapper.rs +0 -0
  227. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/directory_mapper.rs +0 -0
  228. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/escaper.rs +0 -0
  229. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/team_gem_mapper.rs +0 -0
  230. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/team_glob_mapper.rs +0 -0
  231. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/ownership/mapper/team_yml_mapper.rs +0 -0
  232. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/path_utils.rs +0 -0
  233. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/src/project_file_builder.rs +0 -0
  234. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/cache_test.rs +0 -0
  235. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/crosscheck_owners_test.rs +0 -0
  236. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/.github/CODEOWNERS +0 -0
  237. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/config/code_ownership.yml +0 -0
  238. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/config/teams/payments.yml +0 -0
  239. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/config/teams/payroll.yml +0 -0
  240. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/gems/payroll_calculator/calculator.rb +0 -0
  241. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/models/bank_account.rb +0 -0
  242. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/models/blockchain.rb +0 -0
  243. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/models/payroll.rb +0 -0
  244. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/payments/nacha.rb +0 -0
  245. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/services/.codeowner +0 -0
  246. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/services/multi_owned.rb +0 -0
  247. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/app/unowned.rb +0 -0
  248. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/invalid_project/ruby/packages/payroll_flow/package.yml +0 -0
  249. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/.github/CODEOWNERS +0 -0
  250. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/.keep +0 -0
  251. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/config/code_ownership.yml +0 -0
  252. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/config/teams/design.yml +0 -0
  253. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/config/teams/frontend.yml +0 -0
  254. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/frontend/apps/public/index.tsx +0 -0
  255. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/frontend/packages/dashboard/package.json +0 -0
  256. /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
  257. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/javascript_only_project/frontend/packages/ui-kit/.codeowner +0 -0
  258. /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
  259. /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
  260. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/.github/CODEOWNERS +0 -0
  261. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/consumers/.codeowner +0 -0
  262. /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
  263. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/consumers/one_owner.rb +0 -0
  264. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/services/.codeowner +0 -0
  265. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/app/services/exciting/.codeowner +0 -0
  266. /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
  267. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/config/code_ownership.yml +0 -0
  268. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/config/teams/bar.yml +0 -0
  269. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/multiple-directory-owners/config/teams/foo.yml +0 -0
  270. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/.github/CODEOWNERS +0 -0
  271. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/.ignore +0 -0
  272. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/config/code_ownership.yml +0 -0
  273. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/config/teams/payments.yml +0 -0
  274. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/config/teams/payroll.yml +0 -0
  275. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/config/teams/ux.yml +0 -0
  276. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/gems/payroll_calculator/calculator.rb +0 -0
  277. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/index.tsx +0 -0
  278. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/package.json +0 -0
  279. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/items/(special)/.codeowner +0 -0
  280. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/items/(special)/pay.ts +0 -0
  281. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/items/.codeowner +0 -0
  282. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/items/item.ts +0 -0
  283. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/javascript/packages/list/page-admin.tsx +0 -0
  284. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/models/bank_account.rb +0 -0
  285. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/models/payroll.rb +0 -0
  286. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/payments/foo/.codeowner +0 -0
  287. /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
  288. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/payments/nacha.rb +0 -0
  289. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/payroll/.codeowner +0 -0
  290. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/payroll/payroll.rb +0 -0
  291. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/app/views/foos/edit.erb +0 -0
  292. /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
  293. /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
  294. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/ignored_files/git_ignored.rb +0 -0
  295. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project/ruby/packages/payroll_flow/package.yml +0 -0
  296. /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
  297. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/.github/CODEOWNERS +0 -0
  298. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/code_ownership.yml +0 -0
  299. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/teams/brewers.yml +0 -0
  300. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/teams/cubs.yml +0 -0
  301. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/teams/giants.yml +0 -0
  302. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/config/teams/rockies.yml +0 -0
  303. /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
  304. /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
  305. /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
  306. /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
  307. /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
  308. /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
  309. /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
  310. /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
  311. /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
  312. /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
  313. /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
  314. /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
  315. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/packs/games/package.yml +0 -0
  316. /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
  317. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/packs/locations/package.yml +0 -0
  318. /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
  319. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/packs/schedule/package.yml +0 -0
  320. /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
  321. /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
  322. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/.codeowner +0 -0
  323. /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
  324. /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
  325. /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
  326. /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
  327. /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
  328. /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
  329. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/invalid_project_structure_test.rs +0 -0
  330. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/invalid_project_test.rs +0 -0
  331. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/multiple_directory_owners_test.rs +0 -0
  332. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/untracked_files_test.rs +0 -0
  333. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tests/valid_project_with_overrides_test.rs +0 -0
  334. /data/ext/cargo-vendor/{codeowners-0.3.0 → codeowners-0.3.2}/tmp/.gitkeep +0 -0
  335. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/.cargo/config.toml +0 -0
  336. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/Gemfile +0 -0
  337. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/LICENSE +0 -0
  338. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/complete_object/Rakefile +0 -0
  339. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/complete_object/lib/temperature.rb +0 -0
  340. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/Rakefile +0 -0
  341. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/lib/ahriman/error.rb +0 -0
  342. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/lib/ahriman.rb +0 -0
  343. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/test/error_test.rb +0 -0
  344. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_rust/Rakefile +0 -0
  345. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_rust/lib/ahriman.rb +0 -0
  346. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_rust/test/error_test.rb +0 -0
  347. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/fibonacci.rs +0 -0
  348. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/hello_world.rs +0 -0
  349. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/point.rs +0 -0
  350. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/Rakefile +0 -0
  351. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/lib/rust_blank.rb +0 -0
  352. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/test/bench.rb +0 -0
  353. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/test/blank_test.rb +0 -0
  354. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/block.rs +0 -0
  355. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/embed.rs +0 -0
  356. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/enumerator.rs +0 -0
  357. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/exception.rs +0 -0
  358. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/float.rs +0 -0
  359. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/into_value.rs +0 -0
  360. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/numeric.rs +0 -0
  361. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/object.rs +0 -0
  362. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/process.rs +0 -0
  363. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_complex.rs +0 -0
  364. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_file.rs +0 -0
  365. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_float.rs +0 -0
  366. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_match.rs +0 -0
  367. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_object.rs +0 -0
  368. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_rational.rs +0 -0
  369. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_regexp.rs +0 -0
  370. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_struct.rs +0 -0
  371. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/range.rs +0 -0
  372. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/symbol.rs +0 -0
  373. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/allocate_before_init.rs +0 -0
  374. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/array_slice.rs +0 -0
  375. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/block_call.rs +0 -0
  376. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/bytes.rs +0 -0
  377. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/call_proc.rs +0 -0
  378. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/classname.rs +0 -0
  379. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/clone.rs +0 -0
  380. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/codepoints.rs +0 -0
  381. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/debug_exception.rs +0 -0
  382. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/encoding_capable.rs +0 -0
  383. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/enumerator.rs +0 -0
  384. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/enumeratorize.rs +0 -0
  385. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/float_convert_from_value.rs +0 -0
  386. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/float_convert_to_value.rs +0 -0
  387. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/fmt.rs +0 -0
  388. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/freeze.rs +0 -0
  389. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/integer_convert_to_value.rs +0 -0
  390. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/integer_traits.rs +0 -0
  391. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/ivar.rs +0 -0
  392. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/lazy_id.rs +0 -0
  393. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/make_proc.rs +0 -0
  394. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/proc_new.rs +0 -0
  395. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/range.rs +0 -0
  396. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/return_custom_error.rs +0 -0
  397. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/scan_args.rs +0 -0
  398. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/str.rs +0 -0
  399. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/struct.rs +0 -0
  400. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/symbol.rs +0 -0
  401. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/try_convert_array.rs +0 -0
  402. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/tuple_to_array.rs +0 -0
  403. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data.rs +0 -0
  404. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data_obj.rs +0 -0
  405. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data_subclass.rs +0 -0
  406. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data_subclass_from_ruby.rs +0 -0
  407. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/yield.rs +0 -0
  408. /data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/LICENSE +0 -0
  409. /data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/src/init.rs +0 -0
  410. /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
+ }
@@ -1,24 +1,26 @@
1
1
  use super::{array_enumerator::ArrayEnumerator, Deserializer};
2
2
  use crate::error::Error;
3
- use magnus::{exception, value::ReprValue, RHash};
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, Error> {
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.deserialize(Deserializer::new(key)).map(Some),
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
- exception::runtime_error(),
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(exception::index_error(), "index out of range")),
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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.into_value())).map_err(Into::into)
497
+ Output::deserialize(Deserializer::new(ruby, input.into_value_with(ruby))).map_err(Into::into)
498
498
  }
@@ -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::{exception, ExceptionClass};
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(exception::runtime_error(), message.to_string())
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(exception::runtime_error(), message.to_string())
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
- exception::type_error(),
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 _cleanup = unsafe { magnus::embed::init() };
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 _cleanup = unsafe { magnus::embed::init() };
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
+ }