code_ownership 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +8 -14
  3. data/ext/cargo-vendor/magnus-0.8.2/.cargo-checksum.json +1 -0
  4. data/ext/cargo-vendor/magnus-0.8.2/.cargo_vcs_info.json +6 -0
  5. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/CHANGELOG.md +66 -1
  6. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/Cargo.lock +243 -9
  7. data/ext/cargo-vendor/magnus-0.8.2/Cargo.toml +277 -0
  8. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/Cargo.toml.orig +11 -6
  9. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/README.md +75 -23
  10. data/ext/cargo-vendor/magnus-0.8.2/build.rs +15 -0
  11. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/complete_object/test/temperature_test.rb +4 -4
  12. data/ext/cargo-vendor/magnus-0.8.2/examples/inheritance.rs +66 -0
  13. data/ext/cargo-vendor/magnus-0.8.2/examples/mut_point.rs +116 -0
  14. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/api.rs +4 -3
  15. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/class.rs +9 -7
  16. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/encoding.rs +5 -5
  17. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/error.rs +12 -3
  18. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/fiber.rs +5 -5
  19. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/gc.rs +3 -3
  20. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/integer.rs +134 -0
  21. data/ext/cargo-vendor/magnus-0.8.2/src/io.rs +230 -0
  22. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/lib.rs +53 -54
  23. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/macros.rs +2 -2
  24. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/method.rs +14 -100
  25. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/module.rs +1 -1
  26. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/mutex.rs +1 -1
  27. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_array.rs +2 -2
  28. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_bignum.rs +100 -3
  29. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_hash.rs +63 -1
  30. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_string.rs +31 -231
  31. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_typed_data.rs +6 -9
  32. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/rb_sys.rs +4 -4
  33. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/scan_args.rs +3 -3
  34. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/thread.rs +16 -10
  35. data/ext/cargo-vendor/magnus-0.8.2/src/time.rs +462 -0
  36. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/try_convert.rs +64 -2
  37. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/typed_data.rs +113 -11
  38. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/value/flonum.rs +1 -1
  39. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/value.rs +83 -6
  40. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/test +1 -1
  41. data/ext/cargo-vendor/magnus-0.8.2/tests/hash.rs +44 -0
  42. data/ext/cargo-vendor/magnus-0.8.2/tests/io.rs +62 -0
  43. data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/return_iter.rs +1 -1
  44. data/ext/cargo-vendor/magnus-0.8.2/tests/string.rs +23 -0
  45. data/ext/cargo-vendor/magnus-0.8.2/tests/time.rs +71 -0
  46. data/ext/cargo-vendor/magnus-macros-0.8.0/.cargo-checksum.json +1 -0
  47. data/ext/cargo-vendor/magnus-macros-0.8.0/.cargo_vcs_info.json +6 -0
  48. data/ext/cargo-vendor/magnus-macros-0.8.0/Cargo.lock +47 -0
  49. data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/Cargo.toml +10 -1
  50. data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/Cargo.toml.orig +1 -1
  51. data/ext/cargo-vendor/magnus-macros-0.8.0/src/lib.rs +545 -0
  52. data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/src/typed_data.rs +3 -3
  53. data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/src/util.rs +1 -1
  54. data/ext/cargo-vendor/serde_magnus-0.10.0/.cargo-checksum.json +1 -0
  55. data/ext/cargo-vendor/serde_magnus-0.10.0/.cargo_vcs_info.json +6 -0
  56. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/Cargo.lock +77 -75
  57. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/Cargo.toml +3 -3
  58. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/Cargo.toml.orig +7 -4
  59. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/README.md +8 -5
  60. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/array_deserializer.rs +12 -8
  61. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/array_enumerator.rs +12 -7
  62. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/deserializer.rs +21 -18
  63. data/ext/cargo-vendor/serde_magnus-0.10.0/src/de/enum_deserializer.rs +35 -0
  64. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/hash_deserializer.rs +18 -11
  65. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/mod.rs +76 -76
  66. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/de/variant_deserializer.rs +10 -9
  67. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/error.rs +10 -4
  68. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/lib.rs +6 -5
  69. data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/enums.rs +11 -0
  70. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/map_serializer.rs +11 -12
  71. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/mod.rs +53 -50
  72. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/seq_serializer.rs +11 -10
  73. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/src/ser/serializer.rs +50 -34
  74. data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/struct_serializer.rs +40 -0
  75. data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/struct_variant_serializer.rs +45 -0
  76. data/ext/cargo-vendor/serde_magnus-0.10.0/src/ser/tuple_variant_serializer.rs +38 -0
  77. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_arrays.rs +3 -3
  78. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_booleans.rs +15 -0
  79. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_enums.rs +39 -0
  80. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_floats.rs +12 -0
  81. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_integers.rs +18 -0
  82. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_maps.rs +3 -2
  83. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_options.rs +15 -0
  84. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_results.rs +17 -0
  85. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_strings.rs +7 -7
  86. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_structs.rs +9 -9
  87. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/deserializing_tuples.rs +27 -0
  88. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/deserializing_vecs.rs +3 -3
  89. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_arrays.rs +3 -3
  90. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/serializing_booleans.rs +15 -0
  91. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_enums.rs +9 -7
  92. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_floats.rs +2 -2
  93. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_integers.rs +4 -4
  94. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_maps.rs +3 -2
  95. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_options.rs +3 -3
  96. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_results.rs +5 -4
  97. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/serializing_strings.rs +30 -0
  98. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_structs.rs +15 -7
  99. data/ext/cargo-vendor/serde_magnus-0.10.0/tests/serializing_tuples.rs +35 -0
  100. data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/tests/serializing_vecs.rs +3 -3
  101. data/ext/code_ownership/Cargo.toml +2 -2
  102. data/ext/code_ownership/extconf.rb +2 -1
  103. data/ext/code_ownership/src/lib.rs +16 -16
  104. data/lib/code_ownership/cli.rb +1 -0
  105. data/lib/code_ownership/private/file_path_finder.rb +3 -7
  106. data/lib/code_ownership/private/file_path_team_cache.rb +5 -9
  107. data/lib/code_ownership/private/for_file_output_builder.rb +0 -1
  108. data/lib/code_ownership/private/team_finder.rb +8 -14
  109. data/lib/code_ownership/version.rb +2 -2
  110. data/lib/code_ownership.rb +12 -17
  111. metadata +182 -186
  112. data/ext/cargo-vendor/magnus-0.7.1/.cargo-checksum.json +0 -1
  113. data/ext/cargo-vendor/magnus-0.7.1/.cargo_vcs_info.json +0 -6
  114. data/ext/cargo-vendor/magnus-0.7.1/Cargo.toml +0 -95
  115. data/ext/cargo-vendor/magnus-0.7.1/build.rs +0 -5
  116. data/ext/cargo-vendor/magnus-0.7.1/examples/mut_point.rs +0 -60
  117. data/ext/cargo-vendor/magnus-0.7.1/src/time.rs +0 -190
  118. data/ext/cargo-vendor/magnus-0.7.1/tests/hash.rs +0 -25
  119. data/ext/cargo-vendor/magnus-0.7.1/tests/string.rs +0 -13
  120. data/ext/cargo-vendor/magnus-macros-0.6.0/.cargo-checksum.json +0 -1
  121. data/ext/cargo-vendor/magnus-macros-0.6.0/.cargo_vcs_info.json +0 -6
  122. data/ext/cargo-vendor/magnus-macros-0.6.0/src/lib.rs +0 -401
  123. data/ext/cargo-vendor/rb-sys-env-0.1.2/.cargo-checksum.json +0 -1
  124. data/ext/cargo-vendor/rb-sys-env-0.1.2/.cargo_vcs_info.json +0 -6
  125. data/ext/cargo-vendor/rb-sys-env-0.1.2/Cargo.toml +0 -25
  126. data/ext/cargo-vendor/rb-sys-env-0.1.2/Cargo.toml.orig +0 -14
  127. data/ext/cargo-vendor/rb-sys-env-0.1.2/LICENSE-APACHE +0 -190
  128. data/ext/cargo-vendor/rb-sys-env-0.1.2/LICENSE-MIT +0 -21
  129. data/ext/cargo-vendor/rb-sys-env-0.1.2/readme.md +0 -119
  130. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/defines.rs +0 -37
  131. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/lib.rs +0 -180
  132. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/rb_env.rs +0 -110
  133. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/ruby_version.rs +0 -163
  134. data/ext/cargo-vendor/rb-sys-env-0.1.2/src/utils.rs +0 -6
  135. data/ext/cargo-vendor/serde_magnus-0.9.0/.cargo-checksum.json +0 -1
  136. data/ext/cargo-vendor/serde_magnus-0.9.0/.cargo_vcs_info.json +0 -6
  137. data/ext/cargo-vendor/serde_magnus-0.9.0/src/de/enum_deserializer.rs +0 -30
  138. data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/enums.rs +0 -11
  139. data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/struct_serializer.rs +0 -36
  140. data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/struct_variant_serializer.rs +0 -37
  141. data/ext/cargo-vendor/serde_magnus-0.9.0/src/ser/tuple_variant_serializer.rs +0 -33
  142. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_booleans.rs +0 -18
  143. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_enums.rs +0 -39
  144. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_floats.rs +0 -12
  145. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_integers.rs +0 -18
  146. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_options.rs +0 -15
  147. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_results.rs +0 -17
  148. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/deserializing_tuples.rs +0 -31
  149. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/serializing_booleans.rs +0 -15
  150. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/serializing_strings.rs +0 -30
  151. data/ext/cargo-vendor/serde_magnus-0.9.0/tests/serializing_tuples.rs +0 -27
  152. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/.cargo/config.toml +0 -0
  153. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/Gemfile +0 -0
  154. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/LICENSE +0 -0
  155. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/complete_object/Rakefile +0 -0
  156. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/complete_object/lib/temperature.rb +0 -0
  157. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/Rakefile +0 -0
  158. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/lib/ahriman/error.rb +0 -0
  159. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/lib/ahriman.rb +0 -0
  160. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_ruby/test/error_test.rb +0 -0
  161. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_rust/Rakefile +0 -0
  162. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_rust/lib/ahriman.rb +0 -0
  163. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/custom_exception_rust/test/error_test.rb +0 -0
  164. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/fibonacci.rs +0 -0
  165. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/hello_world.rs +0 -0
  166. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/point.rs +0 -0
  167. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/Rakefile +0 -0
  168. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/lib/rust_blank.rb +0 -0
  169. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/test/bench.rb +0 -0
  170. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/examples/rust_blank/test/blank_test.rb +0 -0
  171. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/block.rs +0 -0
  172. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/embed.rs +0 -0
  173. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/enumerator.rs +0 -0
  174. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/exception.rs +0 -0
  175. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/float.rs +0 -0
  176. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/into_value.rs +0 -0
  177. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/numeric.rs +0 -0
  178. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/object.rs +0 -0
  179. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/process.rs +0 -0
  180. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_complex.rs +0 -0
  181. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_file.rs +0 -0
  182. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_float.rs +0 -0
  183. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_match.rs +0 -0
  184. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_object.rs +0 -0
  185. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_rational.rs +0 -0
  186. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_regexp.rs +0 -0
  187. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/r_struct.rs +0 -0
  188. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/range.rs +0 -0
  189. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/src/symbol.rs +0 -0
  190. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/allocate_before_init.rs +0 -0
  191. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/array_slice.rs +0 -0
  192. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/block_call.rs +0 -0
  193. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/bytes.rs +0 -0
  194. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/call_proc.rs +0 -0
  195. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/classname.rs +0 -0
  196. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/clone.rs +0 -0
  197. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/codepoints.rs +0 -0
  198. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/debug_exception.rs +0 -0
  199. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/encoding_capable.rs +0 -0
  200. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/enumerator.rs +0 -0
  201. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/enumeratorize.rs +0 -0
  202. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/float_convert_from_value.rs +0 -0
  203. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/float_convert_to_value.rs +0 -0
  204. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/fmt.rs +0 -0
  205. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/freeze.rs +0 -0
  206. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/integer_convert_to_value.rs +0 -0
  207. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/integer_traits.rs +0 -0
  208. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/ivar.rs +0 -0
  209. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/lazy_id.rs +0 -0
  210. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/make_proc.rs +0 -0
  211. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/proc_new.rs +0 -0
  212. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/range.rs +0 -0
  213. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/return_custom_error.rs +0 -0
  214. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/scan_args.rs +0 -0
  215. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/str.rs +0 -0
  216. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/struct.rs +0 -0
  217. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/symbol.rs +0 -0
  218. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/try_convert_array.rs +0 -0
  219. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/tuple_to_array.rs +0 -0
  220. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data.rs +0 -0
  221. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data_obj.rs +0 -0
  222. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data_subclass.rs +0 -0
  223. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/typed_data_subclass_from_ruby.rs +0 -0
  224. /data/ext/cargo-vendor/{magnus-0.7.1 → magnus-0.8.2}/tests/yield.rs +0 -0
  225. /data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/LICENSE +0 -0
  226. /data/ext/cargo-vendor/{magnus-macros-0.6.0 → magnus-macros-0.8.0}/src/init.rs +0 -0
  227. /data/ext/cargo-vendor/{serde_magnus-0.9.0 → serde_magnus-0.10.0}/LICENSE +0 -0
