backports 3.16.0 → 3.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (404) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +658 -0
  3. data/README.md +524 -0
  4. data/backports.gemspec +5 -1
  5. data/lib/backports/1.8.7.rb +7 -0
  6. data/lib/backports/1.9.2/stdlib/matrix.rb +5 -0
  7. data/lib/backports/rails/array.rb +4 -0
  8. data/lib/backports/rails/enumerable.rb +4 -0
  9. data/lib/backports/rails/hash.rb +4 -0
  10. data/lib/backports/rails/kernel.rb +4 -0
  11. data/lib/backports/rails/module.rb +4 -0
  12. data/lib/backports/rails/string.rb +4 -0
  13. data/lib/backports/std_lib.rb +3 -0
  14. data/lib/backports/tools/deprecation.rb +12 -0
  15. data/lib/backports/version.rb +1 -1
  16. metadata +7 -511
  17. data/.document +0 -6
  18. data/.gitignore +0 -9
  19. data/.gitmodules +0 -6
  20. data/.irbrc +0 -3
  21. data/.travis.yml +0 -19
  22. data/CHANGELOG.rdoc +0 -504
  23. data/README.rdoc +0 -445
  24. data/Rakefile +0 -192
  25. data/default.mspec +0 -14
  26. data/frozen_old_spec/tags/1.8.6/core/argf/each_line_spec.rb +0 -6
  27. data/frozen_old_spec/tags/1.8.6/core/argf/each_spec.rb +0 -6
  28. data/frozen_old_spec/tags/1.8.6/core/argf/lines_spec.rb +0 -6
  29. data/frozen_old_spec/tags/1.8.6/core/array/append_spec.rb +0 -1
  30. data/frozen_old_spec/tags/1.8.6/core/array/collect_spec.rb +0 -7
  31. data/frozen_old_spec/tags/1.8.6/core/array/rotate_spec.rb +0 -2
  32. data/frozen_old_spec/tags/1.8.6/core/array/uniq_spec.rb +0 -3
  33. data/frozen_old_spec/tags/1.8.6/core/complex/to_r_spec.rb +0 -3
  34. data/frozen_old_spec/tags/1.8.6/core/enumerable/all_spec.rb +0 -1
  35. data/frozen_old_spec/tags/1.8.6/core/enumerable/any_spec.rb +0 -2
  36. data/frozen_old_spec/tags/1.8.6/core/enumerable/each_entry_spec.rb +0 -1
  37. data/frozen_old_spec/tags/1.8.6/core/enumerable/none_spec.rb +0 -1
  38. data/frozen_old_spec/tags/1.8.6/core/enumerable/one_spec.rb +0 -1
  39. data/frozen_old_spec/tags/1.8.6/core/enumerator/next_spec.rb +0 -1
  40. data/frozen_old_spec/tags/1.8.6/core/env/to_h_spec.rb +0 -2
  41. data/frozen_old_spec/tags/1.8.6/core/file/join_spec.rb +0 -3
  42. data/frozen_old_spec/tags/1.8.6/core/file/lchmod_spec.rb +0 -2
  43. data/frozen_old_spec/tags/1.8.6/core/file/new_spec.rb +0 -2
  44. data/frozen_old_spec/tags/1.8.6/core/file/open_spec.rb +0 -13
  45. data/frozen_old_spec/tags/1.8.6/core/file/to_path_spec.rb +0 -1
  46. data/frozen_old_spec/tags/1.8.6/core/fixnum/fdiv_spec.rb +0 -1
  47. data/frozen_old_spec/tags/1.8.6/core/gc/stress_spec.rb +0 -2
  48. data/frozen_old_spec/tags/1.8.6/core/hash/assoc_spec.rb +0 -1
  49. data/frozen_old_spec/tags/1.8.6/core/hash/constructor_spec.rb +0 -3
  50. data/frozen_old_spec/tags/1.8.6/core/hash/default_proc_spec.rb +0 -3
  51. data/frozen_old_spec/tags/1.8.6/core/hash/delete_if_spec.rb +0 -1
  52. data/frozen_old_spec/tags/1.8.6/core/hash/each_pair_spec.rb +0 -1
  53. data/frozen_old_spec/tags/1.8.6/core/hash/eql_spec.rb +0 -3
  54. data/frozen_old_spec/tags/1.8.6/core/hash/hash_spec.rb +0 -3
  55. data/frozen_old_spec/tags/1.8.6/core/hash/keep_if_spec.rb +0 -2
  56. data/frozen_old_spec/tags/1.8.6/core/hash/rassoc_spec.rb +0 -1
  57. data/frozen_old_spec/tags/1.8.6/core/hash/reject_spec.rb +0 -2
  58. data/frozen_old_spec/tags/1.8.6/core/hash/select_spec.rb +0 -8
  59. data/frozen_old_spec/tags/1.8.6/core/integer/round_spec.rb +0 -2
  60. data/frozen_old_spec/tags/1.8.6/core/io/binread_spec.rb +0 -7
  61. data/frozen_old_spec/tags/1.8.6/core/io/chars_spec.rb +0 -1
  62. data/frozen_old_spec/tags/1.8.6/core/io/each_char_spec.rb +0 -1
  63. data/frozen_old_spec/tags/1.8.6/core/io/lines_spec.rb +0 -1
  64. data/frozen_old_spec/tags/1.8.6/core/io/open_spec.rb +0 -24
  65. data/frozen_old_spec/tags/1.8.6/core/io/ungetbyte_spec.rb +0 -4
  66. data/frozen_old_spec/tags/1.8.6/core/io/write_spec.rb +0 -5
  67. data/frozen_old_spec/tags/1.8.6/core/kernel/__callee___spec.rb +0 -6
  68. data/frozen_old_spec/tags/1.8.6/core/kernel/__method___spec.rb +0 -1
  69. data/frozen_old_spec/tags/1.8.6/core/kernel/define_singleton_method_spec.rb +0 -2
  70. data/frozen_old_spec/tags/1.8.6/core/kernel/public_method_spec.rb +0 -2
  71. data/frozen_old_spec/tags/1.8.6/core/kernel/require_relative_spec.rb +0 -3
  72. data/frozen_old_spec/tags/1.8.6/core/math/log2_spec.rb +0 -6
  73. data/frozen_old_spec/tags/1.8.6/core/math/log_spec.rb +0 -3
  74. data/frozen_old_spec/tags/1.8.6/core/module/alias_method_spec.rb +0 -1
  75. data/frozen_old_spec/tags/1.8.6/core/module/attr_accessor_spec.rb +0 -2
  76. data/frozen_old_spec/tags/1.8.6/core/module/attr_reader_spec.rb +0 -2
  77. data/frozen_old_spec/tags/1.8.6/core/module/attr_spec.rb +0 -1
  78. data/frozen_old_spec/tags/1.8.6/core/module/attr_writer_spec.rb +0 -2
  79. data/frozen_old_spec/tags/1.8.6/core/module/class_exec_spec.rb +0 -2
  80. data/frozen_old_spec/tags/1.8.6/core/module/define_method_spec.rb +0 -1
  81. data/frozen_old_spec/tags/1.8.6/core/module/module_exec_spec.rb +0 -2
  82. data/frozen_old_spec/tags/1.8.6/core/module/remove_method_spec.rb +0 -1
  83. data/frozen_old_spec/tags/1.8.6/core/module/undef_method_spec.rb +0 -1
  84. data/frozen_old_spec/tags/1.8.6/core/nil/dup_spec.rb +0 -1
  85. data/frozen_old_spec/tags/1.8.6/core/numeric/step_spec.rb +0 -12
  86. data/frozen_old_spec/tags/1.8.6/core/proc/curry_spec.rb +0 -4
  87. data/frozen_old_spec/tags/1.8.6/core/range/step_spec.rb +0 -12
  88. data/frozen_old_spec/tags/1.8.6/core/string/getbyte_spec.rb +0 -6
  89. data/frozen_old_spec/tags/1.8.6/core/string/partition_spec.rb +0 -1
  90. data/frozen_old_spec/tags/1.8.6/core/string/prepend_spec.rb +0 -1
  91. data/frozen_old_spec/tags/1.8.6/core/string/rpartition_spec.rb +0 -1
  92. data/frozen_old_spec/tags/1.8.6/core/string/setbyte_spec.rb +0 -5
  93. data/frozen_old_spec/tags/1.8.6/core/string/upto_spec.rb +0 -1
  94. data/frozen_old_spec/tags/1.8.6/core/symbol/capitalize_spec.rb +0 -3
  95. data/frozen_old_spec/tags/1.8.6/core/symbol/comparison_spec.rb +0 -1
  96. data/frozen_old_spec/tags/1.8.6/core/symbol/downcase_spec.rb +0 -2
  97. data/frozen_old_spec/tags/1.8.6/core/symbol/element_reference_spec.rb +0 -4
  98. data/frozen_old_spec/tags/1.8.6/core/symbol/empty_spec.rb +0 -1
  99. data/frozen_old_spec/tags/1.8.6/core/symbol/match_spec.rb +0 -2
  100. data/frozen_old_spec/tags/1.8.6/core/symbol/swapcase_spec.rb +0 -2
  101. data/frozen_old_spec/tags/1.8.6/core/symbol/to_proc_spec.rb +0 -1
  102. data/frozen_old_spec/tags/1.8.6/core/symbol/upcase_spec.rb +0 -1
  103. data/frozen_old_spec/tags/1.8.7/core/array/append_spec.rb +0 -1
  104. data/frozen_old_spec/tags/1.8.7/core/array/keep_if_spec.rb +0 -2
  105. data/frozen_old_spec/tags/1.8.7/core/array/rotate_spec.rb +0 -2
  106. data/frozen_old_spec/tags/1.8.7/core/array/select_spec.rb +0 -2
  107. data/frozen_old_spec/tags/1.8.7/core/array/uniq_spec.rb +0 -3
  108. data/frozen_old_spec/tags/1.8.7/core/complex/to_r_spec.rb +0 -3
  109. data/frozen_old_spec/tags/1.8.7/core/enumerable/all_spec.rb +0 -1
  110. data/frozen_old_spec/tags/1.8.7/core/enumerable/any_spec.rb +0 -2
  111. data/frozen_old_spec/tags/1.8.7/core/enumerable/collect_concat_spec.rb +0 -1
  112. data/frozen_old_spec/tags/1.8.7/core/enumerable/flat_map_spec.rb +0 -1
  113. data/frozen_old_spec/tags/1.8.7/core/enumerable/none_spec.rb +0 -1
  114. data/frozen_old_spec/tags/1.8.7/core/enumerable/one_spec.rb +0 -1
  115. data/frozen_old_spec/tags/1.8.7/core/env/to_h_spec.rb +0 -2
  116. data/frozen_old_spec/tags/1.8.7/core/file/lchmod_spec.rb +0 -2
  117. data/frozen_old_spec/tags/1.8.7/core/file/new_spec.rb +0 -1
  118. data/frozen_old_spec/tags/1.8.7/core/file/open_spec.rb +0 -5
  119. data/frozen_old_spec/tags/1.8.7/core/file/readlink_spec.rb +0 -6
  120. data/frozen_old_spec/tags/1.8.7/core/file/to_path_spec.rb +0 -1
  121. data/frozen_old_spec/tags/1.8.7/core/hash/assoc_spec.rb +0 -1
  122. data/frozen_old_spec/tags/1.8.7/core/hash/default_proc_spec.rb +0 -3
  123. data/frozen_old_spec/tags/1.8.7/core/hash/keep_if_spec.rb +0 -2
  124. data/frozen_old_spec/tags/1.8.7/core/hash/merge_spec.rb +0 -3
  125. data/frozen_old_spec/tags/1.8.7/core/hash/rassoc_spec.rb +0 -1
  126. data/frozen_old_spec/tags/1.8.7/core/hash/select_spec.rb +0 -1
  127. data/frozen_old_spec/tags/1.8.7/core/hash/to_h_spec.rb +0 -1
  128. data/frozen_old_spec/tags/1.8.7/core/hash/update_spec.rb +0 -3
  129. data/frozen_old_spec/tags/1.8.7/core/integer/round_spec.rb +0 -2
  130. data/frozen_old_spec/tags/1.8.7/core/io/binread_spec.rb +0 -7
  131. data/frozen_old_spec/tags/1.8.7/core/io/open_spec.rb +0 -32
  132. data/frozen_old_spec/tags/1.8.7/core/io/ungetbyte_spec.rb +0 -4
  133. data/frozen_old_spec/tags/1.8.7/core/io/write_spec.rb +0 -5
  134. data/frozen_old_spec/tags/1.8.7/core/kernel/__callee___spec.rb +0 -6
  135. data/frozen_old_spec/tags/1.8.7/core/kernel/define_singleton_method_spec.rb +0 -2
  136. data/frozen_old_spec/tags/1.8.7/core/kernel/public_method_spec.rb +0 -1
  137. data/frozen_old_spec/tags/1.8.7/core/kernel/require_relative_spec.rb +0 -3
  138. data/frozen_old_spec/tags/1.8.7/core/math/log2_spec.rb +0 -6
  139. data/frozen_old_spec/tags/1.8.7/core/math/log_spec.rb +0 -3
  140. data/frozen_old_spec/tags/1.8.7/core/module/alias_method_spec.rb +0 -7
  141. data/frozen_old_spec/tags/1.8.7/core/module/attr_accessor_spec.rb +0 -2
  142. data/frozen_old_spec/tags/1.8.7/core/module/attr_reader_spec.rb +0 -2
  143. data/frozen_old_spec/tags/1.8.7/core/module/attr_spec.rb +0 -2
  144. data/frozen_old_spec/tags/1.8.7/core/module/attr_writer_spec.rb +0 -2
  145. data/frozen_old_spec/tags/1.8.7/core/module/define_method_spec.rb +0 -1
  146. data/frozen_old_spec/tags/1.8.7/core/module/include_spec.rb +0 -3
  147. data/frozen_old_spec/tags/1.8.7/core/module/remove_method_spec.rb +0 -3
  148. data/frozen_old_spec/tags/1.8.7/core/module/undef_method_spec.rb +0 -3
  149. data/frozen_old_spec/tags/1.8.7/core/nil/dup_spec.rb +0 -1
  150. data/frozen_old_spec/tags/1.8.7/core/proc/curry_spec.rb +0 -3
  151. data/frozen_old_spec/tags/1.8.7/core/proc/yield_spec.rb +0 -4
  152. data/frozen_old_spec/tags/1.8.7/core/range/size_spec.rb +0 -1
  153. data/frozen_old_spec/tags/1.8.7/core/string/getbyte_spec.rb +0 -5
  154. data/frozen_old_spec/tags/1.8.7/core/string/prepend_spec.rb +0 -1
  155. data/frozen_old_spec/tags/1.8.7/core/string/setbyte_spec.rb +0 -5
  156. data/frozen_old_spec/tags/1.8.7/core/struct/new_spec.rb +0 -3
  157. data/frozen_old_spec/tags/1.8.7/core/symbol/capitalize_spec.rb +0 -3
  158. data/frozen_old_spec/tags/1.8.7/core/symbol/comparison_spec.rb +0 -1
  159. data/frozen_old_spec/tags/1.8.7/core/symbol/downcase_spec.rb +0 -2
  160. data/frozen_old_spec/tags/1.8.7/core/symbol/element_reference_spec.rb +0 -4
  161. data/frozen_old_spec/tags/1.8.7/core/symbol/empty_spec.rb +0 -1
  162. data/frozen_old_spec/tags/1.8.7/core/symbol/match_spec.rb +0 -2
  163. data/frozen_old_spec/tags/1.8.7/core/symbol/swapcase_spec.rb +0 -2
  164. data/frozen_old_spec/tags/1.8.7/core/symbol/upcase_spec.rb +0 -1
  165. data/frozen_old_spec/tags/1.9.1/core/array/append_spec.rb +0 -1
  166. data/frozen_old_spec/tags/1.9.1/core/array/rotate_spec.rb +0 -1
  167. data/frozen_old_spec/tags/1.9.1/core/enumerable/all_spec.rb +0 -1
  168. data/frozen_old_spec/tags/1.9.1/core/enumerable/any_spec.rb +0 -2
  169. data/frozen_old_spec/tags/1.9.1/core/enumerable/none_spec.rb +0 -1
  170. data/frozen_old_spec/tags/1.9.1/core/enumerable/one_spec.rb +0 -1
  171. data/frozen_old_spec/tags/1.9.1/core/env/to_h_spec.rb +0 -2
  172. data/frozen_old_spec/tags/1.9.1/core/hash/default_proc_spec.rb +0 -1
  173. data/frozen_old_spec/tags/1.9.1/core/io/write_spec.rb +0 -2
  174. data/frozen_old_spec/tags/1.9.1/core/module/alias_method_spec.rb +0 -4
  175. data/frozen_old_spec/tags/1.9.1/core/module/attr_accessor_spec.rb +0 -2
  176. data/frozen_old_spec/tags/1.9.1/core/module/attr_reader_spec.rb +0 -2
  177. data/frozen_old_spec/tags/1.9.1/core/module/attr_spec.rb +0 -1
  178. data/frozen_old_spec/tags/1.9.1/core/module/attr_writer_spec.rb +0 -2
  179. data/frozen_old_spec/tags/1.9.1/core/module/define_method_spec.rb +0 -3
  180. data/frozen_old_spec/tags/1.9.1/core/module/remove_method_spec.rb +0 -1
  181. data/frozen_old_spec/tags/1.9.1/core/module/undef_method_spec.rb +0 -1
  182. data/frozen_old_spec/tags/1.9.1/core/nil/dup_spec.rb +0 -1
  183. data/frozen_old_spec/tags/1.9.2/core/array/append_spec.rb +0 -1
  184. data/frozen_old_spec/tags/1.9.2/core/enumerable/all_spec.rb +0 -1
  185. data/frozen_old_spec/tags/1.9.2/core/enumerable/any_spec.rb +0 -2
  186. data/frozen_old_spec/tags/1.9.2/core/enumerable/none_spec.rb +0 -1
  187. data/frozen_old_spec/tags/1.9.2/core/enumerable/one_spec.rb +0 -1
  188. data/frozen_old_spec/tags/1.9.2/core/io/write_spec.rb +0 -3
  189. data/frozen_old_spec/tags/1.9.2/core/module/alias_method_spec.rb +0 -4
  190. data/frozen_old_spec/tags/1.9.2/core/module/attr_accessor_spec.rb +0 -2
  191. data/frozen_old_spec/tags/1.9.2/core/module/attr_reader_spec.rb +0 -2
  192. data/frozen_old_spec/tags/1.9.2/core/module/attr_spec.rb +0 -1
  193. data/frozen_old_spec/tags/1.9.2/core/module/attr_writer_spec.rb +0 -2
  194. data/frozen_old_spec/tags/1.9.2/core/module/define_method_spec.rb +0 -3
  195. data/frozen_old_spec/tags/1.9.2/core/module/remove_method_spec.rb +0 -1
  196. data/frozen_old_spec/tags/1.9.2/core/module/undef_method_spec.rb +0 -1
  197. data/frozen_old_spec/tags/1.9.2/core/nil/dup_spec.rb +0 -1
  198. data/frozen_old_spec/tags/1.9.3/core/enumerable/any_spec.rb +0 -1
  199. data/frozen_old_spec/tags/1.9.3/core/module/alias_method_spec.rb +0 -4
  200. data/frozen_old_spec/tags/1.9.3/core/module/attr_accessor_spec.rb +0 -1
  201. data/frozen_old_spec/tags/1.9.3/core/module/attr_reader_spec.rb +0 -1
  202. data/frozen_old_spec/tags/1.9.3/core/module/attr_spec.rb +0 -1
  203. data/frozen_old_spec/tags/1.9.3/core/module/attr_writer_spec.rb +0 -1
  204. data/frozen_old_spec/tags/1.9.3/core/module/define_method_spec.rb +0 -3
  205. data/frozen_old_spec/tags/1.9.3/core/module/remove_method_spec.rb +0 -1
  206. data/frozen_old_spec/tags/1.9.3/core/module/undef_method_spec.rb +0 -1
  207. data/frozen_old_spec/tags/2.0.0/core/enumerable/any_spec.rb +0 -1
  208. data/frozen_old_spec/tags/2.0.0/core/module/alias_method_spec.rb +0 -1
  209. data/frozen_old_spec/tags/2.0.0/core/module/attr_accessor_spec.rb +0 -2
  210. data/frozen_old_spec/tags/2.0.0/core/module/attr_reader_spec.rb +0 -2
  211. data/frozen_old_spec/tags/2.0.0/core/module/attr_spec.rb +0 -1
  212. data/frozen_old_spec/tags/2.0.0/core/module/attr_writer_spec.rb +0 -2
  213. data/frozen_old_spec/tags/2.0.0/core/module/define_method_spec.rb +0 -2
  214. data/frozen_old_spec/tags/2.0.0/core/module/remove_method_spec.rb +0 -1
  215. data/frozen_old_spec/tags/2.0.0/core/module/undef_method_spec.rb +0 -1
  216. data/frozen_old_spec/tags/2.0.0/core/nil/dup_spec.rb +0 -1
  217. data/frozen_old_spec/tags/2.0.0/core/struct/new_spec.rb +0 -1
  218. data/frozen_old_spec/tags/2.1.0/core/enumerable/any_spec.rb +0 -1
  219. data/frozen_old_spec/tags/2.1.0/core/module/alias_method_spec.rb +0 -1
  220. data/frozen_old_spec/tags/2.1.0/core/module/attr_accessor_spec.rb +0 -2
  221. data/frozen_old_spec/tags/2.1.0/core/module/attr_reader_spec.rb +0 -2
  222. data/frozen_old_spec/tags/2.1.0/core/module/attr_spec.rb +0 -1
  223. data/frozen_old_spec/tags/2.1.0/core/module/attr_writer_spec.rb +0 -2
  224. data/frozen_old_spec/tags/2.1.0/core/module/define_method_spec.rb +0 -2
  225. data/frozen_old_spec/tags/2.1.0/core/module/remove_method_spec.rb +0 -1
  226. data/frozen_old_spec/tags/2.1.0/core/module/undef_method_spec.rb +0 -1
  227. data/frozen_old_spec/tags/2.1.0/core/nil/dup_spec.rb +0 -1
  228. data/frozen_old_spec/tags/2.1.0/core/struct/new_spec.rb +0 -1
  229. data/frozen_old_spec/tags/2.2.0/core/enumerable/any_spec.rb +0 -1
  230. data/frozen_old_spec/tags/2.2.0/core/module/alias_method_spec.rb +0 -1
  231. data/frozen_old_spec/tags/2.2.0/core/module/attr_accessor_spec.rb +0 -2
  232. data/frozen_old_spec/tags/2.2.0/core/module/attr_reader_spec.rb +0 -2
  233. data/frozen_old_spec/tags/2.2.0/core/module/attr_spec.rb +0 -1
  234. data/frozen_old_spec/tags/2.2.0/core/module/attr_writer_spec.rb +0 -2
  235. data/frozen_old_spec/tags/2.2.0/core/module/define_method_spec.rb +0 -1
  236. data/frozen_old_spec/tags/2.2.0/core/module/remove_method_spec.rb +0 -1
  237. data/frozen_old_spec/tags/2.2.0/core/module/undef_method_spec.rb +0 -1
  238. data/frozen_old_spec/tags/2.2.0/core/nil/dup_spec.rb +0 -1
  239. data/frozen_old_spec/tags/2.2.0/core/struct/new_spec.rb +0 -1
  240. data/frozen_old_spec/tags/2.3.0/core/enumerable/any_spec.rb +0 -1
  241. data/frozen_old_spec/tags/2.3.0/core/module/alias_method_spec.rb +0 -1
  242. data/frozen_old_spec/tags/2.3.0/core/module/attr_accessor_spec.rb +0 -2
  243. data/frozen_old_spec/tags/2.3.0/core/module/attr_reader_spec.rb +0 -2
  244. data/frozen_old_spec/tags/2.3.0/core/module/attr_spec.rb +0 -1
  245. data/frozen_old_spec/tags/2.3.0/core/module/attr_writer_spec.rb +0 -2
  246. data/frozen_old_spec/tags/2.3.0/core/module/define_method_spec.rb +0 -1
  247. data/frozen_old_spec/tags/2.3.0/core/module/remove_method_spec.rb +0 -1
  248. data/frozen_old_spec/tags/2.3.0/core/module/undef_method_spec.rb +0 -1
  249. data/frozen_old_spec/tags/2.3.0/core/nil/dup_spec.rb +0 -1
  250. data/frozen_old_spec/tags/2.3.0/core/struct/new_spec.rb +0 -1
  251. data/frozen_old_spec/tags/2.3.5/core/struct/new_spec.rb +0 -1
  252. data/frozen_old_spec/tags/2.4.0/core/enumerable/any_spec.rb +0 -1
  253. data/frozen_old_spec/tags/2.4.0/core/module/alias_method_spec.rb +0 -1
  254. data/frozen_old_spec/tags/2.4.0/core/module/attr_accessor_spec.rb +0 -2
  255. data/frozen_old_spec/tags/2.4.0/core/module/attr_reader_spec.rb +0 -2
  256. data/frozen_old_spec/tags/2.4.0/core/module/attr_spec.rb +0 -1
  257. data/frozen_old_spec/tags/2.4.0/core/module/attr_writer_spec.rb +0 -2
  258. data/frozen_old_spec/tags/2.4.0/core/module/define_method_spec.rb +0 -1
  259. data/frozen_old_spec/tags/2.4.0/core/module/remove_method_spec.rb +0 -1
  260. data/frozen_old_spec/tags/2.4.0/core/module/undef_method_spec.rb +0 -1
  261. data/frozen_old_spec/tags/2.4.0/core/nil/dup_spec.rb +0 -1
  262. data/frozen_old_spec/tags/2.4.0/core/struct/new_spec.rb +0 -1
  263. data/frozen_old_spec/tags/2.5.0/core/enumerable/any_spec.rb +0 -1
  264. data/frozen_old_spec/tags/2.5.0/core/module/alias_method_spec.rb +0 -1
  265. data/frozen_old_spec/tags/2.5.0/core/module/attr_accessor_spec.rb +0 -2
  266. data/frozen_old_spec/tags/2.5.0/core/module/attr_reader_spec.rb +0 -2
  267. data/frozen_old_spec/tags/2.5.0/core/module/attr_spec.rb +0 -1
  268. data/frozen_old_spec/tags/2.5.0/core/module/attr_writer_spec.rb +0 -2
  269. data/frozen_old_spec/tags/2.5.0/core/module/define_method_spec.rb +0 -1
  270. data/frozen_old_spec/tags/2.5.0/core/module/remove_method_spec.rb +0 -1
  271. data/frozen_old_spec/tags/2.5.0/core/module/undef_method_spec.rb +0 -1
  272. data/frozen_old_spec/tags/2.5.0/core/nil/dup_spec.rb +0 -1
  273. data/frozen_old_spec/tags/2.5.0/core/struct/new_spec.rb +0 -1
  274. data/set_version/1.8.7.rb +0 -1
  275. data/set_version/1.9.1.rb +0 -1
  276. data/set_version/1.9.2.rb +0 -1
  277. data/set_version/1.9.3.rb +0 -1
  278. data/set_version/2.0.0.rb +0 -1
  279. data/set_version/2.1.0.rb +0 -1
  280. data/set_version/2.2.0.rb +0 -1
  281. data/set_version/2.3.0.rb +0 -1
  282. data/set_version/2.4.0.rb +0 -1
  283. data/set_version/2.5.0.rb +0 -1
  284. data/set_version/2.6.0.rb +0 -1
  285. data/set_version/2.7.0.rb +0 -1
  286. data/set_version/setter.rb +0 -22
  287. data/spec/tags/1.8.7/core/array/to_h_spec.rb +0 -3
  288. data/spec/tags/1.8.7/core/enumerable/to_h_spec.rb +0 -2
  289. data/spec/tags/1.8.7/core/module/attr_spec.rb +0 -1
  290. data/spec/tags/1.8.7/core/module/include_spec.rb +0 -1
  291. data/spec/tags/1.9.1/core/array/bsearch_index_spec.rb +0 -1
  292. data/spec/tags/1.9.1/core/array/rotate_spec.rb +0 -1
  293. data/spec/tags/1.9.1/core/dir/each_child_spec.rb +0 -1
  294. data/spec/tags/1.9.1/core/env/to_h_spec.rb +0 -2
  295. data/spec/tags/1.9.1/core/hash/default_proc_spec.rb +0 -1
  296. data/spec/tags/1.9.1/core/hash/slice_spec.rb +0 -1
  297. data/spec/tags/1.9.1/core/hash/transform_keys_spec.rb +0 -2
  298. data/spec/tags/1.9.1/core/hash/transform_values_spec.rb +0 -2
  299. data/spec/tags/1.9.1/core/io/write_spec.rb +0 -3
  300. data/spec/tags/1.9.1/core/kernel/yield_self_spec.rb +0 -1
  301. data/spec/tags/1.9.1/core/method/curry_spec.rb +0 -1
  302. data/spec/tags/1.9.1/core/module/alias_method_spec.rb +0 -3
  303. data/spec/tags/1.9.1/core/module/attr_accessor_spec.rb +0 -1
  304. data/spec/tags/1.9.1/core/module/attr_reader_spec.rb +0 -1
  305. data/spec/tags/1.9.1/core/module/attr_spec.rb +0 -1
  306. data/spec/tags/1.9.1/core/module/attr_writer_spec.rb +0 -1
  307. data/spec/tags/1.9.1/core/module/define_method_spec.rb +0 -7
  308. data/spec/tags/1.9.1/core/string/uplus_spec.rb +0 -1
  309. data/spec/tags/1.9.1/core/struct/new_spec.rb +0 -2
  310. data/spec/tags/1.9.2/core/array/bsearch_index_spec.rb +0 -1
  311. data/spec/tags/1.9.2/core/array/to_h_spec.rb +0 -3
  312. data/spec/tags/1.9.2/core/dir/each_child_spec.rb +0 -1
  313. data/spec/tags/1.9.2/core/enumerable/to_h_spec.rb +0 -2
  314. data/spec/tags/1.9.2/core/hash/slice_spec.rb +0 -1
  315. data/spec/tags/1.9.2/core/hash/to_h_spec.rb +0 -3
  316. data/spec/tags/1.9.2/core/hash/transform_keys_spec.rb +0 -2
  317. data/spec/tags/1.9.2/core/hash/transform_values_spec.rb +0 -2
  318. data/spec/tags/1.9.2/core/io/write_spec.rb +0 -3
  319. data/spec/tags/1.9.2/core/kernel/then_spec.rb +0 -1
  320. data/spec/tags/1.9.2/core/kernel/yield_self_spec.rb +0 -1
  321. data/spec/tags/1.9.2/core/method/curry_spec.rb +0 -1
  322. data/spec/tags/1.9.2/core/module/alias_method_spec.rb +0 -3
  323. data/spec/tags/1.9.2/core/module/attr_accessor_spec.rb +0 -1
  324. data/spec/tags/1.9.2/core/module/attr_reader_spec.rb +0 -1
  325. data/spec/tags/1.9.2/core/module/attr_writer_spec.rb +0 -1
  326. data/spec/tags/1.9.2/core/module/define_method_spec.rb +0 -7
  327. data/spec/tags/1.9.2/core/module/include_spec.rb +0 -1
  328. data/spec/tags/1.9.2/core/string/uplus_spec.rb +0 -1
  329. data/spec/tags/1.9.2/core/struct/new_spec.rb +0 -2
  330. data/spec/tags/1.9.3/core/array/bsearch_index_spec.rb +0 -1
  331. data/spec/tags/1.9.3/core/array/to_h_spec.rb +0 -3
  332. data/spec/tags/1.9.3/core/dir/each_child_spec.rb +0 -1
  333. data/spec/tags/1.9.3/core/enumerable/grep_v_spec.rb +0 -2
  334. data/spec/tags/1.9.3/core/enumerable/to_h_spec.rb +0 -2
  335. data/spec/tags/1.9.3/core/enumerator/produce_spec.rb +0 -1
  336. data/spec/tags/1.9.3/core/hash/slice_spec.rb +0 -1
  337. data/spec/tags/1.9.3/core/hash/to_h_spec.rb +0 -3
  338. data/spec/tags/1.9.3/core/hash/transform_keys_spec.rb +0 -2
  339. data/spec/tags/1.9.3/core/hash/transform_values_spec.rb +0 -2
  340. data/spec/tags/1.9.3/core/io/write_spec.rb +0 -3
  341. data/spec/tags/1.9.3/core/kernel/then_spec.rb +0 -1
  342. data/spec/tags/1.9.3/core/kernel/yield_self_spec.rb +0 -1
  343. data/spec/tags/1.9.3/core/method/curry_spec.rb +0 -1
  344. data/spec/tags/1.9.3/core/module/alias_method_spec.rb +0 -3
  345. data/spec/tags/1.9.3/core/module/attr_accessor_spec.rb +0 -1
  346. data/spec/tags/1.9.3/core/module/attr_reader_spec.rb +0 -1
  347. data/spec/tags/1.9.3/core/module/attr_writer_spec.rb +0 -1
  348. data/spec/tags/1.9.3/core/module/define_method_spec.rb +0 -7
  349. data/spec/tags/1.9.3/core/module/include_spec.rb +0 -1
  350. data/spec/tags/1.9.3/core/string/uplus_spec.rb +0 -1
  351. data/spec/tags/1.9.3/core/struct/new_spec.rb +0 -2
  352. data/spec/tags/2.0.0/core/array/to_h_spec.rb +0 -3
  353. data/spec/tags/2.0.0/core/enumerable/grep_v_spec.rb +0 -2
  354. data/spec/tags/2.0.0/core/enumerable/to_h_spec.rb +0 -2
  355. data/spec/tags/2.0.0/core/hash/slice_spec.rb +0 -1
  356. data/spec/tags/2.0.0/core/hash/to_h_spec.rb +0 -3
  357. data/spec/tags/2.0.0/core/module/attr_accessor_spec.rb +0 -1
  358. data/spec/tags/2.0.0/core/module/attr_reader_spec.rb +0 -1
  359. data/spec/tags/2.0.0/core/module/attr_spec.rb +0 -1
  360. data/spec/tags/2.0.0/core/module/attr_writer_spec.rb +0 -1
  361. data/spec/tags/2.0.0/core/module/define_method_spec.rb +0 -5
  362. data/spec/tags/2.0.0/core/module/include_spec.rb +0 -1
  363. data/spec/tags/2.0.0/core/module/undef_method_spec.rb +0 -2
  364. data/spec/tags/2.0.0/core/string/uplus_spec.rb +0 -1
  365. data/spec/tags/2.0.0/core/struct/new_spec.rb +0 -3
  366. data/spec/tags/2.1.0/core/array/union_spec.rb +0 -1
  367. data/spec/tags/2.1.0/core/enumerable/grep_v_spec.rb +0 -2
  368. data/spec/tags/2.1.0/core/hash/slice_spec.rb +0 -1
  369. data/spec/tags/2.1.0/core/hash/to_h_spec.rb +0 -1
  370. data/spec/tags/2.1.0/core/module/attr_accessor_spec.rb +0 -1
  371. data/spec/tags/2.1.0/core/module/attr_reader_spec.rb +0 -1
  372. data/spec/tags/2.1.0/core/module/attr_spec.rb +0 -1
  373. data/spec/tags/2.1.0/core/module/attr_writer_spec.rb +0 -1
  374. data/spec/tags/2.1.0/core/module/define_method_spec.rb +0 -5
  375. data/spec/tags/2.1.0/core/module/undef_method_spec.rb +0 -2
  376. data/spec/tags/2.1.0/core/string/uplus_spec.rb +0 -1
  377. data/spec/tags/2.1.0/core/struct/new_spec.rb +0 -3
  378. data/spec/tags/2.2.0/core/enumerable/grep_v_spec.rb +0 -2
  379. data/spec/tags/2.2.0/core/hash/slice_spec.rb +0 -1
  380. data/spec/tags/2.2.0/core/hash/to_h_spec.rb +0 -1
  381. data/spec/tags/2.2.0/core/module/attr_accessor_spec.rb +0 -1
  382. data/spec/tags/2.2.0/core/module/attr_reader_spec.rb +0 -1
  383. data/spec/tags/2.2.0/core/module/attr_spec.rb +0 -1
  384. data/spec/tags/2.2.0/core/module/attr_writer_spec.rb +0 -1
  385. data/spec/tags/2.2.0/core/module/define_method_spec.rb +0 -5
  386. data/spec/tags/2.2.0/core/module/undef_method_spec.rb +0 -2
  387. data/spec/tags/2.2.0/core/string/uplus_spec.rb +0 -1
  388. data/spec/tags/2.2.0/core/struct/new_spec.rb +0 -3
  389. data/spec/tags/2.3.0/core/hash/slice_spec.rb +0 -1
  390. data/spec/tags/2.3.0/core/hash/to_h_spec.rb +0 -1
  391. data/spec/tags/2.3.0/core/module/attr_spec.rb +0 -1
  392. data/spec/tags/2.3.0/core/string/uplus_spec.rb +0 -1
  393. data/spec/tags/2.3.0/core/struct/new_spec.rb +0 -3
  394. data/spec/tags/2.4.0/core/hash/slice_spec.rb +0 -1
  395. data/spec/tags/2.4.0/core/hash/to_h_spec.rb +0 -1
  396. data/spec/tags/2.4.0/core/module/attr_spec.rb +0 -1
  397. data/spec/tags/2.4.0/core/struct/new_spec.rb +0 -1
  398. data/spec/tags/2.5.0/core/hash/to_h_spec.rb +0 -1
  399. data/test/README +0 -2
  400. data/test/_backport_guards_test.rb +0 -152
  401. data/test/bit_length_test.rb +0 -11
  402. data/test/lazy_test.rb +0 -487
  403. data/test/socket_interaction_test.rb +0 -9
  404. data/test/test_helper.rb +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d00f36f9d5f7bf5ce2a2c0dcb5ccabb2492b027b8d3e14db7f4617233533a0c9
