backports 3.15.0 → 3.24.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (505) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +846 -0
  3. data/Gemfile +6 -13
  4. data/README.md +706 -0
  5. data/SECURITY.md +5 -0
  6. data/backports.gemspec +6 -2
  7. data/lib/backports/1.8.7.rb +10 -2
  8. data/lib/backports/1.9.1.rb +6 -1
  9. data/lib/backports/1.9.2/stdlib/matrix.rb +5 -0
  10. data/lib/backports/1.9.2.rb +6 -1
  11. data/lib/backports/1.9.3.rb +6 -1
  12. data/lib/backports/2.0.0/range/size.rb +2 -0
  13. data/lib/backports/2.0.0.rb +7 -2
  14. data/lib/backports/2.1.0/module/singleton_class.rb +8 -0
  15. data/lib/backports/2.1.0.rb +2 -2
  16. data/lib/backports/2.2.0/enumerable/slice_after.rb +1 -1
  17. data/lib/backports/2.2.0/float/next_float.rb +1 -1
  18. data/lib/backports/2.2.0/float/prev_float.rb +1 -1
  19. data/lib/backports/2.2.0/method/super_method.rb +2 -2
  20. data/lib/backports/2.2.0/string/unicode_normalize.rb +3 -3
  21. data/lib/backports/2.2.0.rb +2 -2
  22. data/lib/backports/2.3.0/array/bsearch_index.rb +1 -1
  23. data/lib/backports/2.3.0/hash/lt.rb +1 -1
  24. data/lib/backports/2.3.0/hash/lte.rb +1 -1
  25. data/lib/backports/2.3.0/hash/to_proc.rb +1 -1
  26. data/lib/backports/2.3.0/queue/close.rb +48 -0
  27. data/lib/backports/2.3.0/string.rb +3 -0
  28. data/lib/backports/2.3.0/struct/dig.rb +3 -2
  29. data/lib/backports/2.3.0.rb +2 -2
  30. data/lib/backports/2.4.0/bignum/dup.rb +5 -0
  31. data/lib/backports/2.4.0/bignum.rb +3 -0
  32. data/lib/backports/2.4.0/enumerable/sum.rb +8 -4
  33. data/lib/backports/2.4.0/hash/transform_values.rb +2 -2
  34. data/lib/backports/2.4.0/string/unpack1.rb +7 -0
  35. data/lib/backports/2.4.0/true_class/dup.rb +0 -1
  36. data/lib/backports/2.4.0.rb +2 -2
  37. data/lib/backports/2.5.0/dir/children.rb +4 -0
  38. data/lib/backports/2.5.0/dir/each_child.rb +7 -0
  39. data/lib/backports/2.5.0/hash/transform_keys.rb +11 -4
  40. data/lib/backports/2.5.0/integer/sqrt.rb +2 -2
  41. data/lib/backports/2.5.0/module/alias_method.rb +0 -1
  42. data/lib/backports/2.5.0/string/undump.rb +5 -9
  43. data/lib/backports/2.5.0/struct/new.rb +1 -1
  44. data/lib/backports/2.5.0.rb +2 -2
  45. data/lib/backports/2.5.rb +1 -1
  46. data/lib/backports/2.6.0/array/difference.rb +7 -3
  47. data/lib/backports/2.6.0/enumerable/chain.rb +6 -1
  48. data/lib/backports/2.6.0/hash/to_h.rb +1 -1
  49. data/lib/backports/2.6.0/range/cover.rb +22 -0
  50. data/lib/backports/2.6.0/range.rb +3 -0
  51. data/lib/backports/2.6.0.rb +3 -3
  52. data/lib/backports/2.6.rb +1 -1
  53. data/lib/backports/2.7.0/array/intersection.rb +7 -0
  54. data/lib/backports/2.7.0/array.rb +3 -0
  55. data/lib/backports/2.7.0/comparable/clamp.rb +23 -0
  56. data/lib/backports/2.7.0/comparable.rb +3 -0
  57. data/lib/backports/2.7.0/complex/comparison.rb +13 -0
  58. data/lib/backports/2.7.0/complex.rb +3 -0
  59. data/lib/backports/2.7.0/enumerable/filter_map.rb +14 -0
  60. data/lib/backports/2.7.0/enumerable/tally.rb +11 -0
  61. data/lib/backports/2.7.0/enumerable.rb +3 -0
  62. data/lib/backports/2.7.0/enumerator/produce.rb +20 -0
  63. data/lib/backports/2.7.0/enumerator.rb +3 -0
  64. data/lib/backports/2.7.0/symbol/end_with.rb +9 -0
  65. data/lib/backports/2.7.0/symbol/start_with.rb +9 -0
  66. data/lib/backports/2.7.0/symbol.rb +3 -0
  67. data/lib/backports/2.7.0/time/ceil.rb +10 -0
  68. data/lib/backports/2.7.0/time/floor.rb +7 -0
  69. data/lib/backports/2.7.0.rb +3 -0
  70. data/lib/backports/2.7.rb +1 -0
  71. data/lib/backports/3.0.0/env/except.rb +10 -0
  72. data/lib/backports/3.0.0/env.rb +3 -0
  73. data/lib/backports/3.0.0/hash/except.rb +10 -0
  74. data/lib/backports/3.0.0/hash/transform_keys.rb +48 -0
  75. data/lib/backports/3.0.0/hash.rb +3 -0
  76. data/lib/backports/3.0.0/ractor.rb +19 -0
  77. data/lib/backports/3.0.0/symbol/name.rb +21 -0
  78. data/lib/backports/3.0.0/symbol.rb +3 -0
  79. data/lib/backports/3.0.0.rb +3 -0
  80. data/lib/backports/3.0.rb +1 -0
  81. data/lib/backports/3.1.0/array/intersect.rb +16 -0
  82. data/lib/backports/3.1.0/array.rb +3 -0
  83. data/lib/backports/3.1.0/class/subclasses.rb +11 -0
  84. data/lib/backports/3.1.0/enumerable/compact.rb +5 -0
  85. data/lib/backports/3.1.0/enumerable/tally.rb +18 -0
  86. data/lib/backports/3.1.0/enumerable.rb +3 -0
  87. data/lib/backports/3.1.0/file/dirname.rb +16 -0
  88. data/lib/backports/3.1.0/file.rb +3 -0
  89. data/lib/backports/3.1.0/integer/try_convert.rb +7 -0
  90. data/lib/backports/3.1.0/integer.rb +3 -0
  91. data/lib/backports/3.1.0/match_data/match.rb +5 -0
  92. data/lib/backports/3.1.0/match_data/match_length.rb +6 -0
  93. data/lib/backports/3.1.0/match_data.rb +3 -0
  94. data/lib/backports/3.1.0/struct/keyword_init.rb +5 -0
  95. data/lib/backports/3.1.0/struct.rb +3 -0
  96. data/lib/backports/3.1.0.rb +3 -0
  97. data/lib/backports/3.1.rb +1 -0
  98. data/lib/backports/3.2.0/class/attached_object.rb +10 -0
  99. data/lib/backports/3.2.0/class.rb +3 -0
  100. data/lib/backports/3.2.0/data.rb +144 -0
  101. data/lib/backports/3.2.0/enumerator/product.rb +64 -0
  102. data/lib/backports/3.2.0/enumerator.rb +3 -0
  103. data/lib/backports/3.2.0/hash/shift.rb +10 -0
  104. data/lib/backports/3.2.0/hash.rb +3 -0
  105. data/lib/backports/3.2.0/integer/ceildiv.rb +7 -0
  106. data/lib/backports/3.2.0/integer.rb +3 -0
  107. data/lib/backports/3.2.0/match_data/byteoffset.rb +12 -0
  108. data/lib/backports/3.2.0/match_data.rb +3 -0
  109. data/lib/backports/3.2.0.rb +3 -0
  110. data/lib/backports/3.2.rb +1 -0
  111. data/lib/backports/latest.rb +1 -1
  112. data/lib/backports/ractor/cloner.rb +103 -0
  113. data/lib/backports/ractor/errors.rb +20 -0
  114. data/lib/backports/ractor/filtered_queue.rb +205 -0
  115. data/lib/backports/ractor/queues.rb +66 -0
  116. data/lib/backports/ractor/ractor.rb +272 -0
  117. data/lib/backports/ractor/sharing.rb +97 -0
  118. data/lib/backports/rails/array.rb +4 -0
  119. data/lib/backports/rails/enumerable.rb +4 -0
  120. data/lib/backports/rails/hash.rb +4 -0
  121. data/lib/backports/rails/kernel.rb +4 -0
  122. data/lib/backports/rails/module.rb +4 -0
  123. data/lib/backports/rails/string.rb +4 -0
  124. data/lib/backports/std_lib.rb +3 -0
  125. data/lib/backports/tools/deprecation.rb +19 -0
  126. data/lib/backports/tools/require_relative_dir.rb +6 -1
  127. data/lib/backports/version.rb +1 -1
  128. data/lib/backports.rb +6 -0
  129. metadata +81 -488
  130. data/.document +0 -6
  131. data/.gitignore +0 -9
  132. data/.gitmodules +0 -6
  133. data/.irbrc +0 -3
  134. data/.travis.yml +0 -20
  135. data/CHANGELOG.rdoc +0 -479
  136. data/README.rdoc +0 -422
  137. data/Rakefile +0 -189
  138. data/default.mspec +0 -14
  139. data/frozen_old_spec/tags/1.8.6/core/argf/each_line_spec.rb +0 -6
  140. data/frozen_old_spec/tags/1.8.6/core/argf/each_spec.rb +0 -6
  141. data/frozen_old_spec/tags/1.8.6/core/argf/lines_spec.rb +0 -6
  142. data/frozen_old_spec/tags/1.8.6/core/array/append_spec.rb +0 -1
  143. data/frozen_old_spec/tags/1.8.6/core/array/collect_spec.rb +0 -7
  144. data/frozen_old_spec/tags/1.8.6/core/array/rotate_spec.rb +0 -2
  145. data/frozen_old_spec/tags/1.8.6/core/array/uniq_spec.rb +0 -3
  146. data/frozen_old_spec/tags/1.8.6/core/complex/to_r_spec.rb +0 -3
  147. data/frozen_old_spec/tags/1.8.6/core/enumerable/all_spec.rb +0 -1
  148. data/frozen_old_spec/tags/1.8.6/core/enumerable/any_spec.rb +0 -2
  149. data/frozen_old_spec/tags/1.8.6/core/enumerable/each_entry_spec.rb +0 -1
  150. data/frozen_old_spec/tags/1.8.6/core/enumerable/none_spec.rb +0 -1
  151. data/frozen_old_spec/tags/1.8.6/core/enumerable/one_spec.rb +0 -1
  152. data/frozen_old_spec/tags/1.8.6/core/enumerator/next_spec.rb +0 -1
  153. data/frozen_old_spec/tags/1.8.6/core/env/to_h_spec.rb +0 -2
  154. data/frozen_old_spec/tags/1.8.6/core/file/join_spec.rb +0 -3
  155. data/frozen_old_spec/tags/1.8.6/core/file/lchmod_spec.rb +0 -2
  156. data/frozen_old_spec/tags/1.8.6/core/file/new_spec.rb +0 -2
  157. data/frozen_old_spec/tags/1.8.6/core/file/open_spec.rb +0 -13
  158. data/frozen_old_spec/tags/1.8.6/core/file/to_path_spec.rb +0 -1
  159. data/frozen_old_spec/tags/1.8.6/core/fixnum/fdiv_spec.rb +0 -1
  160. data/frozen_old_spec/tags/1.8.6/core/gc/stress_spec.rb +0 -2
  161. data/frozen_old_spec/tags/1.8.6/core/hash/assoc_spec.rb +0 -1
  162. data/frozen_old_spec/tags/1.8.6/core/hash/constructor_spec.rb +0 -3
  163. data/frozen_old_spec/tags/1.8.6/core/hash/default_proc_spec.rb +0 -3
  164. data/frozen_old_spec/tags/1.8.6/core/hash/delete_if_spec.rb +0 -1
  165. data/frozen_old_spec/tags/1.8.6/core/hash/each_pair_spec.rb +0 -1
  166. data/frozen_old_spec/tags/1.8.6/core/hash/eql_spec.rb +0 -3
  167. data/frozen_old_spec/tags/1.8.6/core/hash/hash_spec.rb +0 -3
  168. data/frozen_old_spec/tags/1.8.6/core/hash/keep_if_spec.rb +0 -2
  169. data/frozen_old_spec/tags/1.8.6/core/hash/rassoc_spec.rb +0 -1
  170. data/frozen_old_spec/tags/1.8.6/core/hash/reject_spec.rb +0 -2
  171. data/frozen_old_spec/tags/1.8.6/core/hash/select_spec.rb +0 -8
  172. data/frozen_old_spec/tags/1.8.6/core/integer/round_spec.rb +0 -2
  173. data/frozen_old_spec/tags/1.8.6/core/io/binread_spec.rb +0 -7
  174. data/frozen_old_spec/tags/1.8.6/core/io/chars_spec.rb +0 -1
  175. data/frozen_old_spec/tags/1.8.6/core/io/each_char_spec.rb +0 -1
  176. data/frozen_old_spec/tags/1.8.6/core/io/lines_spec.rb +0 -1
  177. data/frozen_old_spec/tags/1.8.6/core/io/open_spec.rb +0 -24
  178. data/frozen_old_spec/tags/1.8.6/core/io/ungetbyte_spec.rb +0 -4
  179. data/frozen_old_spec/tags/1.8.6/core/io/write_spec.rb +0 -5
  180. data/frozen_old_spec/tags/1.8.6/core/kernel/__callee___spec.rb +0 -6
  181. data/frozen_old_spec/tags/1.8.6/core/kernel/__method___spec.rb +0 -1
  182. data/frozen_old_spec/tags/1.8.6/core/kernel/define_singleton_method_spec.rb +0 -2
  183. data/frozen_old_spec/tags/1.8.6/core/kernel/public_method_spec.rb +0 -2
  184. data/frozen_old_spec/tags/1.8.6/core/kernel/require_relative_spec.rb +0 -3
  185. data/frozen_old_spec/tags/1.8.6/core/math/log2_spec.rb +0 -6
  186. data/frozen_old_spec/tags/1.8.6/core/math/log_spec.rb +0 -3
  187. data/frozen_old_spec/tags/1.8.6/core/module/alias_method_spec.rb +0 -1
  188. data/frozen_old_spec/tags/1.8.6/core/module/attr_accessor_spec.rb +0 -2
  189. data/frozen_old_spec/tags/1.8.6/core/module/attr_reader_spec.rb +0 -2
  190. data/frozen_old_spec/tags/1.8.6/core/module/attr_spec.rb +0 -1
  191. data/frozen_old_spec/tags/1.8.6/core/module/attr_writer_spec.rb +0 -2
  192. data/frozen_old_spec/tags/1.8.6/core/module/class_exec_spec.rb +0 -2
  193. data/frozen_old_spec/tags/1.8.6/core/module/define_method_spec.rb +0 -1
  194. data/frozen_old_spec/tags/1.8.6/core/module/module_exec_spec.rb +0 -2
  195. data/frozen_old_spec/tags/1.8.6/core/module/remove_method_spec.rb +0 -1
  196. data/frozen_old_spec/tags/1.8.6/core/module/undef_method_spec.rb +0 -1
  197. data/frozen_old_spec/tags/1.8.6/core/nil/dup_spec.rb +0 -1
  198. data/frozen_old_spec/tags/1.8.6/core/numeric/step_spec.rb +0 -12
  199. data/frozen_old_spec/tags/1.8.6/core/proc/curry_spec.rb +0 -4
  200. data/frozen_old_spec/tags/1.8.6/core/range/step_spec.rb +0 -12
  201. data/frozen_old_spec/tags/1.8.6/core/string/getbyte_spec.rb +0 -6
  202. data/frozen_old_spec/tags/1.8.6/core/string/partition_spec.rb +0 -1
  203. data/frozen_old_spec/tags/1.8.6/core/string/prepend_spec.rb +0 -1
  204. data/frozen_old_spec/tags/1.8.6/core/string/rpartition_spec.rb +0 -1
  205. data/frozen_old_spec/tags/1.8.6/core/string/setbyte_spec.rb +0 -5
  206. data/frozen_old_spec/tags/1.8.6/core/string/upto_spec.rb +0 -1
  207. data/frozen_old_spec/tags/1.8.6/core/symbol/capitalize_spec.rb +0 -3
  208. data/frozen_old_spec/tags/1.8.6/core/symbol/comparison_spec.rb +0 -1
  209. data/frozen_old_spec/tags/1.8.6/core/symbol/downcase_spec.rb +0 -2
  210. data/frozen_old_spec/tags/1.8.6/core/symbol/element_reference_spec.rb +0 -4
  211. data/frozen_old_spec/tags/1.8.6/core/symbol/empty_spec.rb +0 -1
  212. data/frozen_old_spec/tags/1.8.6/core/symbol/match_spec.rb +0 -2
  213. data/frozen_old_spec/tags/1.8.6/core/symbol/swapcase_spec.rb +0 -2
  214. data/frozen_old_spec/tags/1.8.6/core/symbol/to_proc_spec.rb +0 -1
  215. data/frozen_old_spec/tags/1.8.6/core/symbol/upcase_spec.rb +0 -1
  216. data/frozen_old_spec/tags/1.8.7/core/array/append_spec.rb +0 -1
  217. data/frozen_old_spec/tags/1.8.7/core/array/keep_if_spec.rb +0 -2
  218. data/frozen_old_spec/tags/1.8.7/core/array/rotate_spec.rb +0 -2
  219. data/frozen_old_spec/tags/1.8.7/core/array/select_spec.rb +0 -2
  220. data/frozen_old_spec/tags/1.8.7/core/array/uniq_spec.rb +0 -3
  221. data/frozen_old_spec/tags/1.8.7/core/complex/to_r_spec.rb +0 -3
  222. data/frozen_old_spec/tags/1.8.7/core/enumerable/all_spec.rb +0 -1
  223. data/frozen_old_spec/tags/1.8.7/core/enumerable/any_spec.rb +0 -2
  224. data/frozen_old_spec/tags/1.8.7/core/enumerable/collect_concat_spec.rb +0 -1
  225. data/frozen_old_spec/tags/1.8.7/core/enumerable/flat_map_spec.rb +0 -1
  226. data/frozen_old_spec/tags/1.8.7/core/enumerable/none_spec.rb +0 -1
  227. data/frozen_old_spec/tags/1.8.7/core/enumerable/one_spec.rb +0 -1
  228. data/frozen_old_spec/tags/1.8.7/core/env/to_h_spec.rb +0 -2
  229. data/frozen_old_spec/tags/1.8.7/core/file/lchmod_spec.rb +0 -2
  230. data/frozen_old_spec/tags/1.8.7/core/file/new_spec.rb +0 -1
  231. data/frozen_old_spec/tags/1.8.7/core/file/open_spec.rb +0 -5
  232. data/frozen_old_spec/tags/1.8.7/core/file/readlink_spec.rb +0 -6
  233. data/frozen_old_spec/tags/1.8.7/core/file/to_path_spec.rb +0 -1
  234. data/frozen_old_spec/tags/1.8.7/core/hash/assoc_spec.rb +0 -1
  235. data/frozen_old_spec/tags/1.8.7/core/hash/default_proc_spec.rb +0 -3
  236. data/frozen_old_spec/tags/1.8.7/core/hash/keep_if_spec.rb +0 -2
  237. data/frozen_old_spec/tags/1.8.7/core/hash/merge_spec.rb +0 -3
  238. data/frozen_old_spec/tags/1.8.7/core/hash/rassoc_spec.rb +0 -1
  239. data/frozen_old_spec/tags/1.8.7/core/hash/select_spec.rb +0 -1
  240. data/frozen_old_spec/tags/1.8.7/core/hash/to_h_spec.rb +0 -1
  241. data/frozen_old_spec/tags/1.8.7/core/hash/update_spec.rb +0 -3
  242. data/frozen_old_spec/tags/1.8.7/core/integer/round_spec.rb +0 -2
  243. data/frozen_old_spec/tags/1.8.7/core/io/binread_spec.rb +0 -7
  244. data/frozen_old_spec/tags/1.8.7/core/io/open_spec.rb +0 -32
  245. data/frozen_old_spec/tags/1.8.7/core/io/ungetbyte_spec.rb +0 -4
  246. data/frozen_old_spec/tags/1.8.7/core/io/write_spec.rb +0 -5
  247. data/frozen_old_spec/tags/1.8.7/core/kernel/__callee___spec.rb +0 -6
  248. data/frozen_old_spec/tags/1.8.7/core/kernel/define_singleton_method_spec.rb +0 -2
  249. data/frozen_old_spec/tags/1.8.7/core/kernel/public_method_spec.rb +0 -1
  250. data/frozen_old_spec/tags/1.8.7/core/kernel/require_relative_spec.rb +0 -3
  251. data/frozen_old_spec/tags/1.8.7/core/math/log2_spec.rb +0 -6
  252. data/frozen_old_spec/tags/1.8.7/core/math/log_spec.rb +0 -3
  253. data/frozen_old_spec/tags/1.8.7/core/module/alias_method_spec.rb +0 -7
  254. data/frozen_old_spec/tags/1.8.7/core/module/attr_accessor_spec.rb +0 -2
  255. data/frozen_old_spec/tags/1.8.7/core/module/attr_reader_spec.rb +0 -2
  256. data/frozen_old_spec/tags/1.8.7/core/module/attr_spec.rb +0 -2
  257. data/frozen_old_spec/tags/1.8.7/core/module/attr_writer_spec.rb +0 -2
  258. data/frozen_old_spec/tags/1.8.7/core/module/define_method_spec.rb +0 -1
  259. data/frozen_old_spec/tags/1.8.7/core/module/include_spec.rb +0 -3
  260. data/frozen_old_spec/tags/1.8.7/core/module/remove_method_spec.rb +0 -3
  261. data/frozen_old_spec/tags/1.8.7/core/module/undef_method_spec.rb +0 -3
  262. data/frozen_old_spec/tags/1.8.7/core/nil/dup_spec.rb +0 -1
  263. data/frozen_old_spec/tags/1.8.7/core/proc/curry_spec.rb +0 -3
  264. data/frozen_old_spec/tags/1.8.7/core/proc/yield_spec.rb +0 -4
  265. data/frozen_old_spec/tags/1.8.7/core/range/size_spec.rb +0 -1
  266. data/frozen_old_spec/tags/1.8.7/core/string/getbyte_spec.rb +0 -5
  267. data/frozen_old_spec/tags/1.8.7/core/string/prepend_spec.rb +0 -1
  268. data/frozen_old_spec/tags/1.8.7/core/string/setbyte_spec.rb +0 -5
  269. data/frozen_old_spec/tags/1.8.7/core/struct/new_spec.rb +0 -3
  270. data/frozen_old_spec/tags/1.8.7/core/symbol/capitalize_spec.rb +0 -3
  271. data/frozen_old_spec/tags/1.8.7/core/symbol/comparison_spec.rb +0 -1
  272. data/frozen_old_spec/tags/1.8.7/core/symbol/downcase_spec.rb +0 -2
  273. data/frozen_old_spec/tags/1.8.7/core/symbol/element_reference_spec.rb +0 -4
  274. data/frozen_old_spec/tags/1.8.7/core/symbol/empty_spec.rb +0 -1
  275. data/frozen_old_spec/tags/1.8.7/core/symbol/match_spec.rb +0 -2
  276. data/frozen_old_spec/tags/1.8.7/core/symbol/swapcase_spec.rb +0 -2
  277. data/frozen_old_spec/tags/1.8.7/core/symbol/upcase_spec.rb +0 -1
  278. data/frozen_old_spec/tags/1.9.1/core/array/append_spec.rb +0 -1
  279. data/frozen_old_spec/tags/1.9.1/core/array/rotate_spec.rb +0 -1
  280. data/frozen_old_spec/tags/1.9.1/core/enumerable/all_spec.rb +0 -1
  281. data/frozen_old_spec/tags/1.9.1/core/enumerable/any_spec.rb +0 -2
  282. data/frozen_old_spec/tags/1.9.1/core/enumerable/none_spec.rb +0 -1
  283. data/frozen_old_spec/tags/1.9.1/core/enumerable/one_spec.rb +0 -1
  284. data/frozen_old_spec/tags/1.9.1/core/env/to_h_spec.rb +0 -2
  285. data/frozen_old_spec/tags/1.9.1/core/hash/default_proc_spec.rb +0 -1
  286. data/frozen_old_spec/tags/1.9.1/core/io/write_spec.rb +0 -2
  287. data/frozen_old_spec/tags/1.9.1/core/module/alias_method_spec.rb +0 -4
  288. data/frozen_old_spec/tags/1.9.1/core/module/attr_accessor_spec.rb +0 -2
  289. data/frozen_old_spec/tags/1.9.1/core/module/attr_reader_spec.rb +0 -2
  290. data/frozen_old_spec/tags/1.9.1/core/module/attr_spec.rb +0 -1
  291. data/frozen_old_spec/tags/1.9.1/core/module/attr_writer_spec.rb +0 -2
  292. data/frozen_old_spec/tags/1.9.1/core/module/define_method_spec.rb +0 -3
  293. data/frozen_old_spec/tags/1.9.1/core/module/remove_method_spec.rb +0 -1
  294. data/frozen_old_spec/tags/1.9.1/core/module/undef_method_spec.rb +0 -1
  295. data/frozen_old_spec/tags/1.9.1/core/nil/dup_spec.rb +0 -1
  296. data/frozen_old_spec/tags/1.9.2/core/array/append_spec.rb +0 -1
  297. data/frozen_old_spec/tags/1.9.2/core/enumerable/all_spec.rb +0 -1
  298. data/frozen_old_spec/tags/1.9.2/core/enumerable/any_spec.rb +0 -2
  299. data/frozen_old_spec/tags/1.9.2/core/enumerable/none_spec.rb +0 -1
  300. data/frozen_old_spec/tags/1.9.2/core/enumerable/one_spec.rb +0 -1
  301. data/frozen_old_spec/tags/1.9.2/core/io/write_spec.rb +0 -3
  302. data/frozen_old_spec/tags/1.9.2/core/module/alias_method_spec.rb +0 -4
  303. data/frozen_old_spec/tags/1.9.2/core/module/attr_accessor_spec.rb +0 -2
  304. data/frozen_old_spec/tags/1.9.2/core/module/attr_reader_spec.rb +0 -2
  305. data/frozen_old_spec/tags/1.9.2/core/module/attr_spec.rb +0 -1
  306. data/frozen_old_spec/tags/1.9.2/core/module/attr_writer_spec.rb +0 -2
  307. data/frozen_old_spec/tags/1.9.2/core/module/define_method_spec.rb +0 -3
  308. data/frozen_old_spec/tags/1.9.2/core/module/remove_method_spec.rb +0 -1
  309. data/frozen_old_spec/tags/1.9.2/core/module/undef_method_spec.rb +0 -1
  310. data/frozen_old_spec/tags/1.9.2/core/nil/dup_spec.rb +0 -1
  311. data/frozen_old_spec/tags/1.9.3/core/enumerable/any_spec.rb +0 -1
  312. data/frozen_old_spec/tags/1.9.3/core/module/alias_method_spec.rb +0 -4
  313. data/frozen_old_spec/tags/1.9.3/core/module/attr_accessor_spec.rb +0 -1
  314. data/frozen_old_spec/tags/1.9.3/core/module/attr_reader_spec.rb +0 -1
  315. data/frozen_old_spec/tags/1.9.3/core/module/attr_spec.rb +0 -1
  316. data/frozen_old_spec/tags/1.9.3/core/module/attr_writer_spec.rb +0 -1
  317. data/frozen_old_spec/tags/1.9.3/core/module/define_method_spec.rb +0 -3
  318. data/frozen_old_spec/tags/1.9.3/core/module/remove_method_spec.rb +0 -1
  319. data/frozen_old_spec/tags/1.9.3/core/module/undef_method_spec.rb +0 -1
  320. data/frozen_old_spec/tags/2.0.0/core/enumerable/any_spec.rb +0 -1
  321. data/frozen_old_spec/tags/2.0.0/core/module/alias_method_spec.rb +0 -1
  322. data/frozen_old_spec/tags/2.0.0/core/module/attr_accessor_spec.rb +0 -2
  323. data/frozen_old_spec/tags/2.0.0/core/module/attr_reader_spec.rb +0 -2
  324. data/frozen_old_spec/tags/2.0.0/core/module/attr_spec.rb +0 -1
  325. data/frozen_old_spec/tags/2.0.0/core/module/attr_writer_spec.rb +0 -2
  326. data/frozen_old_spec/tags/2.0.0/core/module/define_method_spec.rb +0 -2
  327. data/frozen_old_spec/tags/2.0.0/core/module/remove_method_spec.rb +0 -1
  328. data/frozen_old_spec/tags/2.0.0/core/module/undef_method_spec.rb +0 -1
  329. data/frozen_old_spec/tags/2.0.0/core/nil/dup_spec.rb +0 -1
  330. data/frozen_old_spec/tags/2.0.0/core/struct/new_spec.rb +0 -1
  331. data/frozen_old_spec/tags/2.1.0/core/enumerable/any_spec.rb +0 -1
  332. data/frozen_old_spec/tags/2.1.0/core/module/alias_method_spec.rb +0 -1
  333. data/frozen_old_spec/tags/2.1.0/core/module/attr_accessor_spec.rb +0 -2
  334. data/frozen_old_spec/tags/2.1.0/core/module/attr_reader_spec.rb +0 -2
  335. data/frozen_old_spec/tags/2.1.0/core/module/attr_spec.rb +0 -1
  336. data/frozen_old_spec/tags/2.1.0/core/module/attr_writer_spec.rb +0 -2
  337. data/frozen_old_spec/tags/2.1.0/core/module/define_method_spec.rb +0 -2
  338. data/frozen_old_spec/tags/2.1.0/core/module/remove_method_spec.rb +0 -1
  339. data/frozen_old_spec/tags/2.1.0/core/module/undef_method_spec.rb +0 -1
  340. data/frozen_old_spec/tags/2.1.0/core/nil/dup_spec.rb +0 -1
  341. data/frozen_old_spec/tags/2.1.0/core/struct/new_spec.rb +0 -1
  342. data/frozen_old_spec/tags/2.2.0/core/enumerable/any_spec.rb +0 -1
  343. data/frozen_old_spec/tags/2.2.0/core/module/alias_method_spec.rb +0 -1
  344. data/frozen_old_spec/tags/2.2.0/core/module/attr_accessor_spec.rb +0 -2
  345. data/frozen_old_spec/tags/2.2.0/core/module/attr_reader_spec.rb +0 -2
  346. data/frozen_old_spec/tags/2.2.0/core/module/attr_spec.rb +0 -1
  347. data/frozen_old_spec/tags/2.2.0/core/module/attr_writer_spec.rb +0 -2
  348. data/frozen_old_spec/tags/2.2.0/core/module/define_method_spec.rb +0 -1
  349. data/frozen_old_spec/tags/2.2.0/core/module/remove_method_spec.rb +0 -1
  350. data/frozen_old_spec/tags/2.2.0/core/module/undef_method_spec.rb +0 -1
  351. data/frozen_old_spec/tags/2.2.0/core/nil/dup_spec.rb +0 -1
  352. data/frozen_old_spec/tags/2.2.0/core/struct/new_spec.rb +0 -1
  353. data/frozen_old_spec/tags/2.3.0/core/enumerable/any_spec.rb +0 -1
  354. data/frozen_old_spec/tags/2.3.0/core/module/alias_method_spec.rb +0 -1
  355. data/frozen_old_spec/tags/2.3.0/core/module/attr_accessor_spec.rb +0 -2
  356. data/frozen_old_spec/tags/2.3.0/core/module/attr_reader_spec.rb +0 -2
  357. data/frozen_old_spec/tags/2.3.0/core/module/attr_spec.rb +0 -1
  358. data/frozen_old_spec/tags/2.3.0/core/module/attr_writer_spec.rb +0 -2
  359. data/frozen_old_spec/tags/2.3.0/core/module/define_method_spec.rb +0 -1
  360. data/frozen_old_spec/tags/2.3.0/core/module/remove_method_spec.rb +0 -1
  361. data/frozen_old_spec/tags/2.3.0/core/module/undef_method_spec.rb +0 -1
  362. data/frozen_old_spec/tags/2.3.0/core/nil/dup_spec.rb +0 -1
  363. data/frozen_old_spec/tags/2.3.0/core/struct/new_spec.rb +0 -1
  364. data/frozen_old_spec/tags/2.3.5/core/struct/new_spec.rb +0 -1
  365. data/frozen_old_spec/tags/2.4.0/core/enumerable/any_spec.rb +0 -1
  366. data/frozen_old_spec/tags/2.4.0/core/module/alias_method_spec.rb +0 -1
  367. data/frozen_old_spec/tags/2.4.0/core/module/attr_accessor_spec.rb +0 -2
  368. data/frozen_old_spec/tags/2.4.0/core/module/attr_reader_spec.rb +0 -2
  369. data/frozen_old_spec/tags/2.4.0/core/module/attr_spec.rb +0 -1
  370. data/frozen_old_spec/tags/2.4.0/core/module/attr_writer_spec.rb +0 -2
  371. data/frozen_old_spec/tags/2.4.0/core/module/define_method_spec.rb +0 -1
  372. data/frozen_old_spec/tags/2.4.0/core/module/remove_method_spec.rb +0 -1
  373. data/frozen_old_spec/tags/2.4.0/core/module/undef_method_spec.rb +0 -1
  374. data/frozen_old_spec/tags/2.4.0/core/nil/dup_spec.rb +0 -1
  375. data/frozen_old_spec/tags/2.4.0/core/struct/new_spec.rb +0 -1
  376. data/frozen_old_spec/tags/2.5.0/core/enumerable/any_spec.rb +0 -1
  377. data/frozen_old_spec/tags/2.5.0/core/module/alias_method_spec.rb +0 -1
  378. data/frozen_old_spec/tags/2.5.0/core/module/attr_accessor_spec.rb +0 -2
  379. data/frozen_old_spec/tags/2.5.0/core/module/attr_reader_spec.rb +0 -2
  380. data/frozen_old_spec/tags/2.5.0/core/module/attr_spec.rb +0 -1
  381. data/frozen_old_spec/tags/2.5.0/core/module/attr_writer_spec.rb +0 -2
  382. data/frozen_old_spec/tags/2.5.0/core/module/define_method_spec.rb +0 -1
  383. data/frozen_old_spec/tags/2.5.0/core/module/remove_method_spec.rb +0 -1
  384. data/frozen_old_spec/tags/2.5.0/core/module/undef_method_spec.rb +0 -1
  385. data/frozen_old_spec/tags/2.5.0/core/nil/dup_spec.rb +0 -1
  386. data/frozen_old_spec/tags/2.5.0/core/struct/new_spec.rb +0 -1
  387. data/set_version/1.8.7.rb +0 -1
  388. data/set_version/1.9.1.rb +0 -1
  389. data/set_version/1.9.2.rb +0 -1
  390. data/set_version/1.9.3.rb +0 -1
  391. data/set_version/2.0.0.rb +0 -1
  392. data/set_version/2.1.0.rb +0 -1
  393. data/set_version/2.2.0.rb +0 -1
  394. data/set_version/2.3.0.rb +0 -1
  395. data/set_version/2.4.0.rb +0 -1
  396. data/set_version/2.5.0.rb +0 -1
  397. data/set_version/2.6.0.rb +0 -1
  398. data/set_version/setter.rb +0 -22
  399. data/spec/tags/1.8.7/core/array/to_h_spec.rb +0 -3
  400. data/spec/tags/1.8.7/core/enumerable/to_h_spec.rb +0 -2
  401. data/spec/tags/1.8.7/core/module/attr_spec.rb +0 -1
  402. data/spec/tags/1.8.7/core/module/include_spec.rb +0 -1
  403. data/spec/tags/1.9.1/core/array/bsearch_index_spec.rb +0 -1
  404. data/spec/tags/1.9.1/core/array/rotate_spec.rb +0 -1
  405. data/spec/tags/1.9.1/core/dir/each_child_spec.rb +0 -1
  406. data/spec/tags/1.9.1/core/env/to_h_spec.rb +0 -2
  407. data/spec/tags/1.9.1/core/hash/default_proc_spec.rb +0 -1
  408. data/spec/tags/1.9.1/core/hash/slice_spec.rb +0 -1
  409. data/spec/tags/1.9.1/core/hash/transform_keys_spec.rb +0 -2
  410. data/spec/tags/1.9.1/core/hash/transform_values_spec.rb +0 -2
  411. data/spec/tags/1.9.1/core/io/write_spec.rb +0 -3
  412. data/spec/tags/1.9.1/core/kernel/yield_self_spec.rb +0 -1
  413. data/spec/tags/1.9.1/core/method/curry_spec.rb +0 -1
  414. data/spec/tags/1.9.1/core/module/alias_method_spec.rb +0 -3
  415. data/spec/tags/1.9.1/core/module/attr_accessor_spec.rb +0 -1
  416. data/spec/tags/1.9.1/core/module/attr_reader_spec.rb +0 -1
  417. data/spec/tags/1.9.1/core/module/attr_spec.rb +0 -1
  418. data/spec/tags/1.9.1/core/module/attr_writer_spec.rb +0 -1
  419. data/spec/tags/1.9.1/core/module/define_method_spec.rb +0 -7
  420. data/spec/tags/1.9.1/core/string/uplus_spec.rb +0 -1
  421. data/spec/tags/1.9.1/core/struct/new_spec.rb +0 -2
  422. data/spec/tags/1.9.2/core/array/bsearch_index_spec.rb +0 -1
  423. data/spec/tags/1.9.2/core/array/to_h_spec.rb +0 -3
  424. data/spec/tags/1.9.2/core/dir/each_child_spec.rb +0 -1
  425. data/spec/tags/1.9.2/core/enumerable/to_h_spec.rb +0 -2
  426. data/spec/tags/1.9.2/core/hash/slice_spec.rb +0 -1
  427. data/spec/tags/1.9.2/core/hash/to_h_spec.rb +0 -3
  428. data/spec/tags/1.9.2/core/hash/transform_keys_spec.rb +0 -2
  429. data/spec/tags/1.9.2/core/hash/transform_values_spec.rb +0 -2
  430. data/spec/tags/1.9.2/core/io/write_spec.rb +0 -3
  431. data/spec/tags/1.9.2/core/kernel/then_spec.rb +0 -1
  432. data/spec/tags/1.9.2/core/kernel/yield_self_spec.rb +0 -1
  433. data/spec/tags/1.9.2/core/method/curry_spec.rb +0 -1
  434. data/spec/tags/1.9.2/core/module/alias_method_spec.rb +0 -3
  435. data/spec/tags/1.9.2/core/module/attr_accessor_spec.rb +0 -1
  436. data/spec/tags/1.9.2/core/module/attr_reader_spec.rb +0 -1
  437. data/spec/tags/1.9.2/core/module/attr_writer_spec.rb +0 -1
  438. data/spec/tags/1.9.2/core/module/define_method_spec.rb +0 -7
  439. data/spec/tags/1.9.2/core/module/include_spec.rb +0 -1
  440. data/spec/tags/1.9.2/core/string/uplus_spec.rb +0 -1
  441. data/spec/tags/1.9.2/core/struct/new_spec.rb +0 -2
  442. data/spec/tags/1.9.3/core/array/bsearch_index_spec.rb +0 -1
  443. data/spec/tags/1.9.3/core/dir/each_child_spec.rb +0 -1
  444. data/spec/tags/1.9.3/core/hash/slice_spec.rb +0 -1
  445. data/spec/tags/1.9.3/core/hash/to_h_spec.rb +0 -3
  446. data/spec/tags/1.9.3/core/hash/transform_keys_spec.rb +0 -2
  447. data/spec/tags/1.9.3/core/hash/transform_values_spec.rb +0 -2
  448. data/spec/tags/1.9.3/core/io/write_spec.rb +0 -3
  449. data/spec/tags/1.9.3/core/kernel/yield_self_spec.rb +0 -1
  450. data/spec/tags/1.9.3/core/method/curry_spec.rb +0 -1
  451. data/spec/tags/1.9.3/core/module/alias_method_spec.rb +0 -3
  452. data/spec/tags/1.9.3/core/module/attr_accessor_spec.rb +0 -1
  453. data/spec/tags/1.9.3/core/module/attr_reader_spec.rb +0 -1
  454. data/spec/tags/1.9.3/core/module/attr_writer_spec.rb +0 -1
  455. data/spec/tags/1.9.3/core/module/define_method_spec.rb +0 -7
  456. data/spec/tags/1.9.3/core/module/include_spec.rb +0 -1
  457. data/spec/tags/1.9.3/core/string/uplus_spec.rb +0 -1
  458. data/spec/tags/1.9.3/core/struct/new_spec.rb +0 -2
  459. data/spec/tags/2.0.0/core/array/to_h_spec.rb +0 -3
  460. data/spec/tags/2.0.0/core/enumerable/to_h_spec.rb +0 -2
  461. data/spec/tags/2.0.0/core/hash/slice_spec.rb +0 -1
  462. data/spec/tags/2.0.0/core/hash/to_h_spec.rb +0 -3
  463. data/spec/tags/2.0.0/core/module/attr_accessor_spec.rb +0 -1
  464. data/spec/tags/2.0.0/core/module/attr_reader_spec.rb +0 -1
  465. data/spec/tags/2.0.0/core/module/attr_spec.rb +0 -1
  466. data/spec/tags/2.0.0/core/module/attr_writer_spec.rb +0 -1
  467. data/spec/tags/2.0.0/core/module/define_method_spec.rb +0 -4
  468. data/spec/tags/2.0.0/core/module/include_spec.rb +0 -1
  469. data/spec/tags/2.0.0/core/string/uplus_spec.rb +0 -1
  470. data/spec/tags/2.0.0/core/struct/new_spec.rb +0 -1
  471. data/spec/tags/2.1.0/core/array/union_spec.rb +0 -1
  472. data/spec/tags/2.1.0/core/hash/slice_spec.rb +0 -1
  473. data/spec/tags/2.1.0/core/hash/to_h_spec.rb +0 -1
  474. data/spec/tags/2.1.0/core/module/attr_accessor_spec.rb +0 -1
  475. data/spec/tags/2.1.0/core/module/attr_reader_spec.rb +0 -1
  476. data/spec/tags/2.1.0/core/module/attr_spec.rb +0 -1
  477. data/spec/tags/2.1.0/core/module/attr_writer_spec.rb +0 -1
  478. data/spec/tags/2.1.0/core/module/define_method_spec.rb +0 -4
  479. data/spec/tags/2.1.0/core/string/uplus_spec.rb +0 -1
  480. data/spec/tags/2.1.0/core/struct/new_spec.rb +0 -1
  481. data/spec/tags/2.2.0/core/hash/slice_spec.rb +0 -1
  482. data/spec/tags/2.2.0/core/hash/to_h_spec.rb +0 -1
  483. data/spec/tags/2.2.0/core/module/attr_accessor_spec.rb +0 -1
  484. data/spec/tags/2.2.0/core/module/attr_reader_spec.rb +0 -1
  485. data/spec/tags/2.2.0/core/module/attr_spec.rb +0 -1
  486. data/spec/tags/2.2.0/core/module/attr_writer_spec.rb +0 -1
  487. data/spec/tags/2.2.0/core/module/define_method_spec.rb +0 -4
  488. data/spec/tags/2.2.0/core/string/uplus_spec.rb +0 -1
  489. data/spec/tags/2.2.0/core/struct/new_spec.rb +0 -1
  490. data/spec/tags/2.3.0/core/hash/slice_spec.rb +0 -1
  491. data/spec/tags/2.3.0/core/hash/to_h_spec.rb +0 -1
  492. data/spec/tags/2.3.0/core/module/attr_spec.rb +0 -1
  493. data/spec/tags/2.3.0/core/string/uplus_spec.rb +0 -1
  494. data/spec/tags/2.3.0/core/struct/new_spec.rb +0 -1
  495. data/spec/tags/2.4.0/core/hash/slice_spec.rb +0 -1
  496. data/spec/tags/2.4.0/core/hash/to_h_spec.rb +0 -1
  497. data/spec/tags/2.4.0/core/module/attr_spec.rb +0 -1
  498. data/spec/tags/2.4.0/core/struct/new_spec.rb +0 -1
  499. data/spec/tags/2.5.0/core/hash/to_h_spec.rb +0 -1
  500. data/test/README +0 -2
  501. data/test/_backport_guards_test.rb +0 -148
  502. data/test/bit_length_test.rb +0 -11
  503. data/test/lazy_test.rb +0 -487
  504. data/test/socket_interaction_test.rb +0 -9
  505. data/test/test_helper.rb +0 -1
