backports 3.16.0 → 3.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (441) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +691 -0
  3. data/Gemfile +6 -0
  4. data/README.md +529 -0
  5. data/SECURITY.md +5 -0
  6. data/backports.gemspec +5 -1
  7. data/lib/backports.rb +6 -0
  8. data/lib/backports/1.8.7.rb +10 -2
  9. data/lib/backports/1.9.1.rb +6 -1
  10. data/lib/backports/1.9.2.rb +6 -1
  11. data/lib/backports/1.9.2/stdlib/matrix.rb +5 -0
  12. data/lib/backports/1.9.3.rb +6 -1
  13. data/lib/backports/2.0.0.rb +6 -1
  14. data/lib/backports/2.0.0/range/size.rb +2 -0
  15. data/lib/backports/2.1.0.rb +1 -1
  16. data/lib/backports/2.2.0.rb +1 -1
  17. data/lib/backports/2.2.0/enumerable/slice_after.rb +1 -1
  18. data/lib/backports/2.2.0/float/next_float.rb +1 -1
  19. data/lib/backports/2.2.0/float/prev_float.rb +1 -1
  20. data/lib/backports/2.2.0/method/super_method.rb +2 -2
  21. data/lib/backports/2.3.0.rb +1 -1
  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/struct/dig.rb +1 -2
  27. data/lib/backports/2.4.0.rb +1 -1
  28. data/lib/backports/2.4.0/hash/transform_values.rb +2 -2
  29. data/lib/backports/2.4.0/true_class/dup.rb +0 -1
  30. data/lib/backports/2.5.0.rb +1 -1
  31. data/lib/backports/2.5.0/hash/transform_keys.rb +1 -1
  32. data/lib/backports/2.5.0/integer/sqrt.rb +2 -2
  33. data/lib/backports/2.5.0/module/alias_method.rb +0 -1
  34. data/lib/backports/2.5.0/string/undump.rb +3 -7
  35. data/lib/backports/2.5.0/struct/new.rb +1 -1
  36. data/lib/backports/2.6.0.rb +1 -1
  37. data/lib/backports/2.6.0/enumerable/chain.rb +4 -1
  38. data/lib/backports/2.6.0/hash/to_h.rb +1 -1
  39. data/lib/backports/2.6.0/range.rb +3 -0
  40. data/lib/backports/2.6.0/range/cover.rb +22 -0
  41. data/lib/backports/2.7.0.rb +1 -1
  42. data/lib/backports/2.7.0/enumerable/filter_map.rb +2 -2
  43. data/lib/backports/rails/array.rb +4 -0
  44. data/lib/backports/rails/enumerable.rb +4 -0
  45. data/lib/backports/rails/hash.rb +4 -0
  46. data/lib/backports/rails/kernel.rb +4 -0
  47. data/lib/backports/rails/module.rb +4 -0
  48. data/lib/backports/rails/string.rb +4 -0
  49. data/lib/backports/std_lib.rb +3 -0
  50. data/lib/backports/tools/deprecation.rb +19 -0
  51. data/lib/backports/tools/require_relative_dir.rb +6 -1
  52. data/lib/backports/version.rb +1 -1
  53. metadata +10 -511
  54. data/.document +0 -6
  55. data/.gitignore +0 -9
  56. data/.gitmodules +0 -6
  57. data/.irbrc +0 -3
  58. data/.travis.yml +0 -19
  59. data/CHANGELOG.rdoc +0 -504
  60. data/README.rdoc +0 -445
  61. data/Rakefile +0 -192
  62. data/default.mspec +0 -14
  63. data/frozen_old_spec/tags/1.8.6/core/argf/each_line_spec.rb +0 -6
  64. data/frozen_old_spec/tags/1.8.6/core/argf/each_spec.rb +0 -6
  65. data/frozen_old_spec/tags/1.8.6/core/argf/lines_spec.rb +0 -6
  66. data/frozen_old_spec/tags/1.8.6/core/array/append_spec.rb +0 -1
  67. data/frozen_old_spec/tags/1.8.6/core/array/collect_spec.rb +0 -7
  68. data/frozen_old_spec/tags/1.8.6/core/array/rotate_spec.rb +0 -2
  69. data/frozen_old_spec/tags/1.8.6/core/array/uniq_spec.rb +0 -3
  70. data/frozen_old_spec/tags/1.8.6/core/complex/to_r_spec.rb +0 -3
  71. data/frozen_old_spec/tags/1.8.6/core/enumerable/all_spec.rb +0 -1
  72. data/frozen_old_spec/tags/1.8.6/core/enumerable/any_spec.rb +0 -2
  73. data/frozen_old_spec/tags/1.8.6/core/enumerable/each_entry_spec.rb +0 -1
  74. data/frozen_old_spec/tags/1.8.6/core/enumerable/none_spec.rb +0 -1
  75. data/frozen_old_spec/tags/1.8.6/core/enumerable/one_spec.rb +0 -1
  76. data/frozen_old_spec/tags/1.8.6/core/enumerator/next_spec.rb +0 -1
  77. data/frozen_old_spec/tags/1.8.6/core/env/to_h_spec.rb +0 -2
  78. data/frozen_old_spec/tags/1.8.6/core/file/join_spec.rb +0 -3
  79. data/frozen_old_spec/tags/1.8.6/core/file/lchmod_spec.rb +0 -2
  80. data/frozen_old_spec/tags/1.8.6/core/file/new_spec.rb +0 -2
  81. data/frozen_old_spec/tags/1.8.6/core/file/open_spec.rb +0 -13
  82. data/frozen_old_spec/tags/1.8.6/core/file/to_path_spec.rb +0 -1
  83. data/frozen_old_spec/tags/1.8.6/core/fixnum/fdiv_spec.rb +0 -1
  84. data/frozen_old_spec/tags/1.8.6/core/gc/stress_spec.rb +0 -2
  85. data/frozen_old_spec/tags/1.8.6/core/hash/assoc_spec.rb +0 -1
  86. data/frozen_old_spec/tags/1.8.6/core/hash/constructor_spec.rb +0 -3
  87. data/frozen_old_spec/tags/1.8.6/core/hash/default_proc_spec.rb +0 -3
  88. data/frozen_old_spec/tags/1.8.6/core/hash/delete_if_spec.rb +0 -1
  89. data/frozen_old_spec/tags/1.8.6/core/hash/each_pair_spec.rb +0 -1
  90. data/frozen_old_spec/tags/1.8.6/core/hash/eql_spec.rb +0 -3
  91. data/frozen_old_spec/tags/1.8.6/core/hash/hash_spec.rb +0 -3
  92. data/frozen_old_spec/tags/1.8.6/core/hash/keep_if_spec.rb +0 -2
  93. data/frozen_old_spec/tags/1.8.6/core/hash/rassoc_spec.rb +0 -1
  94. data/frozen_old_spec/tags/1.8.6/core/hash/reject_spec.rb +0 -2
  95. data/frozen_old_spec/tags/1.8.6/core/hash/select_spec.rb +0 -8
  96. data/frozen_old_spec/tags/1.8.6/core/integer/round_spec.rb +0 -2
  97. data/frozen_old_spec/tags/1.8.6/core/io/binread_spec.rb +0 -7
  98. data/frozen_old_spec/tags/1.8.6/core/io/chars_spec.rb +0 -1
  99. data/frozen_old_spec/tags/1.8.6/core/io/each_char_spec.rb +0 -1
  100. data/frozen_old_spec/tags/1.8.6/core/io/lines_spec.rb +0 -1
  101. data/frozen_old_spec/tags/1.8.6/core/io/open_spec.rb +0 -24
  102. data/frozen_old_spec/tags/1.8.6/core/io/ungetbyte_spec.rb +0 -4
  103. data/frozen_old_spec/tags/1.8.6/core/io/write_spec.rb +0 -5
  104. data/frozen_old_spec/tags/1.8.6/core/kernel/__callee___spec.rb +0 -6
  105. data/frozen_old_spec/tags/1.8.6/core/kernel/__method___spec.rb +0 -1
  106. data/frozen_old_spec/tags/1.8.6/core/kernel/define_singleton_method_spec.rb +0 -2
  107. data/frozen_old_spec/tags/1.8.6/core/kernel/public_method_spec.rb +0 -2
  108. data/frozen_old_spec/tags/1.8.6/core/kernel/require_relative_spec.rb +0 -3
  109. data/frozen_old_spec/tags/1.8.6/core/math/log2_spec.rb +0 -6
  110. data/frozen_old_spec/tags/1.8.6/core/math/log_spec.rb +0 -3
  111. data/frozen_old_spec/tags/1.8.6/core/module/alias_method_spec.rb +0 -1
  112. data/frozen_old_spec/tags/1.8.6/core/module/attr_accessor_spec.rb +0 -2
  113. data/frozen_old_spec/tags/1.8.6/core/module/attr_reader_spec.rb +0 -2
  114. data/frozen_old_spec/tags/1.8.6/core/module/attr_spec.rb +0 -1
  115. data/frozen_old_spec/tags/1.8.6/core/module/attr_writer_spec.rb +0 -2
  116. data/frozen_old_spec/tags/1.8.6/core/module/class_exec_spec.rb +0 -2
  117. data/frozen_old_spec/tags/1.8.6/core/module/define_method_spec.rb +0 -1
  118. data/frozen_old_spec/tags/1.8.6/core/module/module_exec_spec.rb +0 -2
  119. data/frozen_old_spec/tags/1.8.6/core/module/remove_method_spec.rb +0 -1
  120. data/frozen_old_spec/tags/1.8.6/core/module/undef_method_spec.rb +0 -1
  121. data/frozen_old_spec/tags/1.8.6/core/nil/dup_spec.rb +0 -1
  122. data/frozen_old_spec/tags/1.8.6/core/numeric/step_spec.rb +0 -12
  123. data/frozen_old_spec/tags/1.8.6/core/proc/curry_spec.rb +0 -4
  124. data/frozen_old_spec/tags/1.8.6/core/range/step_spec.rb +0 -12
  125. data/frozen_old_spec/tags/1.8.6/core/string/getbyte_spec.rb +0 -6
  126. data/frozen_old_spec/tags/1.8.6/core/string/partition_spec.rb +0 -1
  127. data/frozen_old_spec/tags/1.8.6/core/string/prepend_spec.rb +0 -1
  128. data/frozen_old_spec/tags/1.8.6/core/string/rpartition_spec.rb +0 -1
  129. data/frozen_old_spec/tags/1.8.6/core/string/setbyte_spec.rb +0 -5
  130. data/frozen_old_spec/tags/1.8.6/core/string/upto_spec.rb +0 -1
  131. data/frozen_old_spec/tags/1.8.6/core/symbol/capitalize_spec.rb +0 -3
  132. data/frozen_old_spec/tags/1.8.6/core/symbol/comparison_spec.rb +0 -1
  133. data/frozen_old_spec/tags/1.8.6/core/symbol/downcase_spec.rb +0 -2
  134. data/frozen_old_spec/tags/1.8.6/core/symbol/element_reference_spec.rb +0 -4
  135. data/frozen_old_spec/tags/1.8.6/core/symbol/empty_spec.rb +0 -1
  136. data/frozen_old_spec/tags/1.8.6/core/symbol/match_spec.rb +0 -2
  137. data/frozen_old_spec/tags/1.8.6/core/symbol/swapcase_spec.rb +0 -2
  138. data/frozen_old_spec/tags/1.8.6/core/symbol/to_proc_spec.rb +0 -1
  139. data/frozen_old_spec/tags/1.8.6/core/symbol/upcase_spec.rb +0 -1
  140. data/frozen_old_spec/tags/1.8.7/core/array/append_spec.rb +0 -1
  141. data/frozen_old_spec/tags/1.8.7/core/array/keep_if_spec.rb +0 -2
  142. data/frozen_old_spec/tags/1.8.7/core/array/rotate_spec.rb +0 -2
  143. data/frozen_old_spec/tags/1.8.7/core/array/select_spec.rb +0 -2
  144. data/frozen_old_spec/tags/1.8.7/core/array/uniq_spec.rb +0 -3
  145. data/frozen_old_spec/tags/1.8.7/core/complex/to_r_spec.rb +0 -3
  146. data/frozen_old_spec/tags/1.8.7/core/enumerable/all_spec.rb +0 -1
  147. data/frozen_old_spec/tags/1.8.7/core/enumerable/any_spec.rb +0 -2
  148. data/frozen_old_spec/tags/1.8.7/core/enumerable/collect_concat_spec.rb +0 -1
  149. data/frozen_old_spec/tags/1.8.7/core/enumerable/flat_map_spec.rb +0 -1
  150. data/frozen_old_spec/tags/1.8.7/core/enumerable/none_spec.rb +0 -1
  151. data/frozen_old_spec/tags/1.8.7/core/enumerable/one_spec.rb +0 -1
  152. data/frozen_old_spec/tags/1.8.7/core/env/to_h_spec.rb +0 -2
  153. data/frozen_old_spec/tags/1.8.7/core/file/lchmod_spec.rb +0 -2
  154. data/frozen_old_spec/tags/1.8.7/core/file/new_spec.rb +0 -1
  155. data/frozen_old_spec/tags/1.8.7/core/file/open_spec.rb +0 -5
  156. data/frozen_old_spec/tags/1.8.7/core/file/readlink_spec.rb +0 -6
  157. data/frozen_old_spec/tags/1.8.7/core/file/to_path_spec.rb +0 -1
  158. data/frozen_old_spec/tags/1.8.7/core/hash/assoc_spec.rb +0 -1
  159. data/frozen_old_spec/tags/1.8.7/core/hash/default_proc_spec.rb +0 -3
  160. data/frozen_old_spec/tags/1.8.7/core/hash/keep_if_spec.rb +0 -2
  161. data/frozen_old_spec/tags/1.8.7/core/hash/merge_spec.rb +0 -3
  162. data/frozen_old_spec/tags/1.8.7/core/hash/rassoc_spec.rb +0 -1
  163. data/frozen_old_spec/tags/1.8.7/core/hash/select_spec.rb +0 -1
  164. data/frozen_old_spec/tags/1.8.7/core/hash/to_h_spec.rb +0 -1
  165. data/frozen_old_spec/tags/1.8.7/core/hash/update_spec.rb +0 -3
  166. data/frozen_old_spec/tags/1.8.7/core/integer/round_spec.rb +0 -2
  167. data/frozen_old_spec/tags/1.8.7/core/io/binread_spec.rb +0 -7
  168. data/frozen_old_spec/tags/1.8.7/core/io/open_spec.rb +0 -32
  169. data/frozen_old_spec/tags/1.8.7/core/io/ungetbyte_spec.rb +0 -4
  170. data/frozen_old_spec/tags/1.8.7/core/io/write_spec.rb +0 -5
  171. data/frozen_old_spec/tags/1.8.7/core/kernel/__callee___spec.rb +0 -6
  172. data/frozen_old_spec/tags/1.8.7/core/kernel/define_singleton_method_spec.rb +0 -2
  173. data/frozen_old_spec/tags/1.8.7/core/kernel/public_method_spec.rb +0 -1
  174. data/frozen_old_spec/tags/1.8.7/core/kernel/require_relative_spec.rb +0 -3
  175. data/frozen_old_spec/tags/1.8.7/core/math/log2_spec.rb +0 -6
  176. data/frozen_old_spec/tags/1.8.7/core/math/log_spec.rb +0 -3
  177. data/frozen_old_spec/tags/1.8.7/core/module/alias_method_spec.rb +0 -7
  178. data/frozen_old_spec/tags/1.8.7/core/module/attr_accessor_spec.rb +0 -2
  179. data/frozen_old_spec/tags/1.8.7/core/module/attr_reader_spec.rb +0 -2
  180. data/frozen_old_spec/tags/1.8.7/core/module/attr_spec.rb +0 -2
  181. data/frozen_old_spec/tags/1.8.7/core/module/attr_writer_spec.rb +0 -2
  182. data/frozen_old_spec/tags/1.8.7/core/module/define_method_spec.rb +0 -1
  183. data/frozen_old_spec/tags/1.8.7/core/module/include_spec.rb +0 -3
  184. data/frozen_old_spec/tags/1.8.7/core/module/remove_method_spec.rb +0 -3
  185. data/frozen_old_spec/tags/1.8.7/core/module/undef_method_spec.rb +0 -3
  186. data/frozen_old_spec/tags/1.8.7/core/nil/dup_spec.rb +0 -1
  187. data/frozen_old_spec/tags/1.8.7/core/proc/curry_spec.rb +0 -3
  188. data/frozen_old_spec/tags/1.8.7/core/proc/yield_spec.rb +0 -4
  189. data/frozen_old_spec/tags/1.8.7/core/range/size_spec.rb +0 -1
  190. data/frozen_old_spec/tags/1.8.7/core/string/getbyte_spec.rb +0 -5
  191. data/frozen_old_spec/tags/1.8.7/core/string/prepend_spec.rb +0 -1
  192. data/frozen_old_spec/tags/1.8.7/core/string/setbyte_spec.rb +0 -5
  193. data/frozen_old_spec/tags/1.8.7/core/struct/new_spec.rb +0 -3
  194. data/frozen_old_spec/tags/1.8.7/core/symbol/capitalize_spec.rb +0 -3
  195. data/frozen_old_spec/tags/1.8.7/core/symbol/comparison_spec.rb +0 -1
  196. data/frozen_old_spec/tags/1.8.7/core/symbol/downcase_spec.rb +0 -2
  197. data/frozen_old_spec/tags/1.8.7/core/symbol/element_reference_spec.rb +0 -4
  198. data/frozen_old_spec/tags/1.8.7/core/symbol/empty_spec.rb +0 -1
  199. data/frozen_old_spec/tags/1.8.7/core/symbol/match_spec.rb +0 -2
  200. data/frozen_old_spec/tags/1.8.7/core/symbol/swapcase_spec.rb +0 -2
  201. data/frozen_old_spec/tags/1.8.7/core/symbol/upcase_spec.rb +0 -1
  202. data/frozen_old_spec/tags/1.9.1/core/array/append_spec.rb +0 -1
  203. data/frozen_old_spec/tags/1.9.1/core/array/rotate_spec.rb +0 -1
  204. data/frozen_old_spec/tags/1.9.1/core/enumerable/all_spec.rb +0 -1
  205. data/frozen_old_spec/tags/1.9.1/core/enumerable/any_spec.rb +0 -2
  206. data/frozen_old_spec/tags/1.9.1/core/enumerable/none_spec.rb +0 -1
  207. data/frozen_old_spec/tags/1.9.1/core/enumerable/one_spec.rb +0 -1
  208. data/frozen_old_spec/tags/1.9.1/core/env/to_h_spec.rb +0 -2
  209. data/frozen_old_spec/tags/1.9.1/core/hash/default_proc_spec.rb +0 -1
  210. data/frozen_old_spec/tags/1.9.1/core/io/write_spec.rb +0 -2
  211. data/frozen_old_spec/tags/1.9.1/core/module/alias_method_spec.rb +0 -4
  212. data/frozen_old_spec/tags/1.9.1/core/module/attr_accessor_spec.rb +0 -2
  213. data/frozen_old_spec/tags/1.9.1/core/module/attr_reader_spec.rb +0 -2
  214. data/frozen_old_spec/tags/1.9.1/core/module/attr_spec.rb +0 -1
  215. data/frozen_old_spec/tags/1.9.1/core/module/attr_writer_spec.rb +0 -2
  216. data/frozen_old_spec/tags/1.9.1/core/module/define_method_spec.rb +0 -3
  217. data/frozen_old_spec/tags/1.9.1/core/module/remove_method_spec.rb +0 -1
  218. data/frozen_old_spec/tags/1.9.1/core/module/undef_method_spec.rb +0 -1
  219. data/frozen_old_spec/tags/1.9.1/core/nil/dup_spec.rb +0 -1
  220. data/frozen_old_spec/tags/1.9.2/core/array/append_spec.rb +0 -1
  221. data/frozen_old_spec/tags/1.9.2/core/enumerable/all_spec.rb +0 -1
  222. data/frozen_old_spec/tags/1.9.2/core/enumerable/any_spec.rb +0 -2
  223. data/frozen_old_spec/tags/1.9.2/core/enumerable/none_spec.rb +0 -1
  224. data/frozen_old_spec/tags/1.9.2/core/enumerable/one_spec.rb +0 -1
  225. data/frozen_old_spec/tags/1.9.2/core/io/write_spec.rb +0 -3
  226. data/frozen_old_spec/tags/1.9.2/core/module/alias_method_spec.rb +0 -4
  227. data/frozen_old_spec/tags/1.9.2/core/module/attr_accessor_spec.rb +0 -2
  228. data/frozen_old_spec/tags/1.9.2/core/module/attr_reader_spec.rb +0 -2
  229. data/frozen_old_spec/tags/1.9.2/core/module/attr_spec.rb +0 -1
  230. data/frozen_old_spec/tags/1.9.2/core/module/attr_writer_spec.rb +0 -2
  231. data/frozen_old_spec/tags/1.9.2/core/module/define_method_spec.rb +0 -3
  232. data/frozen_old_spec/tags/1.9.2/core/module/remove_method_spec.rb +0 -1
  233. data/frozen_old_spec/tags/1.9.2/core/module/undef_method_spec.rb +0 -1
  234. data/frozen_old_spec/tags/1.9.2/core/nil/dup_spec.rb +0 -1
  235. data/frozen_old_spec/tags/1.9.3/core/enumerable/any_spec.rb +0 -1
  236. data/frozen_old_spec/tags/1.9.3/core/module/alias_method_spec.rb +0 -4
  237. data/frozen_old_spec/tags/1.9.3/core/module/attr_accessor_spec.rb +0 -1
  238. data/frozen_old_spec/tags/1.9.3/core/module/attr_reader_spec.rb +0 -1
  239. data/frozen_old_spec/tags/1.9.3/core/module/attr_spec.rb +0 -1
  240. data/frozen_old_spec/tags/1.9.3/core/module/attr_writer_spec.rb +0 -1
  241. data/frozen_old_spec/tags/1.9.3/core/module/define_method_spec.rb +0 -3
  242. data/frozen_old_spec/tags/1.9.3/core/module/remove_method_spec.rb +0 -1
  243. data/frozen_old_spec/tags/1.9.3/core/module/undef_method_spec.rb +0 -1
  244. data/frozen_old_spec/tags/2.0.0/core/enumerable/any_spec.rb +0 -1
  245. data/frozen_old_spec/tags/2.0.0/core/module/alias_method_spec.rb +0 -1
  246. data/frozen_old_spec/tags/2.0.0/core/module/attr_accessor_spec.rb +0 -2
  247. data/frozen_old_spec/tags/2.0.0/core/module/attr_reader_spec.rb +0 -2
  248. data/frozen_old_spec/tags/2.0.0/core/module/attr_spec.rb +0 -1
  249. data/frozen_old_spec/tags/2.0.0/core/module/attr_writer_spec.rb +0 -2
  250. data/frozen_old_spec/tags/2.0.0/core/module/define_method_spec.rb +0 -2
  251. data/frozen_old_spec/tags/2.0.0/core/module/remove_method_spec.rb +0 -1
  252. data/frozen_old_spec/tags/2.0.0/core/module/undef_method_spec.rb +0 -1
  253. data/frozen_old_spec/tags/2.0.0/core/nil/dup_spec.rb +0 -1
  254. data/frozen_old_spec/tags/2.0.0/core/struct/new_spec.rb +0 -1
  255. data/frozen_old_spec/tags/2.1.0/core/enumerable/any_spec.rb +0 -1
  256. data/frozen_old_spec/tags/2.1.0/core/module/alias_method_spec.rb +0 -1
  257. data/frozen_old_spec/tags/2.1.0/core/module/attr_accessor_spec.rb +0 -2
  258. data/frozen_old_spec/tags/2.1.0/core/module/attr_reader_spec.rb +0 -2
  259. data/frozen_old_spec/tags/2.1.0/core/module/attr_spec.rb +0 -1
  260. data/frozen_old_spec/tags/2.1.0/core/module/attr_writer_spec.rb +0 -2
  261. data/frozen_old_spec/tags/2.1.0/core/module/define_method_spec.rb +0 -2
  262. data/frozen_old_spec/tags/2.1.0/core/module/remove_method_spec.rb +0 -1
  263. data/frozen_old_spec/tags/2.1.0/core/module/undef_method_spec.rb +0 -1
  264. data/frozen_old_spec/tags/2.1.0/core/nil/dup_spec.rb +0 -1
  265. data/frozen_old_spec/tags/2.1.0/core/struct/new_spec.rb +0 -1
  266. data/frozen_old_spec/tags/2.2.0/core/enumerable/any_spec.rb +0 -1
  267. data/frozen_old_spec/tags/2.2.0/core/module/alias_method_spec.rb +0 -1
  268. data/frozen_old_spec/tags/2.2.0/core/module/attr_accessor_spec.rb +0 -2
  269. data/frozen_old_spec/tags/2.2.0/core/module/attr_reader_spec.rb +0 -2
  270. data/frozen_old_spec/tags/2.2.0/core/module/attr_spec.rb +0 -1
  271. data/frozen_old_spec/tags/2.2.0/core/module/attr_writer_spec.rb +0 -2
  272. data/frozen_old_spec/tags/2.2.0/core/module/define_method_spec.rb +0 -1
  273. data/frozen_old_spec/tags/2.2.0/core/module/remove_method_spec.rb +0 -1
  274. data/frozen_old_spec/tags/2.2.0/core/module/undef_method_spec.rb +0 -1
  275. data/frozen_old_spec/tags/2.2.0/core/nil/dup_spec.rb +0 -1
  276. data/frozen_old_spec/tags/2.2.0/core/struct/new_spec.rb +0 -1
  277. data/frozen_old_spec/tags/2.3.0/core/enumerable/any_spec.rb +0 -1
  278. data/frozen_old_spec/tags/2.3.0/core/module/alias_method_spec.rb +0 -1
  279. data/frozen_old_spec/tags/2.3.0/core/module/attr_accessor_spec.rb +0 -2
  280. data/frozen_old_spec/tags/2.3.0/core/module/attr_reader_spec.rb +0 -2
  281. data/frozen_old_spec/tags/2.3.0/core/module/attr_spec.rb +0 -1
  282. data/frozen_old_spec/tags/2.3.0/core/module/attr_writer_spec.rb +0 -2
  283. data/frozen_old_spec/tags/2.3.0/core/module/define_method_spec.rb +0 -1
  284. data/frozen_old_spec/tags/2.3.0/core/module/remove_method_spec.rb +0 -1
  285. data/frozen_old_spec/tags/2.3.0/core/module/undef_method_spec.rb +0 -1
  286. data/frozen_old_spec/tags/2.3.0/core/nil/dup_spec.rb +0 -1
  287. data/frozen_old_spec/tags/2.3.0/core/struct/new_spec.rb +0 -1
  288. data/frozen_old_spec/tags/2.3.5/core/struct/new_spec.rb +0 -1
  289. data/frozen_old_spec/tags/2.4.0/core/enumerable/any_spec.rb +0 -1
  290. data/frozen_old_spec/tags/2.4.0/core/module/alias_method_spec.rb +0 -1
  291. data/frozen_old_spec/tags/2.4.0/core/module/attr_accessor_spec.rb +0 -2
  292. data/frozen_old_spec/tags/2.4.0/core/module/attr_reader_spec.rb +0 -2
  293. data/frozen_old_spec/tags/2.4.0/core/module/attr_spec.rb +0 -1
  294. data/frozen_old_spec/tags/2.4.0/core/module/attr_writer_spec.rb +0 -2
  295. data/frozen_old_spec/tags/2.4.0/core/module/define_method_spec.rb +0 -1
  296. data/frozen_old_spec/tags/2.4.0/core/module/remove_method_spec.rb +0 -1
  297. data/frozen_old_spec/tags/2.4.0/core/module/undef_method_spec.rb +0 -1
  298. data/frozen_old_spec/tags/2.4.0/core/nil/dup_spec.rb +0 -1
  299. data/frozen_old_spec/tags/2.4.0/core/struct/new_spec.rb +0 -1
  300. data/frozen_old_spec/tags/2.5.0/core/enumerable/any_spec.rb +0 -1
  301. data/frozen_old_spec/tags/2.5.0/core/module/alias_method_spec.rb +0 -1
  302. data/frozen_old_spec/tags/2.5.0/core/module/attr_accessor_spec.rb +0 -2
  303. data/frozen_old_spec/tags/2.5.0/core/module/attr_reader_spec.rb +0 -2
  304. data/frozen_old_spec/tags/2.5.0/core/module/attr_spec.rb +0 -1
  305. data/frozen_old_spec/tags/2.5.0/core/module/attr_writer_spec.rb +0 -2
  306. data/frozen_old_spec/tags/2.5.0/core/module/define_method_spec.rb +0 -1
  307. data/frozen_old_spec/tags/2.5.0/core/module/remove_method_spec.rb +0 -1
  308. data/frozen_old_spec/tags/2.5.0/core/module/undef_method_spec.rb +0 -1
  309. data/frozen_old_spec/tags/2.5.0/core/nil/dup_spec.rb +0 -1
  310. data/frozen_old_spec/tags/2.5.0/core/struct/new_spec.rb +0 -1
  311. data/set_version/1.8.7.rb +0 -1
  312. data/set_version/1.9.1.rb +0 -1
  313. data/set_version/1.9.2.rb +0 -1
  314. data/set_version/1.9.3.rb +0 -1
  315. data/set_version/2.0.0.rb +0 -1
  316. data/set_version/2.1.0.rb +0 -1
  317. data/set_version/2.2.0.rb +0 -1
  318. data/set_version/2.3.0.rb +0 -1
  319. data/set_version/2.4.0.rb +0 -1
  320. data/set_version/2.5.0.rb +0 -1
  321. data/set_version/2.6.0.rb +0 -1
  322. data/set_version/2.7.0.rb +0 -1
  323. data/set_version/setter.rb +0 -22
  324. data/spec/tags/1.8.7/core/array/to_h_spec.rb +0 -3
  325. data/spec/tags/1.8.7/core/enumerable/to_h_spec.rb +0 -2
  326. data/spec/tags/1.8.7/core/module/attr_spec.rb +0 -1
  327. data/spec/tags/1.8.7/core/module/include_spec.rb +0 -1
  328. data/spec/tags/1.9.1/core/array/bsearch_index_spec.rb +0 -1
  329. data/spec/tags/1.9.1/core/array/rotate_spec.rb +0 -1
  330. data/spec/tags/1.9.1/core/dir/each_child_spec.rb +0 -1
  331. data/spec/tags/1.9.1/core/env/to_h_spec.rb +0 -2
  332. data/spec/tags/1.9.1/core/hash/default_proc_spec.rb +0 -1
  333. data/spec/tags/1.9.1/core/hash/slice_spec.rb +0 -1
  334. data/spec/tags/1.9.1/core/hash/transform_keys_spec.rb +0 -2
  335. data/spec/tags/1.9.1/core/hash/transform_values_spec.rb +0 -2
  336. data/spec/tags/1.9.1/core/io/write_spec.rb +0 -3
  337. data/spec/tags/1.9.1/core/kernel/yield_self_spec.rb +0 -1
  338. data/spec/tags/1.9.1/core/method/curry_spec.rb +0 -1
  339. data/spec/tags/1.9.1/core/module/alias_method_spec.rb +0 -3
  340. data/spec/tags/1.9.1/core/module/attr_accessor_spec.rb +0 -1
  341. data/spec/tags/1.9.1/core/module/attr_reader_spec.rb +0 -1
  342. data/spec/tags/1.9.1/core/module/attr_spec.rb +0 -1
  343. data/spec/tags/1.9.1/core/module/attr_writer_spec.rb +0 -1
  344. data/spec/tags/1.9.1/core/module/define_method_spec.rb +0 -7
  345. data/spec/tags/1.9.1/core/string/uplus_spec.rb +0 -1
  346. data/spec/tags/1.9.1/core/struct/new_spec.rb +0 -2
  347. data/spec/tags/1.9.2/core/array/bsearch_index_spec.rb +0 -1
  348. data/spec/tags/1.9.2/core/array/to_h_spec.rb +0 -3
  349. data/spec/tags/1.9.2/core/dir/each_child_spec.rb +0 -1
  350. data/spec/tags/1.9.2/core/enumerable/to_h_spec.rb +0 -2
  351. data/spec/tags/1.9.2/core/hash/slice_spec.rb +0 -1
  352. data/spec/tags/1.9.2/core/hash/to_h_spec.rb +0 -3
  353. data/spec/tags/1.9.2/core/hash/transform_keys_spec.rb +0 -2
  354. data/spec/tags/1.9.2/core/hash/transform_values_spec.rb +0 -2
  355. data/spec/tags/1.9.2/core/io/write_spec.rb +0 -3
  356. data/spec/tags/1.9.2/core/kernel/then_spec.rb +0 -1
  357. data/spec/tags/1.9.2/core/kernel/yield_self_spec.rb +0 -1
  358. data/spec/tags/1.9.2/core/method/curry_spec.rb +0 -1
  359. data/spec/tags/1.9.2/core/module/alias_method_spec.rb +0 -3
  360. data/spec/tags/1.9.2/core/module/attr_accessor_spec.rb +0 -1
  361. data/spec/tags/1.9.2/core/module/attr_reader_spec.rb +0 -1
  362. data/spec/tags/1.9.2/core/module/attr_writer_spec.rb +0 -1
  363. data/spec/tags/1.9.2/core/module/define_method_spec.rb +0 -7
  364. data/spec/tags/1.9.2/core/module/include_spec.rb +0 -1
  365. data/spec/tags/1.9.2/core/string/uplus_spec.rb +0 -1
  366. data/spec/tags/1.9.2/core/struct/new_spec.rb +0 -2
  367. data/spec/tags/1.9.3/core/array/bsearch_index_spec.rb +0 -1
  368. data/spec/tags/1.9.3/core/array/to_h_spec.rb +0 -3
  369. data/spec/tags/1.9.3/core/dir/each_child_spec.rb +0 -1
  370. data/spec/tags/1.9.3/core/enumerable/grep_v_spec.rb +0 -2
  371. data/spec/tags/1.9.3/core/enumerable/to_h_spec.rb +0 -2
  372. data/spec/tags/1.9.3/core/enumerator/produce_spec.rb +0 -1
  373. data/spec/tags/1.9.3/core/hash/slice_spec.rb +0 -1
  374. data/spec/tags/1.9.3/core/hash/to_h_spec.rb +0 -3
  375. data/spec/tags/1.9.3/core/hash/transform_keys_spec.rb +0 -2
  376. data/spec/tags/1.9.3/core/hash/transform_values_spec.rb +0 -2
  377. data/spec/tags/1.9.3/core/io/write_spec.rb +0 -3
  378. data/spec/tags/1.9.3/core/kernel/then_spec.rb +0 -1
  379. data/spec/tags/1.9.3/core/kernel/yield_self_spec.rb +0 -1
  380. data/spec/tags/1.9.3/core/method/curry_spec.rb +0 -1
  381. data/spec/tags/1.9.3/core/module/alias_method_spec.rb +0 -3
  382. data/spec/tags/1.9.3/core/module/attr_accessor_spec.rb +0 -1
  383. data/spec/tags/1.9.3/core/module/attr_reader_spec.rb +0 -1
  384. data/spec/tags/1.9.3/core/module/attr_writer_spec.rb +0 -1
  385. data/spec/tags/1.9.3/core/module/define_method_spec.rb +0 -7
  386. data/spec/tags/1.9.3/core/module/include_spec.rb +0 -1
  387. data/spec/tags/1.9.3/core/string/uplus_spec.rb +0 -1
  388. data/spec/tags/1.9.3/core/struct/new_spec.rb +0 -2
  389. data/spec/tags/2.0.0/core/array/to_h_spec.rb +0 -3
  390. data/spec/tags/2.0.0/core/enumerable/grep_v_spec.rb +0 -2
  391. data/spec/tags/2.0.0/core/enumerable/to_h_spec.rb +0 -2
  392. data/spec/tags/2.0.0/core/hash/slice_spec.rb +0 -1
  393. data/spec/tags/2.0.0/core/hash/to_h_spec.rb +0 -3
  394. data/spec/tags/2.0.0/core/module/attr_accessor_spec.rb +0 -1
  395. data/spec/tags/2.0.0/core/module/attr_reader_spec.rb +0 -1
  396. data/spec/tags/2.0.0/core/module/attr_spec.rb +0 -1
  397. data/spec/tags/2.0.0/core/module/attr_writer_spec.rb +0 -1
  398. data/spec/tags/2.0.0/core/module/define_method_spec.rb +0 -5
  399. data/spec/tags/2.0.0/core/module/include_spec.rb +0 -1
  400. data/spec/tags/2.0.0/core/module/undef_method_spec.rb +0 -2
  401. data/spec/tags/2.0.0/core/string/uplus_spec.rb +0 -1
  402. data/spec/tags/2.0.0/core/struct/new_spec.rb +0 -3
  403. data/spec/tags/2.1.0/core/array/union_spec.rb +0 -1
  404. data/spec/tags/2.1.0/core/enumerable/grep_v_spec.rb +0 -2
  405. data/spec/tags/2.1.0/core/hash/slice_spec.rb +0 -1
  406. data/spec/tags/2.1.0/core/hash/to_h_spec.rb +0 -1
  407. data/spec/tags/2.1.0/core/module/attr_accessor_spec.rb +0 -1
  408. data/spec/tags/2.1.0/core/module/attr_reader_spec.rb +0 -1
  409. data/spec/tags/2.1.0/core/module/attr_spec.rb +0 -1
  410. data/spec/tags/2.1.0/core/module/attr_writer_spec.rb +0 -1
  411. data/spec/tags/2.1.0/core/module/define_method_spec.rb +0 -5
  412. data/spec/tags/2.1.0/core/module/undef_method_spec.rb +0 -2
  413. data/spec/tags/2.1.0/core/string/uplus_spec.rb +0 -1
  414. data/spec/tags/2.1.0/core/struct/new_spec.rb +0 -3
  415. data/spec/tags/2.2.0/core/enumerable/grep_v_spec.rb +0 -2
  416. data/spec/tags/2.2.0/core/hash/slice_spec.rb +0 -1
  417. data/spec/tags/2.2.0/core/hash/to_h_spec.rb +0 -1
  418. data/spec/tags/2.2.0/core/module/attr_accessor_spec.rb +0 -1
  419. data/spec/tags/2.2.0/core/module/attr_reader_spec.rb +0 -1
  420. data/spec/tags/2.2.0/core/module/attr_spec.rb +0 -1
  421. data/spec/tags/2.2.0/core/module/attr_writer_spec.rb +0 -1
  422. data/spec/tags/2.2.0/core/module/define_method_spec.rb +0 -5
  423. data/spec/tags/2.2.0/core/module/undef_method_spec.rb +0 -2
  424. data/spec/tags/2.2.0/core/string/uplus_spec.rb +0 -1
  425. data/spec/tags/2.2.0/core/struct/new_spec.rb +0 -3
  426. data/spec/tags/2.3.0/core/hash/slice_spec.rb +0 -1
  427. data/spec/tags/2.3.0/core/hash/to_h_spec.rb +0 -1
  428. data/spec/tags/2.3.0/core/module/attr_spec.rb +0 -1
  429. data/spec/tags/2.3.0/core/string/uplus_spec.rb +0 -1
  430. data/spec/tags/2.3.0/core/struct/new_spec.rb +0 -3
  431. data/spec/tags/2.4.0/core/hash/slice_spec.rb +0 -1
  432. data/spec/tags/2.4.0/core/hash/to_h_spec.rb +0 -1
  433. data/spec/tags/2.4.0/core/module/attr_spec.rb +0 -1
  434. data/spec/tags/2.4.0/core/struct/new_spec.rb +0 -1
  435. data/spec/tags/2.5.0/core/hash/to_h_spec.rb +0 -1
  436. data/test/README +0 -2
  437. data/test/_backport_guards_test.rb +0 -152
  438. data/test/bit_length_test.rb +0 -11
  439. data/test/lazy_test.rb +0 -487
  440. data/test/socket_interaction_test.rb +0 -9
  441. data/test/test_helper.rb +0 -1