@@ -1,119 +0,0 @@
1
- # `rb-sys-env`
2
-
3
- Helpers to integrate `rb-sys` into your high-level Ruby bindings library.
4
-
5
- ## Features
6
-
7
- - Provides the neccesary Cargo configuration to ensure that Rust crates compile properly across all platforms
8
- - Sets useful rustc-cfg flags that you can use from your crate
9
- - Exposes all `RbConfig::CONFIG` values from rb-sys
10
-
11
- ## Usage
12
-
13
- Add this to your `Cargo.toml`:
14
-
15
- ```toml
16
- [build-dependencies]
17
- rb-sys-env = "0.1"
18
- ```
19
-
20
- Then, in your crate's `build.rs`:
21
-
22
- ```rust
23
- pub fn main() -> Result<(), Box<dyn std::error::Error>> {
24
- let _rb_env = rb_sys_env::activate()?;
25
-
26
- Ok(())
27
- }
28
- ```
29
-
30
- ## Available `rustc-cfg`
31
-
32
- Here is an example of the `rustc-cfg` flags that are set by this crate:
33
-
34
- - `#[cfg(ruby_have_ruby_re_h)]`
35
- - `#[cfg(ruby_use_rgengc)]`
36
- - `#[cfg(ruby_use_symbol_as_method_name)]`
37
- - `#[cfg(ruby_have_ruby_util_h)]`
38
- - `#[cfg(ruby_have_ruby_oniguruma_h)]`
39
- - `#[cfg(ruby_have_ruby_defines_h)]`
40
- - `#[cfg(ruby_use_flonum)]`
41
- - `#[cfg(ruby_have_ruby_onigmo_h)]`
42
- - `#[cfg(ruby_use_unaligned_member_access)]`
43
- - `#[cfg(ruby_use_transient_heap)]`
44
- - `#[cfg(ruby_have_ruby_atomic_h)]`
45
- - `#[cfg(ruby_have_rb_scan_args_optional_hash)]`
46
- - `#[cfg(ruby_have_rb_data_type_t_parent)]`
47
- - `#[cfg(ruby_have_ruby_debug_h)]`
48
- - `#[cfg(ruby_have_ruby_encoding_h)]`
49
- - `#[cfg(ruby_have_ruby_ruby_h)]`
50
- - `#[cfg(ruby_have_ruby_intern_h)]`
51
- - `#[cfg(ruby_use_mjit)]`
52
- - `#[cfg(ruby_have_rb_data_type_t_function)]`
53
- - `#[cfg(ruby_have_rb_fd_init)]`
54
- - `#[cfg(ruby_have_rb_reg_new_str)]`
55
- - `#[cfg(ruby_have_rb_io_t)]`
56
- - `#[cfg(ruby_have_ruby_memory_view_h)]`
57
- - `#[cfg(ruby_have_ruby_version_h)]`
58
- - `#[cfg(ruby_have_ruby_st_h)]`
59
- - `#[cfg(ruby_have_ruby_thread_native_h)]`
60
- - `#[cfg(ruby_have_ruby_random_h)]`
61
- - `#[cfg(ruby_have_ruby_regex_h)]`
62
- - `#[cfg(ruby_have_rb_define_alloc_func)]`
63
- - `#[cfg(ruby_have_ruby_fiber_scheduler_h)]`
64
- - `#[cfg(ruby_have_ruby_missing_h)]`
65
- - `#[cfg(ruby_have_rb_ext_ractor_safe)]`
66
- - `#[cfg(ruby_have_ruby_thread_h)]`
67
- - `#[cfg(ruby_have_ruby_vm_h)]`
68
- - `#[cfg(ruby_use_rincgc)]`
69
- - `#[cfg(ruby_have_ruby_ractor_h)]`
70
- - `#[cfg(ruby_have_ruby_io_h)]`
71
- - `#[cfg(ruby_3)]`
72
- - `#[cfg(ruby_3_1)]`
73
- - `#[cfg(ruby_3_1_2)]`
74
- - `#[cfg(ruby_gte_2_2)]`
75
- - `#[cfg(ruby_gt_2_2)]`
76
- - `#[cfg(ruby_gte_2_3)]`
77
- - `#[cfg(ruby_gt_2_3)]`
78
- - `#[cfg(ruby_gte_2_4)]`
79
- - `#[cfg(ruby_gt_2_4)]`
80
- - `#[cfg(ruby_gte_2_5)]`
81
- - `#[cfg(ruby_gt_2_5)]`
82
- - `#[cfg(ruby_gte_2_6)]`
83
- - `#[cfg(ruby_gt_2_6)]`
84
- - `#[cfg(ruby_gte_2_7)]`
85
- - `#[cfg(ruby_gt_2_7)]`
86
- - `#[cfg(ruby_gte_3_0)]`
87
- - `#[cfg(ruby_gt_3_0)]`
88
- - `#[cfg(ruby_lte_3_1)]`
89
- - `#[cfg(ruby_3_1)]`
90
- - `#[cfg(ruby_eq_3_1)]`
91
- - `#[cfg(ruby_gte_3_1)]`
92
- - `#[cfg(ruby_lt_3_2)]`
93
- - `#[cfg(ruby_lte_3_2)]`
94
- - `#[cfg(ruby_lt_3_3)]`
95
- - `#[cfg(ruby_lte_3_3)]`
96
- - `#[cfg(ruby_gte_1)]`
97
- - `#[cfg(ruby_gt_1)]`
98
- - `#[cfg(ruby_gte_2)]`
99
- - `#[cfg(ruby_gt_2)]`
100
- - `#[cfg(ruby_lte_3)]`
101
- - `#[cfg(ruby_3)]`
102
- - `#[cfg(ruby_eq_3)]`
103
- - `#[cfg(ruby_gte_3)]`
104
- - `#[cfg(ruby_lt_4)]`
105
- - `#[cfg(ruby_lte_4)]`
106
-
107
- ## License
108
-
109
- Licensed under either of
110
-
111
- - Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
112
- - MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
113
-
114
- at your option.
115
-
116
- ### Contribution
117
-
118
- Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as
119
- defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
@@ -1,37 +0,0 @@
1
- use std::{collections::HashMap, rc::Rc};
2
-
3
- /// The DEFINES variables from libruby.
4
- #[derive(Debug, Clone)]
5
- pub struct Defines {
6
- raw_environment: Rc<HashMap<String, String>>,
7
- }
8
-
9
- impl Defines {
10
- pub(crate) fn from_raw_environment(raw_environment: Rc<HashMap<String, String>>) -> Self {
11
- Self { raw_environment }
12
- }
13
-
14
- /// Determines the given key is true.
15
- pub fn is_value_true(&self, key: &str) -> bool {
16
- self.raw_environment
17
- .get(format!("DEFINES_{}", key).as_str())
18
- .map(|v| v == "1" || v == "true")
19
- .unwrap_or(false)
20
- }
21
-
22
- /// Fetches the raw value for the given key.
23
- pub fn get_raw_value(&self, key: &str) -> Option<&str> {
24
- self.raw_environment
25
- .get(format!("DEFINES_{}", key).as_str())
26
- .map(|v| v.as_str())
27
- }
28
-
29
- pub(crate) fn print_cargo_rustc_cfg(&self) {
30
- for (key, val) in self.raw_environment.iter() {
31
- if key.starts_with("DEFINES_") && val == "true" {
32
- let key = key.trim_start_matches("DEFINES_");
33
- rustc_cfg!("ruby_{}", key.to_lowercase());
34
- }
35
- }
36
- }
37
- }
@@ -1,180 +0,0 @@
1
- //! # `rb-sys-env`
2
- //!
3
- //! Helpers to integrate `rb-sys` into your high-level Ruby bindings library.
4
- //!
5
- //! ## Features
6
- //!
7
- //! - Provides the neccesary Cargo configuration to ensure that Rust crates compile properly across all platforms
8
- //! - Sets useful rustc-cfg flags that you can use from your crate
9
- //! - Exposes all `RbConfig::CONFIG` values from rb-sys
10
- //!
11
- //! ## Usage
12
- //!
13
- //! Add this to your `Cargo.toml`:
14
- //!
15
- //! ```toml
16
- //! [build-dependencies]
17
- //! rb-sys-env = "0.1"
18
- //! ```
19
- //!
20
- //! Then, in your crate's `build.rs`:
21
- //!
22
- //! ```rust
23
- //! pub fn main() -> Result<(), Box<dyn std::error::Error>> {
24
- //! let _rb_env = rb_sys_env::activate()?;
25
- //!
26
- //! Ok(())
27
- //! }
28
- //! ```
29
- //!
30
- //! ## Available `rustc-cfg`
31
- //!
32
- //! Here is an example of the `rustc-cfg` flags that are set by this crate:
33
- //!
34
- //! - `#[cfg(ruby_have_ruby_re_h)]`
35
- //! - `#[cfg(ruby_use_rgengc)]`
36
- //! - `#[cfg(ruby_use_symbol_as_method_name)]`
37
- //! - `#[cfg(ruby_have_ruby_util_h)]`
38
- //! - `#[cfg(ruby_have_ruby_oniguruma_h)]`
39
- //! - `#[cfg(ruby_have_ruby_defines_h)]`
40
- //! - `#[cfg(ruby_use_flonum)]`
41
- //! - `#[cfg(ruby_have_ruby_onigmo_h)]`
42
- //! - `#[cfg(ruby_use_unaligned_member_access)]`
43
- //! - `#[cfg(ruby_use_transient_heap)]`
44
- //! - `#[cfg(ruby_have_ruby_atomic_h)]`
45
- //! - `#[cfg(ruby_have_rb_scan_args_optional_hash)]`
46
- //! - `#[cfg(ruby_have_rb_data_type_t_parent)]`
47
- //! - `#[cfg(ruby_have_ruby_debug_h)]`
48
- //! - `#[cfg(ruby_have_ruby_encoding_h)]`
49
- //! - `#[cfg(ruby_have_ruby_ruby_h)]`
50
- //! - `#[cfg(ruby_have_ruby_intern_h)]`
51
- //! - `#[cfg(ruby_use_mjit)]`
52
- //! - `#[cfg(ruby_have_rb_data_type_t_function)]`
53
- //! - `#[cfg(ruby_have_rb_fd_init)]`
54
- //! - `#[cfg(ruby_have_rb_reg_new_str)]`
55
- //! - `#[cfg(ruby_have_rb_io_t)]`
56
- //! - `#[cfg(ruby_have_ruby_memory_view_h)]`
57
- //! - `#[cfg(ruby_have_ruby_version_h)]`
58
- //! - `#[cfg(ruby_have_ruby_st_h)]`
59
- //! - `#[cfg(ruby_have_ruby_thread_native_h)]`
60
- //! - `#[cfg(ruby_have_ruby_random_h)]`
61
- //! - `#[cfg(ruby_have_ruby_regex_h)]`
62
- //! - `#[cfg(ruby_have_rb_define_alloc_func)]`
63
- //! - `#[cfg(ruby_have_ruby_fiber_scheduler_h)]`
64
- //! - `#[cfg(ruby_have_ruby_missing_h)]`
65
- //! - `#[cfg(ruby_have_rb_ext_ractor_safe)]`
66
- //! - `#[cfg(ruby_have_ruby_thread_h)]`
67
- //! - `#[cfg(ruby_have_ruby_vm_h)]`
68
- //! - `#[cfg(ruby_use_rincgc)]`
69
- //! - `#[cfg(ruby_have_ruby_ractor_h)]`
70
- //! - `#[cfg(ruby_have_ruby_io_h)]`
71
- //! - `#[cfg(ruby_3)]`
72
- //! - `#[cfg(ruby_3_1)]`
73
- //! - `#[cfg(ruby_3_1_2)]`
74
- //! - `#[cfg(ruby_gte_2_2)]`
75
- //! - `#[cfg(ruby_gt_2_2)]`
76
- //! - `#[cfg(ruby_gte_2_3)]`
77
- //! - `#[cfg(ruby_gt_2_3)]`
78
- //! - `#[cfg(ruby_gte_2_4)]`
79
- //! - `#[cfg(ruby_gt_2_4)]`
80
- //! - `#[cfg(ruby_gte_2_5)]`
81
- //! - `#[cfg(ruby_gt_2_5)]`
82
- //! - `#[cfg(ruby_gte_2_6)]`
83
- //! - `#[cfg(ruby_gt_2_6)]`
84
- //! - `#[cfg(ruby_gte_2_7)]`
85
- //! - `#[cfg(ruby_gt_2_7)]`
86
- //! - `#[cfg(ruby_gte_3_0)]`
87
- //! - `#[cfg(ruby_gt_3_0)]`
88
- //! - `#[cfg(ruby_lte_3_1)]`
89
- //! - `#[cfg(ruby_3_1)]`
90
- //! - `#[cfg(ruby_eq_3_1)]`
91
- //! - `#[cfg(ruby_gte_3_1)]`
92
- //! - `#[cfg(ruby_lt_3_2)]`
93
- //! - `#[cfg(ruby_lte_3_2)]`
94
- //! - `#[cfg(ruby_lt_3_3)]`
95
- //! - `#[cfg(ruby_lte_3_3)]`
96
- //! - `#[cfg(ruby_gte_1)]`
97
- //! - `#[cfg(ruby_gt_1)]`
98
- //! - `#[cfg(ruby_gte_2)]`
99
- //! - `#[cfg(ruby_gt_2)]`
100
- //! - `#[cfg(ruby_lte_3)]`
101
- //! - `#[cfg(ruby_3)]`
102
- //! - `#[cfg(ruby_eq_3)]`
103
- //! - `#[cfg(ruby_gte_3)]`
104
- //! - `#[cfg(ruby_lt_4)]`
105
- //! - `#[cfg(ruby_lte_4)]`
106
-
107
- #[macro_use]
108
- mod utils;
109
- mod defines;
110
- mod rb_env;
111
- mod ruby_version;
112
-
113
- use std::error::Error;
114
-
115
- pub use defines::Defines;
116
- pub use rb_env::RbEnv;
117
- pub use ruby_version::RubyVersion;
118
-
119
- /// Configures Cargo linking based on the `DEP_RB_*` environment variables. This
120
- /// is needed to ensure that Cargo properly links to libruby on Windows..
121
- ///
122
- /// ```should_panic
123
- /// // In your crate's build.rs
124
- ///
125
- /// pub fn main() -> Result<(), Box<dyn std::error::Error>> {
126
- /// let rb_env = rb_sys_env::activate()?;
127
- ///
128
- /// if rb_env.ruby_major_minor() < (2, 7) {
129
- /// panic!("Your Ruby version is EOL!");
130
- /// }
131
- ///
132
- /// Ok(())
133
- /// }
134
- ///
135
- /// // In your crate's lib.rs
136
- /// pub fn is_ruby_flonum_activated() -> bool {
137
- /// cfg!(ruby_use_flonum)
138
- /// }
139
- /// ```
140
- pub fn activate() -> Result<RbEnv, Box<dyn Error>> {
141
- let env = RbEnv::default();
142
-
143
- env.print_cargo_rustc_cfg();
144
- env.print_encoded_cargo_args();
145
-
146
- if std::env::var_os("RB_SYS_ENV_DEBUG").is_some() {
147
- eprintln!("=======================");
148
- eprintln!("The \"RB_SYS_ENV_DEBUG\" env var was detecting, aborted build.");
149
- std::process::exit(1);
150
- }
151
-
152
- Ok(env)
153
- }
154
-
155
- /// Loads the `DEP_RB_*` environment variables, without setting Cargo configuration.
156
- ///
157
- /// *Note*: This will not activate the `rb-sys` crate's features to ensure Ruby is properly linked.
158
- ///
159
- /// ```
160
- /// // In your crate's build.rs
161
- ///
162
- /// pub fn main() -> Result<(), Box<dyn std::error::Error>> {
163
- /// let rb_env = rb_sys_env::load()?;
164
- ///
165
- /// rb_env.print_cargo_rerun_if_changed();
166
- /// rb_env.print_cargo_rustc_cfg();
167
- /// rb_env.print_encoded_cargo_args();
168
- ///
169
- /// if rb_env.ruby_major_minor() < (2, 7) {
170
- /// panic!("Your Ruby version is EOL!");
171
- /// }
172
- ///
173
- /// Ok(())
174
- /// }
175
- /// ```
176
- pub fn load() -> Result<RbEnv, Box<dyn Error>> {
177
- let env = RbEnv::default();
178
-
179
- Ok(env)
180
- }
@@ -1,110 +0,0 @@
1
- use crate::{Defines, RubyVersion};
2
- use std::{collections::HashMap, rc::Rc};
3
-
4
- const ENV_PREFIX: &str = "DEP_RB_";
5
- const RBCONFIG_PREFIX: &str = "RBCONFIG_";
6
- const CARGO_FEATURE_PREFIX: &str = "CARGO_FEATURE_";
7
-
8
- /// Information about the rb-sys environment.
9
- #[derive(Debug, Clone)]
10
- pub struct RbEnv {
11
- defines: Defines,
12
- vars: Rc<HashMap<String, String>>,
13
- }
14
-
15
- impl RbEnv {
16
- /// The current Ruby version.
17
- pub fn ruby_version(&self) -> RubyVersion {
18
- RubyVersion::from_raw_environment(&self.vars)
19
- }
20
-
21
- /// The (major, minor) tuple of the current Ruby version.
22
- pub fn ruby_major_minor(&self) -> (u8, u8) {
23
- self.ruby_version().major_minor()
24
- }
25
-
26
- /// Get a value from the current Ruby's `RbConfig::CONFIG`.
27
- pub fn get_rbconfig_value(&self, key: &str) -> Option<&str> {
28
- self.vars
29
- .get(&format!("{}{}", RBCONFIG_PREFIX, key))
30
- .map(|v| v.as_str())
31
- }
32
-
33
- /// List the Cargo features of rb-sys
34
- pub fn cargo_features(&self) -> Vec<String> {
35
- let keys = self.vars.keys();
36
- let keys = keys.filter(|k| k.starts_with(CARGO_FEATURE_PREFIX));
37
- let keys = keys.map(|k| k.trim_start_matches(CARGO_FEATURE_PREFIX));
38
-
39
- keys.map(|k| k.replace('_', "-").to_lowercase()).collect()
40
- }
41
-
42
- /// Tell Cargo to link to libruby, even if `rb-sys` decided not to.
43
- pub fn force_link_ruby(self) -> Self {
44
- let libdir = self.vars.get("LIBDIR").expect("DEP_RB_LIBDIR is not set");
45
- let lib = self.vars.get("LIB").expect("DEP_RB_LIB is not set");
46
-
47
- println!("cargo:rustc-link-search=native={}", libdir);
48
- println!("cargo:rustc-link-lib={}", lib);
49
-
50
- self
51
- }
52
-
53
- // Decodes the cargo args from `DEP_RB_ENCODED_CARGO_ARGS` environment variable.
54
- pub fn encoded_cargo_args(&self) -> Vec<String> {
55
- if let Some(raw_args) = self.vars.get("ENCODED_CARGO_ARGS") {
56
- let lines = raw_args.split('\x1E');
57
- let unescaped = lines.map(|line| line.replace('\x1F', "\n"));
58
- unescaped.collect()
59
- } else {
60
- vec![]
61
- }
62
- }
63
-
64
- /// Indicates if we are using libruby-static.
65
- pub fn is_ruby_static(&self) -> bool {
66
- self.vars
67
- .get("RUBY_STATIC")
68
- .map(|v| v == "true")
69
- .unwrap_or(false)
70
- }
71
-
72
- /// Prints args for rustc (i.e. `cargo:rustc-cfg=...`).
73
- pub fn print_cargo_rustc_cfg(&self) {
74
- self.defines.print_cargo_rustc_cfg();
75
- self.ruby_version().print_cargo_rustc_cfg();
76
- }
77
-
78
- /// Prints directives for rustc (i.e. `cargo:rustc-link-lib=...`).
79
- pub fn print_encoded_cargo_args(&self) {
80
- for line in self.encoded_cargo_args() {
81
- println!("{}", line);
82
- }
83
- }
84
-
85
- /// Prints directives for re-runs (i.e. `cargo:rerun-if-env-changed=...`)
86
- pub fn print_cargo_rerun_if_changed(&self) {
87
- for key in self.vars.keys() {
88
- println!("cargo:rerun-if-env-changed={}{}", ENV_PREFIX, key);
89
- }
90
-
91
- println!("cargo:rerun-if-changed=build.rs");
92
- println!("cargo:rerun-if-env-changed=RB_SYS_ENV_DEBUG");
93
- println!("cargo:rerun-if-env-changed=RUBY");
94
- println!("cargo:rerun-if-env-changed=RUBY_ROOT");
95
- println!("cargo:rerun-if-env-changed=RUBY_VERSION");
96
- }
97
- }
98
-
99
- impl Default for RbEnv {
100
- fn default() -> Self {
101
- let vars = std::env::vars();
102
- let vars = vars.filter(|(key, _)| key.starts_with(ENV_PREFIX));
103
- let vars = vars.map(|(key, value)| (key.trim_start_matches(ENV_PREFIX).to_string(), value));
104
- let vars: HashMap<String, String> = vars.collect();
105
- let vars = Rc::new(vars);
106
- let defines = Defines::from_raw_environment(vars.clone());
107
-
108
- Self { defines, vars }
109
- }
110
- }
@@ -1,163 +0,0 @@
1
- use std::collections::HashMap;
2
-
3
- const COMPARABLE_RUBY_MAJORS: [u8; 4] = [1, 2, 3, 4];
4
-
5
- const COMPARABLE_RUBY_MINORS: [(u8, u8); 10] = [
6
- (2, 2),
7
- (2, 3),
8
- (2, 4),
9
- (2, 5),
10
- (2, 6),
11
- (2, 7),
12
- (3, 0),
13
- (3, 1),
14
- (3, 2),
15
- (3, 3),
16
- ];
17
-
18
- /// The current Ruby version.
19
- #[derive(Debug, Clone, Copy, Eq, PartialEq)]
20
- pub struct RubyVersion {
21
- major: u8,
22
- minor: u8,
23
- teeny: u8,
24
- }
25
-
26
- impl RubyVersion {
27
- /// The Ruby major version.
28
- pub fn major(&self) -> u8 {
29
- self.major
30
- }
31
-
32
- /// The Ruby minor version.
33
- pub fn minor(&self) -> u8 {
34
- self.minor
35
- }
36
-
37
- /// The Ruby teeny version.
38
- pub fn teeny(&self) -> u8 {
39
- self.teeny
40
- }
41
-
42
- /// The Ruby version as a u8 triple.
43
- pub fn major_minor_teeny(&self) -> (u8, u8, u8) {
44
- (self.major, self.minor, self.teeny)
45
- }
46
-
47
- /// The Ruby version as a u8 pair.
48
- pub fn major_minor(&self) -> (u8, u8) {
49
- (self.major, self.minor)
50
- }
51
-
52
- pub fn print_cargo_rustc_cfg(&self) {
53
- rustc_cfg!("ruby_{}", self.major);
54
- rustc_cfg!("ruby_{}_{}", self.major, self.minor);
55
- rustc_cfg!("ruby_{}_{}_{}", self.major, self.minor, self.teeny);
56
-
57
- for v in &COMPARABLE_RUBY_MINORS {
58
- if self.major_minor() < *v {
59
- rustc_cfg!(r#"ruby_lt_{}_{}"#, v.0, v.1);
60
- }
61
- if self.major_minor() <= *v {
62
- rustc_cfg!(r#"ruby_lte_{}_{}"#, v.0, v.1);
63
- }
64
- if self.major_minor() == *v {
65
- rustc_cfg!(r#"ruby_{}_{}"#, v.0, v.1);
66
- rustc_cfg!(r#"ruby_eq_{}_{}"#, v.0, v.1);
67
- }
68
- if self.major_minor() >= *v {
69
- rustc_cfg!(r#"ruby_gte_{}_{}"#, v.0, v.1);
70
- }
71
- if self.major_minor() > *v {
72
- rustc_cfg!(r#"ruby_gt_{}_{}"#, v.0, v.1);
73
- }
74
- }
75
-
76
- for v in &COMPARABLE_RUBY_MAJORS {
77
- if self.major() < *v {
78
- rustc_cfg!(r#"ruby_lt_{}"#, v);
79
- }
80
- if self.major() <= *v {
81
- rustc_cfg!(r#"ruby_lte_{}"#, v);
82
- }
83
- if self.major() == *v {
84
- rustc_cfg!(r#"ruby_{}"#, v);
85
- rustc_cfg!(r#"ruby_eq_{}"#, v);
86
- }
87
- if self.major() >= *v {
88
- rustc_cfg!(r#"ruby_gte_{}"#, v);
89
- }
90
- if self.major() > *v {
91
- rustc_cfg!(r#"ruby_gt_{}"#, v);
92
- }
93
- }
94
- }
95
- }
96
-
97
- impl From<u8> for RubyVersion {
98
- fn from(major: u8) -> Self {
99
- Self {
100
- major,
101
- minor: 0,
102
- teeny: 0,
103
- }
104
- }
105
- }
106
-
107
- impl From<(u8, u8)> for RubyVersion {
108
- fn from((major, minor): (u8, u8)) -> Self {
109
- Self {
110
- major,
111
- minor,
112
- teeny: 0,
113
- }
114
- }
115
- }
116
-
117
- impl From<(u8, u8, u8)> for RubyVersion {
118
- fn from((major, minor, teeny): (u8, u8, u8)) -> Self {
119
- Self {
120
- major,
121
- minor,
122
- teeny,
123
- }
124
- }
125
- }
126
-
127
- fn verpart(env: &HashMap<String, String>, key: &str) -> u8 {
128
- env.get(key).unwrap().parse().unwrap()
129
- }
130
-
131
- impl RubyVersion {
132
- pub(crate) fn from_raw_environment(env: &HashMap<String, String>) -> Self {
133
- Self {
134
- major: verpart(env, "MAJOR"),
135
- minor: verpart(env, "MINOR"),
136
- teeny: verpart(env, "TEENY"),
137
- }
138
- }
139
- }
140
-
141
- #[cfg(test)]
142
- mod tests {
143
- use super::*;
144
-
145
- #[test]
146
- fn test_equality_from_tuple() {
147
- assert_eq!(RubyVersion::from((3, 0, 0)), RubyVersion::from((3, 0)));
148
- assert_ne!(RubyVersion::from((3, 0, 1)), RubyVersion::from((3, 0)));
149
- }
150
-
151
- #[test]
152
- fn test_from_hashmap() {
153
- let mut env = HashMap::new();
154
- env.insert("MAJOR".to_string(), "3".to_string());
155
- env.insert("MINOR".to_string(), "0".to_string());
156
- env.insert("TEENY".to_string(), "0".to_string());
157
-
158
- assert_eq!(
159
- RubyVersion::from_raw_environment(&env),
160
- RubyVersion::from((3, 0, 0))
161
- );
162
- }
163
- }
@@ -1,6 +0,0 @@
1
- #[macro_export]
2
- macro_rules! rustc_cfg {
3
- ($var:literal, $($cfg:tt)*) => {
4
- println!(concat!("cargo:rustc-cfg=", $var), $($cfg)*);
5
- };
6
- }
@@ -1 +0,0 @@
1
- {"files":{".cargo_vcs_info.json":"b6c3bf981adfce27dc15bb6a3282f034e5640d0a1d8cc06368ee5aa75834e2a0","Cargo.lock":"fd713a3a07b2fbdfe3dc9d6fd28223801e96262d067cc39ee32abd44c5af5692","Cargo.toml":"c1ffb2fd5103bc311ac597e2f4f3455df573e482636cd628a624cb6f80eb0923","Cargo.toml.orig":"6fc3286748fdb9be3464e6adf24f27228d7e361132fb1c0f79068e967691bfca","LICENSE":"b13a15a45244679c4be9cc2e3a6e93e18d971fe890350e131f68a8f7d013d8ad","README.md":"b9fe5f4cb3b35148012dd9ca55fd010a4231e3116d3255dee15b4a78303dd781","src/de/array_deserializer.rs":"4b4b6a534f7daa81f689d0c4f07da906e2ec21aa724642d93161f5dce9e4a39d","src/de/array_enumerator.rs":"f94ec3536fef5a747b7c5ab98b8c839f2d2ee83cdca18769484029c8fb2211ae","src/de/deserializer.rs":"3226e9381735a1f9870d981e714bc392617be475ffeae808e419578331a9470c","src/de/enum_deserializer.rs":"15f6cb655b30317c6f8515c9c8163817ef8781b157716258075da9b7d60dcc03","src/de/hash_deserializer.rs":"30e12980c6e069628ed4531f3c9c9e1995e27c67df7ebd61147554b4b87cf59d","src/de/mod.rs":"d51cd173ecd7d5f8289044c9b7a592dde5d52ac40b18859032d883fe1924dd6e","src/de/variant_deserializer.rs":"cd699910dee47bf7b8e5edd6eabb96e70949376179ce8f349a5e916b5d2e904f","src/error.rs":"4a58e9272dc7e4411fb8c5169598bebeed81732ae72b77e2659320e763891898","src/lib.rs":"77253605276a74cbcd0f3b130d38f855ebabf0812fd90fe3166d090eda79e0ef","src/ser/enums.rs":"b19d3640ce19cc5c89188690a84e09e223c45b752dd5cf7e8bac2b81b29e0529","src/ser/map_serializer.rs":"bd84636ed75f1735b09d591634301434b12bdcefcb116bafa34ac915404feb79","src/ser/mod.rs":"b440b6c6d88dbc6eaab0e77fdfa15edabbe037948244f8098e24ae10e6e2dd73","src/ser/seq_serializer.rs":"92ee0da3279758c06e668262ac58b8c70492194456588ea2e30f90da40ce22ef","src/ser/serializer.rs":"695f06bfa3bd7822a930f03a8a844669f91dbbd2c97ee19f9f4c8b2758af0c9c","src/ser/struct_serializer.rs":"24a323f0064beb2e8f1fdbec3c4f88444cf739ea713bb14251e5d5a79934b95d","src/ser/struct_variant_serializer.rs":"a64c81e1d85f5e02e21c56cf19a411b4fb7e721d853440a627102486e604633b","src/ser/tuple_variant_serializer.rs":"a48e660c8b33be01fcd046771f8483398e1e895a667b66df88b0d92646365ced","tests/deserializing_arrays.rs":"82493506ea45372bff6c184e26c5dfdaad5d245aebecc38971c20b545dd4c964","tests/deserializing_booleans.rs":"9ecb77e102c39a23918b178de9e83dbac2f2707d32eb33bd83cfb3e4206bf6d6","tests/deserializing_enums.rs":"f86e0a0404b70f03c76c390df72b521751334db0ab88cb5e4e396222456ffa92","tests/deserializing_floats.rs":"f5c73dcfd365ea73321889175dc063127bf1011895603f843709c921217c1a43","tests/deserializing_integers.rs":"e767f711fbf0b24022360081c3e6ec98873b1193d8f90fdf5171ae15fecbcd2b","tests/deserializing_maps.rs":"67b5433321bca597f0e68b41eca2d981f38b378464662db3478f31799556fd68","tests/deserializing_options.rs":"78672966978eaa6d146d88a554cc74702aa080565a4e34db9d0e7667621b9e89","tests/deserializing_results.rs":"c30ba03bf8a48dde8abd8a0acf62240a55849b482fd478da46899cd3e1d99bf5","tests/deserializing_strings.rs":"370f5a493f99dc72a487ddbb3dc706672d2193b696d6f6b3a78aa172e4324bca","tests/deserializing_structs.rs":"0a236bbe370ad8c72e1f2759f3b9444aaca7f868ae1eb1c552e4221fd79421a1","tests/deserializing_tuples.rs":"80e20283943cb6c6825188514155ee854b73fe2c2e6a1266e9f4d7dd8bc9c277","tests/deserializing_vecs.rs":"a0cf48ff03f4dc77eb0815a6ada816b67da5e96604e2570cc3a34d547503ccfb","tests/serializing_arrays.rs":"92bbbd06a45c0e57048053eb347a02b9de03d6027287ad4c9f5a50f0d4024b55","tests/serializing_booleans.rs":"56bb3b97f2043aa10377921b952c90de06dd1777c68c2e7a9ebc85a9a2e1928a","tests/serializing_enums.rs":"3baedd901aa2ae36111c8f849775130ccfd06c3f640a2eacdc40126c1cbe12fe","tests/serializing_floats.rs":"2d4e886d060cf7ffb4e1dbbd29585c336490e45f82f500b5afb3d7cc13ea0bf4","tests/serializing_integers.rs":"cdba2b767a4fc12c765e8131ad4565abec3afcbb2fe088c9bfeb5e3c5d39eab4","tests/serializing_maps.rs":"d7c5039e0a2318ad7d69850d6c2761ce69325733e26bccf142d50b2158b29518","tests/serializing_options.rs":"0ad553d5b307e1b1b2f30e774263871704e5991169e8aaa6d951bdcd9b42c952","tests/serializing_results.rs":"d0ae2806a5fde975c1745ddccb7ce07e960a9d2ccda4b1993ac6b979d4c93ad5","tests/serializing_strings.rs":"b6ac6f21297b82517910f31159e4922489026b56f79f78fefd20ce44a07aa631","tests/serializing_structs.rs":"58c126b73c5f28bee6eeb2e23588fbb30f16ad9baf8ea5f74c8f35c1003deb02","tests/serializing_tuples.rs":"abab9a596715ddc8e4a44accd2e97f1bf3769818d05bef122c88138b3c12e6c3","tests/serializing_vecs.rs":"f8294e28bd08a15f01e98e9c746736ab270556413219a1137b87619ba21a0f46"},"package":"51b8b945a2dadb221f1c5490cfb411cab6c3821446b8eca50ee07e5a3893ec51"}
@@ -1,6 +0,0 @@
1
- {
2
- "git": {
3
- "sha1": "8f7bad266b9325126fd1244351624acc6a73705e"
4
- },
5
- "path_in_vcs": ""
6
- }
@@ -1,30 +0,0 @@
1
- use super::VariantDeserializer;
2
- use crate::error::Error;
3
- use magnus::Value;
4
- use serde::de::{DeserializeSeed, EnumAccess, IntoDeserializer};
5
-
6
- pub struct EnumDeserializer {
7
- variant: String,
8
- value: Value,
9
- }
10
-
11
- impl EnumDeserializer {
12
- pub fn new(variant: String, value: Value) -> EnumDeserializer {
13
- EnumDeserializer { variant, value }
14
- }
15
- }
16
-
17
- impl<'i> EnumAccess<'i> for EnumDeserializer {
18
- type Variant = VariantDeserializer;
19
- type Error = Error;
20
-
21
- fn variant_seed<Seed>(self, seed: Seed) -> Result<(Seed::Value, Self::Variant), Error>
22
- where
23
- Seed: DeserializeSeed<'i>,
24
- {
25
- let deserializer = VariantDeserializer::new(self.value);
26
-
27
- seed.deserialize(self.variant.into_deserializer())
28
- .map(|value| (value, deserializer))
29
- }
30
- }
@@ -1,11 +0,0 @@
1
- use crate::error::Error;
2
- use magnus::{IntoValue, RHash, Value};
3
-
4
- pub fn nest<Data>(variant: &'static str, data: Data) -> Result<Value, Error>
5
- where
6
- Data: IntoValue,
7
- {
8
- let hash = RHash::new();
9
- hash.aset(variant, data)?;
10
- Ok(hash.into_value())
11
- }