data/CHANGELOG.md ADDED
@@ -0,0 +1,846 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [3.24.0](https://github.com/marcandre/backports/compare/v3.23.0...v3.24.0) - 2023-03-07
8
+
9
+ ## Added
10
+
11
+ - `Class#attached_object` (Ruby 3.2)
12
+ - `Data` (Ruby 3.2)
13
+ - `Enumerator.product` and `Enumerator::Product` (Ruby 3.2)
14
+ - `Hash#shift` (with correct behavior when empty) (Ruby 3.2)
15
+ - `Integer#ceildiv` (Ruby 3.2)
16
+ - `MatchData#byteoffset` (Ruby 3.2)
17
+ - `Symbol#start_with?` (Ruby 2.7)
18
+
19
+ ## Fixed
20
+
21
+ - `Class#descendants` (removed, as it was not actually added in Ruby 3.1, sorry)
22
+
23
+ ## [3.23.0](https://github.com/marcandre/backports/compare/v3.22.1...v3.23.0) - 2021-12-28
24
+
25
+ ### Added
26
+
27
+ - `Integer.try_convert` (Ruby 3.1)
28
+ - `Symbol.end_with?` (Ruby 2.7) [#171]
29
+
30
+ ## [3.22.1](https://github.com/marcandre/backports/compare/v3.21.0...v3.22.1) - 2021-12-27
31
+
32
+ ### Added
33
+
34
+ Ruby 3.1 backports:
35
+
36
+ #### Array
37
+
38
+ - `intersect?`
39
+
40
+ #### Class
41
+
42
+ - `descendants`
43
+ - `subclasses`
44
+
45
+ #### Enumerable
46
+
47
+ - `compact`
48
+ - `tally` (with hash argument)
49
+
50
+ ### File
51
+
52
+ - `dirname` (with depth argument)
53
+
54
+ #### MatchData
55
+
56
+ - `match`
57
+ - `match_length`
58
+
59
+ #### Struct
60
+
61
+ - `keyword_init?`
62
+
63
+ ## [3.21.0](https://github.com/marcandre/backports/compare/v3.20.1...v3.21.0) - 2021-03-31
64
+
65
+ ### Added
66
+
67
+ - Added `String#unpack1` (Ruby 2.4) [#166]
68
+
69
+ ## [3.20.1](https://github.com/marcandre/backports/compare/v3.20.0...v3.20.1) - 2021-01-03
70
+
71
+ ### Fixed
72
+
73
+ - Added `Ractor.[]` and `[]=` [#161]
74
+ - `Ractor.current` fixed from threads [#161]
75
+
76
+ ## [3.20.0](https://github.com/marcandre/backports/compare/v3.19.0...v3.20.0) - 2020-12-30
77
+
78
+ ### Added
79
+
80
+ Ractor backport (all methods)
81
+
82
+ ## [3.19.0](https://github.com/marcandre/backports/compare/v3.18.2...v3.19.0) - 2020-12-28
83
+
84
+ ### Added
85
+
86
+ - Ruby 3.0 backports
87
+
88
+ - Env
89
+
90
+ - `except`
91
+
92
+ - Hash
93
+
94
+ - `except`
95
+ - `transform_keys`, `transform_keys!` (with hash argument)
96
+
97
+ - Symbol
98
+ - `name`
99
+
100
+ - Ruby 2.3 backports
101
+
102
+ - Queue
103
+ - `close`, `closed?` (affects `push`, `pop` and aliases)
104
+
105
+ ## [3.18.2](https://github.com/marcandre/backports/compare/v3.18.0...v3.18.2) - 2020-08-26
106
+
107
+ ### Fixed
108
+
109
+ Require per ruby version now properly requiring 2.3.0 backports for `String` [#152]
110
+
111
+ ## [3.18.1](https://github.com/marcandre/backports/compare/v3.18.1...v3.18.2) - 2020-06-22
112
+
113
+ ### Fixed
114
+
115
+ Fixed Changelog URI in gem manifest
116
+
117
+ ## [3.18.0](https://github.com/marcandre/backports/compare/v3.17.2...v3.18.0) - 2020-06-22
118
+
119
+ ### Changed
120
+
121
+ Require per ruby version / all requires now check `RUBY_VERSION` to be more efficient [#149]
122
+
123
+ ## [3.17.2](https://github.com/marcandre/backports/compare/v3.17.1...v3.17.2) - 2020-04-09
124
+
125
+ ### Fixed
126
+
127
+ Fix Range#cover (Ruby 2.6.0) [#148]
128
+
129
+ ## [3.17.1](https://github.com/marcandre/backports/compare/v3.17.0...v3.17.1) - 2020-04-09
130
+
131
+ ### Fixed
132
+
133
+ Fix Range#size (Ruby 2.0) on Ruby 1.8.7 [#144]
134
+
135
+ ## [3.17.0](https://github.com/marcandre/backports/compare/v3.16.2...v3.17.0) - 2020-03-06
136
+
137
+ ### Added
138
+
139
+ - Ruby 2.6 backports
140
+
141
+ - Range
142
+ - `cover?` (with `Range` argument)
143
+
144
+ ### Changed
145
+
146
+ Requiring features for a particular version of Ruby or `latest` is un-deprecated but
147
+ instead simply warned in verbose mode.
148
+
149
+ ## [3.16.1](https://github.com/marcandre/backports/compare/v3.16.0...v3.16.1) - 2020-02-16
150
+
151
+ ### Deprecated
152
+
153
+ Officially deprecate requiring features for a particular version of Ruby, `latest`, `std_lib` or `rails` backports.
154
+ Partly un-deprecated in 3.17.0!
155
+
156
+ ### Fixed
157
+
158
+ `matrix` library when loaded in 2.7.0 [#141]
159
+
160
+ ## [3.16.0](https://github.com/marcandre/backports/compare/v3.15.0...v3.16.0) - 2020-02-06
161
+
162
+ ### Added
163
+
164
+ - Ruby 2.7 backports
165
+
166
+ - Array
167
+
168
+ - `intersection`
169
+
170
+ - Comparable
171
+
172
+ - `clamp` (with range)
173
+
174
+ - Complex
175
+
176
+ - `<=>`
177
+
178
+ - Enumerable
179
+
180
+ - `filter_map`
181
+ - `tally`
182
+
183
+ - Enumerator
184
+
185
+ - `produce` (class method)
186
+
187
+ - Time
188
+ - `floor`, `ceil`
189
+
190
+ ## [3.15.0] - 2019-05-15
191
+
192
+ ### Added
193
+
194
+ - Proc / Method
195
+ - `<<`, `>>`
196
+
197
+ ## 3.14.0 - 2019-04-29
198
+
199
+ ### Added
200
+
201
+ - Hash
202
+ - `to_h` (with block)
203
+
204
+ ## 3.13.0 - 2019-04-5
205
+
206
+ ### Added
207
+
208
+ - Hash
209
+ - `merge`, `merge!`/`update` (with multiple arguments)
210
+
211
+ ## 3.12.0 - 2019-02-20
212
+
213
+ ### Added
214
+
215
+ - Ruby 2.6.0 backports
216
+
217
+ - Array
218
+
219
+ - `difference`, `union`
220
+ - `to_h` (with block)
221
+
222
+ - Enumerable
223
+
224
+ - `chain`
225
+ - `to_h` (with block)
226
+
227
+ - Enumerator::Chain (use Enumerable#chain)
228
+ - Kernel
229
+ - `then`
230
+
231
+ - Additional backports for 2.5.0:
232
+ - String
233
+ - `undump`
234
+
235
+ ## 3.11.0 - 2017-12-25
236
+
237
+ ### Added
238
+
239
+ - Ruby version 2.5.0 backports
240
+
241
+ - Array
242
+
243
+ - `append`, `prepend`
244
+
245
+ - Dir
246
+
247
+ - `children`, `each_child`
248
+
249
+ - Enumerable
250
+
251
+ - `any?`, `all?`, `none?`, `one?` (with pattern argument)
252
+
253
+ - Hash
254
+
255
+ - `slice`
256
+ - `transform_keys`
257
+
258
+ - Integer
259
+
260
+ - `sqrt`
261
+ - `allbits?`, `anybits?` and `nobits?`
262
+
263
+ - Kernel
264
+
265
+ - `yield_self`
266
+
267
+ - Module
268
+
269
+ - `attr`, `attr_accessor`, `attr_reader`, `attr_writer` (now public)
270
+ - `define_method`, `alias_method`, `undef_method`, `remove_method`
271
+ (now public)
272
+
273
+ - String
274
+
275
+ - `delete_prefix`, `delete_prefix!`
276
+ - `delete_suffix`, `delete_suffix!`
277
+
278
+ - Struct
279
+ - `new` (with `keyword_init: true`)
280
+
281
+ - `require 'backports/latest'` is now the way to require everything, but is
282
+ discouraged
283
+
284
+ ## 3.10.0 - 2017-10-17
285
+
286
+ ### Added
287
+
288
+ - Additional features of 2.4.0
289
+
290
+ - Enumerable
291
+
292
+ - `uniq`
293
+ - `sum`
294
+
295
+ - Hash
296
+ - `compact`
297
+ - `transform_values`
298
+
299
+ ## 3.9.0 - 2017-10-07
300
+
301
+ ### Added
302
+
303
+ - From 2.4.0: `dup` for `true`, `false`, `nil`, Numeric
304
+ - From 2.2.0: `Method#super_method`
305
+
306
+ ## 3.8.0 - 2017-04-26
307
+
308
+ ### Added
309
+
310
+ - From 2.4.0: `String#match?`, `Regexp#match?`
311
+
312
+ - From 2.3.0:
313
+
314
+ - unary `String#+`, `-`
315
+ - Numeric: `positive?`, `negative?`
316
+ - Hash: `to_proc`, `fetch_values`, `>`, `<`, `>=`, `<=`
317
+ - Enumerable: `chunk_while`, `grep_v`
318
+ - `{Array|Hash|Struct}#dig`
319
+ - `Array#bsearch_index`
320
+
321
+ - From 2.2.0:
322
+ - `Method#curry`
323
+ - `String#unicode_normalize{|?|!}`
324
+ - `Kernel#itself`
325
+ - Float: `next_float`, `prev_float`
326
+
327
+ ## 3.7.0 - 2017-03-28
328
+
329
+ Initiate work on backports of 2.2, 2.3, 2.4
330
+
331
+ ### Added
332
+
333
+ - From 2.4.0:
334
+
335
+ - `Comparable#clamp`
336
+
337
+ - From 2.2.0:
338
+ - Enumerable: `slice_when`, `slice_after`
339
+
340
+ ## 3.6.0 - 2014-02-14
341
+
342
+ ### Added
343
+
344
+ - Additional features of 2.1.0
345
+ - Bignum#bit_length
346
+ - Fixnum#bit_length
347
+ - Module#include (now public)
348
+
349
+ ## 3.5.0 - 2014-02-3
350
+
351
+ ### Added
352
+
353
+ - Additional features of 2.0.0
354
+ - Range#size
355
+
356
+ ## 3.4.0 - 2013-12-29
357
+
358
+ ### Added
359
+
360
+ - Additional features of 2.1.0
361
+ - Array#to_h, Enumerable#to_h
362
+
363
+ ## 3.3.0 - 2013-04-03
364
+
365
+ ### Fixed
366
+
367
+ - Moved `Proc#yield` & `Hash#key` from 1.8.7 to 1.9.1
368
+
369
+ ## 3.2.0 - 2013-04-02
370
+
371
+ ### Fixed
372
+
373
+ - Moved `Dir.mktmpdir` to the stdlib 'tmpdir' for Ruby 1.8.7
374
+
375
+ ### Removed
376
+
377
+ - Removed `returning` as it is no longer part of Rails.
378
+
379
+ ## 3.1.0 - 2013-03-05
380
+
381
+ ### Added
382
+
383
+ - Backports can now be loaded separately!
384
+
385
+ ### Fixed
386
+
387
+ - Small tweaks and fixes for many methods to pass more RubySpecs
388
+
389
+ ## 3.0.0 - 2013-02-24
390
+
391
+ ### Added
392
+
393
+ - Additional features of 2.0.0
394
+
395
+ - Struct#to_h, NilClass#to_h, Hash#to_h
396
+ - Hash#default_proc = nil
397
+ - OpenStruct lib
398
+
399
+ - 1.8.7's Enumerator#with_index (it wasn't in the 1.8.7 NEWS file...)
400
+
401
+ ## 2.8.0 - 2013-02-3
402
+
403
+ ### Added
404
+
405
+ - Added some features of 2.0.0 (must be required explicitly until official
406
+ release):
407
+ - Array#bsearch
408
+ - Range#bsearch
409
+
410
+ ## 2.7.0 - 2013-01-14
411
+
412
+ ### Added
413
+
414
+ - Features of 2.0.0 (must be required explicitly until official
415
+ release):
416
+ - Enumerable#lazy
417
+ - Enumerator::Lazy
418
+
419
+ ## 2.6.0 - 2012-05-29
420
+
421
+ ### Removed
422
+
423
+ - Enumerable#join
424
+
425
+ ## 2.5.0 - 2012-02-25
426
+
427
+ ### Added
428
+
429
+ - Some features of 1.9.3:
430
+ - IO::NULL
431
+ - IO#advise
432
+ - String#byteslice
433
+ - String#prepend
434
+
435
+ ## 2.4.0 - 2012-02-24
436
+
437
+ ### Added
438
+
439
+ - Add backporting for libraries
440
+
441
+ - Bring libraries up to date:
442
+
443
+ - Matrix
444
+ - Prime
445
+ - Set
446
+
447
+ - Some features of 1.9.3:
448
+
449
+ - IO.write, IO.binwrite
450
+
451
+ - Forcing backports (must be required explicitly):
452
+ - Hash#select (returns a Hash instead of an Array)
453
+ - Enumerable / Array#map (returns an enumerator when called without a
454
+ block)
455
+ - String#length, size (for UTF-8 support)
456
+
457
+ ## 2.3.0 - 2011-05-13
458
+
459
+ ### Added
460
+
461
+ - `Enumerator::Yielder#<<`
462
+
463
+ ## 2.2.0 - 2011-05-13
464
+
465
+ ### Fixed
466
+
467
+ - Ruby 1.8.8 was officially cancelled; code was moved to Ruby 1.9.1 and
468
+ README updated.
469
+
470
+ - `"".ord` now raises an error.
471
+
472
+ ## 2.1.0 - 2011-04-16
473
+
474
+ ### Added
475
+
476
+ - Proc#curry, #lambda (thanks Konstantine Haase)
477
+
478
+ ## 2.0.0 - 2010-12-5
479
+
480
+ ### Fixed
481
+
482
+ Change of major version because of two small changes that are not quite
483
+ compatible and because the minor version was getting quite high!
484
+
485
+ - Remove attempt at faking the new method missing. Unless you used
486
+ `respond_to_missing` **and**
487
+ `method(:some_method_handled_with_method_missing)`, you won't see a
488
+ difference, except better performance (see issue #32) and this fixes some
489
+ errors (see issue #34)
490
+
491
+ - Change behavior of array.flatten(0) to match Ruby 1.9 (i.e. return a dup
492
+ of array, instead of array itself)
493
+
494
+ ## 1.18.0 - 2010-06-19
495
+
496
+ ### Added
497
+
498
+ - Some features of 1.9.1:
499
+
500
+ - Math#log2, Math#log with base
501
+
502
+ ### Fixed
503
+
504
+ - Enumerator#each in 1.8.6.
505
+
506
+ ## 1.17.0 - 2010-05-17
507
+
508
+ ### Added
509
+
510
+ - Some features of 1.9.2:
511
+
512
+ - Array#repeated_combination, #repeated_permutation
513
+
514
+ ## 1.16.2 - 2010-04-11
515
+
516
+ ### Added
517
+
518
+ - Some features of 1.9.2:
519
+
520
+ - Array#uniq, #uniq! (with block)
521
+ - Array#product (with block)
522
+ - Dir.home
523
+ - Hash#keep_if, select!
524
+ - Random (new class)
525
+
526
+ ## 1.15.0 - 2010-02-23
527
+
528
+ ### Added
529
+
530
+ - A features of 1.9.2:
531
+
532
+ - Object#singleton_class
533
+
534
+ ## 1.14.0 - 2010-02-3
535
+
536
+ ### Added
537
+
538
+ - Some features of 1.9.2:
539
+
540
+ - Array#rotate, rotate!
541
+ - Array#keep_if, select!
542
+ - Array#sort_by!
543
+ - Enumerable#join
544
+ - Enumerable#slice_before
545
+ - Float::INFINITY, NAN
546
+ - MatchData#==
547
+
548
+ ## 1.13.0 - 2010-01-20
549
+
550
+ ### Added
551
+
552
+ - Missing for 1.8.7 were
553
+ - Array#permutation
554
+ - Hash#hash (was only inherited)
555
+ - Hash#eql? (was only inherited)
556
+
557
+ ## 1.12.0 - 2009-12-4
558
+
559
+ ### Added
560
+
561
+ - Finer grain includes (see README) require "backports/1.9" # requires
562
+ all ruby backports require "backports/1.9.1" # requires all ruby
563
+ backports up to 1.9.1 (but not 1.9.2)
564
+
565
+ - Backported all builtin methods of 1.8.8 (most of which where moved from
566
+ the 1.9 backports)
567
+
568
+ - Refreshed README
569
+
570
+ ## 1.11.0 - 2009-11-04
571
+
572
+ ### Added
573
+
574
+ - Enumerable#flat_map / collect_concat (Ruby 1.9)
575
+
576
+ - Object#public_send (Ruby 1.9)
577
+
578
+ - Object#public_method (Ruby 1.9)
579
+
580
+ ## 1.10.0 - 2009-09-29
581
+
582
+ ### Added
583
+
584
+ - Enumerable#chunk (Ruby 1.9)
585
+
586
+ - Kernel#respond_to_missing? (Ruby 1.9)
587
+
588
+ - Completed Process.exec (Ruby 1.8.7)
589
+
590
+ ## 1.9.0 - 2009-09-04
591
+
592
+ ### Added
593
+
594
+ - In Ruby 1.9, most class methods of File accept filenames as String, or
595
+ convertible via #to_str or #to_path.
596
+
597
+ - File#to_path is also an alias to File#path. These have been backported.
598
+
599
+ - File.binread (actually IO.binread)
600
+
601
+ - BasicObject available via "require 'backports/basic_object"
602
+
603
+ ## 1.8.4 - 2009-09-03
604
+
605
+ ### Added
606
+
607
+ `Dir.mktmpdir` for older version of 1.8.6
608
+
609
+ ## 1.8.1 - 2009-09-01
610
+
611
+ ### Added
612
+
613
+ The alias String#lines (Ruby 1.8.7)
614
+
615
+ ## 1.8.0 - 2009-08-30
616
+
617
+ ### Added
618
+
619
+ Backports can be required selectively:
620
+
621
+ - backports/1.8.7
622
+ - backports/1.9 (which include 1.8.7)
623
+ - rails
624
+
625
+ ## 1.7.1 - 2009-08-20
626
+
627
+ ### Fixed
628
+
629
+ `Enumerable#take` and `Enumerable#first(n)` are now returning as soon as possible.
630
+ Previously, `#each` was yielding one element too many. See redmine issue #1554.
631
+
632
+ ## 1.7.0 - 2009-05-27
633
+
634
+ ### Fixed
635
+
636
+ Porting all 1.8.7 features to rubinius was quite enlightening
637
+ (http://blog.marc-andre.ca/2009/05/schizo-ruby-puzzle.html ). Many
638
+ improvements were made to be consistent with MRI, e.g. converting arguments
639
+ using to_int if needed, etc... The changes are now reflected in 'backports'.
640
+
641
+ ### Added
642
+
643
+ Some IO and ARGF methods were missing and are now complete.
644
+
645
+ ## 1.6.6 - 2009-04-30
646
+
647
+ ### Fixed
648
+
649
+ Important bug fix. `String#gsub` is left alone until I find a good way to modify
650
+ it.
651
+
652
+ ## 1.6.0 - 2009-04-29
653
+
654
+ ### Added
655
+
656
+ Completed backport to 1.8.7.
657
+
658
+ - Array
659
+
660
+ - `extract_options!`
661
+
662
+ - Binding
663
+
664
+ - `eval`
665
+
666
+ - Dir
667
+
668
+ - `each`, `foreach`
669
+
670
+ - Enumerator
671
+
672
+ - `new`
673
+ - `with_object`
674
+ - `next`, `rewind`
675
+
676
+ - Hash
677
+
678
+ - Optional block for `delete_if, each, each_key, each_pair, each_value, reject!, select` (and ENV)
679
+
680
+ - Integer
681
+
682
+ - moved stuff out of Fixnum
683
+ - Optional block for `downto`, `times`, `upto`
684
+
685
+ - IO
686
+
687
+ - Optional block for `each`, `each_line`, `each_byte`, `foreach` (and
688
+ ARGF)
689
+
690
+ - Kernel
691
+
692
+ - `loop`, `StopIteration`
693
+ - +**method**+, +**callee**+
694
+
695
+ - Method
696
+
697
+ - `name`, `owner`, `receiver`
698
+
699
+ - Module
700
+
701
+ - `class_exec`, `module_exec`
702
+
703
+ - Numeric
704
+
705
+ - `step`
706
+
707
+ - Object
708
+
709
+ - `define_singleton_method`
710
+ - `instance_exec`
711
+
712
+ - ObjectSpace
713
+
714
+ - `each_object`
715
+
716
+ - Range
717
+
718
+ - Optional block for `each`, `step`
719
+
720
+ - Regexp
721
+
722
+ - `union`
723
+
724
+ - String
725
+
726
+ - `try_convert`
727
+ - `ascii_only?`
728
+ - `bytesize`
729
+ - `chr`
730
+ - `clear`
731
+ - `codepoints`, `each_codepoint`
732
+ - `stringify_keys`, `stringify_keys!`
733
+ - `each`, `each_line`, `each_byte`
734
+ - `gsub`
735
+ - `upto`
736
+
737
+ - Struct
738
+
739
+ - `each`, `each_pair`
740
+
741
+ - Symbol
742
+
743
+ - `<=>`, `casecmp`
744
+ - `capitalize`, `downcase`, `next`, `succ`, `swapcase`, `upcase`
745
+ - `=~, [], empty?, length, match, size`
746
+
747
+ - UnboundMethod
748
+ - `name`, `owner`
749
+
750
+ ## 1.5.0 - 2009-04-24
751
+
752
+ ### Added
753
+
754
+ - Array (completed)
755
+
756
+ - `combination`
757
+ - `try_convert`
758
+ - Optional block for `collect!, :map!, :each, :each_index, :reject, :reject!, :delete_if`
759
+ - `pop`, `shift`
760
+ - `product`
761
+
762
+ - Fixnum (completed)
763
+
764
+ - `div`, `fdiv`
765
+ - `succ`
766
+ - `magnitude`
767
+
768
+ - Enumerable (completed)
769
+ - `each_with_object`
770
+ - `inject`
771
+ - `max_by`, `min_by`, `minmax`, `minmax_by`
772
+ - `reduce`
773
+ - `to_a`
774
+
775
+ ## 1.4.0 - 2009-04-21
776
+
777
+ ### Added
778
+
779
+ - String
780
+
781
+ - `rpartition`
782
+
783
+ - Proc
784
+ - `yield`
785
+
786
+ ## 1.3.0 - 2009-04-17
787
+
788
+ ### Added
789
+
790
+ - Enumerable
791
+
792
+ - `none?`
793
+
794
+ - Array
795
+
796
+ - `sample`, `shuffle`, `shuffle!`
797
+
798
+ - String
799
+ - `each_char`, `chars`
800
+ - `partition`
801
+
802
+ Tests and fixes for `String#start_with?` and `String#end_with?`
803
+
804
+ ## 1.2.0 - 2009-04-12
805
+
806
+ ### Added
807
+
808
+ - Array
809
+
810
+ - `reverse_each`
811
+ - `cycle`
812
+
813
+ - Enumerable
814
+
815
+ - `reverse_each`
816
+ - `each_slice`, `each_cons`
817
+ - `count`
818
+ - `cycle`
819
+ - `group_by`
820
+
821
+ - Hash
822
+ - `default_proc=`
823
+
824
+ ## 1.1.0 - 2009-04-11
825
+
826
+ ### Added
827
+
828
+ - Array
829
+
830
+ - `flatten`, `flatten!`
831
+ - `find_index`, `index`
832
+
833
+ - Hash
834
+ - `reverse_merge`, `reverse_merge!`
835
+
836
+ ## 1.0.0 - 2009-04-2
837
+
838
+ - Initial release.
839
+
840
+ ## Notes
841
+
842
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
843
+
844
+ [unreleased]: https://github.com/marcandre/backports/compare/v3.16.0...HEAD
845
+ [3.16.0]: https://github.com/marcandre/backports/compare/v3.15.0...v3.16.0
846
+ [3.15.0]: https://github.com/marcandre/backports/compare/v3.14.0...v3.15.0