@@ -0,0 +1,5 @@
1
+ ## Security contact information
2
+
3
+ To report a security vulnerability, please use the
4
+ [Tidelift security contact](https://tidelift.com/security).
5
+ Tidelift will coordinate the fix and disclosure.
@@ -13,7 +13,11 @@ Gem::Specification.new do |gem|
13
13
  gem.homepage = "http://github.com/marcandre/backports"
14
14
  gem.license = "MIT"
15
15
 
16
- gem.files = `git ls-files`.split($/)
16
+ gem.files = Dir[*%w[
17
+ lib/**/*
18
+ *.{md,txt,gemspec}
19
+ Gemfile
20
+ ]]
17
21
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
18
22
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
23
  gem.require_paths = ["lib"]
@@ -1,3 +1,9 @@
1
1
  require "backports/version"
2
+
3
+ require "backports/tools/deprecation"
4
+ Backports.deprecate :require_version,
5
+ "Doing `require 'backports'` is deprecated and will not load any backport in the next major release.\n" \
6
+ "Require just the needed backports instead, or 'backports/latest'."
2
7
  require "backports/2.4"
8
+ Backports.warned[:rails] = true
3
9
  require "backports/rails"
@@ -1,4 +1,12 @@
1
1
  # require this file to load all the backports of Ruby 1.8.7
2
2
  require "backports/tools/require_relative_dir"
3
- require "backports/std_lib"
4
- Backports.require_relative_dir
3
+ require "backports/tools/deprecation"
4
+
5
+ Backports.frown_upon :require_version,
6
+ 'Requiring backports/<ruby version> is not recommended in production. Require just the needed backports instead.'
7
+
8
+ if RUBY_VERSION < '1.8.7'
9
+ Backports.warned[:require_std_lib] = true
10
+ require "backports/std_lib"
11
+ Backports.require_relative_dir
12
+ end
@@ -1,3 +1,8 @@
1
1
  # require this file to load all the backports up to Ruby 1.9.1 (including all of 1.8.8 and below)
2
2
  require 'backports/1.8'
3
- Backports.require_relative_dir
3
+
4
+ if RUBY_VERSION < '1.9.1'
5
+ Backports.warned[:require_std_lib] = true
6
+ require "backports/std_lib"
7
+ Backports.require_relative_dir
8
+ end
@@ -1,3 +1,8 @@
1
1
  # require this file to load all the backports up to Ruby 1.9.2
2
2
  require 'backports/1.9.1'
3
- Backports.require_relative_dir
3
+
4
+ if RUBY_VERSION < '1.9.2'
5
+ Backports.warned[:require_std_lib] = true
6
+ require "backports/std_lib"
7
+ Backports.require_relative_dir
8
+ end
@@ -11,7 +11,10 @@
11
11
  # Original Documentation:: Gavin Sinclair (sourced from <i>Ruby in a Nutshell</i> (Matsumoto, O'Reilly))
12
12
  ##
13
13
 
14
+ begin
14
15
  require "e2mmap.rb"
16
+ rescue LoadError
17
+ else
15
18
 
16
19
  module ExceptionForMatrix # :nodoc:
17
20
  def_e2message(TypeError, "wrong argument type %s (expected %s)")
@@ -1870,3 +1873,5 @@ class Vector
1870
1873
  end
1871
1874
  end
1872
1875
  end
1876
+
1877
+ end
@@ -1,3 +1,8 @@
1
1
  # require this file to load all the backports up to Ruby 1.9.3
2
2
  require 'backports/1.9.2'
3
- Backports.require_relative_dir
3
+
4
+ if RUBY_VERSION < '1.9.3'
5
+ Backports.warned[:require_std_lib] = true
6
+ require "backports/std_lib"
7
+ Backports.require_relative_dir
8
+ end
@@ -1,3 +1,8 @@
1
1
  # require this file to load all the backports up to Ruby 2.0.0
2
2
  require 'backports/1.9'
3
- Backports.require_relative_dir
3
+
4
+ if RUBY_VERSION < '2.0'
5
+ Backports.warned[:require_std_lib] = true
6
+ require "backports/std_lib"
7
+ Backports.require_relative_dir
8
+ end
@@ -1,4 +1,6 @@
1
1
  unless Range.method_defined? :size
2
+ require 'backports/1.9.2/float/infinity'
3
+
2
4
  class Range
3
5
  def size
4
6
  return nil unless self.begin.is_a?(Numeric) && self.end.is_a?(Numeric)
@@ -1,3 +1,3 @@
1
1
  # require this file to load all the backports up to Ruby 2.1.0
2
2
  require 'backports/2.0'
3
- Backports.require_relative_dir
3
+ Backports.require_relative_dir if RUBY_VERSION < '2.1'
@@ -1,3 +1,3 @@
1
1
  # require this file to load all the backports up to Ruby 2.2
2
2
  require 'backports/2.1'
3
- Backports.require_relative_dir
3
+ Backports.require_relative_dir if RUBY_VERSION < '2.2'
@@ -7,7 +7,7 @@ unless Enumerable.method_defined? :slice_after
7
7
  raise ArgumentError, 'both pattern and block are given' if pattern != Backports::Undefined && block
8
8
  raise ArgumentError, 'wrong number of arguments (given 0, expected 1)' if pattern == Backports::Undefined && !block
9
9
  enum = self
10
- block ||= Proc.new{|elem| pattern === elem}
10
+ block ||= proc {|elem| pattern === elem}
11
11
  Enumerator.new do |y|
12
12
  acc = []
13
13
  enum.each do |*elem|
@@ -4,7 +4,7 @@ unless Float.method_defined? :next_float
4
4
  class Float
5
5
  def next_float
6
6
  return Float::INFINITY if self == Float::INFINITY
7
- r = Backports.integer_to_float(Backports.float_to_integer(self)+1)
7
+ r = Backports.integer_to_float(Backports.float_to_integer(self) + 1)
8
8
  r == 0 ? -0.0 : r # Map +0.0 to -0.0
9
9
  end
10
10
  end
@@ -5,7 +5,7 @@ unless Float.method_defined? :prev_float
5
5
  class Float
6
6
  def prev_float
7
7
  return -Float::INFINITY if self == -Float::INFINITY
8
- Backports.integer_to_float(Backports.float_to_integer(self)-1)
8
+ Backports.integer_to_float(Backports.float_to_integer(self) - 1)
9
9
  end
10
10
  end
11
11
  end
@@ -6,10 +6,10 @@ unless Method.method_defined? :super_method
6
6
  singleton_klass = class << receiver; self; end
7
7
  call_chain = singleton_klass.ancestors
8
8
  # find current position in call chain:
9
- skip = call_chain.find_index{|c| c == owner} or return
9
+ skip = call_chain.find_index {|c| c == owner} or return
10
10
  call_chain = call_chain.drop(skip + 1)
11
11
  # find next in chain with a definition:
12
- next_index = call_chain.find_index{|c| c.method_defined? name}
12
+ next_index = call_chain.find_index {|c| c.method_defined? name}
13
13
  next_index && call_chain[next_index].instance_method(name).bind(receiver)
14
14
  end
15
15
  end
@@ -1,3 +1,3 @@
1
1
  # require this file to load all the backports up to Ruby 2.3
2
2
  require 'backports/2.2'
3
- Backports.require_relative_dir
3
+ Backports.require_relative_dir if RUBY_VERSION < '2.3'
@@ -5,7 +5,7 @@ unless Array.method_defined? :bsearch_index
5
5
  from = 0
6
6
  to = size - 1
7
7
  satisfied = nil
8
- while from <= to do
8
+ while from <= to
9
9
  midpoint = (from + to).div(2)
10
10
  result = yield(self[midpoint])
11
11
  case result
@@ -5,7 +5,7 @@ unless Hash.method_defined? :<
5
5
  hash = Backports.coerce_to_hash(hash)
6
6
  return false unless size < hash.size
7
7
  each do |k, v|
8
- v2 = hash.fetch(k){ return false }
8
+ v2 = hash.fetch(k) { return false }
9
9
  return false unless v2 == v
10
10
  end
11
11
  true
@@ -5,7 +5,7 @@ unless Hash.method_defined? :<=
5
5
  hash = Backports.coerce_to_hash(hash)
6
6
  return false unless size <= hash.size
7
7
  each do |k, v|
8
- v2 = hash.fetch(k){ return false }
8
+ v2 = hash.fetch(k) { return false }
9
9
  return false unless v2 == v
10
10
  end
11
11
  true
@@ -2,7 +2,7 @@ unless Hash.method_defined? :to_proc
2
2
  class Hash
3
3
  def to_proc
4
4
  h = self
5
- Proc.new{|*args| h[*args]}
5
+ proc {|*args| h[*args]}
6
6
  end
7
7
  end
8
8
  end
@@ -2,11 +2,10 @@ unless Struct.method_defined? :dig
2
2
  class Struct
3
3
  def dig(key, *rest)
4
4
  return nil unless respond_to?(key)
5
- val = self.public_send(key)
5
+ val = public_send(key)
6
6
  return val if rest.empty? || val == nil
7
7
  raise TypeError, "#{val.class} does not have #dig method" unless val.respond_to? :dig
8
8
  val.dig(*rest)
9
9
  end
10
10
  end
11
11
  end
12
-
@@ -1,3 +1,3 @@
1
1
  # require this file to load all the backports up to Ruby 2.4
2
2
  require 'backports/2.3'
3
- Backports.require_relative_dir
3
+ Backports.require_relative_dir if RUBY_VERSION < '2.4'
@@ -1,6 +1,6 @@
1
1
  class Hash
2
2
  def transform_values
3
- return to_enum(:transform_values){ size } unless block_given?
3
+ return to_enum(:transform_values) { size } unless block_given?
4
4
  h = {}
5
5
  each do |key, value|
6
6
  h[key] = yield value
@@ -9,7 +9,7 @@ class Hash
9
9
  end unless method_defined? :transform_values
10
10
 
11
11
  def transform_values!
12
- return to_enum(:transform_values!){ size } unless block_given?
12
+ return to_enum(:transform_values!) { size } unless block_given?
13
13
  reject!{} if frozen? # Force error triggerring if frozen, in case of empty array
14
14
  each do |key, value|
15
15
  self[key] = yield value
@@ -3,4 +3,3 @@ class TrueClass
3
3
  self
4
4
  end
5
5
  end unless (true.dup rescue false)
6
-
@@ -1,3 +1,3 @@
1
1
  # require this file to load all the backports up to Ruby 2.5
2
2
  require 'backports/2.4'
3
- Backports.require_relative_dir
3
+ Backports.require_relative_dir if RUBY_VERSION < '2.5'
@@ -1,6 +1,6 @@
1
1
  class Hash
2
2
  def transform_keys
3
- return to_enum(:transform_keys){ size } unless block_given?
3
+ return to_enum(:transform_keys) { size } unless block_given?
4
4
  h = {}
5
5
  each do |key, value|
6
6
  h[yield key] = value
@@ -6,9 +6,9 @@ class Integer
6
6
  def self.sqrt(n)
7
7
  n = Backports.coerce_to_int(n)
8
8
  return Math.sqrt(n).to_i if n <= 9_999_899_999_899_999_322_536_673_279
9
- bits_shift = n.bit_length/2 + 1
9
+ bits_shift = n.bit_length / 2 + 1
10
10
  bitn_mask = root = 1 << bits_shift
11
- while true
11
+ loop do
12
12
  root ^= bitn_mask if (root * root) > n
13
13
  bitn_mask >>= 1
14
14
  return root if bitn_mask == 0
@@ -1,4 +1,3 @@
1
1
  class Module
2
2
  public :alias_method
3
3
  end
4
-
@@ -6,14 +6,10 @@ unless String.method_defined? :undump
6
6
  raise 'string contains null byte' if string["\0"]
7
7
  raise 'non-ASCII character detected' unless string.ascii_only?
8
8
 
9
- #raise '.force_encoding("...") format is not supported by backports' if string.match(/\A".*"\.force_encoding\("[^"]*"\)\z/)
10
- match = string.match(/\A(".*?"?)(?:\.force_encoding\("([^"]*)"\))?\z/)
11
- if match
12
- string = match[1]
13
- encoding = match[2]
14
- else
9
+ match = string.match(/\A(".*?"?)(?:\.force_encoding\("([^"]*)"\))?\z/) or
15
10
  raise %(invalid dumped string; not wrapped with '"' nor '"...".force_encoding("...")' form)
16
- end
11
+ string = match[1]
12
+ encoding = match[2]
17
13
 
18
14
  # Ruby 1.9.3 does weird things to encoding during gsub
19
15
  encoding ||= string.encoding.to_s
@@ -19,5 +19,5 @@ if RUBY_VERSION >= '2.0.0' && (Struct.new(:a, :keyword_init => true) && false re
19
19
  end
20
20
  Backports.alias_method_chain(self, :new, :keyword_init)
21
21
  end
22
- ]
22
+ ], nil, __FILE__, __LINE__ - 19
23
23
  end
@@ -1,3 +1,3 @@
1
1
  # require this file to load all the backports up to Ruby 2.5
2
2
  require 'backports/2.5'
3
- Backports.require_relative_dir
3
+ Backports.require_relative_dir if RUBY_VERSION < '2.6'
@@ -11,7 +11,10 @@ unless Enumerable.method_defined? :chain
11
11
  def initialize(*enums)
12
12
  @enums = enums
13
13
  @rewindable = -1
14
- self
14
+ # This self is necessary to pass RubySpec,
15
+ # See rubyspec/core/enumerator/chain/initialize_spec.rb
16
+ # ...it checks what call of #initialize on non-initalized object returns
17
+ self # rubocop:disable Lint/Void
15
18
  end
16
19
 
17
20
  def each(*args, &block)
@@ -1,6 +1,6 @@
1
1
  require 'backports/2.0.0/hash/to_h' unless Hash.method_defined? :to_h
2
2
 
3
- if {:n => true}.to_h{[:ok, true]}[:n]
3
+ if {:n => true}.to_h {[:ok, true]}[:n]
4
4
  require 'backports/tools/alias_method_chain'
5
5
  require 'backports/2.1.0/array/to_h'
6
6
 
@@ -0,0 +1,3 @@
1
+ require 'backports/tools/require_relative_dir'
2
+
3
+ Backports.require_relative_dir
@@ -0,0 +1,22 @@
1
+ unless (1..4).cover?(2..3)
2
+ require 'backports/tools/alias_method_chain'
3
+
4
+ class Range
5
+ def cover_with_range_compatibility?(what)
6
+ return cover_without_range_compatibility?(what) unless what.is_a?(Range)
7
+
8
+ left = self.begin <=> what.begin
9
+ right = self.end <=> what.end
10
+ return false unless left && right
11
+
12
+ left <= 0 && (
13
+ right >= 1 ||
14
+ right == 0 && (!exclude_end? || what.exclude_end?) ||
15
+ what.exclude_end? && what.begin.is_a?(Integer) &&
16
+ what.end.is_a?(Integer) && cover_without_range_compatibility?(what.end - 1)
17
+ )
18
+ end
19
+ Backports.alias_method_chain self, :cover?, :range_compatibility
20
+ end
21
+
22
+ end
@@ -1,3 +1,3 @@
1
1
  # require this file to load all the backports up to Ruby 2.5
2
2
  require 'backports/2.6'
3
- Backports.require_relative_dir
3
+ Backports.require_relative_dir if RUBY_VERSION < '2.7'
@@ -5,10 +5,10 @@ unless Enumerable.method_defined? :filter_map
5
5
  def filter_map
6
6
  return to_enum(:filter_map) unless block_given?
7
7
 
8
- each_with_object([]) { |item, res|
8
+ each_with_object([]) do |item, res|
9
9
  processed = yield(item)
10
10
  res << processed if processed
11
- }
11
+ end
12
12
  end
13
13
  end
14
14
  end
@@ -1,3 +1,7 @@
1
+ require 'backports/tools/deprecation'
2
+
3
+ Backports.deprecate :rails, 'Rails backports are deprecated.'
4
+
1
5
  class Array
2
6
  # See official documentation[http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/Array/ExtractOptions.html]
3
7
  def extract_options!
@@ -1,3 +1,7 @@
1
+ require 'backports/tools/deprecation'
2
+
3
+ Backports.deprecate :rails, 'Rails backports are deprecated.'
4
+
1
5
  module Enumerable
2
6
  # Standard in rails... See official documentation[http://api.rubyonrails.org/classes/Enumerable.html]
3
7
  # Modified from rails 2.3 to not rely on size
@@ -1,3 +1,7 @@
1
+ require 'backports/tools/deprecation'
2
+
3
+ Backports.deprecate :rails, 'Rails backports are deprecated.'
4
+
1
5
  class Hash
2
6
  # Standard in rails. See official documentation[http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/Hash/Keys.html]
3
7
  def reverse_merge(other_hash)
@@ -1,5 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'backports/tools/deprecation'
4
+
5
+ Backports.deprecate :rails, 'Rails backports are deprecated.'
6
+
3
7
  # From ActiveSupport
4
8
  unless Object.method_defined? :try
5
9
  class Object
@@ -1,3 +1,7 @@
1
+ require 'backports/tools/deprecation'
2
+
3
+ Backports.deprecate :rails, 'Rails backports are deprecated.'
4
+
1
5
  class Module
2
6
  # Standard in rails... See official documentation[http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/Module.html]
3
7
  def alias_method_chain(target, feature, &block)
@@ -1,3 +1,7 @@
1
+ require 'backports/tools/deprecation'
2
+
3
+ Backports.deprecate :rails, 'Rails backports are deprecated.'
4
+
1
5
  class String
2
6
  # Standard in rails. See official documentation[http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/String/Inflections.html]
3
7
  def camelize(first_letter = :upper)