4
- data.tar.gz: 44984e272e8685e222139966f66172453d8f4e5a6702c74e1d37a7adc2cf192d
3
+ metadata.gz: 2118947fbadf4aa13865b5ceec7be5ed416ab4ada72647c076bcc277c034abfc
4
+ data.tar.gz: c6237a756a22de924ef77c9b0027a55d55a9c2386286ef2ba86c8967b75cb2e3
5
5
  SHA512:
6
- metadata.gz: e3b7e7a35aa47664f455eaa705b47cd258d450aebe3948ebd09d83790a980931a51144288748a50bd807ad1767a703a4cd117b4adf31c63fa5ecb21f7ee0a747
7
- data.tar.gz: dfad03e722422b3ff206059927d9c2eac7756b8ccff20829e0cf71506c5814a0559dbec18401b3d0ebef5b1106a34244b5532bcd49bf2ef053b8a0a7a98adadd
6
+ metadata.gz: 324ce7e19fabc56f101dcf2b567f1b3e2b75b7d165351a6b8526df050d8646a13a3645b5aa747e51ded19f9e486adea6b9612f31798a5660135ededc837f2888
7
+ data.tar.gz: 6455e9141e9a2fb66a68be72184caedc36529027459590d35be9ebc462967424ed6cb736b2fd836b2f998e616985e473c895d27f56fafd55c4ee13f838e761ec
data/CHANGELOG.md ADDED
@@ -0,0 +1,658 @@
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
+ ## [Unreleased]
8
+
9
+ Note: [Next major version (X-mas 2020)](https://github.com/marcandre/backports/issues/139) will drop support for Ruby < 2.2.
10
+
11
+ ## [3.16.1](https://github.com/marcandre/backports/compare/v3.16.0...v3.16.1) - 2020-02-16
12
+
13
+ ### Deprecated
14
+
15
+ Officially deprecate requiring features for a particular version of Ruby, `latest`, `std_lib` or `rails` backports
16
+
17
+ ### Fixed
18
+
19
+ `matrix` library when loaded in 2.7.0 [#141]
20
+
21
+ ## [3.16.0](https://github.com/marcandre/backports/compare/v3.15.0...v3.16.0) - 2020-02-06
22
+
23
+ ### Added
24
+
25
+ * Ruby 2.7 backports
26
+
27
+ * Array
28
+ * `intersection`
29
+
30
+ * Comparable
31
+ * `clamp` (with range)
32
+
33
+ * Complex
34
+ * `<=>`
35
+
36
+ * Enumerable
37
+ * `filter_map`
38
+ * `tally`
39
+
40
+ * Enumerator
41
+ * `produce` (class method)
42
+
43
+ * Time
44
+ * `floor`, `ceil`
45
+
46
+ ## [3.15.0] - 2019-05-15
47
+
48
+ ### Added
49
+
50
+ * Proc / Method
51
+ * `<<`, `>>`
52
+
53
+ ## 3.14.0 - 2019-04-29
54
+
55
+ ### Added
56
+
57
+ * Hash
58
+ * `to_h` (with block)
59
+
60
+ ## 3.13.0 - 2019-04-5
61
+
62
+ ### Added
63
+
64
+ * Hash
65
+ * `merge`, `merge!`/`update` (with multiple arguments)
66
+
67
+ ## 3.12.0 - 2019-02-20
68
+
69
+ ### Added
70
+
71
+ * Ruby 2.6.0 backports
72
+ * Array
73
+ * `difference`, `union`
74
+ * `to_h` (with block)
75
+
76
+ * Enumerable
77
+ * `chain`
78
+ * `to_h` (with block)
79
+
80
+ * Enumerator::Chain (use Enumerable#chain)
81
+ * Kernel
82
+ * `then`
83
+
84
+ * Additional backports for 2.5.0:
85
+ * String
86
+ * `undump`
87
+
88
+ ## 3.11.0 - 2017-12-25
89
+
90
+ ### Added
91
+
92
+ * Ruby version 2.5.0 backports
93
+ * Array
94
+ * `append`, `prepend`
95
+
96
+ * Dir
97
+ * `children`, `each_child`
98
+
99
+ * Enumerable
100
+ * `any?`, `all?`, `none?`, `one?` (with pattern argument)
101
+
102
+ * Hash
103
+ * `slice`
104
+ * `transform_keys`
105
+
106
+ * Integer
107
+ * `sqrt`
108
+ * `allbits?`, `anybits?` and `nobits?`
109
+
110
+ * Kernel
111
+ * `yield_self`
112
+
113
+ * Module
114
+ * `attr`, `attr_accessor`, `attr_reader`, `attr_writer` (now public)
115
+ * `define_method`, `alias_method`, `undef_method`, `remove_method`
116
+ (now public)
117
+
118
+ * String
119
+ * `delete_prefix`, `delete_prefix!`
120
+ * `delete_suffix`, `delete_suffix!`
121
+
122
+ * Struct
123
+ * `new` (with `keyword_init: true`)
124
+
125
+ * `require 'backports/latest'` is now the way to require everything, but is
126
+ discouraged
127
+
128
+ ## 3.10.0 - 2017-10-17
129
+
130
+ ### Added
131
+
132
+ * Additional features of 2.4.0
133
+ * Enumerable
134
+ * `uniq`
135
+ * `sum`
136
+
137
+ * Hash
138
+ * `compact`
139
+ * `transform_values`
140
+
141
+ ## 3.9.0 - 2017-10-07
142
+
143
+ ### Added
144
+
145
+ * From 2.4.0: `dup` for `true`, `false`, `nil`, Numeric
146
+ * From 2.2.0: `Method#super_method`
147
+
148
+ ## 3.8.0 - 2017-04-26
149
+
150
+ ### Added
151
+
152
+ * From 2.4.0: `String#match?`, `Regexp#match?`
153
+
154
+ * From 2.3.0:
155
+ * unary `String#+`, `-`
156
+ * Numeric: `positive?`, `negative?`
157
+ * Hash: `to_proc`, `fetch_values`, `>`, `<`, `>=`, `<=`
158
+ * Enumerable: `chunk_while`, `grep_v`
159
+ * `{Array|Hash|Struct}#dig`
160
+ * `Array#bsearch_index`
161
+
162
+ * From 2.2.0:
163
+ * `Method#curry`
164
+ * `String#unicode_normalize{|?|!}`
165
+ * `Kernel#itself`
166
+ * Float: `next_float`, `prev_float`
167
+
168
+ ## 3.7.0 - 2017-03-28
169
+
170
+ Initiate work on backports of 2.2, 2.3, 2.4
171
+
172
+ ### Added
173
+
174
+ * From 2.4.0:
175
+ * `Comparable#clamp`
176
+
177
+ * From 2.2.0:
178
+ * Enumerable: `slice_when`, `slice_after`
179
+
180
+ ## 3.6.0 - 2014-02-14
181
+
182
+ ### Added
183
+
184
+ * Additional features of 2.1.0
185
+ * Bignum#bit_length
186
+ * Fixnum#bit_length
187
+ * Module#include (now public)
188
+
189
+ ## 3.5.0 - 2014-02-3
190
+
191
+ ### Added
192
+
193
+ * Additional features of 2.0.0
194
+ * Range#size
195
+
196
+ ## 3.4.0 - 2013-12-29
197
+
198
+ ### Added
199
+
200
+ * Additional features of 2.1.0
201
+ * Array#to_h, Enumerable#to_h
202
+
203
+ ## 3.3.0 - 2013-04-03
204
+
205
+ ### Fixed
206
+
207
+ * Moved `Proc#yield` & `Hash#key` from 1.8.7 to 1.9.1
208
+
209
+ ## 3.2.0 - 2013-04-02
210
+
211
+ ### Fixed
212
+
213
+ * Moved `Dir.mktmpdir` to the stdlib 'tmpdir' for Ruby 1.8.7
214
+
215
+ ### Removed
216
+
217
+ * Removed `returning` as it is no longer part of Rails.
218
+
219
+ ## 3.1.0 - 2013-03-05
220
+
221
+ ### Added
222
+
223
+ * Backports can now be loaded separately!
224
+
225
+ ### Fixed
226
+
227
+ * Small tweaks and fixes for many methods to pass more RubySpecs
228
+
229
+ ## 3.0.0 - 2013-02-24
230
+
231
+ ### Added
232
+
233
+ * Additional features of 2.0.0
234
+ * Struct#to_h, NilClass#to_h, Hash#to_h
235
+ * Hash#default_proc = nil
236
+ * OpenStruct lib
237
+
238
+ * 1.8.7's Enumerator#with_index (it wasn't in the 1.8.7 NEWS file...)
239
+
240
+ ## 2.8.0 - 2013-02-3
241
+
242
+ ### Added
243
+
244
+ * Added some features of 2.0.0 (must be required explicitly until official
245
+ release):
246
+ * Array#bsearch
247
+ * Range#bsearch
248
+
249
+ ## 2.7.0 - 2013-01-14
250
+
251
+ ### Added
252
+
253
+ * Features of 2.0.0 (must be required explicitly until official
254
+ release):
255
+ * Enumerable#lazy
256
+ * Enumerator::Lazy
257
+
258
+ ## 2.6.0 - 2012-05-29
259
+
260
+ ### Removed
261
+
262
+ * Enumerable#join
263
+
264
+ ## 2.5.0 - 2012-02-25
265
+
266
+ ### Added
267
+
268
+ * Some features of 1.9.3:
269
+ * IO::NULL
270
+ * IO#advise
271
+ * String#byteslice
272
+ * String#prepend
273
+
274
+ ## 2.4.0 - 2012-02-24
275
+
276
+ ### Added
277
+
278
+ * Add backporting for libraries
279
+
280
+ * Bring libraries up to date:
281
+ * Matrix
282
+ * Prime
283
+ * Set
284
+
285
+ * Some features of 1.9.3:
286
+ * IO.write, IO.binwrite
287
+
288
+ * Forcing backports (must be required explicitly):
289
+ * Hash#select (returns a Hash instead of an Array)
290
+ * Enumerable / Array#map (returns an enumerator when called without a
291
+ block)
292
+ * String#length, size (for UTF-8 support)
293
+
294
+ ## 2.3.0 - 2011-05-13
295
+
296
+ ### Added
297
+
298
+ * `Enumerator::Yielder#<<`
299
+
300
+ ## 2.2.0 - 2011-05-13
301
+
302
+ ### Fixed
303
+
304
+ * Ruby 1.8.8 was officially cancelled; code was moved to Ruby 1.9.1 and
305
+ README updated.
306
+
307
+ * `"".ord` now raises an error.
308
+
309
+ ## 2.1.0 - 2011-04-16
310
+
311
+ ### Added
312
+
313
+ * Proc#curry, #lambda (thanks Konstantine Haase)
314
+
315
+ ## 2.0.0 - 2010-12-5
316
+
317
+ ### Fixed
318
+
319
+ Change of major version because of two small changes that are not quite
320
+ compatible and because the minor version was getting quite high!
321
+
322
+ * Remove attempt at faking the new method missing. Unless you used
323
+ `respond_to_missing` **and**
324
+ `method(:some_method_handled_with_method_missing)`, you won't see a
325
+ difference, except better performance (see issue #32) and this fixes some
326
+ errors (see issue #34)
327
+
328
+ * Change behavior of array.flatten(0) to match Ruby 1.9 (i.e. return a dup
329
+ of array, instead of array itself)
330
+
331
+ ## 1.18.0 - 2010-06-19
332
+
333
+ ### Added
334
+
335
+ * Some features of 1.9.1:
336
+
337
+ * Math#log2, Math#log with base
338
+
339
+ ### Fixed
340
+
341
+ * Enumerator#each in 1.8.6.
342
+
343
+ ## 1.17.0 - 2010-05-17
344
+
345
+ ### Added
346
+
347
+ * Some features of 1.9.2:
348
+
349
+ * Array#repeated_combination, #repeated_permutation
350
+
351
+ ## 1.16.2 - 2010-04-11
352
+
353
+ ### Added
354
+
355
+ * Some features of 1.9.2:
356
+
357
+ * Array#uniq, #uniq! (with block)
358
+ * Array#product (with block)
359
+ * Dir.home
360
+ * Hash#keep_if, select!
361
+ * Random (new class)
362
+
363
+ ## 1.15.0 - 2010-02-23
364
+
365
+ ### Added
366
+
367
+ * A features of 1.9.2:
368
+
369
+ * Object#singleton_class
370
+
371
+ ## 1.14.0 - 2010-02-3
372
+
373
+ ### Added
374
+
375
+ * Some features of 1.9.2:
376
+
377
+ * Array#rotate, rotate!
378
+ * Array#keep_if, select!
379
+ * Array#sort_by!
380
+ * Enumerable#join
381
+ * Enumerable#slice_before
382
+ * Float::INFINITY, NAN
383
+ * MatchData#==
384
+
385
+ ## 1.13.0 - 2010-01-20
386
+
387
+ ### Added
388
+
389
+ * Missing for 1.8.7 were
390
+ * Array#permutation
391
+ * Hash#hash (was only inherited)
392
+ * Hash#eql? (was only inherited)
393
+
394
+ ## 1.12.0 - 2009-12-4
395
+
396
+ ### Added
397
+
398
+ * Finer grain includes (see README) require "backports/1.9" # requires
399
+ all ruby backports require "backports/1.9.1" # requires all ruby
400
+ backports up to 1.9.1 (but not 1.9.2)
401
+
402
+ * Backported all builtin methods of 1.8.8 (most of which where moved from
403
+ the 1.9 backports)
404
+
405
+ * Refreshed README
406
+
407
+ ## 1.11.0 - 2009-11-04
408
+
409
+ ### Added
410
+
411
+ * Enumerable#flat_map / collect_concat (Ruby 1.9)
412
+
413
+ * Object#public_send (Ruby 1.9)
414
+
415
+ * Object#public_method (Ruby 1.9)
416
+
417
+ ## 1.10.0 - 2009-09-29
418
+
419
+ ### Added
420
+
421
+ * Enumerable#chunk (Ruby 1.9)
422
+
423
+ * Kernel#respond_to_missing? (Ruby 1.9)
424
+
425
+ * Completed Process.exec (Ruby 1.8.7)
426
+
427
+ ## 1.9.0 - 2009-09-04
428
+
429
+ ### Added
430
+
431
+ * In Ruby 1.9, most class methods of File accept filenames as String, or
432
+ convertible via #to_str or #to_path.
433
+
434
+ * File#to_path is also an alias to File#path. These have been backported.
435
+
436
+ * File.binread (actually IO.binread)
437
+
438
+ * BasicObject available via "require 'backports/basic_object"
439
+
440
+ ## 1.8.4 - 2009-09-03
441
+
442
+ ### Added
443
+
444
+ `Dir.mktmpdir` for older version of 1.8.6
445
+
446
+ ## 1.8.1 - 2009-09-01
447
+
448
+ ### Added
449
+
450
+ The alias String#lines (Ruby 1.8.7)
451
+
452
+ ## 1.8.0 - 2009-08-30
453
+
454
+ ### Added
455
+
456
+ Backports can be required selectively:
457
+ * backports/1.8.7
458
+ * backports/1.9 (which include 1.8.7)
459
+ * rails
460
+
461
+ ## 1.7.1 - 2009-08-20
462
+
463
+ ### Fixed
464
+
465
+ `Enumerable#take` and `Enumerable#first(n)` are now returning as soon as possible.
466
+ Previously, `#each` was yielding one element too many. See redmine issue #1554.
467
+
468
+ ## 1.7.0 - 2009-05-27
469
+
470
+ ### Fixed
471
+
472
+ Porting all 1.8.7 features to rubinius was quite enlightening
473
+ (http://blog.marc-andre.ca/2009/05/schizo-ruby-puzzle.html ). Many
474
+ improvements were made to be consistent with MRI, e.g. converting arguments
475
+ using to_int if needed, etc... The changes are now reflected in 'backports'.
476
+
477
+ ### Added
478
+
479
+ Some IO and ARGF methods were missing and are now complete.
480
+
481
+ ## 1.6.6 - 2009-04-30
482
+
483
+ ### Fixed
484
+
485
+ Important bug fix. `String#gsub` is left alone until I find a good way to modify
486
+ it.
487
+
488
+ ## 1.6.0 - 2009-04-29
489
+
490
+ ### Added
491
+
492
+ Completed backport to 1.8.7.
493
+
494
+ * Array
495
+ * `extract_options!`
496
+
497
+ * Binding
498
+ * `eval`
499
+
500
+ * Dir
501
+ * `each`, `foreach`
502
+
503
+ * Enumerator
504
+ * `new`
505
+ * `with_object`
506
+ * `next`, `rewind`
507
+
508
+ * Hash
509
+ * Optional block for `delete_if, each, each_key, each_pair, each_value,
510
+ reject!, select` (and ENV)
511
+
512
+ * Integer
513
+ * moved stuff out of Fixnum
514
+ * Optional block for `downto`, `times`, `upto`
515
+
516
+ * IO
517
+ * Optional block for `each`, `each_line`, `each_byte`, `foreach` (and
518
+ ARGF)
519
+
520
+ * Kernel
521
+ * `loop`, `StopIteration`
522
+ * +__method__+, +__callee__+
523
+
524
+ * Method
525
+ * `name`, `owner`, `receiver`
526
+
527
+ * Module
528
+ * `class_exec`, `module_exec`
529
+
530
+ * Numeric
531
+ * `step`
532
+
533
+ * Object
534
+ * `define_singleton_method`
535
+ * `instance_exec`
536
+
537
+ * ObjectSpace
538
+ * `each_object`
539
+
540
+ * Range
541
+ * Optional block for `each`, `step`
542
+
543
+ * Regexp
544
+ * `union`
545
+
546
+ * String
547
+ * `try_convert`
548
+ * `ascii_only?`
549
+ * `bytesize`
550
+ * `chr`
551
+ * `clear`
552
+ * `codepoints`, `each_codepoint`
553
+ * `stringify_keys`, `stringify_keys!`
554
+ * `each`, `each_line`, `each_byte`
555
+ * `gsub`
556
+ * `upto`
557
+
558
+ * Struct
559
+ * `each`, `each_pair`
560
+
561
+ * Symbol
562
+ * `<=>`, `casecmp`
563
+ * `capitalize`, `downcase`, `next`, `succ`, `swapcase`, `upcase`
564
+ * `=~, [], empty?, length, match, size`
565
+
566
+ * UnboundMethod
567
+ * `name`, `owner`
568
+
569
+ ## 1.5.0 - 2009-04-24
570
+
571
+ ### Added
572
+
573
+ * Array (completed)
574
+ * `combination`
575
+ * `try_convert`
576
+ * Optional block for `collect!, :map!, :each, :each_index, :reject,
577
+ :reject!, :delete_if`
578
+ * `pop`, `shift`
579
+ * `product`
580
+
581
+ * Fixnum (completed)
582
+ * `div`, `fdiv`
583
+ * `succ`
584
+ * `magnitude`
585
+
586
+ * Enumerable (completed)
587
+ * `each_with_object`
588
+ * `inject`
589
+ * `max_by`, `min_by`, `minmax`, `minmax_by`
590
+ * `reduce`
591
+ * `to_a`
592
+
593
+ ## 1.4.0 - 2009-04-21
594
+
595
+ ### Added
596
+
597
+ * String
598
+ * `rpartition`
599
+
600
+ * Proc
601
+ * `yield`
602
+
603
+ ## 1.3.0 - 2009-04-17
604
+
605
+ ### Added
606
+
607
+ * Enumerable
608
+ * `none?`
609
+
610
+ * Array
611
+ * `sample`, `shuffle`, `shuffle!`
612
+
613
+ * String
614
+ * `each_char`, `chars`
615
+ * `partition`
616
+
617
+ Tests and fixes for `String#start_with?` and `String#end_with?`
618
+
619
+ ## 1.2.0 - 2009-04-12
620
+
621
+ ### Added
622
+
623
+ * Array
624
+ * `reverse_each`
625
+ * `cycle`
626
+
627
+ * Enumerable
628
+ * `reverse_each`
629
+ * `each_slice`, `each_cons`
630
+ * `count`
631
+ * `cycle`
632
+ * `group_by`
633
+
634
+ * Hash
635
+ * `default_proc=`
636
+
637
+ ## 1.1.0 - 2009-04-11
638
+
639
+ ### Added
640
+
641
+ * Array
642
+ * `flatten`, `flatten!`
643
+ * `find_index`, `index`
644
+
645
+ * Hash
646
+ * `reverse_merge`, `reverse_merge!`
647
+
648
+ ## 1.0.0 - 2009-04-2
649
+
650
+ * Initial release.
651
+
652
+ ## Notes
653
+
654
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
655
+
656
+ [Unreleased]: https://github.com/marcandre/backports/compare/v3.16.0...HEAD
657
+ [3.16.0]: https://github.com/marcandre/backports/compare/v3.15.0...v3.16.0
658
+ [3.15.0]: https://github.com/marcandre/backports/compare/v3.14.0...v3.15.0