facets-glimmer 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1332) hide show
  1. checksums.yaml +7 -0
  2. data/.index +89 -0
  3. data/.yardopts +10 -0
  4. data/CONTRIBUTING.md +112 -0
  5. data/HISTORY.md +2497 -0
  6. data/LICENSE.txt +26 -0
  7. data/NOTICE.rdoc +167 -0
  8. data/README.md +305 -0
  9. data/demo/applique/assertion_framework.rb +1 -0
  10. data/demo/applique/file_helpers.rb +34 -0
  11. data/demo/core/array/after.md +13 -0
  12. data/demo/core/array/arrange.md +17 -0
  13. data/demo/core/array/before.md +14 -0
  14. data/demo/core/array/collapse.md +15 -0
  15. data/demo/core/array/collisions.md +30 -0
  16. data/demo/core/array/commonality.md +31 -0
  17. data/demo/core/array/conjoin.md +47 -0
  18. data/demo/core/array/contains.md +9 -0
  19. data/demo/core/array/delete_unless.md +13 -0
  20. data/demo/core/array/delete_values.md +10 -0
  21. data/demo/core/array/delete_values_at.md +15 -0
  22. data/demo/core/array/divide.md +14 -0
  23. data/demo/core/array/duplicates.md +14 -0
  24. data/demo/core/array/each_overlap.md +12 -0
  25. data/demo/core/array/each_pair.md +13 -0
  26. data/demo/core/array/each_value.md +12 -0
  27. data/demo/core/array/entropy.md +13 -0
  28. data/demo/core/array/extract_options.md +13 -0
  29. data/demo/core/array/first.md +11 -0
  30. data/demo/core/array/from.md +11 -0
  31. data/demo/core/array/ideal_entropy.md +11 -0
  32. data/demo/core/array/intersection.md +11 -0
  33. data/demo/core/array/last.md +11 -0
  34. data/demo/core/array/median.md +23 -0
  35. data/demo/core/array/merge.md +15 -0
  36. data/demo/core/array/missing.md +10 -0
  37. data/demo/core/array/mode.md +9 -0
  38. data/demo/core/array/nonuniq.md +16 -0
  39. data/demo/core/array/not_empty.md +8 -0
  40. data/demo/core/array/occur.md +18 -0
  41. data/demo/core/array/occurrence.md +13 -0
  42. data/demo/core/array/only.md +9 -0
  43. data/demo/core/array/op_pow.md +10 -0
  44. data/demo/core/array/pad.md +28 -0
  45. data/demo/core/array/peek.md +10 -0
  46. data/demo/core/array/poke.md +15 -0
  47. data/demo/core/array/probability +8 -0
  48. data/demo/core/array/pull.md +10 -0
  49. data/demo/core/array/recurse.md +10 -0
  50. data/demo/core/array/recursively.md +20 -0
  51. data/demo/core/array/reject_values.md +10 -0
  52. data/demo/core/array/span.md +16 -0
  53. data/demo/core/array/splice.md +14 -0
  54. data/demo/core/array/split.md +13 -0
  55. data/demo/core/array/split_at.md +12 -0
  56. data/demo/core/array/squeeze.md +14 -0
  57. data/demo/core/array/step.md +16 -0
  58. data/demo/core/array/store.md +9 -0
  59. data/demo/core/array/thru.md +12 -0
  60. data/demo/core/array/to_h.md +11 -0
  61. data/demo/core/array/traverse.md +20 -0
  62. data/demo/core/array/uniq_by.md +16 -0
  63. data/demo/core/array/unique_permutation.md +14 -0
  64. data/demo/core/array/zip.md +8 -0
  65. data/demo/core/binding/caller.md +57 -0
  66. data/demo/core/binding/defined.md +10 -0
  67. data/demo/core/binding/opvars.md +16 -0
  68. data/demo/core/binding/self.md +6 -0
  69. data/demo/core/class/descendants.md +13 -0
  70. data/demo/core/class/to_proc.md +11 -0
  71. data/demo/core/comparable/at_least.md +11 -0
  72. data/demo/core/comparable/at_most.md +11 -0
  73. data/demo/core/comparable/bound.md +13 -0
  74. data/demo/core/comparable/cap.md +11 -0
  75. data/demo/core/comparable/clip.md +29 -0
  76. data/demo/core/comparable/cmp.md +18 -0
  77. data/demo/core/comparable/op_get.md +32 -0
  78. data/demo/core/dir/ascend.md +24 -0
  79. data/demo/core/dir/descend.md +16 -0
  80. data/demo/core/dir/multiglob.md +41 -0
  81. data/demo/core/dir/parent.md +6 -0
  82. data/demo/core/dir/recurse.md +41 -0
  83. data/demo/core/exception/detail.md +19 -0
  84. data/demo/core/facets.md +6 -0
  85. data/demo/core/filetest/root.md +13 -0
  86. data/demo/core/hash/recursively.md +21 -0
  87. data/demo/core/indexable.md +95 -0
  88. data/demo/core/integer/bitmask.md +46 -0
  89. data/demo/core/integer/factorial.md +10 -0
  90. data/demo/core/integer/length.md +7 -0
  91. data/demo/core/integer/multiple.md +12 -0
  92. data/demo/core/integer/of.md +11 -0
  93. data/demo/core/integer/ordinal.md +11 -0
  94. data/demo/core/integer/times_collect.md +9 -0
  95. data/demo/core/matchdata/match.md +7 -0
  96. data/demo/core/matchdata/matchset.md +7 -0
  97. data/demo/core/matchdata/matchtree.md +10 -0
  98. data/demo/core/module/cattr.md +43 -0
  99. data/demo/core/module/class_extend.md +64 -0
  100. data/demo/core/module/class_inheritor.md +126 -0
  101. data/demo/core/module/copy_inheritor.md +30 -0
  102. data/demo/core/module/include_as.md +31 -0
  103. data/demo/core/module/method_space.md +24 -0
  104. data/demo/core/string/acronym.md +9 -0
  105. data/demo/core/string/align.md +34 -0
  106. data/demo/core/string/ascii_only.md +37 -0
  107. data/demo/core/string/bracket.md +35 -0
  108. data/demo/core/string/camelcase.md +47 -0
  109. data/demo/core/string/capitalized.md +27 -0
  110. data/demo/core/string/cleanlines.md +10 -0
  111. data/demo/core/string/cleave.md +49 -0
  112. data/demo/core/string/compress_lines.md +22 -0
  113. data/demo/core/string/crypt.md +15 -0
  114. data/demo/core/string/divide.md +9 -0
  115. data/demo/core/string/each_word.md +11 -0
  116. data/demo/core/string/edit_distance.md +15 -0
  117. data/demo/core/string/exclude.md +15 -0
  118. data/demo/core/string/expand_tabs.md +69 -0
  119. data/demo/core/string/fold.md +14 -0
  120. data/demo/core/string/indent.md +65 -0
  121. data/demo/core/string/index_all.md +14 -0
  122. data/demo/core/string/interpolate.md +8 -0
  123. data/demo/core/string/lchomp.md +14 -0
  124. data/demo/core/string/line_wrap.md +7 -0
  125. data/demo/core/string/lowercase.md +12 -0
  126. data/demo/core/string/methodize.md +22 -0
  127. data/demo/core/string/modulize.md +22 -0
  128. data/demo/core/string/mscan.md +10 -0
  129. data/demo/core/string/natcmp.md +10 -0
  130. data/demo/core/string/nchar.md +9 -0
  131. data/demo/core/string/newlines.md +9 -0
  132. data/demo/core/string/number.md +27 -0
  133. data/demo/core/string/op_div.md +10 -0
  134. data/demo/core/string/op_sub.md +7 -0
  135. data/demo/core/string/pathize.md +22 -0
  136. data/demo/core/string/quote.md +20 -0
  137. data/demo/core/string/random.md +25 -0
  138. data/demo/core/string/range.md +19 -0
  139. data/demo/core/string/remove.md +33 -0
  140. data/demo/core/string/rewrite.md +9 -0
  141. data/demo/core/string/shatter.md +9 -0
  142. data/demo/core/string/similarity.md +12 -0
  143. data/demo/core/string/snakecase.md +14 -0
  144. data/demo/core/string/splice.md +28 -0
  145. data/demo/core/string/squish.md +27 -0
  146. data/demo/core/string/store.md +10 -0
  147. data/demo/core/string/subtract.md +8 -0
  148. data/demo/core/string/titlecase.md +8 -0
  149. data/demo/core/string/to_re.md +22 -0
  150. data/demo/core/string/trim.md +92 -0
  151. data/demo/core/string/unbracket.md +24 -0
  152. data/demo/core/string/underscore.md +17 -0
  153. data/demo/core/string/unfold.md +9 -0
  154. data/demo/core/string/unindent.md +65 -0
  155. data/demo/core/string/unquote.md +6 -0
  156. data/demo/core/string/uppercase.md +15 -0
  157. data/demo/core/string/variablize.md +7 -0
  158. data/demo/core/string/word_wrap.md +54 -0
  159. data/demo/core/string/words.md +13 -0
  160. data/demo/core/string/xor.md +8 -0
  161. data/demo/standard/02_cloneable.rdoc +46 -0
  162. data/demo/standard/03_enumargs.rdoc +75 -0
  163. data/demo/standard/04_equitable.rdoc +35 -0
  164. data/demo/standard/05_instantiable.rdoc +42 -0
  165. data/demo/standard/date/comparison.md +33 -0
  166. data/demo/standard/memoizable.rdoc +134 -0
  167. data/demo/standard/mulititon.rdoc +156 -0
  168. data/lib/core/facets/applique/file_helpers.rb +33 -0
  169. data/lib/core/facets/array/after.rb +1 -0
  170. data/lib/core/facets/array/arrange.rb +42 -0
  171. data/lib/core/facets/array/average.rb +15 -0
  172. data/lib/core/facets/array/before.rb +41 -0
  173. data/lib/core/facets/array/collapse.rb +18 -0
  174. data/lib/core/facets/array/collisions.rb +1 -0
  175. data/lib/core/facets/array/commonality.rb +49 -0
  176. data/lib/core/facets/array/conjoin.rb +89 -0
  177. data/lib/core/facets/array/contains.rb +7 -0
  178. data/lib/core/facets/array/delete.rb +4 -0
  179. data/lib/core/facets/array/delete_unless.rb +15 -0
  180. data/lib/core/facets/array/delete_values.rb +50 -0
  181. data/lib/core/facets/array/delete_values_at.rb +1 -0
  182. data/lib/core/facets/array/divide.rb +27 -0
  183. data/lib/core/facets/array/duplicates.rb +24 -0
  184. data/lib/core/facets/array/each_overlap.rb +25 -0
  185. data/lib/core/facets/array/each_pair.rb +11 -0
  186. data/lib/core/facets/array/each_value.rb +6 -0
  187. data/lib/core/facets/array/entropy.rb +39 -0
  188. data/lib/core/facets/array/extract_options.rb +31 -0
  189. data/lib/core/facets/array/first.rb +1 -0
  190. data/lib/core/facets/array/from.rb +28 -0
  191. data/lib/core/facets/array/indexable.rb +31 -0
  192. data/lib/core/facets/array/intersection.rb +25 -0
  193. data/lib/core/facets/array/last.rb +1 -0
  194. data/lib/core/facets/array/median.rb +32 -0
  195. data/lib/core/facets/array/merge.rb +22 -0
  196. data/lib/core/facets/array/missing.rb +29 -0
  197. data/lib/core/facets/array/mode.rb +22 -0
  198. data/lib/core/facets/array/nonuniq.rb +28 -0
  199. data/lib/core/facets/array/not_empty.rb +13 -0
  200. data/lib/core/facets/array/occur.rb +38 -0
  201. data/lib/core/facets/array/occurrence.rb +29 -0
  202. data/lib/core/facets/array/only.rb +37 -0
  203. data/lib/core/facets/array/op_pow.rb +12 -0
  204. data/lib/core/facets/array/pad.rb +41 -0
  205. data/lib/core/facets/array/peek.rb +1 -0
  206. data/lib/core/facets/array/poke.rb +1 -0
  207. data/lib/core/facets/array/probability.rb +39 -0
  208. data/lib/core/facets/array/pull.rb +30 -0
  209. data/lib/core/facets/array/recurse.rb +29 -0
  210. data/lib/core/facets/array/recursively.rb +53 -0
  211. data/lib/core/facets/array/reject_values.rb +21 -0
  212. data/lib/core/facets/array/span.rb +24 -0
  213. data/lib/core/facets/array/splice.rb +31 -0
  214. data/lib/core/facets/array/split.rb +30 -0
  215. data/lib/core/facets/array/split_at.rb +25 -0
  216. data/lib/core/facets/array/squeeze.rb +23 -0
  217. data/lib/core/facets/array/standard_deviation.rb +23 -0
  218. data/lib/core/facets/array/step.rb +31 -0
  219. data/lib/core/facets/array/store.rb +16 -0
  220. data/lib/core/facets/array/thru.rb +1 -0
  221. data/lib/core/facets/array/to_h.rb +19 -0
  222. data/lib/core/facets/array/traverse.rb +50 -0
  223. data/lib/core/facets/array/uniq_by.rb +24 -0
  224. data/lib/core/facets/array/unique_permutation.rb +29 -0
  225. data/lib/core/facets/array/variance.rb +20 -0
  226. data/lib/core/facets/array/zip.rb +21 -0
  227. data/lib/core/facets/array.rb +49 -0
  228. data/lib/core/facets/binding/__callee__.rb +1 -0
  229. data/lib/core/facets/binding/__method__.rb +1 -0
  230. data/lib/core/facets/binding/call_stack.rb +1 -0
  231. data/lib/core/facets/binding/caller.rb +42 -0
  232. data/lib/core/facets/binding/callstack.rb +1 -0
  233. data/lib/core/facets/binding/defined.rb +10 -0
  234. data/lib/core/facets/binding/op.rb +4 -0
  235. data/lib/core/facets/binding/op_get.rb +25 -0
  236. data/lib/core/facets/binding/op_set.rb +1 -0
  237. data/lib/core/facets/binding/self.rb +15 -0
  238. data/lib/core/facets/binding/with.rb +12 -0
  239. data/lib/core/facets/binding.rb +12 -0
  240. data/lib/core/facets/boolean.rb +121 -0
  241. data/lib/core/facets/cattr.rb +1 -0
  242. data/lib/core/facets/class/cattr.rb +1 -0
  243. data/lib/core/facets/class/descendants.rb +36 -0
  244. data/lib/core/facets/class/hierarchically.rb +12 -0
  245. data/lib/core/facets/class/methodize.rb +19 -0
  246. data/lib/core/facets/class/pathize.rb +19 -0
  247. data/lib/core/facets/class/preallocate.rb +55 -0
  248. data/lib/core/facets/class/singleton.rb +1 -0
  249. data/lib/core/facets/class/singleton_class.rb +16 -0
  250. data/lib/core/facets/class/subclasses.rb +26 -0
  251. data/lib/core/facets/class/to_proc.rb +25 -0
  252. data/lib/core/facets/class.rb +9 -0
  253. data/lib/core/facets/comparable/at_least.rb +1 -0
  254. data/lib/core/facets/comparable/at_most.rb +1 -0
  255. data/lib/core/facets/comparable/bound.rb +1 -0
  256. data/lib/core/facets/comparable/cap.rb +34 -0
  257. data/lib/core/facets/comparable/clip.rb +38 -0
  258. data/lib/core/facets/comparable/cmp.rb +41 -0
  259. data/lib/core/facets/comparable/op_get.rb +45 -0
  260. data/lib/core/facets/comparable.rb +8 -0
  261. data/lib/core/facets/denumerable.rb +77 -0
  262. data/lib/core/facets/dir/ascend.rb +56 -0
  263. data/lib/core/facets/dir/descend.rb +1 -0
  264. data/lib/core/facets/dir/each_child.rb +16 -0
  265. data/lib/core/facets/dir/lookup.rb +20 -0
  266. data/lib/core/facets/dir/multiglob.rb +78 -0
  267. data/lib/core/facets/dir/parent.rb +16 -0
  268. data/lib/core/facets/dir/recurse.rb +35 -0
  269. data/lib/core/facets/dir.rb +7 -0
  270. data/lib/core/facets/enumerable/accumulate.rb +67 -0
  271. data/lib/core/facets/enumerable/apply.rb +20 -0
  272. data/lib/core/facets/enumerable/associate.rb +6 -0
  273. data/lib/core/facets/enumerable/cluster.rb +26 -0
  274. data/lib/core/facets/enumerable/collect_with_index.rb +2 -0
  275. data/lib/core/facets/enumerable/compact_map.rb +36 -0
  276. data/lib/core/facets/enumerable/defer.rb +46 -0
  277. data/lib/core/facets/enumerable/each_by.rb +33 -0
  278. data/lib/core/facets/enumerable/every.rb +40 -0
  279. data/lib/core/facets/enumerable/ewise.rb +61 -0
  280. data/lib/core/facets/enumerable/exclude.rb +16 -0
  281. data/lib/core/facets/enumerable/expand.rb +15 -0
  282. data/lib/core/facets/enumerable/filter.rb +33 -0
  283. data/lib/core/facets/enumerable/find_yield.rb +42 -0
  284. data/lib/core/facets/enumerable/frequency.rb +24 -0
  285. data/lib/core/facets/enumerable/graph.rb +34 -0
  286. data/lib/core/facets/enumerable/hashify.rb +230 -0
  287. data/lib/core/facets/enumerable/hinge.rb +18 -0
  288. data/lib/core/facets/enumerable/incase.rb +19 -0
  289. data/lib/core/facets/enumerable/key_by.rb +27 -0
  290. data/lib/core/facets/enumerable/map_by.rb +35 -0
  291. data/lib/core/facets/enumerable/map_detect.rb +1 -0
  292. data/lib/core/facets/enumerable/map_send.rb +26 -0
  293. data/lib/core/facets/enumerable/map_to.rb +13 -0
  294. data/lib/core/facets/enumerable/map_with.rb +21 -0
  295. data/lib/core/facets/enumerable/map_with_index.rb +23 -0
  296. data/lib/core/facets/enumerable/mash.rb +34 -0
  297. data/lib/core/facets/enumerable/modulate.rb +22 -0
  298. data/lib/core/facets/enumerable/occur.rb +41 -0
  299. data/lib/core/facets/enumerable/only.rb +56 -0
  300. data/lib/core/facets/enumerable/organize_by.rb +19 -0
  301. data/lib/core/facets/enumerable/pair.rb +20 -0
  302. data/lib/core/facets/enumerable/per.rb +77 -0
  303. data/lib/core/facets/enumerable/purge.rb +43 -0
  304. data/lib/core/facets/enumerable/recursively.rb +66 -0
  305. data/lib/core/facets/enumerable/squeeze.rb +36 -0
  306. data/lib/core/facets/enumerable/sum.rb +40 -0
  307. data/lib/core/facets/enumerable/unassociate.rb +23 -0
  308. data/lib/core/facets/enumerable/uniq_by.rb +13 -0
  309. data/lib/core/facets/enumerable/value_by.rb +25 -0
  310. data/lib/core/facets/enumerable/visit.rb +30 -0
  311. data/lib/core/facets/enumerable/with_position.rb +58 -0
  312. data/lib/core/facets/enumerable/zip_map.rb +1 -0
  313. data/lib/core/facets/enumerable.rb +40 -0
  314. data/lib/core/facets/enumerator/fx.rb +27 -0
  315. data/lib/core/facets/enumerator/lazy/squeeze.rb +33 -0
  316. data/lib/core/facets/enumerator.rb +75 -0
  317. data/lib/core/facets/essentials.rb +65 -0
  318. data/lib/core/facets/exception/detail.rb +17 -0
  319. data/lib/core/facets/exception/error_print.rb +80 -0
  320. data/lib/core/facets/exception/raised.rb +14 -0
  321. data/lib/core/facets/exception/set_message.rb +10 -0
  322. data/lib/core/facets/exception/suppress.rb +22 -0
  323. data/lib/core/facets/exception.rb +4 -0
  324. data/lib/core/facets/file/append.rb +14 -0
  325. data/lib/core/facets/file/atomic_id.rb +9 -0
  326. data/lib/core/facets/file/atomic_open.rb +26 -0
  327. data/lib/core/facets/file/atomic_write.rb +58 -0
  328. data/lib/core/facets/file/common_path.rb +17 -0
  329. data/lib/core/facets/file/create.rb +21 -0
  330. data/lib/core/facets/file/ext.rb +36 -0
  331. data/lib/core/facets/file/null.rb +21 -0
  332. data/lib/core/facets/file/read_binary.rb +18 -0
  333. data/lib/core/facets/file/read_list.rb +34 -0
  334. data/lib/core/facets/file/rewrite.rb +90 -0
  335. data/lib/core/facets/file/rootname.rb +23 -0
  336. data/lib/core/facets/file/sanitize.rb +18 -0
  337. data/lib/core/facets/file/split_all.rb +19 -0
  338. data/lib/core/facets/file/split_root.rb +13 -0
  339. data/lib/core/facets/file/write.rb +24 -0
  340. data/lib/core/facets/file/writelines.rb +27 -0
  341. data/lib/core/facets/file.rb +16 -0
  342. data/lib/core/facets/filetest/absolute.rb +1 -0
  343. data/lib/core/facets/filetest/contains.rb +12 -0
  344. data/lib/core/facets/filetest/relative.rb +38 -0
  345. data/lib/core/facets/filetest/root.rb +17 -0
  346. data/lib/core/facets/filetest/safe.rb +24 -0
  347. data/lib/core/facets/filetest/separator_pattern.rb +19 -0
  348. data/lib/core/facets/filetest.rb +7 -0
  349. data/lib/core/facets/float/round_to.rb +1 -0
  350. data/lib/core/facets/float.rb +2 -0
  351. data/lib/core/facets/functor.rb +92 -0
  352. data/lib/core/facets/hash/alias.rb +31 -0
  353. data/lib/core/facets/hash/argumentize.rb +28 -0
  354. data/lib/core/facets/hash/at.rb +8 -0
  355. data/lib/core/facets/hash/autonew.rb +24 -0
  356. data/lib/core/facets/hash/collate.rb +49 -0
  357. data/lib/core/facets/hash/count.rb +16 -0
  358. data/lib/core/facets/hash/data.rb +44 -0
  359. data/lib/core/facets/hash/dearray_values.rb +46 -0
  360. data/lib/core/facets/hash/deep_merge.rb +33 -0
  361. data/lib/core/facets/hash/deep_rekey.rb +54 -0
  362. data/lib/core/facets/hash/delete.rb +4 -0
  363. data/lib/core/facets/hash/delete_at.rb +7 -0
  364. data/lib/core/facets/hash/delete_unless.rb +17 -0
  365. data/lib/core/facets/hash/delete_values.rb +41 -0
  366. data/lib/core/facets/hash/diff.rb +17 -0
  367. data/lib/core/facets/hash/each_with_key.rb +12 -0
  368. data/lib/core/facets/hash/except.rb +37 -0
  369. data/lib/core/facets/hash/fetch_nested.rb +20 -0
  370. data/lib/core/facets/hash/graph.rb +18 -0
  371. data/lib/core/facets/hash/insert.rb +19 -0
  372. data/lib/core/facets/hash/inverse.rb +30 -0
  373. data/lib/core/facets/hash/join.rb +17 -0
  374. data/lib/core/facets/hash/keys.rb +36 -0
  375. data/lib/core/facets/hash/mash.rb +1 -0
  376. data/lib/core/facets/hash/new_with.rb +15 -0
  377. data/lib/core/facets/hash/only_keys.rb +1 -0
  378. data/lib/core/facets/hash/op.rb +7 -0
  379. data/lib/core/facets/hash/op_add.rb +12 -0
  380. data/lib/core/facets/hash/op_and.rb +33 -0
  381. data/lib/core/facets/hash/op_mul.rb +18 -0
  382. data/lib/core/facets/hash/op_or.rb +12 -0
  383. data/lib/core/facets/hash/op_push.rb +25 -0
  384. data/lib/core/facets/hash/op_sub.rb +27 -0
  385. data/lib/core/facets/hash/recurse.rb +29 -0
  386. data/lib/core/facets/hash/recursively.rb +61 -0
  387. data/lib/core/facets/hash/rekey.rb +81 -0
  388. data/lib/core/facets/hash/replace_each.rb +16 -0
  389. data/lib/core/facets/hash/revalue.rb +61 -0
  390. data/lib/core/facets/hash/reverse_merge.rb +30 -0
  391. data/lib/core/facets/hash/slice.rb +49 -0
  392. data/lib/core/facets/hash/stringify_keys.rb +1 -0
  393. data/lib/core/facets/hash/subset.rb +27 -0
  394. data/lib/core/facets/hash/swap.rb +17 -0
  395. data/lib/core/facets/hash/symbolize_keys.rb +92 -0
  396. data/lib/core/facets/hash/to_mod.rb +33 -0
  397. data/lib/core/facets/hash/to_options.rb +1 -0
  398. data/lib/core/facets/hash/to_proc.rb +39 -0
  399. data/lib/core/facets/hash/to_struct.rb +17 -0
  400. data/lib/core/facets/hash/traverse.rb +47 -0
  401. data/lib/core/facets/hash/update.rb +6 -0
  402. data/lib/core/facets/hash/update_each.rb +18 -0
  403. data/lib/core/facets/hash/update_keys.rb +21 -0
  404. data/lib/core/facets/hash/update_values.rb +20 -0
  405. data/lib/core/facets/hash/weave.rb +76 -0
  406. data/lib/core/facets/hash/zip.rb +18 -0
  407. data/lib/core/facets/hash.rb +53 -0
  408. data/lib/core/facets/indexable.rb +270 -0
  409. data/lib/core/facets/integer/bit.rb +1 -0
  410. data/lib/core/facets/integer/bitmask.rb +99 -0
  411. data/lib/core/facets/integer/factorial.rb +21 -0
  412. data/lib/core/facets/integer/multiple.rb +19 -0
  413. data/lib/core/facets/integer/of.rb +18 -0
  414. data/lib/core/facets/integer/ordinal.rb +24 -0
  415. data/lib/core/facets/integer/roman.rb +1 -0
  416. data/lib/core/facets/integer.rb +8 -0
  417. data/lib/core/facets/kernel/__class__.rb +9 -0
  418. data/lib/core/facets/kernel/__dir__.rb +28 -0
  419. data/lib/core/facets/kernel/__get__.rb +15 -0
  420. data/lib/core/facets/kernel/__set__.rb +1 -0
  421. data/lib/core/facets/kernel/as.rb +116 -0
  422. data/lib/core/facets/kernel/ask.rb +28 -0
  423. data/lib/core/facets/kernel/assign.rb +74 -0
  424. data/lib/core/facets/kernel/assign_from.rb +1 -0
  425. data/lib/core/facets/kernel/attr_singleton.rb +59 -0
  426. data/lib/core/facets/kernel/blank.rb +84 -0
  427. data/lib/core/facets/kernel/call_stack.rb +1 -0
  428. data/lib/core/facets/kernel/callstack.rb +56 -0
  429. data/lib/core/facets/kernel/case.rb +8 -0
  430. data/lib/core/facets/kernel/complete.rb +26 -0
  431. data/lib/core/facets/kernel/d.rb +27 -0
  432. data/lib/core/facets/kernel/deep_clone.rb +27 -0
  433. data/lib/core/facets/kernel/deep_copy.rb +14 -0
  434. data/lib/core/facets/kernel/demo.rb +30 -0
  435. data/lib/core/facets/kernel/disable_warnings.rb +26 -0
  436. data/lib/core/facets/kernel/eigen.rb +2 -0
  437. data/lib/core/facets/kernel/eigenclass.rb +24 -0
  438. data/lib/core/facets/kernel/enable_warnings.rb +1 -0
  439. data/lib/core/facets/kernel/ergo.rb +43 -0
  440. data/lib/core/facets/kernel/extend.rb +28 -0
  441. data/lib/core/facets/kernel/extension.rb +12 -0
  442. data/lib/core/facets/kernel/false.rb +2 -0
  443. data/lib/core/facets/kernel/here.rb +11 -0
  444. data/lib/core/facets/kernel/hierarchical_send.rb +44 -0
  445. data/lib/core/facets/kernel/identical.rb +4 -0
  446. data/lib/core/facets/kernel/in.rb +13 -0
  447. data/lib/core/facets/kernel/instance_assign.rb +22 -0
  448. data/lib/core/facets/kernel/instance_class.rb +26 -0
  449. data/lib/core/facets/kernel/instance_exec.rb +47 -0
  450. data/lib/core/facets/kernel/instance_extract.rb +22 -0
  451. data/lib/core/facets/kernel/instance_replace.rb +40 -0
  452. data/lib/core/facets/kernel/instance_send.rb +7 -0
  453. data/lib/core/facets/kernel/like.rb +19 -0
  454. data/lib/core/facets/kernel/load_all.rb +1 -0
  455. data/lib/core/facets/kernel/load_relative.rb +25 -0
  456. data/lib/core/facets/kernel/maybe.rb +19 -0
  457. data/lib/core/facets/kernel/memo.rb +44 -0
  458. data/lib/core/facets/kernel/meta.rb +35 -0
  459. data/lib/core/facets/kernel/meta_alias.rb +23 -0
  460. data/lib/core/facets/kernel/meta_class.rb +17 -0
  461. data/lib/core/facets/kernel/meta_def.rb +24 -0
  462. data/lib/core/facets/kernel/meta_eval.rb +20 -0
  463. data/lib/core/facets/kernel/method.rb +50 -0
  464. data/lib/core/facets/kernel/no.rb +1 -0
  465. data/lib/core/facets/kernel/not.rb +37 -0
  466. data/lib/core/facets/kernel/not_nil.rb +18 -0
  467. data/lib/core/facets/kernel/object_class.rb +10 -0
  468. data/lib/core/facets/kernel/object_hexid.rb +33 -0
  469. data/lib/core/facets/kernel/object_send.rb +30 -0
  470. data/lib/core/facets/kernel/p.rb +24 -0
  471. data/lib/core/facets/kernel/presence.rb +1 -0
  472. data/lib/core/facets/kernel/present.rb +1 -0
  473. data/lib/core/facets/kernel/qua_class.rb +31 -0
  474. data/lib/core/facets/kernel/require_all.rb +42 -0
  475. data/lib/core/facets/kernel/respond.rb +32 -0
  476. data/lib/core/facets/kernel/returning.rb +27 -0
  477. data/lib/core/facets/kernel/silence.rb +73 -0
  478. data/lib/core/facets/kernel/silence_warnings.rb +1 -0
  479. data/lib/core/facets/kernel/singleton_class.rb +10 -0
  480. data/lib/core/facets/kernel/super_method.rb +11 -0
  481. data/lib/core/facets/kernel/tap.rb +36 -0
  482. data/lib/core/facets/kernel/temporarily.rb +23 -0
  483. data/lib/core/facets/kernel/trap_chain.rb +28 -0
  484. data/lib/core/facets/kernel/true.rb +26 -0
  485. data/lib/core/facets/kernel/try.rb +58 -0
  486. data/lib/core/facets/kernel/val.rb +19 -0
  487. data/lib/core/facets/kernel/with.rb +20 -0
  488. data/lib/core/facets/kernel/writers.rb +91 -0
  489. data/lib/core/facets/kernel/y.rb +23 -0
  490. data/lib/core/facets/kernel/yes.rb +25 -0
  491. data/lib/core/facets/kernel.rb +75 -0
  492. data/lib/core/facets/lazy.rb +237 -0
  493. data/lib/core/facets/load_path/search.rb +16 -0
  494. data/lib/core/facets/load_path.rb +1 -0
  495. data/lib/core/facets/matchdata/match.rb +15 -0
  496. data/lib/core/facets/matchdata/matchset.rb +44 -0
  497. data/lib/core/facets/matchdata/matchtree.rb +2 -0
  498. data/lib/core/facets/matchdata.rb +3 -0
  499. data/lib/core/facets/metaid.rb +7 -0
  500. data/lib/core/facets/method/composition.rb +96 -0
  501. data/lib/core/facets/method/curry.rb +13 -0
  502. data/lib/core/facets/method/memoize.rb +17 -0
  503. data/lib/core/facets/method/op_mul.rb +1 -0
  504. data/lib/core/facets/method/op_pow.rb +1 -0
  505. data/lib/core/facets/method/partial.rb +10 -0
  506. data/lib/core/facets/method/public.rb +33 -0
  507. data/lib/core/facets/method.rb +5 -0
  508. data/lib/core/facets/module/abstract.rb +24 -0
  509. data/lib/core/facets/module/alias_accessor.rb +45 -0
  510. data/lib/core/facets/module/alias_class_method.rb +11 -0
  511. data/lib/core/facets/module/alias_method_chain.rb +67 -0
  512. data/lib/core/facets/module/alias_module_function.rb +30 -0
  513. data/lib/core/facets/module/all_instance_methods.rb +19 -0
  514. data/lib/core/facets/module/ancestor.rb +16 -0
  515. data/lib/core/facets/module/anonymous.rb +25 -0
  516. data/lib/core/facets/module/attr_class_accessor.rb +51 -0
  517. data/lib/core/facets/module/attr_setter.rb +52 -0
  518. data/lib/core/facets/module/attr_tester.rb +56 -0
  519. data/lib/core/facets/module/attr_validator.rb +46 -0
  520. data/lib/core/facets/module/basename.rb +1 -0
  521. data/lib/core/facets/module/can.rb +20 -0
  522. data/lib/core/facets/module/cattr.rb +1 -0
  523. data/lib/core/facets/module/class.rb +12 -0
  524. data/lib/core/facets/module/class_accessor.rb +46 -0
  525. data/lib/core/facets/module/class_def.rb +2 -0
  526. data/lib/core/facets/module/class_extend.rb +92 -0
  527. data/lib/core/facets/module/class_inheritor.rb +80 -0
  528. data/lib/core/facets/module/class_method_defined.rb +1 -0
  529. data/lib/core/facets/module/copy_inheritor.rb +45 -0
  530. data/lib/core/facets/module/enclosure.rb +94 -0
  531. data/lib/core/facets/module/enclosures.rb +1 -0
  532. data/lib/core/facets/module/extend.rb +1 -0
  533. data/lib/core/facets/module/home.rb +90 -0
  534. data/lib/core/facets/module/homename.rb +1 -0
  535. data/lib/core/facets/module/housing.rb +1 -0
  536. data/lib/core/facets/module/include_as.rb +1 -0
  537. data/lib/core/facets/module/include_function_module.rb +25 -0
  538. data/lib/core/facets/module/instance_function.rb +94 -0
  539. data/lib/core/facets/module/instance_method.rb +25 -0
  540. data/lib/core/facets/module/instance_method_defined.rb +23 -0
  541. data/lib/core/facets/module/integrate.rb +49 -0
  542. data/lib/core/facets/module/is.rb +57 -0
  543. data/lib/core/facets/module/lastname.rb +30 -0
  544. data/lib/core/facets/module/let.rb +31 -0
  545. data/lib/core/facets/module/mattr.rb +296 -0
  546. data/lib/core/facets/module/memoize.rb +16 -0
  547. data/lib/core/facets/module/method_clash.rb +66 -0
  548. data/lib/core/facets/module/method_space.rb +107 -0
  549. data/lib/core/facets/module/methodize.rb +20 -0
  550. data/lib/core/facets/module/modname.rb +1 -0
  551. data/lib/core/facets/module/module_def.rb +31 -0
  552. data/lib/core/facets/module/module_load.rb +83 -0
  553. data/lib/core/facets/module/nodef.rb +13 -0
  554. data/lib/core/facets/module/op.rb +107 -0
  555. data/lib/core/facets/module/op_add.rb +1 -0
  556. data/lib/core/facets/module/op_mul.rb +1 -0
  557. data/lib/core/facets/module/op_sub.rb +1 -0
  558. data/lib/core/facets/module/pathize.rb +20 -0
  559. data/lib/core/facets/module/preextend.rb +32 -0
  560. data/lib/core/facets/module/redefine_method.rb +37 -0
  561. data/lib/core/facets/module/redirect_method.rb +46 -0
  562. data/lib/core/facets/module/remove.rb +1 -0
  563. data/lib/core/facets/module/rename_method.rb +30 -0
  564. data/lib/core/facets/module/revise.rb +41 -0
  565. data/lib/core/facets/module/set.rb +36 -0
  566. data/lib/core/facets/module/singleton_method_defined.rb +1 -0
  567. data/lib/core/facets/module/spacename.rb +25 -0
  568. data/lib/core/facets/module/to_obj.rb +20 -0
  569. data/lib/core/facets/module/wrap_method.rb +35 -0
  570. data/lib/core/facets/module.rb +60 -0
  571. data/lib/core/facets/na.rb +21 -0
  572. data/lib/core/facets/nilclass/ergo.rb +1 -0
  573. data/lib/core/facets/nilclass.rb +2 -0
  574. data/lib/core/facets/numeric/approx.rb +39 -0
  575. data/lib/core/facets/numeric/close.rb +1 -0
  576. data/lib/core/facets/numeric/delimit.rb +20 -0
  577. data/lib/core/facets/numeric/distance.rb +14 -0
  578. data/lib/core/facets/numeric/length.rb +10 -0
  579. data/lib/core/facets/numeric/negative.rb +1 -0
  580. data/lib/core/facets/numeric/positive.rb +15 -0
  581. data/lib/core/facets/numeric/range.rb +12 -0
  582. data/lib/core/facets/numeric/round_to.rb +32 -0
  583. data/lib/core/facets/numeric/spacing.rb +20 -0
  584. data/lib/core/facets/numeric.rb +8 -0
  585. data/lib/core/facets/object/clone.rb +1 -0
  586. data/lib/core/facets/object/dup.rb +79 -0
  587. data/lib/core/facets/object/itself.rb +16 -0
  588. data/lib/core/facets/object/object_state.rb +77 -0
  589. data/lib/core/facets/object/try_dup.rb +1 -0
  590. data/lib/core/facets/object.rb +7 -0
  591. data/lib/core/facets/objectspace/classes.rb +11 -0
  592. data/lib/core/facets/objectspace/op_fetch.rb +3 -0
  593. data/lib/core/facets/objectspace.rb +3 -0
  594. data/lib/core/facets/proc/bind.rb +24 -0
  595. data/lib/core/facets/proc/bind_to.rb +17 -0
  596. data/lib/core/facets/proc/compose.rb +42 -0
  597. data/lib/core/facets/proc/partial.rb +33 -0
  598. data/lib/core/facets/proc/to_method.rb +38 -0
  599. data/lib/core/facets/proc/update.rb +9 -0
  600. data/lib/core/facets/proc/wrap.rb +17 -0
  601. data/lib/core/facets/proc.rb +7 -0
  602. data/lib/core/facets/process/daemon.rb +32 -0
  603. data/lib/core/facets/process.rb +2 -0
  604. data/lib/core/facets/range/combine.rb +47 -0
  605. data/lib/core/facets/range/nudge.rb +27 -0
  606. data/lib/core/facets/range/op_add.rb +15 -0
  607. data/lib/core/facets/range/op_sub.rb +45 -0
  608. data/lib/core/facets/range/overlap.rb +12 -0
  609. data/lib/core/facets/range/quantile.rb +18 -0
  610. data/lib/core/facets/range/to_rng.rb +26 -0
  611. data/lib/core/facets/range/umbrella.rb +1 -0
  612. data/lib/core/facets/range/within.rb +64 -0
  613. data/lib/core/facets/range.rb +9 -0
  614. data/lib/core/facets/regexp/arity.rb +17 -0
  615. data/lib/core/facets/regexp/multiline.rb +13 -0
  616. data/lib/core/facets/regexp/op_add.rb +18 -0
  617. data/lib/core/facets/regexp/op_or.rb +15 -0
  618. data/lib/core/facets/regexp/to_proc.rb +13 -0
  619. data/lib/core/facets/regexp/to_re.rb +28 -0
  620. data/lib/core/facets/regexp.rb +6 -0
  621. data/lib/core/facets/roman.rb +89 -0
  622. data/lib/core/facets/string/acronym.rb +11 -0
  623. data/lib/core/facets/string/align.rb +125 -0
  624. data/lib/core/facets/string/ascii_only.rb +52 -0
  625. data/lib/core/facets/string/bracket.rb +64 -0
  626. data/lib/core/facets/string/briefcase.rb +1 -0
  627. data/lib/core/facets/string/camelcase.rb +73 -0
  628. data/lib/core/facets/string/capitalized.rb +49 -0
  629. data/lib/core/facets/string/cleanlines.rb +27 -0
  630. data/lib/core/facets/string/cleave.rb +36 -0
  631. data/lib/core/facets/string/cmp.rb +1 -0
  632. data/lib/core/facets/string/compress_lines.rb +17 -0
  633. data/lib/core/facets/string/crypt.rb +22 -0
  634. data/lib/core/facets/string/divide.rb +18 -0
  635. data/lib/core/facets/string/each_match.rb +1 -0
  636. data/lib/core/facets/string/each_word.rb +17 -0
  637. data/lib/core/facets/string/edit_distance.rb +124 -0
  638. data/lib/core/facets/string/ends_with.rb +1 -0
  639. data/lib/core/facets/string/exclude.rb +10 -0
  640. data/lib/core/facets/string/expand_tab.rb +35 -0
  641. data/lib/core/facets/string/file.rb +21 -0
  642. data/lib/core/facets/string/fold.rb +39 -0
  643. data/lib/core/facets/string/indent.rb +76 -0
  644. data/lib/core/facets/string/index_all.rb +24 -0
  645. data/lib/core/facets/string/indexable.rb +7 -0
  646. data/lib/core/facets/string/interpolate.rb +23 -0
  647. data/lib/core/facets/string/lchomp.rb +33 -0
  648. data/lib/core/facets/string/line_wrap.rb +18 -0
  649. data/lib/core/facets/string/linear.rb +19 -0
  650. data/lib/core/facets/string/lowercase.rb +1 -0
  651. data/lib/core/facets/string/margin.rb +55 -0
  652. data/lib/core/facets/string/methodize.rb +26 -0
  653. data/lib/core/facets/string/modulize.rb +31 -0
  654. data/lib/core/facets/string/mscan.rb +22 -0
  655. data/lib/core/facets/string/natcmp.rb +88 -0
  656. data/lib/core/facets/string/nchar.rb +32 -0
  657. data/lib/core/facets/string/newlines.rb +32 -0
  658. data/lib/core/facets/string/number.rb +14 -0
  659. data/lib/core/facets/string/op_div.rb +14 -0
  660. data/lib/core/facets/string/op_sub.rb +1 -0
  661. data/lib/core/facets/string/outdent.rb +1 -0
  662. data/lib/core/facets/string/pathize.rb +32 -0
  663. data/lib/core/facets/string/quote.rb +93 -0
  664. data/lib/core/facets/string/random.rb +44 -0
  665. data/lib/core/facets/string/range.rb +60 -0
  666. data/lib/core/facets/string/range_all.rb +1 -0
  667. data/lib/core/facets/string/range_of_line.rb +1 -0
  668. data/lib/core/facets/string/remove.rb +30 -0
  669. data/lib/core/facets/string/rewrite.rb +24 -0
  670. data/lib/core/facets/string/roman.rb +1 -0
  671. data/lib/core/facets/string/rotate.rb +24 -0
  672. data/lib/core/facets/string/shatter.rb +22 -0
  673. data/lib/core/facets/string/similarity.rb +90 -0
  674. data/lib/core/facets/string/snakecase.rb +31 -0
  675. data/lib/core/facets/string/splice.rb +33 -0
  676. data/lib/core/facets/string/squish.rb +22 -0
  677. data/lib/core/facets/string/starts_with.rb +5 -0
  678. data/lib/core/facets/string/store.rb +7 -0
  679. data/lib/core/facets/string/subtract.rb +4 -0
  680. data/lib/core/facets/string/titlecase.rb +27 -0
  681. data/lib/core/facets/string/to_re.rb +26 -0
  682. data/lib/core/facets/string/to_rx.rb +1 -0
  683. data/lib/core/facets/string/trim.rb +45 -0
  684. data/lib/core/facets/string/unbracket.rb +1 -0
  685. data/lib/core/facets/string/underscore.rb +1 -0
  686. data/lib/core/facets/string/unfold.rb +32 -0
  687. data/lib/core/facets/string/unindent.rb +1 -0
  688. data/lib/core/facets/string/unquote.rb +1 -0
  689. data/lib/core/facets/string/uppercase.rb +23 -0
  690. data/lib/core/facets/string/variablize.rb +13 -0
  691. data/lib/core/facets/string/word_wrap.rb +32 -0
  692. data/lib/core/facets/string/words.rb +24 -0
  693. data/lib/core/facets/string/xor.rb +26 -0
  694. data/lib/core/facets/string.rb +67 -0
  695. data/lib/core/facets/struct/attributes.rb +15 -0
  696. data/lib/core/facets/struct/replace.rb +8 -0
  697. data/lib/core/facets/struct.rb +3 -0
  698. data/lib/core/facets/symbol/as_s.rb +19 -0
  699. data/lib/core/facets/symbol/bang.rb +1 -0
  700. data/lib/core/facets/symbol/call.rb +29 -0
  701. data/lib/core/facets/symbol/chomp.rb +24 -0
  702. data/lib/core/facets/symbol/generate.rb +24 -0
  703. data/lib/core/facets/symbol/not.rb +29 -0
  704. data/lib/core/facets/symbol/op_div.rb +21 -0
  705. data/lib/core/facets/symbol/plain.rb +51 -0
  706. data/lib/core/facets/symbol/query.rb +1 -0
  707. data/lib/core/facets/symbol/reader.rb +1 -0
  708. data/lib/core/facets/symbol/setter.rb +1 -0
  709. data/lib/core/facets/symbol/succ.rb +23 -0
  710. data/lib/core/facets/symbol/thrown.rb +22 -0
  711. data/lib/core/facets/symbol/variablize.rb +14 -0
  712. data/lib/core/facets/symbol/writer.rb +1 -0
  713. data/lib/core/facets/symbol.rb +14 -0
  714. data/lib/core/facets/time/ago.rb +1 -0
  715. data/lib/core/facets/time/change.rb +46 -0
  716. data/lib/core/facets/time/dst_adjustment.rb +24 -0
  717. data/lib/core/facets/time/elapse.rb +18 -0
  718. data/lib/core/facets/time/future.rb +16 -0
  719. data/lib/core/facets/time/hence.rb +1 -0
  720. data/lib/core/facets/time/in.rb +1 -0
  721. data/lib/core/facets/time/less.rb +1 -0
  722. data/lib/core/facets/time/past.rb +1 -0
  723. data/lib/core/facets/time/round_to.rb +21 -0
  724. data/lib/core/facets/time/set.rb +27 -0
  725. data/lib/core/facets/time/shift.rb +97 -0
  726. data/lib/core/facets/time/stamp.rb +47 -0
  727. data/lib/core/facets/time/to_time.rb +21 -0
  728. data/lib/core/facets/time/trunc.rb +15 -0
  729. data/lib/core/facets/time.rb +16 -0
  730. data/lib/core/facets/unboundmethod/arguments.rb +44 -0
  731. data/lib/core/facets/unboundmethod.rb +2 -0
  732. data/lib/core/facets/version.rb +18 -0
  733. data/lib/core/facets.rb +40 -0
  734. data/lib/core/facets.yml +80 -0
  735. data/lib/facets-glimmer/ext/kernel.rb +8 -0
  736. data/lib/facets-glimmer.rb +33 -0
  737. data/lib/standard/facets/against.rb +53 -0
  738. data/lib/standard/facets/argvector.rb +343 -0
  739. data/lib/standard/facets/binding/block_exec.rb +44 -0
  740. data/lib/standard/facets/cgi/esc.rb +11 -0
  741. data/lib/standard/facets/cgi/escape_html.rb +63 -0
  742. data/lib/standard/facets/cgi/marshal.rb +20 -0
  743. data/lib/standard/facets/cgi.rb +6 -0
  744. data/lib/standard/facets/cli.rb +54 -0
  745. data/lib/standard/facets/cloneable.rb +67 -0
  746. data/lib/standard/facets/continuation.rb +56 -0
  747. data/lib/standard/facets/date/cmp.rb +32 -0
  748. data/lib/standard/facets/date.rb +434 -0
  749. data/lib/standard/facets/digest/base64digest.rb +45 -0
  750. data/lib/standard/facets/digest/salted_digest.rb +44 -0
  751. data/lib/standard/facets/digest.rb +2 -0
  752. data/lib/standard/facets/enumargs.rb +191 -0
  753. data/lib/standard/facets/equitable.rb +76 -0
  754. data/lib/standard/facets/erb.rb +66 -0
  755. data/lib/standard/facets/fileutils/amass.rb +34 -0
  756. data/lib/standard/facets/fileutils/cp_rx.rb +42 -0
  757. data/lib/standard/facets/fileutils/head.rb +1 -0
  758. data/lib/standard/facets/fileutils/ln_r.rb +98 -0
  759. data/lib/standard/facets/fileutils/outofdate.rb +38 -0
  760. data/lib/standard/facets/fileutils/safe_ln.rb +27 -0
  761. data/lib/standard/facets/fileutils/slice.rb +55 -0
  762. data/lib/standard/facets/fileutils/stage.rb +66 -0
  763. data/lib/standard/facets/fileutils/tail.rb +1 -0
  764. data/lib/standard/facets/fileutils/wc.rb +63 -0
  765. data/lib/standard/facets/fileutils/whereis.rb +66 -0
  766. data/lib/standard/facets/fileutils/which.rb +60 -0
  767. data/lib/standard/facets/fileutils.rb +13 -0
  768. data/lib/standard/facets/find/select.rb +16 -0
  769. data/lib/standard/facets/find.rb +2 -0
  770. data/lib/standard/facets/gem/search.rb +18 -0
  771. data/lib/standard/facets/gem/specification/current_specs.rb +21 -0
  772. data/lib/standard/facets/gem/specification/find_requireable_file.rb +21 -0
  773. data/lib/standard/facets/getoptlong.rb +59 -0
  774. data/lib/standard/facets/hash_builder.rb +46 -0
  775. data/lib/standard/facets/instantiable.rb +25 -0
  776. data/lib/standard/facets/interval.rb +277 -0
  777. data/lib/standard/facets/load_monitor.rb +26 -0
  778. data/lib/standard/facets/math/abs.rb +8 -0
  779. data/lib/standard/facets/math/acosec.rb +1 -0
  780. data/lib/standard/facets/math/acot.rb +8 -0
  781. data/lib/standard/facets/math/acoth.rb +8 -0
  782. data/lib/standard/facets/math/acsc.rb +13 -0
  783. data/lib/standard/facets/math/acsch.rb +8 -0
  784. data/lib/standard/facets/math/amd.rb +17 -0
  785. data/lib/standard/facets/math/approx_equal.rb +15 -0
  786. data/lib/standard/facets/math/asec.rb +8 -0
  787. data/lib/standard/facets/math/asech.rb +8 -0
  788. data/lib/standard/facets/math/atkinson_index.rb +16 -0
  789. data/lib/standard/facets/math/beta.rb +14 -0
  790. data/lib/standard/facets/math/cdf.rb +10 -0
  791. data/lib/standard/facets/math/ceil.rb +8 -0
  792. data/lib/standard/facets/math/cosec.rb +1 -0
  793. data/lib/standard/facets/math/cosech.rb +1 -0
  794. data/lib/standard/facets/math/cot.rb +8 -0
  795. data/lib/standard/facets/math/coth.rb +8 -0
  796. data/lib/standard/facets/math/csc.rb +13 -0
  797. data/lib/standard/facets/math/csch.rb +13 -0
  798. data/lib/standard/facets/math/delta.rb +9 -0
  799. data/lib/standard/facets/math/distance.rb +19 -0
  800. data/lib/standard/facets/math/ec.rb +5 -0
  801. data/lib/standard/facets/math/epsilon.rb +21 -0
  802. data/lib/standard/facets/math/exp10.rb +8 -0
  803. data/lib/standard/facets/math/exp2.rb +8 -0
  804. data/lib/standard/facets/math/factorial.rb +37 -0
  805. data/lib/standard/facets/math/floor.rb +8 -0
  806. data/lib/standard/facets/math/gcd.rb +23 -0
  807. data/lib/standard/facets/math/gini_coefficient.rb +33 -0
  808. data/lib/standard/facets/math/kldivergence.rb +19 -0
  809. data/lib/standard/facets/math/lcm.rb +15 -0
  810. data/lib/standard/facets/math/lgamma.rb +23 -0
  811. data/lib/standard/facets/math/linsolve.rb +12 -0
  812. data/lib/standard/facets/math/lngamma.rb +18 -0
  813. data/lib/standard/facets/math/log2.rb +14 -0
  814. data/lib/standard/facets/math/max.rb +1 -0
  815. data/lib/standard/facets/math/mean.rb +16 -0
  816. data/lib/standard/facets/math/median.rb +30 -0
  817. data/lib/standard/facets/math/min.rb +35 -0
  818. data/lib/standard/facets/math/percentile.rb +40 -0
  819. data/lib/standard/facets/math/pow.rb +13 -0
  820. data/lib/standard/facets/math/pstd.rb +1 -0
  821. data/lib/standard/facets/math/pvariance.rb +1 -0
  822. data/lib/standard/facets/math/rmd.rb +16 -0
  823. data/lib/standard/facets/math/root.rb +8 -0
  824. data/lib/standard/facets/math/round.rb +9 -0
  825. data/lib/standard/facets/math/sec.rb +8 -0
  826. data/lib/standard/facets/math/sech.rb +8 -0
  827. data/lib/standard/facets/math/sign.rb +20 -0
  828. data/lib/standard/facets/math/sinc.rb +8 -0
  829. data/lib/standard/facets/math/sqr.rb +8 -0
  830. data/lib/standard/facets/math/sqsolve.rb +55 -0
  831. data/lib/standard/facets/math/std.rb +27 -0
  832. data/lib/standard/facets/math/stderr.rb +1 -0
  833. data/lib/standard/facets/math/sum.rb +16 -0
  834. data/lib/standard/facets/math/summed_sqdevs.rb +14 -0
  835. data/lib/standard/facets/math/tau.rb +5 -0
  836. data/lib/standard/facets/math/tgamma.rb +10 -0
  837. data/lib/standard/facets/math/theil_index.rb +24 -0
  838. data/lib/standard/facets/math/variance.rb +31 -0
  839. data/lib/standard/facets/math.rb +58 -0
  840. data/lib/standard/facets/memoizable.rb +141 -0
  841. data/lib/standard/facets/memoizer.rb +63 -0
  842. data/lib/standard/facets/multipliers.rb +65 -0
  843. data/lib/standard/facets/multiton.rb +387 -0
  844. data/lib/standard/facets/net/http.rb +51 -0
  845. data/lib/standard/facets/nullclass.rb +38 -0
  846. data/lib/standard/facets/opesc.rb +79 -0
  847. data/lib/standard/facets/ostruct/each.rb +11 -0
  848. data/lib/standard/facets/ostruct/initialize.rb +48 -0
  849. data/lib/standard/facets/ostruct/merge.rb +21 -0
  850. data/lib/standard/facets/ostruct/op_fetch.rb +29 -0
  851. data/lib/standard/facets/ostruct/op_store.rb +1 -0
  852. data/lib/standard/facets/ostruct/to_h.rb +10 -0
  853. data/lib/standard/facets/ostruct/to_ostruct.rb +65 -0
  854. data/lib/standard/facets/ostruct.rb +89 -0
  855. data/lib/standard/facets/pathname/chdir.rb +15 -0
  856. data/lib/standard/facets/pathname/empty.rb +10 -0
  857. data/lib/standard/facets/pathname/exists.rb +6 -0
  858. data/lib/standard/facets/pathname/glob.rb +57 -0
  859. data/lib/standard/facets/pathname/home.rb +12 -0
  860. data/lib/standard/facets/pathname/null.rb +20 -0
  861. data/lib/standard/facets/pathname/op_div.rb +15 -0
  862. data/lib/standard/facets/pathname/op_fetch.rb +13 -0
  863. data/lib/standard/facets/pathname/outofdate.rb +13 -0
  864. data/lib/standard/facets/pathname/readline.rb +13 -0
  865. data/lib/standard/facets/pathname/root.rb +10 -0
  866. data/lib/standard/facets/pathname/rootname.rb +10 -0
  867. data/lib/standard/facets/pathname/safe.rb +15 -0
  868. data/lib/standard/facets/pathname/split_root.rb +9 -0
  869. data/lib/standard/facets/pathname/to_path.rb +28 -0
  870. data/lib/standard/facets/pathname/to_str.rb +8 -0
  871. data/lib/standard/facets/pathname/uptodate.rb +11 -0
  872. data/lib/standard/facets/pathname/visit.rb +38 -0
  873. data/lib/standard/facets/pathname/work.rb +10 -0
  874. data/lib/standard/facets/pathname.rb +56 -0
  875. data/lib/standard/facets/platform.rb +377 -0
  876. data/lib/standard/facets/random.rb +485 -0
  877. data/lib/standard/facets/rbconfig.rb +78 -0
  878. data/lib/standard/facets/set.rb +36 -0
  879. data/lib/standard/facets/shellwords.rb +115 -0
  880. data/lib/standard/facets/strscan.rb +16 -0
  881. data/lib/standard/facets/thread.rb +98 -0
  882. data/lib/standard/facets/timer.rb +217 -0
  883. data/lib/standard/facets/tuple.rb +280 -0
  884. data/lib/standard/facets/uri/cgi_escape.rb +46 -0
  885. data/lib/standard/facets/uri/cgi_parse.rb +1 -0
  886. data/lib/standard/facets/uri/cgi_unescape.rb +1 -0
  887. data/lib/standard/facets/uri/decode.rb +32 -0
  888. data/lib/standard/facets/uri/parameters.rb +63 -0
  889. data/lib/standard/facets/uri/query.rb +148 -0
  890. data/lib/standard/facets/uri.rb +40 -0
  891. data/lib/standard/facets/yaml/file.rb +41 -0
  892. data/lib/standard/facets/yaml/kernel.rb +29 -0
  893. data/lib/standard/facets/yaml/read.rb +12 -0
  894. data/lib/standard/facets/yaml.rb +6 -0
  895. data/lib/standard/facets/zlib.rb +38 -0
  896. data/test/core/array/test_arrange.rb +37 -0
  897. data/test/core/array/test_average.rb +16 -0
  898. data/test/core/array/test_before.rb +48 -0
  899. data/test/core/array/test_collapse.rb +23 -0
  900. data/test/core/array/test_commonality.rb +35 -0
  901. data/test/core/array/test_conjoin.rb +50 -0
  902. data/test/core/array/test_contains.rb +14 -0
  903. data/test/core/array/test_delete.rb +42 -0
  904. data/test/core/array/test_delete_unless.rb +17 -0
  905. data/test/core/array/test_delete_values.rb +31 -0
  906. data/test/core/array/test_divide.rb +24 -0
  907. data/test/core/array/test_duplicates.rb +29 -0
  908. data/test/core/array/test_each_overlap.rb +31 -0
  909. data/test/core/array/test_each_pair.rb +16 -0
  910. data/test/core/array/test_each_value.rb +16 -0
  911. data/test/core/array/test_entropy.rb +23 -0
  912. data/test/core/array/test_extract_options.rb +28 -0
  913. data/test/core/array/test_first.rb +17 -0
  914. data/test/core/array/test_from.rb +42 -0
  915. data/test/core/array/test_intersection.rb +19 -0
  916. data/test/core/array/test_last.rb +17 -0
  917. data/test/core/array/test_median.rb +27 -0
  918. data/test/core/array/test_merge.rb +27 -0
  919. data/test/core/array/test_missing.rb +12 -0
  920. data/test/core/array/test_mode.rb +17 -0
  921. data/test/core/array/test_nonuniq.rb +25 -0
  922. data/test/core/array/test_not_empty.rb +17 -0
  923. data/test/core/array/test_occur.rb +52 -0
  924. data/test/core/array/test_occurrence.rb +20 -0
  925. data/test/core/array/test_only.rb +17 -0
  926. data/test/core/array/test_op_pow.rb +13 -0
  927. data/test/core/array/test_pad.rb +40 -0
  928. data/test/core/array/test_peek.rb +28 -0
  929. data/test/core/array/test_poke.rb +21 -0
  930. data/test/core/array/test_probability.rb +18 -0
  931. data/test/core/array/test_pull.rb +15 -0
  932. data/test/core/array/test_recurse.rb +40 -0
  933. data/test/core/array/test_recursively.rb +33 -0
  934. data/test/core/array/test_reject_values.rb +17 -0
  935. data/test/core/array/test_span.rb +18 -0
  936. data/test/core/array/test_splice.rb +21 -0
  937. data/test/core/array/test_split.rb +22 -0
  938. data/test/core/array/test_split_at.rb +26 -0
  939. data/test/core/array/test_squeeze.rb +22 -0
  940. data/test/core/array/test_standard_deviation.rb +18 -0
  941. data/test/core/array/test_step.rb +28 -0
  942. data/test/core/array/test_store.rb +22 -0
  943. data/test/core/array/test_to_h.rb +14 -0
  944. data/test/core/array/test_traverse.rb +26 -0
  945. data/test/core/array/test_uniq_by.rb +24 -0
  946. data/test/core/array/test_unique_permutation.rb +23 -0
  947. data/test/core/array/test_variance.rb +17 -0
  948. data/test/core/array/test_zip.rb +13 -0
  949. data/test/core/binding/test_caller.rb +69 -0
  950. data/test/core/binding/test_defined.rb +18 -0
  951. data/test/core/binding/test_op.rb +24 -0
  952. data/test/core/binding/test_self.rb +16 -0
  953. data/test/core/class/test_descendents.rb +19 -0
  954. data/test/core/class/test_preallocate.rb +32 -0
  955. data/test/core/class/test_subclasses.rb +21 -0
  956. data/test/core/class/test_to_proc.rb +16 -0
  957. data/test/core/comparable/test_bound.rb +32 -0
  958. data/test/core/comparable/test_cap.rb +36 -0
  959. data/test/core/comparable/test_clip.rb +31 -0
  960. data/test/core/comparable/test_cmp.rb +16 -0
  961. data/test/core/comparable/test_op_get.rb +61 -0
  962. data/test/core/denumerable_tc.rb +194 -0
  963. data/test/core/dir/test_ascend.rb +40 -0
  964. data/test/core/dir/test_descend.rb +24 -0
  965. data/test/core/dir/test_each_child.rb +22 -0
  966. data/test/core/dir/test_multiglob.rb +25 -0
  967. data/test/core/dir/test_parent.rb +14 -0
  968. data/test/core/dir/test_recurse.rb +26 -0
  969. data/test/core/enumerable/test_accumulate.rb +44 -0
  970. data/test/core/enumerable/test_cluster.rb +36 -0
  971. data/test/core/enumerable/test_compact_map.rb +32 -0
  972. data/test/core/enumerable/test_defer.rb +27 -0
  973. data/test/core/enumerable/test_each_by.rb +49 -0
  974. data/test/core/enumerable/test_every.rb +33 -0
  975. data/test/core/enumerable/test_ewise.rb +30 -0
  976. data/test/core/enumerable/test_exclude.rb +15 -0
  977. data/test/core/enumerable/test_expand.rb +15 -0
  978. data/test/core/enumerable/test_filter.rb +19 -0
  979. data/test/core/enumerable/test_find_yield.rb +96 -0
  980. data/test/core/enumerable/test_frequency.rb +15 -0
  981. data/test/core/enumerable/test_graph.rb +42 -0
  982. data/test/core/enumerable/test_hashify.rb +113 -0
  983. data/test/core/enumerable/test_key_by.rb +22 -0
  984. data/test/core/enumerable/test_map_by.rb +27 -0
  985. data/test/core/enumerable/test_map_send.rb +26 -0
  986. data/test/core/enumerable/test_map_with_index.rb +23 -0
  987. data/test/core/enumerable/test_mash.rb +17 -0
  988. data/test/core/enumerable/test_modulate.rb +17 -0
  989. data/test/core/enumerable/test_occur.rb +40 -0
  990. data/test/core/enumerable/test_only.rb +40 -0
  991. data/test/core/enumerable/test_per.rb +19 -0
  992. data/test/core/enumerable/test_purge.rb +22 -0
  993. data/test/core/enumerable/test_recursively.rb +33 -0
  994. data/test/core/enumerable/test_squeeze.rb +35 -0
  995. data/test/core/enumerable/test_sum.rb +40 -0
  996. data/test/core/enumerable/test_uniq_by.rb +25 -0
  997. data/test/core/enumerable/test_visit.rb +14 -0
  998. data/test/core/enumerable/test_with_position.rb +42 -0
  999. data/test/core/enumerator/lazy/test_squeeze.rb +33 -0
  1000. data/test/core/enumerator/test_fx.rb +16 -0
  1001. data/test/core/enumerator/test_new.rb +21 -0
  1002. data/test/core/enumerator_tc.rb +40 -0
  1003. data/test/core/exception/test_detail.rb +15 -0
  1004. data/test/core/exception/test_raised.rb +15 -0
  1005. data/test/core/exception/test_suppress.rb +16 -0
  1006. data/test/core/file/test_append.rb +22 -0
  1007. data/test/core/file/test_create.rb +17 -0
  1008. data/test/core/file/test_ext.rb +31 -0
  1009. data/test/core/file/test_null.rb +14 -0
  1010. data/test/core/file/test_read_binary.rb +19 -0
  1011. data/test/core/file/test_read_list.rb +16 -0
  1012. data/test/core/file/test_rewrite.rb +35 -0
  1013. data/test/core/file/test_rootname.rb +13 -0
  1014. data/test/core/file/test_sanitize.rb +32 -0
  1015. data/test/core/file/test_split_all.rb +14 -0
  1016. data/test/core/file/test_write.rb +22 -0
  1017. data/test/core/file/test_writelines.rb +21 -0
  1018. data/test/core/filetest/test_root.rb +14 -0
  1019. data/test/core/functor_tc.rb +41 -0
  1020. data/test/core/hash/test_alias.rb +25 -0
  1021. data/test/core/hash/test_argumentize.rb +23 -0
  1022. data/test/core/hash/test_at.rb +16 -0
  1023. data/test/core/hash/test_autonew.rb +22 -0
  1024. data/test/core/hash/test_collate.rb +61 -0
  1025. data/test/core/hash/test_count.rb +23 -0
  1026. data/test/core/hash/test_data.rb +35 -0
  1027. data/test/core/hash/test_dearray_values.rb +26 -0
  1028. data/test/core/hash/test_deep_merge.rb +31 -0
  1029. data/test/core/hash/test_deep_rekey.rb +131 -0
  1030. data/test/core/hash/test_delete_at.rb +18 -0
  1031. data/test/core/hash/test_delete_unless.rb +18 -0
  1032. data/test/core/hash/test_delete_values.rb +30 -0
  1033. data/test/core/hash/test_diff.rb +16 -0
  1034. data/test/core/hash/test_each_with_key.rb +16 -0
  1035. data/test/core/hash/test_expect.rb +34 -0
  1036. data/test/core/hash/test_fetch_nested.rb +24 -0
  1037. data/test/core/hash/test_graph.rb +40 -0
  1038. data/test/core/hash/test_insert.rb +20 -0
  1039. data/test/core/hash/test_inverse.rb +20 -0
  1040. data/test/core/hash/test_join.rb +32 -0
  1041. data/test/core/hash/test_keys.rb +41 -0
  1042. data/test/core/hash/test_new_with.rb +17 -0
  1043. data/test/core/hash/test_op_add.rb +17 -0
  1044. data/test/core/hash/test_op_and.rb +31 -0
  1045. data/test/core/hash/test_op_mul.rb +17 -0
  1046. data/test/core/hash/test_op_or.rb +17 -0
  1047. data/test/core/hash/test_op_push.rb +34 -0
  1048. data/test/core/hash/test_op_sub.rb +28 -0
  1049. data/test/core/hash/test_recurse.rb +39 -0
  1050. data/test/core/hash/test_recursively.rb +71 -0
  1051. data/test/core/hash/test_rekey.rb +119 -0
  1052. data/test/core/hash/test_replace_each.rb +17 -0
  1053. data/test/core/hash/test_revalue.rb +98 -0
  1054. data/test/core/hash/test_reverse_merge.rb +39 -0
  1055. data/test/core/hash/test_slice.rb +36 -0
  1056. data/test/core/hash/test_stringify_keys.rb +26 -0
  1057. data/test/core/hash/test_swap.rb +15 -0
  1058. data/test/core/hash/test_symbolize_keys.rb +26 -0
  1059. data/test/core/hash/test_to_mod.rb +24 -0
  1060. data/test/core/hash/test_to_proc.rb +23 -0
  1061. data/test/core/hash/test_to_struct.rb +22 -0
  1062. data/test/core/hash/test_traverse.rb +29 -0
  1063. data/test/core/hash/test_update_each.rb +16 -0
  1064. data/test/core/hash/test_update_keys.rb +21 -0
  1065. data/test/core/hash/test_update_values.rb +15 -0
  1066. data/test/core/hash/test_weave.rb +18 -0
  1067. data/test/core/hash/test_zip.rb +16 -0
  1068. data/test/core/indexable_tc.rb +232 -0
  1069. data/test/core/integer/test_bitmask.rb +73 -0
  1070. data/test/core/integer/test_factorial.rb +30 -0
  1071. data/test/core/integer/test_multiple.rb +16 -0
  1072. data/test/core/integer/test_of.rb +36 -0
  1073. data/test/core/integer/test_ordinal.rb +27 -0
  1074. data/test/core/kernel/test_as.rb +74 -0
  1075. data/test/core/kernel/test_ask.rb +9 -0
  1076. data/test/core/kernel/test_assign.rb +61 -0
  1077. data/test/core/kernel/test_assign_from.rb +48 -0
  1078. data/test/core/kernel/test_attr_singleton.rb +51 -0
  1079. data/test/core/kernel/test_blank.rb +103 -0
  1080. data/test/core/kernel/test_callstack.rb +21 -0
  1081. data/test/core/kernel/test_class.rb +14 -0
  1082. data/test/core/kernel/test_complete.rb +19 -0
  1083. data/test/core/kernel/test_d.rb +10 -0
  1084. data/test/core/kernel/test_deep_clone.rb +31 -0
  1085. data/test/core/kernel/test_deep_copy.rb +15 -0
  1086. data/test/core/kernel/test_dir.rb +24 -0
  1087. data/test/core/kernel/test_disable_warnings.rb +38 -0
  1088. data/test/core/kernel/test_ergo.rb +34 -0
  1089. data/test/core/kernel/test_extension.rb +18 -0
  1090. data/test/core/kernel/test_get.rb +54 -0
  1091. data/test/core/kernel/test_here.rb +13 -0
  1092. data/test/core/kernel/test_hierarchical_send.rb +48 -0
  1093. data/test/core/kernel/test_in.rb +14 -0
  1094. data/test/core/kernel/test_instance_assign.rb +19 -0
  1095. data/test/core/kernel/test_instance_class.rb +15 -0
  1096. data/test/core/kernel/test_instance_extract.rb +28 -0
  1097. data/test/core/kernel/test_instance_replace.rb +47 -0
  1098. data/test/core/kernel/test_instance_send.rb +26 -0
  1099. data/test/core/kernel/test_maybe.rb +13 -0
  1100. data/test/core/kernel/test_meta_alias.rb +18 -0
  1101. data/test/core/kernel/test_meta_class.rb +33 -0
  1102. data/test/core/kernel/test_meta_def.rb +15 -0
  1103. data/test/core/kernel/test_meta_eval.rb +18 -0
  1104. data/test/core/kernel/test_method.rb +20 -0
  1105. data/test/core/kernel/test_not.rb +51 -0
  1106. data/test/core/kernel/test_not_nil.rb +25 -0
  1107. data/test/core/kernel/test_object_class.rb +22 -0
  1108. data/test/core/kernel/test_object_hexid.rb +20 -0
  1109. data/test/core/kernel/test_object_send.rb +25 -0
  1110. data/test/core/kernel/test_presence.rb +37 -0
  1111. data/test/core/kernel/test_qua_class.rb +25 -0
  1112. data/test/core/kernel/test_require_all.rb +11 -0
  1113. data/test/core/kernel/test_respond.rb +38 -0
  1114. data/test/core/kernel/test_returning.rb +17 -0
  1115. data/test/core/kernel/test_silence.rb +24 -0
  1116. data/test/core/kernel/test_singleton_class.rb +15 -0
  1117. data/test/core/kernel/test_super_method.rb +23 -0
  1118. data/test/core/kernel/test_tap.rb +38 -0
  1119. data/test/core/kernel/test_temporarily.rb +25 -0
  1120. data/test/core/kernel/test_true.rb +31 -0
  1121. data/test/core/kernel/test_try.rb +35 -0
  1122. data/test/core/kernel/test_val.rb +30 -0
  1123. data/test/core/kernel/test_with.rb +18 -0
  1124. data/test/core/kernel/test_writers.rb +53 -0
  1125. data/test/core/matchdata/test_match.rb +14 -0
  1126. data/test/core/matchdata/test_matchset.rb +29 -0
  1127. data/test/core/method/test_composition.rb +42 -0
  1128. data/test/core/module/test_abstract.rb +24 -0
  1129. data/test/core/module/test_alias_accessor.rb +27 -0
  1130. data/test/core/module/test_alias_method_chain.rb +34 -0
  1131. data/test/core/module/test_alias_module_function.rb +24 -0
  1132. data/test/core/module/test_all_instance_methods.rb +27 -0
  1133. data/test/core/module/test_ancestor.rb +16 -0
  1134. data/test/core/module/test_anonymous.rb +18 -0
  1135. data/test/core/module/test_attr_setter.rb +28 -0
  1136. data/test/core/module/test_basename.rb +14 -0
  1137. data/test/core/module/test_can.rb +22 -0
  1138. data/test/core/module/test_class.rb +22 -0
  1139. data/test/core/module/test_class_def.rb +22 -0
  1140. data/test/core/module/test_class_extend.rb +73 -0
  1141. data/test/core/module/test_class_inheritor.rb +135 -0
  1142. data/test/core/module/test_copy_inheritor.rb +35 -0
  1143. data/test/core/module/test_enclosure.rb +24 -0
  1144. data/test/core/module/test_instance_function.rb +30 -0
  1145. data/test/core/module/test_instance_method.rb +20 -0
  1146. data/test/core/module/test_instance_method_defined.rb +38 -0
  1147. data/test/core/module/test_integrate.rb +28 -0
  1148. data/test/core/module/test_is.rb +50 -0
  1149. data/test/core/module/test_memoize.rb +33 -0
  1150. data/test/core/module/test_method_clash.rb +59 -0
  1151. data/test/core/module/test_method_space.rb +72 -0
  1152. data/test/core/module/test_methodize.rb +26 -0
  1153. data/test/core/module/test_modname.rb +13 -0
  1154. data/test/core/module/test_module_def.rb +22 -0
  1155. data/test/core/module/test_module_load.rb +23 -0
  1156. data/test/core/module/test_nodef.rb +19 -0
  1157. data/test/core/module/test_op.rb +56 -0
  1158. data/test/core/module/test_pathize.rb +25 -0
  1159. data/test/core/module/test_preextend.rb +26 -0
  1160. data/test/core/module/test_redefine_method.rb +30 -0
  1161. data/test/core/module/test_redirect_method.rb +32 -0
  1162. data/test/core/module/test_remove.rb +18 -0
  1163. data/test/core/module/test_rename_method.rb +34 -0
  1164. data/test/core/module/test_revise.rb +61 -0
  1165. data/test/core/module/test_set.rb +30 -0
  1166. data/test/core/module/test_spacename.rb +15 -0
  1167. data/test/core/module/test_to_obj.rb +20 -0
  1168. data/test/core/module/test_wrap_method.rb +32 -0
  1169. data/test/core/numeric/test_approx.rb +26 -0
  1170. data/test/core/numeric/test_delimit.rb +68 -0
  1171. data/test/core/numeric/test_distance.rb +16 -0
  1172. data/test/core/numeric/test_length.rb +16 -0
  1173. data/test/core/numeric/test_round_to.rb +76 -0
  1174. data/test/core/numeric/test_spacing.rb +17 -0
  1175. data/test/core/object/test_dup.rb +115 -0
  1176. data/test/core/object/test_object_state.rb +75 -0
  1177. data/test/core/object/test_try_dup.rb +59 -0
  1178. data/test/core/proc/test_bind.rb +29 -0
  1179. data/test/core/proc/test_bind_to.rb +17 -0
  1180. data/test/core/proc/test_compose.rb +27 -0
  1181. data/test/core/proc/test_partial.rb +27 -0
  1182. data/test/core/proc/test_to_method.rb +43 -0
  1183. data/test/core/proc/test_update.rb +15 -0
  1184. data/test/core/range/test_combine.rb +32 -0
  1185. data/test/core/range/test_nudge.rb +32 -0
  1186. data/test/core/range/test_op_add.rb +24 -0
  1187. data/test/core/range/test_op_sub.rb +34 -0
  1188. data/test/core/range/test_overlap.rb +15 -0
  1189. data/test/core/range/test_to_rng.rb +20 -0
  1190. data/test/core/range/test_umbrella.rb +32 -0
  1191. data/test/core/range/test_within.rb +25 -0
  1192. data/test/core/regexp/test_arity.rb +30 -0
  1193. data/test/core/regexp/test_multiline.rb +19 -0
  1194. data/test/core/regexp/test_op_add.rb +15 -0
  1195. data/test/core/regexp/test_op_or.rb +16 -0
  1196. data/test/core/regexp/test_to_re.rb +24 -0
  1197. data/test/core/string/test_acronym.rb +14 -0
  1198. data/test/core/string/test_align.rb +32 -0
  1199. data/test/core/string/test_ascii_only.rb +51 -0
  1200. data/test/core/string/test_bracket.rb +37 -0
  1201. data/test/core/string/test_camelcase.rb +59 -0
  1202. data/test/core/string/test_capitalized.rb +36 -0
  1203. data/test/core/string/test_cleanlines.rb +12 -0
  1204. data/test/core/string/test_cleave.rb +27 -0
  1205. data/test/core/string/test_cmp.rb +18 -0
  1206. data/test/core/string/test_compress_lines.rb +27 -0
  1207. data/test/core/string/test_crypt.rb +17 -0
  1208. data/test/core/string/test_divide.rb +17 -0
  1209. data/test/core/string/test_each_word.rb +17 -0
  1210. data/test/core/string/test_edit_distance.rb +20 -0
  1211. data/test/core/string/test_exclude.rb +23 -0
  1212. data/test/core/string/test_expand_tabs.rb +83 -0
  1213. data/test/core/string/test_file.rb +15 -0
  1214. data/test/core/string/test_fold.rb +21 -0
  1215. data/test/core/string/test_indent.rb +90 -0
  1216. data/test/core/string/test_index_all.rb +22 -0
  1217. data/test/core/string/test_interpolate.rb +16 -0
  1218. data/test/core/string/test_lchomp.rb +25 -0
  1219. data/test/core/string/test_line_wrap.rb +15 -0
  1220. data/test/core/string/test_lowercase.rb +18 -0
  1221. data/test/core/string/test_margin.rb +16 -0
  1222. data/test/core/string/test_methodize.rb +28 -0
  1223. data/test/core/string/test_modulize.rb +28 -0
  1224. data/test/core/string/test_mscan.rb +18 -0
  1225. data/test/core/string/test_natcmp.rb +17 -0
  1226. data/test/core/string/test_nchar.rb +17 -0
  1227. data/test/core/string/test_newlines.rb +14 -0
  1228. data/test/core/string/test_number.rb +44 -0
  1229. data/test/core/string/test_op_div.rb +15 -0
  1230. data/test/core/string/test_op_sub.rb +15 -0
  1231. data/test/core/string/test_pathize.rb +31 -0
  1232. data/test/core/string/test_quote.rb +41 -0
  1233. data/test/core/string/test_random.rb +25 -0
  1234. data/test/core/string/test_range.rb +35 -0
  1235. data/test/core/string/test_remove.rb +50 -0
  1236. data/test/core/string/test_rewrite.rb +17 -0
  1237. data/test/core/string/test_rotate.rb +31 -0
  1238. data/test/core/string/test_shatter.rb +17 -0
  1239. data/test/core/string/test_similarity.rb +22 -0
  1240. data/test/core/string/test_snakecase.rb +22 -0
  1241. data/test/core/string/test_splice.rb +37 -0
  1242. data/test/core/string/test_squish.rb +31 -0
  1243. data/test/core/string/test_store.rb +16 -0
  1244. data/test/core/string/test_subtract.rb +16 -0
  1245. data/test/core/string/test_titlecase.rb +16 -0
  1246. data/test/core/string/test_to_re.rb +35 -0
  1247. data/test/core/string/test_trim.rb +116 -0
  1248. data/test/core/string/test_unbracket.rb +38 -0
  1249. data/test/core/string/test_underscore.rb +21 -0
  1250. data/test/core/string/test_unfold.rb +17 -0
  1251. data/test/core/string/test_unindent.rb +105 -0
  1252. data/test/core/string/test_unquote.rb +13 -0
  1253. data/test/core/string/test_uppercase.rb +22 -0
  1254. data/test/core/string/test_variablize.rb +15 -0
  1255. data/test/core/string/test_word_wrap.rb +80 -0
  1256. data/test/core/string/test_words.rb +65 -0
  1257. data/test/core/string/test_xor.rb +16 -0
  1258. data/test/core/struct/test_replace.rb +18 -0
  1259. data/test/core/symbol/test_as_s.rb +15 -0
  1260. data/test/core/symbol/test_bang.rb +15 -0
  1261. data/test/core/symbol/test_chomp.rb +22 -0
  1262. data/test/core/symbol/test_generate.rb +20 -0
  1263. data/test/core/symbol/test_not.rb +19 -0
  1264. data/test/core/symbol/test_op_div.rb +15 -0
  1265. data/test/core/symbol/test_plain.rb +19 -0
  1266. data/test/core/symbol/test_query.rb +19 -0
  1267. data/test/core/symbol/test_setter.rb +17 -0
  1268. data/test/core/symbol/test_succ.rb +16 -0
  1269. data/test/core/symbol/test_thrown.rb +22 -0
  1270. data/test/core/symbol/test_variablize.rb +14 -0
  1271. data/test/core/time/test_ago.rb +18 -0
  1272. data/test/core/time/test_change.rb +17 -0
  1273. data/test/core/time/test_dst_adjustment.rb +19 -0
  1274. data/test/core/time/test_elapse.rb +15 -0
  1275. data/test/core/time/test_future.rb +32 -0
  1276. data/test/core/time/test_hence.rb +18 -0
  1277. data/test/core/time/test_in.rb +18 -0
  1278. data/test/core/time/test_less.rb +139 -0
  1279. data/test/core/time/test_past.rb +32 -0
  1280. data/test/core/time/test_round_to.rb +34 -0
  1281. data/test/core/time/test_set.rb +43 -0
  1282. data/test/core/time/test_shift.rb +135 -0
  1283. data/test/core/time/test_stamp.rb +42 -0
  1284. data/test/core/time/test_to_time.rb +15 -0
  1285. data/test/core/time/test_trunc.rb +34 -0
  1286. data/test/core/unboundmethod/test_arguments.rb +25 -0
  1287. data/test/standard/binding/test_block_exec.rb +21 -0
  1288. data/test/standard/date/test_cmp.rb +38 -0
  1289. data/test/standard/math/test_abs.rb +13 -0
  1290. data/test/standard/math/test_acot.rb +23 -0
  1291. data/test/standard/math/test_acoth.rb +22 -0
  1292. data/test/standard/math/test_beta.rb +19 -0
  1293. data/test/standard/math/test_ceil.rb +22 -0
  1294. data/test/standard/math/test_cosec.rb +19 -0
  1295. data/test/standard/math/test_cosech.rb +19 -0
  1296. data/test/standard/math/test_cot.rb +13 -0
  1297. data/test/standard/math/test_coth.rb +13 -0
  1298. data/test/standard/math/test_distance.rb +16 -0
  1299. data/test/standard/math/test_exp10.rb +14 -0
  1300. data/test/standard/math/test_exp2.rb +14 -0
  1301. data/test/standard/math/test_factorial.rb +13 -0
  1302. data/test/standard/math/test_floor.rb +23 -0
  1303. data/test/standard/math/test_gcd.rb +18 -0
  1304. data/test/standard/math/test_lcm.rb +13 -0
  1305. data/test/standard/math/test_median.rb +17 -0
  1306. data/test/standard/math/test_percentile.rb +13 -0
  1307. data/test/standard/math/test_pow.rb +30 -0
  1308. data/test/standard/math/test_root.rb +15 -0
  1309. data/test/standard/math/test_sec.rb +19 -0
  1310. data/test/standard/math/test_sech.rb +19 -0
  1311. data/test/standard/math/test_sign.rb +20 -0
  1312. data/test/standard/math/test_sinc.rb +15 -0
  1313. data/test/standard/math/test_srq.rb +20 -0
  1314. data/test/standard/pathname/test_chdir.rb +16 -0
  1315. data/test/standard/pathname/test_readline.rb +23 -0
  1316. data/test/standard/test_argvector.rb +64 -0
  1317. data/test/standard/test_cloneable.rb +60 -0
  1318. data/test/standard/test_date.rb +82 -0
  1319. data/test/standard/test_enumargs.rb +105 -0
  1320. data/test/standard/test_equitable.rb +46 -0
  1321. data/test/standard/test_instantiable.rb +40 -0
  1322. data/test/standard/test_math.rb +3 -0
  1323. data/test/standard/test_memoizable.rb +42 -0
  1324. data/test/standard/test_multipliers.rb +141 -0
  1325. data/test/standard/test_ostruct.rb +191 -0
  1326. data/test/standard/test_random.rb +241 -0
  1327. data/test/standard/test_shellwords.rb +74 -0
  1328. data/test/standard/test_thread.rb +24 -0
  1329. data/test/standard/test_timer.rb +62 -0
  1330. data/test/standard/test_tuple.rb +68 -0
  1331. data/test/standard/test_uri.rb +50 -0
  1332. metadata +1932 -0
data/HISTORY.md ADDED
@@ -0,0 +1,2497 @@
1
+ # Facets Release History
2
+
3
+ ## 3.1.0 / 2016-05-10
4
+
5
+ More or less a minor release, but there are some backward incompatabilites
6
+ such as `Hash#except!` which no longer returns the rejected entries (use
7
+ `Hash#remove!` for old behavior).
8
+
9
+ Special thanks to Scott Parrish for all his help getting Facets in tip-top
10
+ shape.
11
+
12
+ Changes:
13
+
14
+ * New Features
15
+
16
+ * Add `Hash#remove!` for old `except!` behavior.
17
+ * Add `Array#standard_deviation`.
18
+ * Add `Array#variance`.
19
+ * Add `Array#average`.
20
+ * Add `Numeric#delimit`.
21
+
22
+ * Improved Features
23
+
24
+ * Change `Hash#except!` to not return rejected entries.
25
+ * Improve definition of Character Set in `String.random`.
26
+ * Add one to denominator of `String#similarity` score.
27
+ * Enhanced download methods.
28
+ * Improvements on compatability with ActiveSupport.
29
+ * Enumerable#from and #thru return empty set when index is out of bounds.
30
+
31
+ * Bug Fixes
32
+
33
+ * Fix `Enumerable#key_by`.
34
+ * Fix `Enumerable#sum` to take initial value.
35
+
36
+
37
+ ## 3.0.0 / 2014-11-11
38
+
39
+ This major release has been a long time in coming --too long in fact. As with
40
+ any "Point Oh" release, please expect a few hiccups and report them so we can
41
+ get a solid 3.1 release out as soon as possible.
42
+
43
+ This release is tailored for Ruby 2.0 and above. Ruby 1.9.x and older is no
44
+ longer supported. If you still need to use Facets with Ruby 1.9.x or older
45
+ then the excellent Backports project can be used to fill in the gaps.
46
+
47
+ Changes:
48
+
49
+ * New Features
50
+
51
+ * Add Array#arrange
52
+ * Add Array#intersection
53
+ * Add Array#missing
54
+ * Add Array#uniqe_permutation
55
+ * Add Dir.lookup method
56
+ * Add Enumerator::Lazy#squeeze
57
+ * Add Hash#fetch_nested
58
+ * Add Hash#deep_rekey and Hash#deep_rekey!
59
+ * Add Kernel#instance_extract
60
+ * Add Math#EC for Euler's constant
61
+ * Add Module#alias_class_method
62
+ * Add Pathname#chdir
63
+ * Add Pathname#readline
64
+ * Add Proc.wrap (may become `Kernel#Proc()`)
65
+ * Add Range#- and Range#+
66
+ * Add Regexp#to_proc
67
+ * Add String#each_match as alias for #mscan
68
+ * Add Time.current
69
+
70
+ * Improved Features
71
+
72
+ * Enumerable#sum argument is initial value.
73
+ * Generalize Enumerable#sum to duck-type on `#+`.
74
+ * Hash#collate can take multiple arguments.
75
+ * Hash#collate no longer flattens automatically.
76
+ * Time#past? and #future? use Time.current.
77
+ * Better ActiveSupport compatibility.
78
+
79
+ * Renamed Features
80
+
81
+ * Rename Object#replace to Object#instance_replace.
82
+ * Rename Range#to_r to Range#to_rng, since #to_r is now for Rational.
83
+ * Rename Kernel#eigen to #meta.
84
+
85
+ * Bug Fixes
86
+
87
+ * Fix Platform#inspect.
88
+
89
+ * Deprecated Features Now in Ruby
90
+
91
+ * Deprecate Array#combination (now in Ruby).
92
+ * Deprecate Array#index (now in Ruby).
93
+ * Deprecate Array#permutation (now in Ruby).
94
+ * Deprecate Array#product (now in Ruby).
95
+ * Deprecate Array#rotate (now in Ruby).
96
+ * Deprecate Array#rotate! (now in Ruby).
97
+ * Deprecate Array#select! (now in Ruby).
98
+ * Deprecate Binding#eval (now in Ruby).
99
+ * Deprecate Float#round_at (now in Ruby as #round).
100
+ * Deprecate Hash#select! (now in Ruby).
101
+ * Deprecate Integer#even? (now in Ruby).
102
+ * Deprecate Integer#odd? (now in Ruby).
103
+ * Deprecate Kernel#__callee__ (now in Ruby).
104
+ * Deprecate Kernel#__method__ (now in Ruby).
105
+ * Deprecate Kernel#source_location (now in Ruby).
106
+ * Deprecate NilClass#to_f (now in Ruby).
107
+ * Deprecate NilClass#to_h (now in Ruby).
108
+ * Deprecate Numeric#round_at (now in Ruby as #round).
109
+ * Deprecate Proc#curry (now in Ruby).
110
+ * Deprecate String#bytes (now in Ruby).
111
+ * Deprecate String#each_char (now in Ruby).
112
+ * Deprecate String#end_with (now in Ruby).
113
+ * Deprecate String#lines (now in Ruby).
114
+ * Deprecate String#start_with (now in Ruby).
115
+ * Deprecate Symbol#to_proc (now in Ruby).
116
+ * Deprecate UnboundMethod#name (now in Ruby).
117
+
118
+
119
+ ## 2.9.3 / 2011-12-31
120
+
121
+ Happy New Year! Ruby Facets kicks off the year with a 2.9.x release.
122
+ This release adds a number of new methods, a few general improvements
123
+ and bug fixes, a couple of deprecations and finally settles the
124
+ project down to a two-part core/standard project organization.
125
+
126
+ Changes:
127
+
128
+ * New Features
129
+
130
+ * Add Hash#url_params. (Matt Kirk)
131
+ * Add Enumerable#hashify. (Ronen Barzel)
132
+ * Add String#briefcase, similar to #titlecase.
133
+ * Add Kernel#hierarchical_send (better replacement for preinitialize.rb).
134
+ * Add Class#hierarchically, which supports #hierarchical_send.
135
+ * Add Array#median, to get the sorted middle of an array.
136
+ * Add Math#percentile and Math#median.
137
+ * Add Instantiable mixin (returns from Mixers spin-off project).
138
+ * Add Equitable mixin (returns from Mixers spin-off project).
139
+ * Add Cloneable mixin (returns from Mixers spin-off project).
140
+ * Add Array#each_pair and #each_value.
141
+ * Add Numeric#positive? and #numeric?.
142
+ * Add Method#* and #^ composition methods. (Mike Burns)
143
+ * Add back Fixnum::MAX and MIN constants.
144
+ * Add Binding#with.
145
+
146
+ * Improved Features
147
+
148
+ * Improve FileUtils#amass to be more robust.
149
+ * Improve String#snakecase to convert spaces to underscores.
150
+ * Improve String#camelcase to convert spaces to "camels".
151
+ * Improve String#snakecase to not handle path names (use #pathize).
152
+ * Improve String#camelcase to not handle module names (ise #modulize).
153
+ * Improve Numeric#approx? bu using ratio.
154
+
155
+ * Renamed Features
156
+
157
+ * Rename Enumerable#has? to #incase?.
158
+
159
+ * Bug Fixes
160
+
161
+ * Fix Hash#rekey to keep default_proc.
162
+ * Fix Binding#self to not be defined for Rubinius.
163
+
164
+ * Deprecations
165
+
166
+ * Deprecate Preinitializable mixin.
167
+ * Deprecate main.rb, spun-off to `main_like_module` gem.
168
+
169
+ * Implementation Details
170
+
171
+ * Reconsolidated library into just two parts, `core` and `standard`.
172
+ * The term "more" is just a synonym for "standard" now.
173
+ * Relative requires are being used more extensively.
174
+ * Collection scripts, e.g. `require 'facets'`, are static.
175
+
176
+
177
+ ## 2.9.2 / 2011-08-23
178
+
179
+ The main purpose of this release is a fix for Module#redefine_method,
180
+ so it will not conflict with ActiveSupport. Beyond that a handful of new
181
+ methods have been added. This release also marks the start of using
182
+ a src/ directory to generate the lib/ directory.
183
+
184
+ Changes:
185
+
186
+ * New Features
187
+
188
+ * Add Enumerable#map_with and alias #zip_map.
189
+ * Hash#delete_values returns removed keys (#12).
190
+ * Add clap-like command-line parser to Shellwords.
191
+ * Add Module#let, akin to RSpec's method.
192
+ * Add uncommon Module#method_clash method.
193
+ * Add uncommon Class#singleton? method.
194
+
195
+ * Bug Fixes
196
+
197
+ * Fix Module#redefine_method to use #remove_method.
198
+ * Fix Kernel#object_hexid, or at least try to do so again.
199
+ * Fix Exception#detail to not return backtrace if nil.
200
+
201
+
202
+ ## 2.9.1 / 2011-01-30
203
+
204
+ Primarily this release fixes a couple of small issues. But also a handful of
205
+ new methods have been added.
206
+
207
+ Changes:
208
+
209
+ * New Features:
210
+
211
+ * Add FileTest#absolute? and #relative?
212
+ * Add FileTest#contains?
213
+ * Add FileTest#safe?
214
+ * Add FileUtils#amass
215
+ * Add FileUtils#outofdate
216
+ * Add FileUtils#stage
217
+ * Add Kernel#yes? and Kernel#no?
218
+ * Add Enumerable#has? (TOUR library)
219
+ * Add Digest#salted_digest, etc.
220
+ * Add Digest#base64digest (1.9.2 method)
221
+ * Add String#random_binary
222
+
223
+ * Improved Features
224
+
225
+ * Better OS detection in Platform class and RBConfig module
226
+ * Moved CPU byte order methods from RBConfig to Platform class
227
+ * General improvements to Platform class API
228
+
229
+ * Bug Fixes
230
+
231
+ * Module#redefine_method need not check pre-existence of method
232
+ * Fix string/unquote.rb recursive require
233
+ * Kernel#object_hexid varies on CPU arch, not Ruby version.
234
+
235
+
236
+ ## 2.9.0 / 2010-09-01
237
+
238
+ This release is fairly extensive as it was originally intended to be v3.0.
239
+ After further consideration it was decided to reserve v3.0 for the
240
+ polish of real world feedback and more progressive changes. The primary
241
+ focus of this release has been the completion of migrating Facets into a true
242
+ extensions library. With this release almost all add-on classes and mixins
243
+ have now been spun-off to other projects. Only the most general purposes
244
+ add-on classes and mixins remain.
245
+
246
+ A new TOUR library division has also been added to complement CORE and MORE.
247
+ This division houses purely optional extensions. The new division serves
248
+ a couple of useful purposes. In particular, it helps separates the standard
249
+ library extensions from optional core extension in the RDocs and thus makes
250
+ the perfect place to vet new extension ideas.
251
+
252
+ One important change that will effect anyone using Facets along side
253
+ ActiveSupport is that Facets no longer tries to conditionally avoid
254
+ method overlaps with ActiveSupport. This is fine for the upcoming
255
+ ActiveSupport 3.0 library which extends core classes directly instead of
256
+ using mixins. One need only require 'facets' in the Rails config/preinitializer.rb
257
+ file and ActiveSupport will take precedence over Facets. For older versions
258
+ of ActiveSupport, the best approach is to cherry pick from Facets just the
259
+ extensions you want, thus avoiding any conflicts. There are actually only a
260
+ dozen or so overlaps and all are intended to compatible, but it doesn't hurt
261
+ to be sure.
262
+
263
+ Lastly, it is worth mentioning that this release has been more thuroughly
264
+ tested than any version of Facets to date. Thanks to RVM this release runs
265
+ green on Ruby 1.8.6, 1.8.7 and 1.9.2.
266
+
267
+ Changes:
268
+
269
+ * New Features
270
+
271
+ * Add Kernel#temporarily, set variables temporarily and eval block
272
+ * Add Kernel#deep_clone, a better alternative to #deep_copy
273
+ * Add Kernel#present? and Kernel#presence
274
+ * Add Kernel#not and #not?
275
+ * Add Array#extract_options!, for pulling options off argument list
276
+ * Add Regexp#|, operator for Regexp#union
277
+ * Add Array#percentile and Array#median
278
+ * Add Module#memo, for instance level memoization
279
+ * Add YAML.read method
280
+ * Add Pathname#include?
281
+ * Add Module#anonymous?
282
+ * Add Module#copy_inheritor
283
+ * Add Indexable#from and Indexable#upto
284
+ * Add Array#from and Array#thru
285
+ * Add NA class via na.rb
286
+ * Add Memoizable in memoizable.rb for a more robust memoization system
287
+ * Add Module#safe_memo in thread.rb for thread safe memoization
288
+ * Add Kernel#sandbox in thread.rb for threaded $SAFE=4 evaluation
289
+ * Add Hash#subset
290
+ * Add Kernel#Y to tour library
291
+ * Add numerous Math extensions
292
+
293
+ * Deprecations
294
+
295
+ * Deprecate Module#attr_toggler as a YAGNI
296
+ * Deprecate Kernel#class_eval b/c of it's confusing behavior
297
+ * Deprecate Module#once is no longer an alias for #memoize
298
+ * Deprecate Integer#succ(n) (for compatibility reasons)
299
+ * Deprecate Stackable, it's method were moved to CORE
300
+ * Deprecate Kernel#populate and #set_from (use #assign and #assign_from)
301
+ * Deprecate Kernel#non_nil? since #not_nil? is enough
302
+ * Deprecate #__HERE__ b/c implementation was unreliable
303
+ * Deprecate Time#since, use #less instead
304
+ * Deprecate Time#advance, use #shift instead
305
+ * Deprecate Kernel#super_as (no good way to get callers method name)
306
+ * Deprecate Integer#clear_bit, use #bit_clear instead
307
+ * Deprecate Kernel#resc, use String#to_re or #to_rx instead
308
+ * Deprecate Module#modspace
309
+ * Deprecate Kernel#__ and class X for Proc#partial, use NA instead
310
+ * Deprecate autoreload.rb has been spun-off to a separate project
311
+ * Deprecate Module#nesting, b/c redundant and overlap with Module.nesting
312
+
313
+ * Renamed Features
314
+
315
+ * Rename Module#parent to Module#enclosure
316
+ * Rename Module#parents to Module#enclosures
317
+ * Rename Module#parent_name to Module#modname
318
+ * Rename Array#recurisvely to Array#recurse
319
+ * Rename Hash#recurisvely to Hash#recurse
320
+ * Rename Enumerable#recursive to Enumerable#recursively
321
+ * Rename Array#recursive to Array#recursively
322
+ * Rename Hash#recursive to Hash#recursively
323
+ * Rename Kernel#silence_warnings to Kernel#disable_warnings
324
+ * Rename Hash#recursive_merge to Hash#deep_merge
325
+ * Rename Class#prepend to Class#preallocate
326
+ * Rename File#atomic_write to FileUtils#atomic_write
327
+ * Rename Module#conflict to Module#method_clash
328
+ * Rename Class#inheritor to Module#class_inheritor
329
+ * Rename Symbol#re_s to Symbol#as_s
330
+ * Rename String#chars to String#characters
331
+ * Rename String#outdent to String#unindent
332
+ * Rename Time#round to Time#round_to
333
+ * Rename Time#hence to Time#shift (but keep aliases)
334
+ * Rename Hash#zipnew to Hash#zip
335
+
336
+ * Moved Libraries
337
+
338
+ * Move roman.rb to integer/roman and string/roman.rb
339
+ * Move blank.rb to kernel/blank.rb
340
+ * Move facets-live.rb to facets/auto_core.rb
341
+ * Move cattr.rb to MORE library
342
+ * Move duplicable.rb to kernel/dup.rb
343
+ * Move bitmask.rb to integer/bitmask.rb
344
+ * Move enumerable/divide.rb to array/divide.rb
345
+ * Move enumerable/split.rb to array/split.rb
346
+ * Move enumerable/entropy.rb to array/entropy.rb
347
+ * Move enumerable/probability.rb to array/probability.rb
348
+ * Move enumerable/duplicates.rb array/duplicates.rb
349
+ * Move module/enclosure.rb to optional TOUR libs
350
+ * Move kernel/instance_exec to option TOUR libs
351
+
352
+ * Bug Fixes
353
+
354
+ * Fix Fixed Hash#rekey! from clobbering previous keys
355
+ * Fix Exception#raised? is a class method
356
+ * Fix Enumerator#fx should use #map instead of #each
357
+ * Fix String#splice needs String#store
358
+ * Fix Kernel#blank? empty condition was faulty
359
+ * Fix Comparable#bound needs clip.rb, not cap.rb
360
+ * Fix String#file needs to pass block
361
+ * Fix String#edit_distance use new encodings for Ruby 1.9
362
+
363
+ * Improved Features
364
+
365
+ * New lib/tour division of libraries
366
+ * Module#class_extend dynamically creates append_features method
367
+ * Kernel#require_all is only for relative requires
368
+ * __DIR__ can take subdirectory arguments
369
+ * Hash#join has more sensible default separator (' ')
370
+ * Some OpEsc escapes have been renamed
371
+ * Kernel#assign does not accept a block
372
+ * Kernel#try is now like ActiveSupport's
373
+ * Improved #respond (which is like old #try)
374
+ * Remove all `if defined?(ActiveSupport)` conditions
375
+ * Use #random_range to support specialized Range#at_rand functionality
376
+ * Use Comparable.[] instead of Comparable()
377
+ * Array#rotate rotates in opposite direction than before (b/c or Ruby 1.9)
378
+
379
+
380
+ ## 2.8.4 / 2010-04-27
381
+
382
+ A minor point release just to get a few improvements out there before
383
+ endeavering into more extensive work for the next major release.
384
+
385
+ * New Features
386
+
387
+ * Added #glob_relative to Pathname
388
+
389
+ * Deprecations
390
+
391
+ * Deprecated BlankSlate (use BasicObject)
392
+ * Deprecate hashbuilder.rb
393
+ * Removed casting_hash.rb, moved to new library
394
+ * Removed opencollection.rb, moved to new library
395
+ * Removed ansicode.rb, use ansi gem
396
+
397
+ * Bug Fixes
398
+
399
+ * changed Numeric#length to return self, not to_s.self
400
+ * Fix mispelling of Class#descendants
401
+
402
+ * Other Improvements
403
+
404
+ * Range#at_rand has been optimized
405
+ * Kernel#singleton_class no longer can take a block
406
+ * Hash#to_proc takes response argument replacing #to_proc_with_response
407
+ * OpenHash becomes more like OpenObject and OpenObject becomes bare bones
408
+ * Range#at_rand optimized for Fixnum/Bignum instead of Integer
409
+
410
+
411
+ ## 2.8.3 / 2010-04-10
412
+
413
+ New release which makes a few adjustments in Kernel core extensions,
414
+ adds a few new extensions and additions, plus other small improvements.
415
+ The biggest change is the addition of Recusor, which is created via
416
+ Enumerable#recursive. This class is somewhat like Enumerator and
417
+ provides a number of recursive methods.
418
+
419
+ Changes:
420
+
421
+ * 9 New Core Extensions
422
+
423
+ * Enumerable#recursive provides a number of other recursive methods.
424
+ * Enumerable#visit can be used to recursively iterate any Enumerable.
425
+ * Module#set has been added (from Sinatra).
426
+ * Symbol#/ is added to be like String#/.
427
+ * Struct#to_h is added and will ultimately replace Struct#attributes.
428
+ * ObjectSpace#reflect routes method calls to Kernel context.
429
+ * Hash#to_module converts a hash to mixin module (Jay Fields).
430
+ * Kernel#dup! is same as #try_dup from extlib.
431
+ * Add File#ext which is a useful variation of #extname (Lavir the Whiolet).
432
+
433
+ * 3 Core Extensions Renamed
434
+
435
+ * Renamed #set_from to #assign_from (alias remains until Kernel#set is considerd).
436
+ * Renamed #populate to #assign and improve.
437
+ * Kernel#instance_vars is now Kernel#instance and also more useful.
438
+
439
+ * 1 Core Deprecation
440
+
441
+ * Removed #instance_eval hack.
442
+
443
+ * 2 Core Bug Fixes
444
+
445
+ * #map_with_index now uses #each_with_index.
446
+ * #to_proc_with_response spelling correction.
447
+
448
+ * 1 Core Adjustment
449
+
450
+ * Aliased #metadef to #meta_def.
451
+
452
+ * 3 New More Libraries
453
+
454
+ * casting_hash.rb provides CastingHash class, a hash with flexible keys and values.
455
+ * prepend.rb allows for AOP-like inclusion of modules.
456
+ * roman.rb provides simple roman numeral extensions to String and Integer.
457
+
458
+ * 5 More Improvements
459
+
460
+ * Pathname#visit for iterating all entries beneath a path (chikamichi).
461
+ * Pathname#to_str, b/c Pathname is basically a type of String (from extlib).
462
+ * Range#at_rand in random.rb handles Float ranges (Lavir the Whiolet).
463
+ * FileUtils#cp_rx provides controlled copies.
464
+ * Stash class in stash.rb is improved and is now available as a stand-alone library.
465
+ * ioredirect.rb has been removed as IORedirect no longer worked.
466
+ * plugin_manager.rb has been removed. Use 'plugin' gem instead.
467
+
468
+
469
+ ## 2.8.2 / 2010-02-22
470
+
471
+ This release fixes a bug by removing Numeric#size. Turns out that was a
472
+ core method already. It includes an "auditing" of the core enumerable
473
+ method which has led to a few modifications most noteable amoung them
474
+ renaming #map_detect to #find_yield and #compact_map to #purge.
475
+
476
+ Changes:
477
+
478
+ * 7 New Core Extensions
479
+
480
+ * Add Enumerable#each_with_object.
481
+ * Add #collapse which is a shortcut for flatten.compact.
482
+ * Add Numeric#spacing (Mr. Groff)
483
+ * Add Array#uniq_by! to complement Enumerable#uniq_by.
484
+ * Add String#exclude? as opposite of #include?
485
+ * Add Enumerable#exclude? as opposite of #include?
486
+ * Add Proc#bind_to
487
+
488
+ * 2 Extensions Renamed
489
+
490
+ * Rename Enumerable#compact_map to #purge.
491
+ * Rename Enumerable#map_detect to #find_yield.
492
+
493
+ * 4 Deprecations
494
+
495
+ * Deprecate #inject!/#injecting in favor of #filter.
496
+ * Deprecate Array#** as alias of #product.
497
+ * Remove Numeric#size, as it was already used by core.
498
+ * Spun tracepoint.rb off as a seprate library.
499
+
500
+ * 3 Other Changes
501
+
502
+ * Integer#multiple? handles zero as an argument.
503
+ * facets.rb is now dynamically loaded instead of code generated.
504
+ * General imporvements to date.rb.
505
+
506
+
507
+ ## 2.8.1 / 2009-12-25
508
+
509
+ This release simply fixes a few minor issues.
510
+
511
+ Changes:
512
+
513
+ * 1 New Standard Extension
514
+
515
+ * Added Pathname#glob_relative to pathanme.rb.
516
+
517
+ * 3 Adjustments
518
+
519
+ * Loading string/tab.rb no longer loads margin.rb or expand_tab.rb.
520
+ * Fixed FileList method delegations.
521
+ * Numeric#length and #size return +self+, not +to_s.length+.
522
+
523
+
524
+ ## 2.8.0 / 2009-11-05
525
+
526
+ Facets 2.8 effectively completes the MORE library clean-up which peaked
527
+ with the previous 2.7 release. Another eight libraries have been deprecated,
528
+ a few of them spun-off to a separate project. However, this verison also
529
+ reverts a few of the deprecations made in the last version. These libs
530
+ will remain in Facets's MORE library for the forseeable future.
531
+
532
+ This version effectively concludes the MORE library clean-up. The next, and
533
+ last version before Facets 3.0, will focus on "auditing" the CORE library.
534
+
535
+ Changes:
536
+
537
+ * 6 Libraries "Undeprecated":
538
+
539
+ * ini.rb
540
+ * linkedlist.rb
541
+ * matcher.rb
542
+ * memoizer.rb
543
+ * roman.rb
544
+ * semaphore.rb
545
+
546
+ * 5 Libraries Deprecated:
547
+
548
+ * fileable.rb (too esoteric)
549
+ * ioredirect.rb (needs better implementation)
550
+ * coroutine.rb (because of Fiber)
551
+ * capsule.rb (may be spun-off)
552
+ * recorder.rb (may be spun-off)
553
+
554
+ * 3 Libraries Spun-Off and Deprecated:
555
+
556
+ * ansicode.rb ansi
557
+ * progressbar.rb ansi
558
+ * logger.rb ansi
559
+
560
+ * Additonal Enhancements:
561
+
562
+ * Kernel#extend can now take a block
563
+ * Fixed kernel#d so it is useable
564
+ * Added Range#at_rand (thanks to Tyler Rick)
565
+ * Added Enumerable#map_detect (thanks to Scott Taylor)
566
+ * String#/ calls File.join
567
+ * Added String#newlines and String#cleanlines
568
+ * String#titlecase includes apostrophe in words
569
+ * BasicObject/BlankSlate is more compliant with 1.9.1 design
570
+ * Enumerable#count can take multiple items, treats as logical Or
571
+ * Class#class_extend extends class level, not class_eval
572
+ * Integer#succ(n) becomes Fixnum#succ(n), succ.rb
573
+ * Complete rewrite of Inheritor
574
+ * Shellwords extensions have been reworked
575
+ * Added String#similarity
576
+ * Added Levenshtein String#edit_distance method
577
+ * And other minor improvements (some thanks to ccjr)
578
+
579
+
580
+ ## 2.7.0 / 2009-08-01
581
+
582
+ Facets 2.7 is the biggest release of Facets since 2.4. Rather then trickle-release these
583
+ changes over the course of the 2.6.x series, I made the decision to let 2.7 have them
584
+ all at once. In so doing this release nearly completes the process of trimming down
585
+ the MORE library to its essentials. Over 40 high-level libraries have been spun-off
586
+ as separate gems and/or deprecated. No doubt this is a big change for Facets, and the
587
+ transition may be a bit bumpy over the short-term, but I am certain that in the long-run
588
+ everyone involved will be better served. To help, I have listed the effected libraries
589
+ and the alternate gems availble to take their place.
590
+
591
+ A few other changes have also been made in the release that may also effect your code.
592
+ In particular you should note that #class_extension has been renamed to #class_extend
593
+ (require 'facets/class_extend'). In addition we have added a few new core methods such
594
+ as Exception#raised? and Symbol#thrown?.
595
+
596
+ Changes:
597
+
598
+ * Spun-Off Projects
599
+
600
+ These libraries have been deprectated from Facets entirely, but are available
601
+ as separate gems (or soon will be).
602
+
603
+ LIBRARY GEM
604
+ -------------------- ------------------------------
605
+ overload.rb overload
606
+ binreadable.rb binaryio
607
+ downloader.rb downloader
608
+ xoxo.rb xoxo
609
+ bicrypt.rb bicrypt
610
+ typecast.rb typecast
611
+ association.rb association
612
+ syncarray.rb sync
613
+ synchash.rb sync
614
+ paramix.rb paramix
615
+ crypt.rb crypt3
616
+ lrucache.rb lrucache
617
+ net/smtp_tls.rb smtp_tls
618
+ advisable.rb advisable
619
+ buildable.rb buildable
620
+ memoizer.rb memoizer
621
+ harray.rb sparray
622
+ sparse_array.rb sparray
623
+ iteration.rb iteration
624
+ interval.rb stick
625
+ infinity.rb stick
626
+ pool.rb pool
627
+ linkedlist.rb linkedlist
628
+ semaphore.rb semaphore
629
+ pqueue.rb pqueue
630
+ censor.rb language
631
+ matcher.rb language
632
+ basex.rb radix
633
+ minitar.rb archive-tar-minitar -or- folio
634
+
635
+ * Spun-Off But Still Available
636
+
637
+ These libraries have been spun-off into stand-alone gems, but remain
638
+ available via Facets too. Ultimately some of these will be removed
639
+ from Facets too (in particular the ansi libraries).
640
+
641
+ LIBRARY GEM
642
+ -------------------- ------------------------------
643
+ ansicode.rb ansi
644
+ progressbar.rb ansi
645
+ logger.rb ansi
646
+ tracepoint.rb tracepoint
647
+ dictionary.rb dictionary
648
+ recorder.rb recorder
649
+ ostructable.rb ostructable -or- openhash
650
+ openobject.rb openhash
651
+ opencollection.rb openhash
652
+ opencascade.rb openhash
653
+ openhash.rb openhash
654
+ openmodule.rb openmodule
655
+ fileable.rb fileable
656
+ enumerablepass.rb enumargs
657
+
658
+ * Deprecations Without Current Replacement
659
+
660
+ The libraries have been deprecated but do not yet have replacements.
661
+ Seperate gems for these are planned though.
662
+
663
+ bbcode.rb
664
+ ini.rb
665
+ settings.rb
666
+ xmlhash.rb
667
+
668
+ * Deprecations Merged Into CORE
669
+
670
+ These libraries have been deprecated because their functionality was merged into
671
+ the CORE library and/or made available in some another way.
672
+
673
+ 1stclassmethod.rb #method! and #instance_method! are now part of CORE.
674
+ elementor.rb #per has been added to CORE.
675
+ elementwise.rb #ewise has been added to CORE.
676
+ consoleutils.rb #ask is in CORE, for the rest see Ansi or Clio project.
677
+ attr.rb Added Module#attr_setter to CORE, and separated the rest in MORE.
678
+
679
+ * General Deprecations
680
+
681
+ These libraries have simply been deprecated because they were found lacking in
682
+ some significant fashion.
683
+
684
+ nilstatus.rb Poved rather useless, not to mention trivial.
685
+ heap.rb Heap was just an alias for PQueue anyway. Use 'pqueue' instead.
686
+ dependency.rb Other solutions exist that are much better (like Advisable).
687
+ classmethods.rb #class_extend solution is more robust.
688
+ ziputils.rb Have a look at Folio (gem install folio) for replacement.
689
+ unheritable.rb Implementation is trivial and usefulness questionable.
690
+ instantise.rb Replaced by instance_function.rb.
691
+
692
+ * Other Enhancements
693
+
694
+ * Fixed Proc#curry to work with #define_method (Thanks to R.Potter)
695
+ * Module#class_extension has been renamed to #class_extend (require 'facets/class_extend').
696
+ * kernel#instance is no longer in core; now it is an extra monkey patch for #instance_eval.
697
+ * Kernel#this has been removed. It is equivalent to 'method(__method__)'.
698
+ * BlankSlate is now an alias for BasicObject, and will be deprecated in the future.
699
+ * Kernel#method! and Module#instance_method! now use a global variable for their cache.
700
+ * #object_state (old name was #state) has been added to core.
701
+
702
+
703
+ ## 2.6.0 / 2009-07-03
704
+
705
+ Facets 2.6.0 removes htmlfilter.rb and cssfilter.rb due to licensing
706
+ incompatability. These scripts are now available as a separate package
707
+ called 'htmlfilter'. Also removed are a few MORE libs that were too
708
+ expiremental and/or not robust enough. Effectively this finishes up
709
+ the "spring cleaning" of the MORE lib mentioned a few releases back.
710
+
711
+ But it also marks a new start in trimming MORE down further. We have
712
+ decided to do this for three reasons 1) Some of the MORE libs would
713
+ be better served as separate projects. 2) Facets will become a tighter
714
+ library, primarily focused on extensions. And 3) all libraries involved
715
+ will become easier to maintain and thus more robust in the long run.
716
+
717
+ This release also fixes an important arity bug with the recently added
718
+ Module#extend method --one of the very few actual core overrides in Facets.
719
+
720
+ Changes:
721
+
722
+ * 7 Major Enhancements
723
+
724
+ * Removed htmlfilter.rb due to licensing issues.
725
+ * Also removed cssfilter.rb ('gem install htmlfilter' now)
726
+ * Removed rwdelegator.rb, simply not a robust solution.
727
+ * Removed buildable.rb, api is too confusing.
728
+ * Removed meta.rb which was not very useful and too expiremental anyway.
729
+ * Removed prototype.rb, which needs it's own project.
730
+
731
+ * 3 Minor Enhancements
732
+
733
+ * Removed Kernel#__HERE__ as it simply cannot work.
734
+ (Ruby 1.9.2 will offer #source_location for the same, btw)
735
+ * Returned binding/opvars to core.
736
+ * Added Integer#length as suggested by Victor H. Goff III.
737
+
738
+ * 1 Bug Fix
739
+
740
+ * Fixed arity issue with Module#extend.
741
+
742
+
743
+ ## 2.5.2 / 2009-04-07
744
+
745
+ Facets 2.5.2 is a simple maintentance release which fixed a few issues
746
+ in the new to_hash.rb library. This release also added String#lowercase
747
+ and String#uppercae.
748
+
749
+ Changes:
750
+
751
+ * 1 Major Enhancement
752
+
753
+ * added string/uppercase and lowercase
754
+
755
+ * 1 Minor Enhancement
756
+
757
+ * adjustments to to_hash.rb
758
+
759
+
760
+ ## 2.5.1 / 2009-03-05
761
+
762
+ Facets 2.5.1 fixes a few bugs, makes some small but nice additions
763
+ and improves 1.9 compatibility.
764
+
765
+ The most important addition to make note of is Object#extend, which has
766
+ been overridden to allow a block parameter. This is one of only two or three
767
+ actual "monkey patches" in all of Facets. The block, when provided,
768
+ is used to create an annonymous module which then extends the reciever.
769
+ This is a "good practice" way to extend objects, rather than using class_eval
770
+ on the singleton class.
771
+
772
+ Special thanks to Erik Veenstra, Pit Capitan and especially Sandor Szücs
773
+ for their contributions to this release.
774
+
775
+ Changes:
776
+
777
+ * 7 Major Enhancements
778
+
779
+ * added Hash#group_by_value (thanks to Erik Veenstra)
780
+ * added String#file
781
+ * added Hash#new_with (Pit Capitan)
782
+ * added module/extend.rb, now can take a block.
783
+ * added hook.rb
784
+ * added to_h_auto
785
+ * overhauled to_hash.rb, now has multiple methods
786
+
787
+ * 10 Bug Fixes
788
+
789
+ * corrected ostruct.rb to test for frozen state on updates
790
+ * fixed String#left_align
791
+ * fixed conflict between test_name.rb and test_arguments.rb
792
+ * fixed Enumreable#split when reciever is empty array
793
+ * fixed coruption of reciever by Hash#collate (thanks to Tilo Sloboda)
794
+ * fixed Array#to_h, h={} was not initialized
795
+ * fixed test of Module#conflict according ruby19
796
+ * fixed Hash#dearray_singluar_values
797
+ * association.rb stores reference when using #new
798
+ * changed Array#product to make it compatible to ruby 19, deleted block parameter
799
+
800
+ * 5 Minor Enhancements
801
+
802
+ * split enumerable/collect into map_with_index and compact_map
803
+ * improved Array#to_h for 1.9 using flatten(1)
804
+ * Dictionary#replace can take regular Hash too
805
+ * move test_to_hash.rb from more to core
806
+ * Doc'd that UnboundMethod#name returns Symbol in 1.9, but String in 1.8
807
+
808
+
809
+ ## 2.5.0 / 2008-11-23
810
+
811
+ Facets 2.5.0 is an important milestone in the development of Facets.
812
+
813
+ This release has been tested against Rails' ActiveSupport library.
814
+ As long as Facets is loaded after ActiveSupport, everything
815
+ should work fine. Of course, there's no counting for real world
816
+ trials, but all ActiveSupport testcases pass under this scenario.
817
+
818
+ Secondly, this release is the first of two (or three) down-scaling
819
+ releases intended to remove all the remaining "excess" from the
820
+ library. This is being done for a variety of reasons. Some scripts
821
+ are substantial enough to be one their own and have been spun-off
822
+ into separate largely compatible projects. In this release:
823
+
824
+ If you were using... Use this project instead...
825
+
826
+ annotations.rb Anise
827
+
828
+ bytes.rb RichUnits
829
+ times.rb
830
+
831
+ command.rb Clio
832
+ consoleutils.rb
833
+
834
+ A few others scripts have been deprecated, without an alternative
835
+ recourse, simply because they were too weak, such as uploadutils.rb,
836
+ or highly experimental, such as chain.rb and eventhook.rb.
837
+
838
+ Although this release constitutes an over all slimming down of Facets,
839
+ two excellent new libraries have been added.
840
+
841
+ 1) *ini.rb* by Jeena Paradies. While YAML is frequently used by
842
+ Rubyists for configuration files, a full-on serializer like YAML
843
+ is often overkill. INI files provide a lightweight solution
844
+ specifically geared for configuration.
845
+
846
+ 2) *filter.rb* by Brian Candler offers lazy evaluation chains of
847
+ Enumerable methods. This is an elegant way to optimize contiguous
848
+ maps, selections, etc. --effective even on infinite enumerators.
849
+ (Note, the name of this library may be changed in the next release.)
850
+
851
+ While work remains to be done, I am happy to say, Facets is
852
+ finally beginning to approach the level of solidity I set out to
853
+ achieve just over a year ago. Thank the Maker!
854
+
855
+ Special thanks to Brian Candler, Jeena Paradies and Tyler Rick.
856
+
857
+ Changes:
858
+
859
+ * 9 Major Changes
860
+
861
+ * added Brian Candler's Enumerator::Filter
862
+ * added sparse_array.rb (was old harray.rb)
863
+ * added Jeena Paradies' ini.rb
864
+ * renamed CacheDelegator to Memoizer
865
+ * renamed DictionaryMatcher to just Matcher
866
+ * deprecated bytes.rb and times.rb (use RichUnits instead)
867
+ * deprecated uploadutils.rb; ziputils.rb will be (use Folio)
868
+ * deprecated annotations.rb (use Anise instead)
869
+ * deprecated command.rb and consoleutils.rb (use Clio instead)
870
+
871
+ * 5 Minor Changes
872
+
873
+ * deprecated chain.rb (very expiremental)
874
+ * deprecated eventhook.rb (moved to ToadCode project)
875
+ * deprecated tagiter.rb (moved to ToadCode project)
876
+ * moved Hash#symolize_keys and #stringify_keys to core lib
877
+ (still recommend #rekey instead though)
878
+ * switched to git as of 2.4.5
879
+
880
+ * 4 Bug Fixes
881
+
882
+ * memoize.rb, cache was at class-level, now at instance-level
883
+ * binding/caller.rb, fixed require for callstack.rb
884
+ * fixed missing require in string/tabto.rb
885
+ * Fixed some bugs with Time#ago/Time#hence not changing years
886
+ correctly when you changed months.
887
+ (For example, Time.utc(2008, 1, 1).ago(12, :months) incorrectly
888
+ returned 2009-01-01 instead of 2007-01-01.)
889
+ Changed Time#ago/Time#hence to still work if passed negative number.
890
+
891
+
892
+ ## 2.4.5 / 2008-10-02
893
+
894
+ Facets 2.4.5 is a maintaince release. This release is notable however in that
895
+ it will likely be the last that to use SVN. Facets will be switching to Git.
896
+ Also, some libraries that have been flagged "to be deprecated" for some time
897
+ will finally be so.
898
+
899
+ Changes:
900
+
901
+ * 8 Major Enhancements
902
+
903
+ * Re-added date.rb to lore library, and removed from core. (#r1014)
904
+ * Much improved date.rb extension now in Lore library. (#r1027)
905
+ * Deprecated kernel/suppress. Use Exception.suppress from now on. (#r1040)
906
+ * Deprecated string/style.rb. Use English project instead. (#r1074)
907
+ * Console namespace is no longer supported (for Ansicode). (#r1077)
908
+ * enumerable/mode.rb, Enumerable#mode returns array since there can be more than one. (#r1079)
909
+ * OpenCascade automatically creates nodes, use foo? to query. (#r1056)
910
+ * Change #index_of to #index which now takes a block.
911
+
912
+ * 14 Minor Enhancements
913
+
914
+ * OpenStruct.new can now take a default block, like Hash.new.
915
+ * Moved variablize methods out of metaid.rb and into separate files (string/ and symbol/). (#r1042)
916
+ * Added Time#advance. (#r1046)
917
+ * Speed up of Integer odd/even methods. (#r1057)
918
+ * Array#index now takes a block (this is a core override). (#r1059)
919
+ * Spilt file/write.rb into separate method files (append, create, writelines). (#r1073)
920
+ * Modified Enumerable#split to behave like String#split. (#r1076)
921
+ * hash/op.rb, split into separate method files. (#r1081)
922
+ * Added string/modulize. string/methodize handles path names now too. (#r1085)
923
+ * Class#cattr is now part of core. (#r1089)
924
+ * Modified Enumerable#split to behave like String#split. [minor]
925
+ * Removed Rope class. If anything this will have a separate project.
926
+ * Added doc/news.html and doc/authors.html to website (temporarily?).
927
+ * Added zlib.rb to Lore library.
928
+
929
+ * 7 Bug Fixes
930
+
931
+ * OpenStruct#to_h dups internal table. (#r1015)
932
+ * Fixed require of string/xor in bicrypt.rb. (#r1039)
933
+ * integer/odd.rb, fixed Ruby 1.9 condition. (#r1080)
934
+ * class/cattr_*.rb fix require bug
935
+ * opencascade.rb, fixed bug when accessing sub-hash.
936
+ * typecast.rb, fixed require for string/methodize.
937
+ * Fixed Pathname#glob to ensure use of ::File.
938
+
939
+
940
+ ## 2.4.4 / 2008-09-01
941
+
942
+ Facets 2.4.4 includes a major bug fix that caused Facets not to load properly,
943
+ having to do with a Time extension. The problem has been fixed. In addition,
944
+ this release put Facets only a few pending adjustments away from full
945
+ Rails/ActiveSupport compatibility.
946
+
947
+ Changes:
948
+
949
+ * 10 Major Enhancements
950
+
951
+ * Added string/mask providing powerful string manipulation. (#997)
952
+ * BasicObject is now just a synonm for BlankSlate unless Ruby 1.9. (#1000)
953
+ * Added Symbol#plain?, Symbol#query? and Symbol#setter? (#1011)
954
+ * Removed Time#to_date.
955
+ * Due to clobberd RI Docs (!) this should have been in Lore lib date.rb
956
+ * Moved to Lore date.rb. (#1012)
957
+ * Re-added date.rb to lore library, and removed from core. (#1014)
958
+ * Much improved date.rb extension now in Lore library. (#1027)
959
+ * Deprecated kernel/suppress. Use Exception.suppress from now on. (#1040)
960
+ * Improved date.rb and moved to LORE library, and removed from CORE. [major]
961
+ * Deprecated kernel/suppress. Use Exception.suppress from now on. [major]
962
+ * Deprecated String#to_time.
963
+ * This method reqiures the loading of a number of other standard libs.
964
+ * We can reconsider adding it again if we decide these other libs should be core.
965
+ * Or if we find a more suitable way to define the method.
966
+
967
+ * 17 Minor Enhancements
968
+
969
+ * Moved style.rb to string/stylize.rb (#998)
970
+ * Renamed string/subtract to string/op_sub.
971
+ Old name will remain for time being for compatability. (#1002)
972
+ * Module#instance_method_define? now only applies to public methods. (#1003)
973
+ * Array#index accepts a block (one of the few core overrides). (#1004)
974
+ * Moved Hash#<< from hash/update.rb to hash/op_push.rb (#1005)
975
+ * Add facets class files (eg. facets/string) have been made dynamic. (#1013)
976
+ * Moved variablize methods out of metaid.rb and into separate files (string/ and symbol/). (#1042)
977
+ * Added Time#advance. (#1046)
978
+ * Added qua_class.rb. Yea. It really is my favorite.
979
+ * Added simple functional test that loads all of Facets.
980
+ * Added a benchmark for measuring how fast Facets loads. (Core < 1sec!)
981
+ * Made Module#alias_method_chain a public method (for better Rails support).
982
+ * Wrapped Nilclass#to_f in 1.9 condition.
983
+ * float/round.rb redirects to numeric/round.rb.
984
+ * numeric/float.rb holds rounding methods for all classed Numeric, Integer and Float.
985
+ * Replaced Kernel#instance_exec with Mauricio's version.
986
+ * Improved String#each_char to work like Ruby 1.9.
987
+ * This loads strscan.rb.
988
+ * It is wrapped in a 1.9 condition.
989
+
990
+ * 8 Bug Fixes
991
+
992
+ * Hash#<< now returns self (#1001)
993
+ * OpenStruct#to_h dups internal table. (#1015)
994
+ * Fixed require of string/xor in bicrypt.rb. (#1039)
995
+ * Fixed facets.rb to use relative paths.
996
+ * Fixed cgi.rb (CGI is a class not a module).
997
+ * OpenStruct#to_h dups internal table. [bug]
998
+ * Fixed require of string/xor in bicrypt.rb. [bug]
999
+ * date.rb (stamp) fixed ref to constant FORMAT.
1000
+
1001
+
1002
+ ## 2.4.3 / 2008-08-14
1003
+
1004
+ Facets is almost fully interoperable with ActiveSupport and Ruby 1.9.
1005
+ We will continue to improve this interoperability in upcoming releases.
1006
+
1007
+ As a REMINDER, Facets 2.4+ now encourages:
1008
+
1009
+ require 'facets'
1010
+
1011
+ This is better than cherry-picking methods. It may seem counter-intuitive,
1012
+ but it actually proves more advantages to do this for the sake of
1013
+ improved interoperability. The practice of cherry-picking can become
1014
+ problematic if other dependent libraries have cherry-picked different
1015
+ methods. In those cases these distinctions go unaccounted and untested.
1016
+
1017
+ Note that this release does not include a setup.rb script. We are working
1018
+ on a new version of this script, which we plan to include in the next release.
1019
+
1020
+ This release give special thanks to the following people for their contributions:
1021
+ Ken Bloom, Nick Caruso, Evgeniy Dolzhenko, Andy Freeman, Tomasz Muras and Dave Myron.
1022
+ And of course, to anyone else I failed to mention that has contributed.
1023
+
1024
+ (NOTE: 2.4.3's changes may actually be long to 2.4.2. Notice the releases are
1025
+ only two days apart. There was an issue with 2.4.2 and it had to be replaced
1026
+ immediately. So take the distinct with a grain of salt.)
1027
+
1028
+ Changes:
1029
+
1030
+ * Additions
1031
+
1032
+ * Add Time#trunc and Time#round to Core.
1033
+ * Add Array#recursively and fixed bug in Hash#recursively.
1034
+ * Add Kernel#instance method which provides a fluent interface to private object space.
1035
+ * Add Symbol#plain?, Symbol#query? and Symbol#setter?
1036
+ * Add Hash#symbolize_keys and #stringify_keys.
1037
+ * Add File#split_root.
1038
+ * Add #glob and #glob_first as extensions to Pathname.
1039
+ * Add NilClass#ergo whic points back to kernel/ergo.
1040
+ * Add #bump method to VersionNumber class.
1041
+ * Add String#mask providing powerful string manipulation.
1042
+ * Add Ken Bloom's DictionaryMatcher class (will be renamed in future version)
1043
+
1044
+ * Deprecations
1045
+
1046
+ * Deprecate Hash#keys_to_s and Hash#keys_to_sym.
1047
+ * These are the original versions of these methods.
1048
+ * But now we can use #rekey(:to_s) and #rekey(:to_sym) instead.
1049
+ * Deprecat ruby.rb, which was a sort 1.9 compatibility layer.
1050
+
1051
+ * 22 Major Enhancements
1052
+
1053
+ * Changed File#rewrite to not use the in-place change of the string.
1054
+ * Renamed Class#to_pathname and #to_methodname to #pathize and #methodize.
1055
+ * Removed Console:: namespace for ANSICode.
1056
+ * Moved Mentalguy's lazy.rb to core!
1057
+ * Added Indexable and Stackable to core.
1058
+ * BasicObject is now just a synonm for BlankSlate unless Ruby 1.9. [major]
1059
+ * Moved Indexable and Stackable to core.
1060
+ * Renamed arguments.rb and CLI::Arguments to argvector.rb and Argvector.
1061
+ * Added optional argument to Dictionary#first and #last.
1062
+ * Moved binding/opvars from core to more.
1063
+
1064
+ * 19 Minor Enhancements
1065
+
1066
+ * Improved File#rootname --it is now more robust.
1067
+ * Made FileUtils#whereis a module_function again.
1068
+ * Created Lore library to house extensions to Ruby's standard library.
1069
+ * Re-added facets class files (eg. facets/string) and are now dynamic.
1070
+ * Added block to Array#index.
1071
+ * This is one of the few core overrides in Facets.
1072
+ * It is a feature already in Ruby 1.9.
1073
+ * Added Jim Weirich's BlankSlate class.
1074
+ * This is a temporary measure be compatible w/ AcitveSupport's BasicObject.
1075
+ * Split kernel/load.rb into require_all.rb and require_local.rb.
1076
+ * Split module/alias.rb up into alias_accessor, alias_module_function and alias_method_chain.
1077
+ * Renamed string/subtract to string/op_sub.
1078
+ Old name will remain for time being for compatability. [minor]
1079
+ * Moved style.rb to string/stylize.rb [minor]
1080
+ * Added warning to bytes to use RichUnits instead.
1081
+ * Updated warn line fore eventual deprecation of fileshell and arguments.*
1082
+ * Added facets-load.rb to allow old school cherry picking.*
1083
+ * Between 2.0 and 2.4 require 'facets' simply added core to LOAD_PATH.
1084
+ * Starting with 2.4 it loads all of core automatically instead.
1085
+ * facets-load.rb provides a way to use the old behavior.
1086
+ require 'facets-load.rb
1087
+ require 'kernel/with'
1088
+ require 'symbol/to_proc'
1089
+ * This adds the path to the end of LOAD_PATH to prevent any load conflicts.
1090
+
1091
+ * 5 Bug Fixes
1092
+
1093
+ * Fixed Time#hence changed years when changing months.
1094
+ * Fixed Time#hence to flip year correctly when adding months.
1095
+ * Hash#<< returns self
1096
+ * Fixed String#pathize.
1097
+ * Module#instance_method_defined? now only applies to public methods.
1098
+
1099
+ * Administrative Enhancements
1100
+
1101
+ * While not perceptible to an end user, there are now 3 divisions: lib/core, lib/lore, lib/more.
1102
+ * Modified script/test to display $LOAD_PATH before running tests.
1103
+
1104
+ ## 2.4.2 / 2008-08-12
1105
+
1106
+ Just some more of those great old work your ass off changes.
1107
+
1108
+ Changes:
1109
+
1110
+ * Major Enhancements
1111
+
1112
+ * Added Ken Bloom's DictionaryMatcher class from Ruby Quiz #103.
1113
+ (Note this class will probably be renamed in the future.)
1114
+ * Changed File#rewrite to not use the inplace change of the string.
1115
+ * If you were using the function, change your code to use File#rewrite! instead.
1116
+ * Or, modify your code ot use the new behavior.
1117
+ * This change can make for a slippery bug, so be sure to check for it!
1118
+ * Moved live.rb to facets-live.rb.
1119
+ * Added kernel/instance method which provides a fluent interface to private object space.
1120
+
1121
+ * 5 Minor Enhancements
1122
+
1123
+ * Added sow generation forms.
1124
+ * Spilt Time#trunc into separate file.
1125
+ * Remove old log files --shouldn't version control these.
1126
+ * Added note to FileList to add glob options parameter.
1127
+ * Added optional argument to Dictionary#first and #last.
1128
+
1129
+ * Other Enhancements
1130
+
1131
+ * Move "lore" tests to test/lore (lore are extensions to Ruby's standard lib).
1132
+ * Added test/core, test/lore and test/more.
1133
+ * Added time/test_round.rb
1134
+ * Added array/recursively.
1135
+ * Added time/round.
1136
+ * Time#to_date makes the public (it already existed in Ruby!)
1137
+ * Fixed Time#hence to flip year correctly when adding months.
1138
+ * Work on documentation using new Sow system.
1139
+ * Moved meta.rb to more/kernel/meta.rb and merged facets/core.rb into facets.rb.
1140
+ * Added more/kernel directory --hey not every extension can be core.
1141
+ * Adjusted loadpath and moved lazy.rb to core!
1142
+ * Moved remaing files to subdirectory locations.
1143
+ * Moved most core libs to core/.
1144
+ * Move most more files to the more directory.
1145
+ * Added lore and more directories.
1146
+ * Added facets/core directory. Yes, I'm spiliting the lib again.
1147
+ * Loadpath will be used, so user inteface will stay the same.
1148
+ * Setup.rb will be adjusted to recognaize loadpath.
1149
+ * Removed Rope class. If anything this will have a separate project.
1150
+ * Moved setup.rb to script/setup.
1151
+ * This will either be replaced with configure/install scripts.
1152
+ * Or, depend on a separate ruby setup.rb project.
1153
+ * Added recorder.rb to consider in work directory.
1154
+ * Added admin directory.
1155
+ * Added "TO BE DEPRECATED" message to ruby.rb.
1156
+ * Added all methods from ruby.rb as individual core methods.
1157
+ * These are the methods that overlap with 1.9.
1158
+ * They are encased in 'unless RUBY_VERSION' caluses.
1159
+ * Imporved file/rootname --now much more robust.
1160
+ * Added Kernel#to_yamlfrag to yaml.rb as way to output yaml w/o the "---" header.
1161
+ * Perhaps not the most robust solution, but okay for now.
1162
+ * Maybe a poor name for the method, but you got a better one?
1163
+ * Made FileUtils#whereis a module_function again like it used to be. Because:
1164
+ (1) that seems to be the way most other FileUtils methods are (cd, mkdir, cp, ...) and the most
1165
+ obvious way that users would WANT to use FileUtils: FileUtils.whereis("ruby").
1166
+ (2) I see module_function used in other comparible parts of Facets: UploadUtils, ConsoleUtils,
1167
+ ZipUtils, FileUtils#safe_ln, ...
1168
+ (3) My code that relied on the old module_function behavior was breaking
1169
+ What were you thinking changing it?? ;)
1170
+
1171
+
1172
+ ## 2.4.1 / 2008-04-03
1173
+
1174
+ This release takes aim at improving compatability with ActiveSupport.
1175
+ It also reintroduces an improved paramix.rb.
1176
+
1177
+ Changes:
1178
+
1179
+ * 4 Major Enhancements
1180
+
1181
+ * A much improved paramix.rb has been returned to the library.
1182
+ * There a no longer capitialize module methods at all.
1183
+ * Use Module#[] and mixin_params[] instead.
1184
+ * Deprecated behavior.rb. It was not robust.
1185
+ * Added basex.rb, for working in any encoding base using any character set (base62 is the default).
1186
+
1187
+ * 3 Minor Enhancements
1188
+
1189
+ * Comparing to ActiveSupport, found 63 extension clashes, but most are due to 1.9 features.
1190
+ The rest should be compatible.
1191
+ * Reatomized a number of Kernel and String methods. Reatomization is nearly complete.
1192
+ * Continued work on reatomizing core extensions (nearly complete now).
1193
+
1194
+
1195
+ ## 2.4.0 / 2008-03-24
1196
+
1197
+ Facets 2.4 is a major step forward for Facets. It is perhaps the release
1198
+ that 2.0 should have been, but of course it took the actual 2.0 release
1199
+ to make 2.4 possible. Some annoyances you may have encountered in updating
1200
+ your code to 2.0 are now fixed. And from 2.4 on, Facets will now be
1201
+ settling down into simple refinement release cycles for a while.
1202
+
1203
+ The main change under the hood is to bring everything up to the top
1204
+ lib/facets/ directory. No longer are the libraries sorted by category.
1205
+ I had done so for a long time to make it easier to track the various libs,
1206
+ but in the end it was only making it more diffcult to deal with build tools
1207
+ and packaging.
1208
+
1209
+ For the end-user, the largest change is a new emphisis on:
1210
+
1211
+ require 'facets'
1212
+
1213
+ This is better than cherry-picking methods. It may seem counter-
1214
+ intuitive, but it actually proves more advantantages to do this
1215
+ for the sake of interoperability than the practice of cherry-picking.
1216
+ The reason is simply because others may have cherry-picked different
1217
+ methods, and those distinctions go unaccounted and untested.
1218
+
1219
+ Also with this release, to bolster the use of require 'facets',
1220
+ some lack-luster extensions have been deprecated and namespace usage
1221
+ has been improved. In addition, we are getting very close to full
1222
+ ActiveSupport, and Ruby 1.9, interoperability. Expect this
1223
+ to be complete in the next minor release or two.
1224
+
1225
+ Changes:
1226
+
1227
+ * Enhancements
1228
+
1229
+ * String#to_re and String#to_rx have swapped default behaviors. #to_rx escapes, #to_re does not.
1230
+ * The Console namespace is being deprecated. command.rb and arguments.rb now use CLI naemspace.
1231
+ * #compare_on and #equate_on are now "mixin methods" Comparable() and Equateable().
1232
+ * Enumerable#product, #combintations and #permutations have change to be Ruby 1.9 compatible.
1233
+ * thread.rb, map_send, et al, block is passed to send instead of yielding on result.
1234
+ * namespace.rb has been renamed to methodspace.rb.
1235
+ * Ruby 1.9 defined a new Proc#curry method, so Facets version has been made compatible.
1236
+ * The old curry method is now called #partial, as in "partial application".
1237
+ * Deprecated interface.rb. Perhaps a better approach but nonetheless extraneous.
1238
+ * Deprecated paramix.rb. A better way is to use a capitialized methods. (Perhaps a lib for that?)
1239
+ * Brought back a few web related libs, htmlfilter.rb and cssfilter.rb in particular.
1240
+ * camelcase and snakecase are core extensions. For specialized styles use String#style in style.rb.
1241
+ * Renamed ArgVector to CLI::Arguments
1242
+ * Moved one_nine.rb to ruby.rb
1243
+ * Moved test/test_one_nine.rb to test/test_ruby.rb.
1244
+ * Updated requires for "one_nine" to just "ruby" b/c of backports to 1.8.7.
1245
+ * Added warning to Rick Kilmers's unit system.
1246
+ * Moving Rich Kilmers's units system to it's own package.
1247
+ * Three are alternate unit systems available and Facets should work with any of them.
1248
+ * Will keep a fair amount of the Time extensions though.
1249
+ * Moved nil/status.rb to nilstatus.rb
1250
+ * Got rid of Method#curry and Method#partial since they just convert to Procs.
1251
+ * Made op_esc.rb a separate module rather thanan extension.
1252
+ * Deprecated with_reader, with_writer and with_accessor for attr_singleton_reader, &c.
1253
+ * Deprecated Hash#pairs_at. Use Hash#slice instead from core.
1254
+ * Fixed the namespaces of some extensions.
1255
+ * Added prime directory and files.
1256
+ * Removed all "prime" extension files.
1257
+ * Move mattr to module.
1258
+ * Fixed require bug in time methods.
1259
+ * Reverted memomize.rb back to original code --will come back to later.
1260
+ * Added stylizer.rb to replace stylize.rb
1261
+ * Array #recursively is not only called #traverse.
1262
+ * Added case/stylize methods to more/facets/string.
1263
+ * Renamed more/string/facets/titlecase to captialize_all.
1264
+ * Added uri and xoxo tests.
1265
+ * Progressive work on memoize and elementor.
1266
+ * Functor no longer privatizes =, == and =~.
1267
+ * Properly split conversion.rb.
1268
+ * Some string methods extracted from stylize.rb.
1269
+ * Moved random.rb to more/.
1270
+ * Renamed namespace.eb to methodspace.rb.
1271
+ * Moved autoreload to more/facets/kernel.
1272
+ * Removed old curry.rb.
1273
+ * Added cgi.rb with some standard extensions.
1274
+ * Deprecated paramix.rb.
1275
+ * Added xmlhash.rb and returned uri.rb extensions to the library.
1276
+ * Added #method_name to Date class.
1277
+ * Remove cut-bases AOP, now in it's own library.
1278
+ * Converted compare_on.rb to Paramtric Mixins.
1279
+ * Split fileutils up into individual methods.
1280
+ * Renamed console.rb to what it should be consoleutils.rb.
1281
+ * Update to command.rb integrating MasterCommand and Command into a single class.
1282
+ * Added options back into multiglob_r.
1283
+ * Improved cloneable.rb to be a true deep dup/clone mixin using Ken Bloom's suggestion.
1284
+ * Added tasksystem.rb.
1285
+ * Added enumerable/combinations.
1286
+ * Added openhash and tracepoint.
1287
+
1288
+ * Bug Fixes
1289
+
1290
+ * Fixed bug with #peek in stackable.
1291
+ * Fixed bug in Kernel#object_hexid.
1292
+ * Fixed bug in multiglob_r so it will NOT follow symlinks.
1293
+ * Fixed test_keyize.rb.
1294
+
1295
+ * Adminstrative Changes
1296
+
1297
+ * This was a fairly large and fast-paced update, so unfortunately not all changes are listed this time.
1298
+ * Added ri generation to setup.rb.
1299
+ * Updated README and allowed doc/ to be included in package.
1300
+ * Finally completed removal of all embedded tests.
1301
+ * Organized all libs between core, more, class and mixin.
1302
+
1303
+
1304
+ ## 2.3.0 / 2008-02-01
1305
+
1306
+ Amoung other changes with this release, cloneable.rb is now a true deep
1307
+ dup/clone mixin; tracepoint.rb returns to the library.
1308
+
1309
+ Changes:
1310
+
1311
+ * 4 Major Enhancements
1312
+
1313
+ * Cloneable provides true deep cloning.
1314
+ * Moved hash_keyize.rb to CORE as hash/keyize.rb.
1315
+ * Added tracepoint.rb back to the library.
1316
+ * Added hash/collate.
1317
+
1318
+ * 3 Bug Fixes
1319
+
1320
+ * Fixed multiglob_r bug, so it will NOT follow symlinks.
1321
+ * Added a couple of missing binding requires.
1322
+ * Fixed test_keyize.rb.
1323
+
1324
+ * 6 Admistrative Changes
1325
+
1326
+ * Reorganized library into smaller groups: core, more, class and mixin.
1327
+ * Remove admin/svn subdir.
1328
+ * Remove admin/log.
1329
+ * Add admin tasks.
1330
+ * Moved admin tasks to admin directory.
1331
+ * Added admin directory.
1332
+
1333
+
1334
+
1335
+ ## 2.2.1 / 2007-12-22
1336
+
1337
+ This release get rid of the underlying methods subdir.
1338
+ All method redirects are now in core, to ensure there
1339
+ are no more name clashes.
1340
+
1341
+ Changes:
1342
+
1343
+ * Method Renames
1344
+
1345
+ * Moved string/format.rb to string/wrap.rb.
1346
+ * Updated String#brief.
1347
+ * Moved binding/cflow.rb to caller.rb.
1348
+ * Moved core hash/keyize to more.
1349
+
1350
+ * Other Enhancements
1351
+
1352
+ * Fixed up binding extensions.
1353
+
1354
+ * Administrative Adjustments
1355
+
1356
+ * Got rid of methods subdir. All method redirects are in core/.
1357
+ * Moved doc/wiki to apiwiki b/c of Rubyforge's wiki.
1358
+ * Removed doc/api dir.
1359
+ * Added wiki.
1360
+ * Renamed a couple test tasks.
1361
+ * Update per-module/class files.
1362
+ * Moved methods and groups task to trash.
1363
+ * Added test class/remove_descendents.rb.
1364
+ * Added all remaining per-method require libs from methods/ (will need to wrok through these over time).
1365
+ * Added trash work directory.
1366
+ * Adjust text according to per-method file changes.
1367
+ * All hash method, but the conversion methods, are now represented in core/facets/hash.
1368
+ * Added a few more Hash per-method files.
1369
+ * Add per-method libs for hash.
1370
+ * Updated facets/string.rb.
1371
+ * Renamed ROLLRC to facets.roll.
1372
+
1373
+
1374
+ ## 2.2.0 / 2007-12-13
1375
+
1376
+ This release provides improved rdocs and prepares facets for use with Ruby 1.9.
1377
+ It also adds Matthew Harris' duration.rb library. Bug thanks to Matthew!
1378
+
1379
+ Changes:
1380
+
1381
+ * Additions
1382
+
1383
+ * Added Matthew Harris' Duration class.
1384
+ * Added Hash#slice and Hash#except (didn't we have this before?)
1385
+ * Added registerable.rb, updated history.
1386
+ * Added #include_as to facets/namespace.rb.
1387
+ * Added op.rb to string.rb.
1388
+ * Added String/op.rb with String#- method.
1389
+
1390
+ * Method Renames and Reorganizations
1391
+
1392
+ * The name Array#unzip didn't makes sense, it was renamed to #modulate (though #collate seems better?)
1393
+ * Renamed Enumerable#collate to #mash (Map hASH); #collate and #graph remain aliases for the time being.
1394
+ * Renamed accessor #attributes to #instance_attributes.
1395
+ * Renamed Enumerable #collate to #mash. (old name, along with graph, will be an alias for time being)
1396
+ * Divided enumerable/collect into split.rb and each.rb as well.
1397
+ * Moved mapsend.rb to thread.rb.
1398
+ * Updated mapsend.rb to focus on threads.
1399
+ * Moved continuation extensions to more lib.
1400
+
1401
+ * Deprecations
1402
+
1403
+ * Deprecated Module#include_and_extend. Just use both silly.
1404
+ * More lib pp_s.rb has been removed. Use #pretty_inspect instead.
1405
+ * Removed continuation from core.
1406
+ * Removed pp_s.rb (use pretty_inspect) add continuation.rb.
1407
+ * Remove kernel/require_esc.rb.
1408
+
1409
+ * Other Enhancements
1410
+
1411
+ * integer/bitmask.rb has changed a bit --pun intended ;) Deprecated some methods and now use "~" instead of "-" to clear bits.
1412
+ * Split binding extensions up a bit more finely --eval.rb sprouted here.rb, self.rb and defined.rb.
1413
+ * Move Time#stamp out of conversion.rb and into time/ dir, and remove to_s alias.
1414
+ * Preliminary addition of Matthew Harris' excellent duration.rb lib (will integrate with times.rb better in future).
1415
+ * Minor edit to basicobject.rb in light of 1.9.
1416
+ * Minor adjustments to lazy.rb to fix warnings by Ruby 1.9.
1417
+ * Added if clauses to handle upcoming Ruby 1.9 gracefully. Facets should now be just about ready for use with 1.9.
1418
+
1419
+ * Documentation Enhancements
1420
+
1421
+ * A lot of rdoc updates to core extensions --as promised ;)
1422
+ * Just about every method now has at least a brief explinaiton and an example.
1423
+
1424
+ * Administrative Adjustments
1425
+
1426
+ * Moved task/config.yaml to meta/ per new Ratch.
1427
+ * Moved task/special to task/doc.
1428
+ * Updated todo list (in dev/).
1429
+ * Copied log/history.rd to CHANGES.
1430
+ * Removed log/history.rd and log/todo.rd
1431
+ * Fixed stylize.rb for use with 1.9 (fixed case statement).
1432
+ * Separated kernel/returning, now that #tap will be in 1.9.
1433
+ * Updated facets.rb for use with 1.9.
1434
+ * Separated time/stamp.rb.
1435
+ * Divided binding up into a few more pieces.
1436
+ * Fixed kernel/instance to play nice with 1.9.
1437
+ * Added test for string/op.rb.
1438
+ * Added test_collect.rb split-offs and test_mash inplace of test_collate.
1439
+ * Cleanup test headers.
1440
+ * Added 1.9 check in continuation/create.rb.
1441
+ * Add a couple new task for rdoc gen.
1442
+ * Added nbsp to quickopts task.
1443
+ * Work on website using siteparts.
1444
+
1445
+
1446
+ ## 2.1.3 / 2007-11-28
1447
+
1448
+ This release fixes four bugs --one being fairly serious, as it prevented
1449
+ require 'facets' from working at all.
1450
+
1451
+ Changes:
1452
+
1453
+ * 4 Bug Fixes
1454
+
1455
+ * Fixed oddity in Enumerable/collate.
1456
+ * Fixed issue that prevented loading of facets.rb.
1457
+ * Array#to_h used flatten, but it needed to be flatten(1).
1458
+ * Move core/main.rb back to core/facets.rb as it conflicts with lib in more/.
1459
+
1460
+
1461
+ ## 2.1.2 / 2007-11-22
1462
+
1463
+ Changes:
1464
+
1465
+ * Additions
1466
+
1467
+ * Added Exception#details.
1468
+
1469
+ * General Enhancements
1470
+
1471
+ * Dir::multiglob no longer handels -/+ modifiers. Use FileList instead.
1472
+
1473
+ * Administrative Adjustments
1474
+
1475
+ * Fixed task/install script.
1476
+ * Improved task/changes.
1477
+
1478
+
1479
+ ## 2.1.1 / 2007-11-16
1480
+
1481
+ Changes:
1482
+
1483
+ * Additions
1484
+
1485
+ * Added kernel/ergo.rb.
1486
+ * Added pp_s.rb (Questionable addition, but we'll leave it for now.)
1487
+ * Added validation.rb. This is here for Nitro's sake --better techinques may replace it in the future.
1488
+ * Added Console::Logger to logger.rb (may be separated in future).
1489
+ * Added option arity to command.rb.
1490
+
1491
+ * Deprecations
1492
+
1493
+ * Removed tracepoint.rb.
1494
+
1495
+ * Bug Fixes
1496
+
1497
+ * Fixed bug in command.rb that clobbered options.
1498
+ * Fixed options bug in command.rb.
1499
+
1500
+
1501
+ ## 2.1.0 / 2007-11-10
1502
+
1503
+ Major changes include a new and much-improved command.rb, a new BiCrypt
1504
+ class for simple two-way crypotgraphy, as well as attr_reader!,
1505
+ attr_writer! and attr_accessor! for flag attributes, plus
1506
+ alias_xxx methods for all attr_xxx methods.
1507
+
1508
+ Changes:
1509
+
1510
+ * Additions
1511
+
1512
+ * Added BiCrypt class for simple two-way encryption.
1513
+ * module/attr.rb now has attr_reader!, attr_writer! and attr_accessor!
1514
+ * All attr_xxx methods have coresponding alias_xxx methods.
1515
+ * Added UniversalOptions module.
1516
+ * Added "tester" attribues attr_xxx!. Also added alias_xxx for all attr_xxx methods.
1517
+
1518
+ * Enhancements
1519
+
1520
+ * command.rb has been completely rewritten. The API has changed completely!
1521
+ * There is no longer a Commmand::Optoins class. Use Console::Arguments instead.
1522
+ * Moved common alias methods from attr.rb to alias.rb.
1523
+ * MasterCommand now passes (args, opts), until 1.9 is main stream.
1524
+ * Cleaned up enumerable/permutation.rb
1525
+ * Added -q option to zip method in ZipUtils.
1526
+ * Ok. #p is back. This will in fact be in 1.9, so we're good.
1527
+
1528
+ * Bug Fixes
1529
+
1530
+ * Fixed bug in Enumerable#cluster_by which returned nil instead of [].
1531
+ * Fixed minor bug in arguments.rb that prevented proper repeat parameters.
1532
+ * Fixed bug in to_console.
1533
+ * Fixed bug in enumerable/cluster_by (returned nil instead of []).
1534
+ * Fixed bug in Hash#- Thanks to Xavier Shay.
1535
+ * Fixed to_h in Command::Options
1536
+
1537
+ * Admin Changes
1538
+
1539
+ * Added dev/test
1540
+ * Renamed RELEASE to WHATSNEW
1541
+ * Added injecting test and cleaned up.
1542
+ * Added comment for potential future #is.
1543
+ * Added top-level log directory.
1544
+ * Remove #q reference from RELEASE.
1545
+ * Cleanup of test_initializer.rb.
1546
+
1547
+
1548
+ ## 2.0.5 / 2007-11-07
1549
+
1550
+ Minor release that fixes a couple of bugs and adds the last of
1551
+ adopted methods from Gavin Sinclair's Extensions project.
1552
+
1553
+ Also, renamed #p to #q, because of multiple args problem.
1554
+ I don't know how Ruby 1.9 plans to handle multiple args.
1555
+ Will deprecate for 1.9 anyway so doesn't matter much.
1556
+
1557
+ Changes:
1558
+
1559
+ * Additions
1560
+
1561
+ * Added final methods Gavin Sinclair's Extensions project. (Noah Gibbs)
1562
+
1563
+ * General Improvements
1564
+
1565
+ * Made #alias_method_chain compatible with current ActiveSupport version.
1566
+ * Rename #p to #q, because of multiple args problem.
1567
+ * Allow Class#initializer to return the attribute names.
1568
+
1569
+ * Bug Fixes
1570
+
1571
+ * Fixe return bug in hash/op.rb.
1572
+ * Fixe bug with Dictionary#initialize.
1573
+ * Fixe bug with Hash#-. (Xavier Shay)
1574
+
1575
+ * Admin Adjustments
1576
+
1577
+ * Fixed package name in icli.yaml.
1578
+ * Added name field to meta/icli.yaml.
1579
+ * Added meta/icli.yaml.
1580
+ * Added a RELEASE file to hold current release notes.
1581
+ * Added log task.
1582
+ * Added changelog file in doc/log/.
1583
+
1584
+
1585
+ ## 2.0.4 / 2007-11-04
1586
+
1587
+ Changes:
1588
+
1589
+ * Unsorted Changes
1590
+
1591
+ * Up'd version to 2.0.4.
1592
+ * Update task/groups.
1593
+ * Removed extest task. We will no longer need it.
1594
+ * Minor update to rdoc.yaml.
1595
+ * Renamed old changelogs.
1596
+
1597
+
1598
+ ## 2.0.3 / 2007-11-02
1599
+
1600
+ Changes:
1601
+
1602
+ * Unsorted Changes
1603
+
1604
+ * Touch up to methods task.
1605
+ * Update rsync filter
1606
+ * Minor updates fixing issues highlighted by running crosstest.
1607
+ * Many minor bug fixes after running against crosstest.
1608
+ * Added usage support for __foo options.
1609
+ * Fixed a many a test after running against crosstest.
1610
+ * Removed load task. It did not isolate the libs, so wasn't effective.
1611
+ * Added a number of new tasks.
1612
+ * Rename SMTP_TLS to Smtp_tls for Rdocs.
1613
+ * Moved rdoc.yaml to config/.
1614
+ * moved task/config to task/config/general.
1615
+ * Update tasks.
1616
+
1617
+ * Added array/only, symbol/to_proc (where did it go?) and hash/select.
1618
+
1619
+ * Update roll file.
1620
+ * Moved test_command_options to test_command.
1621
+ * Update dictionary test to check dup and autohash.
1622
+ * Fixed autohash and dup bugs.
1623
+ * Verbatim support for Rails' version of #alias_method_chain.
1624
+ * Remove site/ directory.
1625
+ * Moved rsync filter up too.
1626
+ * Moved doc/site/ up to doc/.
1627
+ * Added javascript directory to doc/.
1628
+
1629
+ * Updates across the board.
1630
+ * Updates to stylize and command.rb.
1631
+ * Made facets.rb a shortcut to facets/facets.rb (this is for Rolls, better way?)
1632
+ * Oh smack. Lots of stuff fixed.
1633
+
1634
+ * Remove version.txt. No longer needed.
1635
+ * Removed meta/project.yaml, replaced by facets roll file.
1636
+
1637
+ * Modifications to command.rb, snapshot and rbsystem.
1638
+ * Merged command.rb and command_options.rb into command.rb.
1639
+ * Added to_data aliases to snapshot.rb
1640
+ * Minor additions to rbsystem. Rather than System, maybe Ruby?
1641
+
1642
+ * Removed embedded test from overload.rb.
1643
+ * Allow OpenStruct#initialize to take a setter block.
1644
+ * Downloader needs 'wb' flag rather then just 'w'.
1645
+ * Fixed typo and removed embedded test.
1646
+ * Fixed bug in command_options.rb, putting the class back in the Console namespace.
1647
+
1648
+ * improved module/traits.rb
1649
+
1650
+
1651
+ ## 2.0.2 / 2007-10-08
1652
+
1653
+ Changes:
1654
+
1655
+ * Administrative Changes
1656
+
1657
+ * Cleaned up some test and updated version to 2.0.2
1658
+ * Update methods to eleminate duplicate file names between lib/core and lib/methods
1659
+
1660
+
1661
+ ## 2.0.1 / 2007-10-06
1662
+
1663
+ Changes:
1664
+
1665
+ * Unsorted Changes
1666
+
1667
+ * updated version to 2.0.1
1668
+ * minor bugs fixes
1669
+ * update methods task to display each file as it process it
1670
+ * added benchmarks for some enumerable methods.
1671
+ * moved demo/bench/bench_factorial to an demo/bench/integer subclass
1672
+ * added Erik Veenstra to AUTHORS for work on enumerable/group_by and cluster_by
1673
+ * minor improvement to test task to specifically read test_*.rb files
1674
+ * removed enumerable/partition.rb
1675
+ * move enumerable/partition.rb methods to collect.rb.
1676
+ * Improved Integer#of.
1677
+ * Minor improvements to collect.rb and partition.rb
1678
+ * Deprecated nonuniq!, bug fixed cluster_by and aliased group_by and partition_by.
1679
+ * Renamed Enumerable#partition_by to group_by (like Ruby 1.9) and fixed bug in cluster_by.
1680
+
1681
+
1682
+ ## 2.0.0 / 2007-10-02
1683
+
1684
+ Changes:
1685
+
1686
+ * General Enhancements
1687
+
1688
+ * Added Oliver Renaud to the AUTHORS list (oops!)
1689
+
1690
+ * Bug Fixes
1691
+
1692
+ * Fix requires in `cut.rb` and `attributes.rb`.
1693
+ * Fix `String#brief` in `format.rb`.
1694
+
1695
+ * Unsorted Changes
1696
+
1697
+ * removed 1stClassMethod from "more" docs
1698
+ * removed 1stClassMethod as a rdoc target (now in Core target)
1699
+ * update install and rdoc tasks
1700
+ * moved string/test_index.rb to string/test_nchar.rb
1701
+ * updated indexable tests
1702
+ * update string.rb to include string/nchar.rb
1703
+ * moved index.rb to nchar.rb
1704
+ * clean up string/index.rb
1705
+ * moved facets.rb to fore directory
1706
+ * add comment to groups task
1707
+ * added groups task
1708
+ * updated all extrension group files (array.rb, binding.rb, etc.)
1709
+ * uncapitalize meta files
1710
+ * update methods task a bit more, plus related configuration
1711
+ * updated methods task
1712
+ * removed lib/core --this is generated content (may be renamed too)
1713
+ * added load and stats tasks
1714
+ * update install task --this replaces setup b/c of Facets' special install needs
1715
+ * update project file
1716
+ * removed lib/facets
1717
+ * moved remaining libs to fore (will later consider an additional subdivision)
1718
+ * move facets/fore to fore/facets
1719
+ * move facets/more to more/facets
1720
+ * added ;ob/core, more and fore
1721
+ * move memorize
1722
+ * removed io and net directories
1723
+ * moved io/redirect.rb to more/ioredirect.rb and net/smtp_tls.rb and net/uploadutils.rb libs to more too.
1724
+ * few more libs moved to more/ directory
1725
+ * moved all the most obvious more libs to the more directory
1726
+ * moved fore "grouping" libs to fore directory
1727
+ * moved "fore" libs to fore directory
1728
+ * create for and more directories (yes, you know what's coming ;)
1729
+ * renamed remain.rb (was main_as_module.rb) to just main.rb
1730
+ * improved rdoc task and project.yaml file
1731
+ * better docs for OpenObject
1732
+ * improved method hiding
1733
+ * documentation touch ups
1734
+ * fixes for conversion.rb rather than conversions.rb
1735
+ * updated to website docs
1736
+ * moved demos to demo/sample
1737
+ * added bench and sample dir to demo
1738
+ * moved spy.html to light.html
1739
+ * menum change to webpage, fixed core doc link
1740
+ * moved metadata files to meta/ (info/ or box/ would be better?)
1741
+ * updated test_conversion.rb for to_h/to_hash
1742
+ * reverse_each instead of each for after advice in advice.rb
1743
+ * final fix to to_h/to_hash discrepency
1744
+ * added a Path and Root features to Pathname (good idea?)
1745
+ * update advice.rb test and moved old cut test to dev/scrap
1746
+ * updated advice; removed preinitialize.rb to trinkets project (it was too expiremental)
1747
+ * command_filter.rb needs to considered/developed; moved to dev/new/
1748
+ * fixed interface.rb fo singelton methods
1749
+ * updates to tests
1750
+ * whole lot of small bug fixes
1751
+ * add tests to revision control
1752
+ * removed old cut test (moved to dev/scrap)
1753
+ * working on tests
1754
+ * added read.rb (taken from readwrite.rb)
1755
+ * split readwrite.rb into read.rb and write.rb
1756
+ * remove string/unpack.rb, offset can be had using '@' format instead
1757
+ * renamed conversions.rb to conversion.rb, fixed some requires
1758
+ * improved attr.rb
1759
+ * some cleanup of enumerable extensions
1760
+ * setup annotations demo
1761
+ * add non-embedded tests
1762
+ * finally brough over toadcode prototype.rb and cleaned it up enough to be useful
1763
+ * removed annotations subdir
1764
+ * moved annotations/ann.rb and attr.rb to annotations.rb and attributes.rb
1765
+ * remove annotations.rb
1766
+ * moved annotations/settings.rb up a dir
1767
+ * remove settings.rb
1768
+ * chnaged multiton_id(e) to multiton_id(*e,&b)
1769
+ * updated test task
1770
+ * added Christoph Rippel to authors lists
1771
+ * added doc header to new multiton class
1772
+ * update to new version of multiton
1773
+ * playing around with multiton2.rb
1774
+ * renamed dev/try to dev/new
1775
+ * created dev/old to temporarily house old versions of libs that have been replaced.
1776
+ * fixed quick.html documentation
1777
+ * used old wiki.gif as email.gif instead
1778
+ * fixed config.yaml publish entry
1779
+ * some minor updates to index.html
1780
+ * moved site to doc/site
1781
+ * update to publish task
1782
+ * updates of tasks
1783
+ * added kernel/report.rb to hold debug/warn extensions.
1784
+ * renamed reporting.rb to silence.rb
1785
+ * update reporting.rb (created report.rb from it)
1786
+ * task work
1787
+ * clean up dev finis
1788
+ * cleanup dev just a bit more
1789
+ * continue cleanup of dev directory
1790
+ * moved dev/twiki to misc/
1791
+ * removed dev/core
1792
+ * moved require_directory.rb to misc/
1793
+ * added dev/misc for code scraps that might be useful but are not straight lib or task code
1794
+ * more dev changes
1795
+ * organize dev better
1796
+ * cleanup of dev continues
1797
+ * cleanup of dev dir
1798
+ * clean up dev dir more
1799
+ * some cleanup of dev directory
1800
+ * almost completed advice lib
1801
+ * added comment about possible update
1802
+ * deprecate instance_send and instance_map
1803
+ * work on rdoc task
1804
+ * work on rdoc task
1805
+ * added dev/cut dir
1806
+ * no reason to track .config
1807
+ * clean up trunk
1808
+ * added todo comment
1809
+ * added advice.rb to replace old aspects.rb
1810
+ * removed aspects.rb (sucked), added prototype.rb (infancy) and adjusted to class_extension.rb
1811
+ * removed #to_roman (now part of the English project)
1812
+ * cont. work on aop and cuts
1813
+ * fixed IMG tag bug
1814
+ * added yaml.rb
1815
+ * move #here convenience method to binding/eval (separate?)
1816
+ * added in order to remove kernel/misc.rb
1817
+ * consolidate string/regesc
1818
+ * added module/methods
1819
+ * updates to include and attr
1820
+ * fixed Range#umbrella
1821
+ * more organization of docs
1822
+ * orginizing docs
1823
+ * update val.rb
1824
+ * added proc/fn.rb (from kernel/misc.rb) and fixed typo in compose.rb
1825
+ * moved misc.rb to val.rb
1826
+ * better organization of some kernel methods
1827
+ * moved #here alias to eval.rb
1828
+ * minor updates and some bug fixes (modspace what broke)
1829
+ * removed file/yaml.rb in favor or just yaml.rb
1830
+ * moved this to facets/yaml.rb
1831
+ * work on aop system
1832
+ * Added aop.rb, and cut.r and recursive.rb
1833
+ * moved cut.rb to dev (old version will be deprecated)
1834
+ * added to_hash to Dictionary, and minor mods to others
1835
+ * oops, no need for enumerator directory
1836
+ * moved threaded_send.rb to mapsend.rb
1837
+ * moved threaded_send out of enumerable/ dir
1838
+ * updates to elementor.rb
1839
+ * merged instance_map into threaded_send
1840
+ * removed map_send
1841
+ * merging map_send with threaded_send
1842
+ * cont work on elementwise methods
1843
+ * divide elementwise functions betwee two libs
1844
+ * uniq.rb is merged into count.rb
1845
+ * removed count.rb (uniq.rb will become count.rb)
1846
+ * continued refinement of enumerable extensions
1847
+ * general improvements to the organization of enumerable extensions
1848
+ * removed facets/cli dir
1849
+ * moved all cli libs from facets/cli to facets/
1850
+ * moved cli support files to facets locations
1851
+ * moved cli lib to facets main (also modified functor)
1852
+ * renamed hash/reverse to hash/merge (it contains #reverse_merge)
1853
+ * remove instance_intercept (moced to Trinkets project)
1854
+ * continued modification of those tasky tools
1855
+ * removed lib/more (this is it!)
1856
+ * moved M-Z of more/facets to facets (this is it!)
1857
+ * moved A-L of more/facets to facets (this is it!)
1858
+ * removed lib/core (this is it!)
1859
+ * moved lib/core/facets.rb to lib/facets.rb (this is it!)
1860
+ * moved lib/core/facets to lib/facets (this is it!)
1861
+ * added file/yaml.rb
1862
+ * added a list of libraries considered "core"
1863
+ * continued work on build tools
1864
+ * change tools for core/more convergence (so help us god!)
1865
+ * added conversion requirement to some core libs
1866
+ * update methods task
1867
+ * update quick.html to mirror rdoc changes --still needs work though
1868
+ * remove old rdoc task
1869
+ * added rdoc section (minimal) to tool/config.yaml
1870
+ * nope. remove site/rdoc
1871
+ * add rdoc dir, should we?
1872
+ * remove site/rdoc in preperation for new way
1873
+ * facets.rb belongs to core/
1874
+ * renamed some doc files
1875
+ * removed src/core
1876
+ * move src/core/lin to lib/core
1877
+ * added kernel/constant
1878
+ * remove src/core/web
1879
+ * moving more of core to top-level (svn sucks!)
1880
+ * moving core support files to top-level
1881
+ * removed src/more
1882
+ * move src/more/lib to lib/more
1883
+ * made lib dir (to replace src)
1884
+ * added settings.rb which points to annotations/settings.rb
1885
+ * moved svn to annotations/ subdir
1886
+ * moved dev files to top-level as part of more transition
1887
+ * temporarily removed dev/more
1888
+ * moved annotations demo to demo dir
1889
+ * added demo folder
1890
+ * add dev/more
1891
+ * remove struct again! (stupid svn)
1892
+ * moved file to top-level doc as part of more transisiton
1893
+ * bullshit svn crap
1894
+ * ann moved back to more (strongly considering annotations for it's own project)
1895
+ * build moved back to more
1896
+ * aop moved back to more
1897
+ * cast moved back to more
1898
+ * crypt moved back to more
1899
+ * exts moved back to more
1900
+ * file moved back to more
1901
+ * meta moved back to more
1902
+ * misc moved back to more
1903
+ * model moved back to more
1904
+ * struct moved to back to more
1905
+ * moved sync back to more
1906
+ * moved commandoptions.rb to command_options.rb
1907
+ * rewrote command and command options libs
1908
+ * initial Subversion import
1909
+
1910
+
1911
+ ## 1.8.54 / 2007-03-21
1912
+
1913
+ The following list of changes also includes changes from intrim releases,
1914
+ `1.8.51 / 2007-02-19`, `1.8.49 / 2007-02-16`, `1.8.20 / 2007-02-06` and
1915
+ `1.8.8 / 2007-01-31`. Unfortuantely the transition form darcs to git,
1916
+ led to some information loss in this regard.
1917
+
1918
+ Changes:
1919
+
1920
+ * Unsorted Changes:
1921
+
1922
+ * added reqiure to ostruct.rb test
1923
+ * fix to command.rb's initializer
1924
+ * fixed bug with times.rb beginning_of_year and beginning_of_month
1925
+ * replaced pqueue and heap with new working class (thanks to Olivier Renaud)
1926
+ * fixed bug in ormsupport.rb (this will be moved out of facets in next release)
1927
+ * added empty? to dictionary (removed old subclass of Hash)
1928
+ * significant improvements to command.rb thanks to Tyler Rick
1929
+ * added tests to elementwise and tap
1930
+ * fixed test for elementwise and op_tilde_self
1931
+ * added enumerable/map_send
1932
+ * added thread_map and thread_map_send thanks to greg
1933
+ * added operator "~@" for enumerable/elementwise
1934
+ * added more/consoleutils.rb
1935
+ * added string/cleave
1936
+ * added capitalize_all thanks to Richard Laugesen
1937
+ * cartesian_product is an alias of enumerable/cart
1938
+ * added array pad thanks to Richard Laugesen
1939
+ * added kernel/tap
1940
+ * fixed test/unit load issues
1941
+ * converted facet/ requires to facets/core or facets/more as needed
1942
+ * further improvements to arguments.rb (looking good!)
1943
+ * improved symbol/self/generate
1944
+ * bug fix kernel/autoreload arguments needed to be in opposite order
1945
+ * add to_xoxo
1946
+ * removed bad character codes in multiplier.rb
1947
+ * used yaml to allow json.rb to work for all object in general
1948
+ * improvements to functor (note: is to_a and to_proc okay?)
1949
+ * add test to string/bytes.rb
1950
+ * bug fix to nilclass/op_cmp
1951
+ * fixed enumerable/op_pow to use enumerable/cart
1952
+ * added array/op_div
1953
+ * adjustments to xmlbuilder and htmlbuilder dur to buildingblock changes
1954
+ * improved buildingblock.rb
1955
+ * simplified interface of arguments.rb (still a little more to do)
1956
+ * improvements/simplifications to Dir.multiglob
1957
+ * added new authors to list
1958
+ * fixed misspelling of behavior.rb (was bahvior.rb)
1959
+ * removed #own from base list in facets.rb (really need a standard for "singleton class")
1960
+ * minor adjustments to uploadutils
1961
+ * fixed bug in aspects.rb that would not handle args of wrapped method
1962
+ * Symbol#to_s optimization, had to remove freeze
1963
+ * updates to fileutils/stage (stage worth keeping?)
1964
+ * update to credits
1965
+ * fix bug in kernel/ask, returns more than one character
1966
+ * cleanup of enumerbale/graph (no effective change)
1967
+ * new super fast enumerable/cart by Thomas Hafner (replaces #cross)
1968
+ * improved multiglob rountines (accept '+' and '-' prefixes)
1969
+ * No longer will track project file via scm until it settles
1970
+ * fixed bug in attr_tester, thanks Dov!
1971
+ * added weekdays to times.rb thanks to Ryan Platte and Dave Hoover
1972
+ * improvements to dictionary.rb (no longer a subclass of Hash) thanks Jan!
1973
+ * re-replace openhash with openobject
1974
+ * improvements to ann.rb and ann_attr.rb. works, yea!
1975
+ * fixed bug in string/singular.rb
1976
+ * changed enumerable/cross into enumerable/cart and cartesian_product
1977
+ * openobject returns (openhash was a bad name, thanks george)
1978
+ * moved enumerable/cross to enumerable/cart (cartesian_product)
1979
+
1980
+
1981
+ ## 1.8.0 / 2007-01-24
1982
+
1983
+ The list of changes also includes intrim releases `1.7.46 September 8, 2006`,
1984
+ `1.7.38 August 31, 2006`, and `1.7.30 August 23, 2006`.
1985
+
1986
+ Changes:
1987
+
1988
+ * Additions
1989
+
1990
+ * Add facets/automatic.rb, very cool, albiet experimental, way to load core methods automatically!
1991
+ * added hash/insert; like store but only if key isn't already present
1992
+ * added module/include_and_extend
1993
+ * added File::mulitglob_sum; accumulates file patterns, and accepts '+' and '-' prefixes
1994
+ * added module/module_method; like module_function but makes method public
1995
+ * added module/include_function_module; attempts to properly include one function_module into another
1996
+ * kernel/yaml convenience method for YAML::load
1997
+ * added kernel/supress; supress errors while executing a block (nice DHH!)
1998
+ * added symbol/chomp, like string#chomp
1999
+ * added proc/to_h; converts an assignment proc into a hash
2000
+ * proc/bind; bind a proc to an object, returning a method
2001
+ * added module/prepend; provides dyanamic method wraps for modules, and static wraps for classes
2002
+ * added module/new; use a module as if it were a class
2003
+ * added module/alias_accessor
2004
+ * kernel/instance_class; yet anouther meta_class name, but a more sensicle name this one
2005
+ * added kernel/populate; populates an object's inst. vars from a hash or assingment block
2006
+ * added kernel/daemonize; one last thanks to DHH!
2007
+ * added enumerable/injecting; like inject but automatically returns the memo from the block
2008
+ * added kernel/object_send, a true public-only send method
2009
+ * added kernel/silence_stream; output to null device; thanks DHH!
2010
+ * added kernel/instance_values, thanks DHH!
2011
+ * added Config:inspect for rbconfig
2012
+ * added hash/pairs_at (aking to values_at)
2013
+ * added _why's metaid methods (meta_class, meta_eval, etc.)
2014
+ * added kernel/enable_warnings to complement silence_warinings
2015
+ * added integer/to_roman
2016
+ * added logical operators for hash (and/or)
2017
+ * array/to_path convert ans array to a path string
2018
+ * array/index takes a block
2019
+ * added fileutils/compress; very simple convenience methods for archiving folders
2020
+ * added fileutils/stage adn staged, a means of transfering files accoring to preset rules
2021
+ * added kernel/ask, simply command to get console input
2022
+ * added populate.rb, mixin for classes that need on a basic initializer
2023
+ * added version_number.rb (a specialized tuple)
2024
+ * added uploadutils.rb
2025
+ * added Joel VanderWerf's great script.rb script
2026
+ * added Austin's minitar.rb --it's just too damn useful!
2027
+ * added htmlfilter.rb very nice html escape class
2028
+ * added dependency.rb, allwos method to have dependend execution (like rake tasks)
2029
+ * added arguments.rb this is for parsing console command arguments
2030
+ * add new version of annotations: ann.rb and ann_attr.rb
2031
+ * added File::yaml? to roughly detect if a file is a yaml file
2032
+
2033
+ * Renamed Features
2034
+
2035
+ * Rename #superior to #super_at.
2036
+ * OpenObject = OpenHash (OpenObject will eventually be deprecated)
2037
+ * renamed quaclass to qua_class
2038
+ * renamed openobject to openhash !!!
2039
+
2040
+ * Deprecations
2041
+
2042
+ * had to remove taskable.rb for now (implementation won't work as toplevel include)
2043
+ * deprecated (yored) kernel/own, yet another term for the singleton class
2044
+ * removed dataobject.rb (was never used)
2045
+ * deprecated (yored!) module/inject; what a silly method
2046
+ * deprecated kernel/require_facet (no longer needed)
2047
+
2048
+ * Bug Fixes
2049
+
2050
+ * Fix enumerable/partition_by.
2051
+ * memoize should now work at toplevel
2052
+ * minor bug fix to httpaccess
2053
+
2054
+ * General Enhancments
2055
+
2056
+ * Add buildingblock.rb, replacing builderobject.rb.
2057
+ * HtmlBuilder and XMLBuilder aer now based on BuildingBlock
2058
+ * adjust require for "yored" files
2059
+ * minor improvements to basic object (object_self to access kernel methods)
2060
+ * ostuct adjustment, use #instance_delegate to get underneth the open access
2061
+ * module/include_as is now based on module/namespace (thanks Pit!)
2062
+ * minor adjustments to methods for (class<<self;self;end)
2063
+ * facets.rb now references facets/sys.rb
2064
+ * adjust old annotation.rb (now in yore) to use openhash
2065
+
2066
+ * Admin Adjustments
2067
+
2068
+ * further updates to project info file (need to stop versioning this)
2069
+ * deprecated (yored) builderobject.rb (poor implementation)
2070
+ * moved deprecated #facet_require to yore lib
2071
+ * minor doc change to instance_intercept.rb
2072
+ * doc change to methodfilter.rb (maybe deprecat in future)
2073
+ * moved old module/namespace implementation to yore
2074
+
2075
+ * Unsorted Changes
2076
+
2077
+ * moved plugin.rb to ratchets/library project
2078
+ * proper credit for multiton goes to Ara T. Howard!!!! Also improvements.
2079
+ * remove library.rb (move to ratchets/library project)
2080
+ * updated autovivify.rb to use openhash
2081
+ * improvement to command.rb
2082
+ * imporved time/stamp
2083
+ * reimplemented proc/to_method for more sensible behavior
2084
+ * reimplemented module/namespace, very clever thanks to pit captain
2085
+ * added module_load and module_require, e.g. load into and require into
2086
+ * reimplemented instance_exec, should be much improved
2087
+ * doc updates to inflect.rb
2088
+ * updates to Hash op_add, reverse_merge, and rekey
2089
+ * each_slice is now just an alias via enumerator & fixes to partition_by
2090
+ * minor adjusment to multiglob
2091
+ * modified all.rb (not recommended!) to require facets/sys
2092
+ * modifications to project information file (should this be versioned?)
2093
+ * created yore lib to store deprecated features (good idea!)
2094
+ * modified PROJECT info file
2095
+ * added module class/module_load and _require
2096
+ * remove facet/ redirect lib from darcs repository
2097
+ * OpenObject is now OpenHash (OpenObject still exist for backcompat)
2098
+ * kernel/returning is a stub for kernel/with
2099
+ * added proc/update as alias for #call per Tim Pease use of Proc as Observable
2100
+ * added behavior.rb by Nobuyoshi Nakada (plan to improve)
2101
+ * rewrote taskable.rb using classes to represent tasks; it is much improved
2102
+ * openobject.rb doc updates
2103
+ * major update to functor which is now a subclass of Proc (should be faster)
2104
+ * improvements to dictionary.rb to go along with additions of first and last
2105
+ * small improvements to command.rb
2106
+ * removed uses of __class__ for object_class and solidified usaged of #as in basicobject.rb
2107
+ * deprecated ostruct shadow methods (i.e __table__) in favor of #instance methods
2108
+ * added test to module/alias_method_chain
2109
+ * imporvements to instance_exec thanks to Mauricio Fernandez
2110
+ * improvements to kernel/send_as
2111
+ * improvements to kernel/as
2112
+ * minor doc addition to kernel/as
2113
+ * fixed syntax in hash/op_add.rb
2114
+ * imporvements to hash/partition_by thanks to Gregory of Laurel
2115
+ * added Mauricio Fernandez to authors
2116
+ * added addtional work library lore
2117
+ * moved "calibre" project information files
2118
+ * moved a number of "in the works" libs to ToadCode project
2119
+ * removed predicate.rb, an expiremental logic system, and moved to ToadCode
2120
+ * Added plugin.rb, an indirect require mechinism, ie. a plugin system
2121
+ * remove one.rb and moved to ToadCode project, this was just silly/fun library
2122
+ * Added library.rb which is a library ledger system (used to be roll.rb)
2123
+ * added kernel/with which instance_eval's a block on with's subject
2124
+ * rekey is an improved version of normalize_keys (ie. the basis of symbolize_keys)
2125
+ * multiglob is like glob but handles a list of patterns
2126
+ * proper access to openstruct's underlying table
2127
+ * minor adjustment to taskable.rb
2128
+ * minor adjustment to #dresner docs
2129
+ * minor adjustment to #as
2130
+ * simple doc addition to setup.rb
2131
+ * doc fixes and losening toplevel constraint to Object in taskable
2132
+ * made OpenObject #update and #merge public; added to_hash
2133
+ * minor "public" fix to main_as_object
2134
+ * removed unorder_store and store_only; added first/last to dictionary
2135
+ * continued improvements to command.rb
2136
+ added some new callbacks such as option_missing;
2137
+ also handles method_missing properly now
2138
+ * minor adjustments to module::@+
2139
+ * added string/rewrite
2140
+ * test fixes to module/include_as
2141
+ * documentation fix for class_extension
2142
+ * minor edit to supermethod (also finish #superior removal)
2143
+ * cleanup kernel/set_with code
2144
+ * update kernel/metaclass can now take a block
2145
+ * added hash#+ and hash#- (op_add and op_sub)
2146
+ * added cache to enumerable/every
2147
+ * minor updates to facets.rb
2148
+ * removed kernel/superior (silly name)
2149
+ * minor modifications ot PROJECT file
2150
+ * [add] more/autovivify.rb expiremental lib.
2151
+ * [update] Minor fix to command.rb to not use Kernel methods as subcommands.
2152
+ * [update] Work on annotation.rb to improve support for :self.
2153
+ * [deprecate] enumerable/permute.rb (replaced by permutation) and minor test fix to linkedlist.rb
2154
+ * [added] linkedlist.rb (thanks Kirk Haines!)
2155
+ * [added] enumerable/sum (thanks to Gavin Kistner)
2156
+ * [added] array/each_combo and combos (Eunumerable.combinations will be deprecated eventually)
2157
+ * [rename] changed enumerable/permute to permutation
2158
+ * [update] annotation.rb, fixed :self key
2159
+ * [added] pathname/op_div
2160
+ * [deprecated] hash/each.rb
2161
+ * [removed] hash/each.rb, this variation of Hash#each is too "dangerous" in practice
2162
+ * [update] module/self/op_add.rb: fixed inclusion order
2163
+ * annotation.rb, return annotations of self when key is :self [updated]
2164
+ * module/self/op_add.rb and op_sub.rb - traits like features [added]
2165
+ * minor improvemtns to module/clone_using and integrate
2166
+ * command.rb: minor change to docs [update]
2167
+ * openobject.rb (added NilClass#to_openobject) [update]
2168
+ * enumerable/each_slice.rb [replace]
2169
+ Ruby already has #each_slice if you require 'enumerator'. And for 1.9,
2170
+ I believe, this will be present automatically. So Facets' each_slice
2171
+ has been replaced with a simple redirection to require 'enumerator'.
2172
+ Ruby's version is slightly different in that it won't check arity if
2173
+ a slice count is not given. For this, use enumerable/each_by.
2174
+ * array/delete_at.rb [removed]
2175
+ Ruby's Array class already has a #delete_at method,
2176
+ although this is another method at odds with Hash.
2177
+ Use #delete_values_at instead.
2178
+ * moved File.bitbucket to File.null (but bitbucket was so "fun"! ;)
2179
+ * added nilclass/to_path
2180
+ * added kernel/load_local
2181
+ * added kernel/callee
2182
+ * added enumerable/eachn, integer/each and integer/of
2183
+ * re-added array/delete_values_at
2184
+ * added filetest/self/root
2185
+ * added cache.rb
2186
+ * moved Dir.bitbucket to File.bitbucket
2187
+ * removed task file in favor of sake based util/
2188
+ * added main_as_module
2189
+ * added doublemetaphone (Thanks Lawrence Philps!)
2190
+ * rewrote taskable.rb
2191
+ * minor doc fix to association.rb
2192
+ * added symbol/to_s which caches the result for speed up
2193
+ * additions and adjusments related to hash/delete_at
2194
+ * added Dir.bitbucket
2195
+ * update to array/op_fetch to include op_store
2196
+ * updated docs and util tasks
2197
+ * minor changes
2198
+ * added filesystem.rb
2199
+ * taskable should now work at the toplevel too
2200
+ * still working the organization as Reap/Sake change
2201
+ * started setting project tasks up for sake
2202
+ * updates to enumerable each_slice
2203
+ * updated names of meta files
2204
+ * added trace to command.rb
2205
+ * organizational changes
2206
+
2207
+
2208
+ ## 1.7.0 / 2006-07-25
2209
+
2210
+ Changes:
2211
+
2212
+ * Additions
2213
+
2214
+ * Add Infinity class.
2215
+ * Add `tkxml.rb`.
2216
+ * Add singleton Annotations.
2217
+ * Add Cuts implimentation.
2218
+
2219
+ * Improvements
2220
+
2221
+ * Improve command.rb with error catch. (Jonas)
2222
+ * Improve #wrap_method, no need to undef method before redefining.
2223
+ * Improve String#singular and plural.
2224
+ * Improve #normalize_keys to take a proc instead of a "send" parameter.
2225
+
2226
+ * Bug Fixes
2227
+
2228
+ * Add #to_a to OpenObject.
2229
+ * Fix instance_interception test.
2230
+
2231
+ * Miscellaneous Enhancements
2232
+
2233
+ * Add hash/op_div.rb and array/op_div.rb.
2234
+ * Allow tasks to do arguments (all dependent tasks must take same args)
2235
+ * Separated integer/op_mul from compose, op_mul now composes and Integer#of.
2236
+ * added work dir to repo
2237
+ * doc cleanup
2238
+ * remove kernel/called and fixed callee,__callee__ and __method__.
2239
+ * just about prefected OpenObject
2240
+ * keys_to_sym to symbolize_keys usage
2241
+ * remove explore dir, perhaps better to do without midstage
2242
+
2243
+
2244
+
2245
+ ## 1.6.0 / 2006-07-20
2246
+
2247
+ Changes:
2248
+
2249
+ * Additions
2250
+
2251
+ * Add `PrivateAccess` expiremental class.
2252
+ * Add `Hash#reverse_merge` (from ActiveSupport).
2253
+ * Add core methods `Enumerable#divide`, array and hash op_div, kernel/meta.
2254
+ * Add Jan Molic's Debugger(Logger) to explore.
2255
+ * Add `Symbol::generate`.
2256
+ * Created subclass `AutoDictionary`, now used by `Dictionary.auto`.
2257
+ * Add new implementation of `OpenObject` in Facets/EXPLORE.
2258
+ * Add `deep_clone` (thanks Jan Molic).
2259
+ * Add `Hash.auto` (thanks Jan Molic).
2260
+ * Add `annotation` and `instance_intercept` to Facets/EXPLORE.
2261
+ * Add `Kernel#to_data`.
2262
+ * Add Daniel Berger's `Hash#to_stuct`.
2263
+ * Improve `Proc#to_method` and `Kernel#instance_exec`.
2264
+ * Add `instance_exec` (duh).
2265
+ * Add `object_clone` and `object_dup`. These object_ methods are intended
2266
+ as non-overridable (although you can if you must).
2267
+ * Add facets/explore libs.
2268
+ * Add settings.rb from glue.
2269
+
2270
+ * Renamed Features
2271
+
2272
+ * Retained `::alpha` but changed `::auto_key` to `::auto_alpha`.
2273
+ * Rename Hash methods `keys_to_s` and `keys_to_sym` to `stringify_keys`
2274
+ and `symbolize_keys`. Both now depend on `normalize_keys`.
2275
+
2276
+ * Deprecations
2277
+
2278
+ * Deprecate BasicObject (bad implementation).
2279
+ * Remove BlankSlate alias to BasicObject.
2280
+ * Remove generate_method_name methods
2281
+ * Remove kernel/generate_method_name, not thread safe.
2282
+ * Remove moodule/generate_instance_method_name, not thread safe.
2283
+ * Deprecate generate_method_name and generate_instance_method_name.
2284
+ * Deprecate `::key_new` and `:value_new`, use ::new.by_key and ::new.by_value instead.
2285
+
2286
+ * Bug Fixes
2287
+
2288
+ * Fix to nilclass#status (accept single parameter).
2289
+ * Adjustments to stringify_keys, record normalize_keys.
2290
+ * Minor bug fix to `alias_method_chain`.
2291
+
2292
+ * Other Enhancments
2293
+
2294
+ * Updated Dictionary class.
2295
+ * Work on OpenCascade, and `Hash#having_fallback` features.
2296
+ * Minor update to tagiterator.rb.
2297
+ * OpenObject uses `self[]` instead of `@table[]`.
2298
+ * Rewrote openobject as a subclass of Hash with a method filter.
2299
+ * Rewrote annotation.rb and moved into more/.
2300
+ * Move ValueHolder in snapshot.rb to Snapshot::ValueHolder.
2301
+
2302
+ * Admin Changes
2303
+
2304
+ * Add meta docs to darcs.
2305
+ * Add _darcs expection to FileList.
2306
+ * Fix compatiblity with Reap.
2307
+
2308
+
2309
+ ## 1.4.5 / 2006-07-05
2310
+
2311
+ Changes:
2312
+
2313
+ * Additions
2314
+
2315
+ * Add NilClass#status which allows a message to be passed through a failure chain.
2316
+ * Add Module#alias_method_chain from Rails as a cleveridiom for module-based method wrapping.
2317
+ A limited solution, but since there's no standard solution as of yet, well support til then.
2318
+ * Add Enumerable#cascade, cascade a list of actions on each element of an enumerable.
2319
+
2320
+
2321
+ ## 1.4.4 / 2006-07-03
2322
+
2323
+ Changes:
2324
+
2325
+ * Bug Fixes
2326
+
2327
+ * The `#method missing` in HtmlBuilder effected by BasicObject fix
2328
+ (use __self__.method instead of __method__).
2329
+
2330
+ * Improved Features
2331
+
2332
+ * Update Functor, by adding `@self = function.binding.self`.
2333
+
2334
+ * Renamed Features
2335
+
2336
+ * Change WebAgent to Web.
2337
+
2338
+ * Deprecations
2339
+
2340
+ * Removed hash/keys_to_iv b/c it is a poor name. Since the alternative
2341
+ of #keys_to_instance_variables conveys the wrong idea, decided to just
2342
+ get rid of this. Instead use the hash#variablize_keys which is also
2343
+ Rails compatibile.
2344
+
2345
+
2346
+ ## 1.4.3 / 2006-06-27
2347
+
2348
+ * Administrative Adjustments
2349
+
2350
+ * Move ProjectInfo to proj/info.
2351
+ * Better arrangment of repository,
2352
+
2353
+
2354
+ ## 1.4.2 / 2006-06-21
2355
+
2356
+ This release makes adjustments to BasicObject, further reducing unhidden
2357
+ methods. Among them __object__, __method__ and #as. Also added `#method_missing`
2358
+ that detects shadow methods and rebinds them to Object. Keep in mind that woun't
2359
+ help you if you override method_missing which is typical for this class.
2360
+
2361
+ This release also marks the first use of Darcs version control manager!
2362
+
2363
+ Changes:
2364
+
2365
+ * Improvements
2366
+
2367
+ * Adjusted BasicObject slightly, further reducing unhidden methods.
2368
+
2369
+ * Bug Fixes
2370
+
2371
+ * Fixed bug in BasicObject#__self__.
2372
+
2373
+ * Administrative Adjustments
2374
+
2375
+ * Started using Darcs --finally!
2376
+ * Transition to Darcs has interupted ChangeLog though :(
2377
+
2378
+
2379
+ ## 1.4.0 / 2006-05-05
2380
+
2381
+ Changes:
2382
+
2383
+ * Additions
2384
+
2385
+ * Added Cookie, HTTP and HTTPAccess of ...'s library.
2386
+ * Added OpenCascade, which is like OpenObject but chains access.
2387
+ * Added MenTalguy's lazy.rb which include's Future and Promise classes.
2388
+ * Added task.rb, which provides a Rake interface compatible task
2389
+ system, but that can be used in any code.
2390
+
2391
+ * Improvements
2392
+
2393
+ * Improved Hash#traverse (it now does all traversing before yielding).
2394
+ * Console::Command also now supports run-on flags (eg. -xvzf).
2395
+ * Updated tuple.rb so that when a string is converted to a Tuple (#to_t)
2396
+ the values wll be made integers if they are composed of only numbers.
2397
+ If you need all strings you can use a block since the block bypasses
2398
+ this auto coercement, eg. to_t{ |v| v }.
2399
+
2400
+ * Renames
2401
+
2402
+ * OpenObject's __get__ and __set__ methods have been changed
2403
+ to __fetch__ and __store__ to correspond to the Hash methods.
2404
+
2405
+ * Depreacetions
2406
+
2407
+ * kernel/me, kernel/methodname and kernel/method_name have all been
2408
+ deprecated in favor of the 1.9 standard kernel/__method__ and
2409
+ kernel/__callee__.
2410
+ * Console::Application is deprecated and is no longer an alias for
2411
+ Console::Command.
2412
+ * More's classinherit.rb has been removed, and classmethods.rb will be
2413
+ too in another version or two. You should transition all uses of
2414
+ these to core/module/class_extension.rb.
2415
+
2416
+
2417
+ ## 1.3.1 / 2006-04-17
2418
+
2419
+ Changes:
2420
+
2421
+ * Deprecations
2422
+
2423
+ * Deprecated `String#to_arr`.
2424
+
2425
+ * General Enhancements
2426
+
2427
+ * Slightly adjusted `String#to_a`.
2428
+
2429
+
2430
+ ## 1.3.0 / 2006-04-05
2431
+
2432
+ Changes:
2433
+
2434
+ * Additions
2435
+
2436
+ * Ported parts of Nitro's Glue library to Facets.
2437
+ * more/aspects.rb
2438
+ * core/module/on_included.rb
2439
+ * core/module/expirable.rb
2440
+ * core/enumerable/accumulate.rb
2441
+ * Added xoxo.rb, json.rb and rtals.rb.
2442
+
2443
+ * General Enhancements
2444
+
2445
+ * Repaired missing data files for units.rb.
2446
+ * Moved cattr methods from module/ to class/.
2447
+ * The mattr methods are in limbo at the moment (they were aliases for cattr).
2448
+
2449
+
2450
+ ## 1.2.1 / 2006-03-29
2451
+
2452
+ Changes:
2453
+
2454
+ * Renamed Features
2455
+
2456
+ * `Kernel#meta` has been renamed to `Kernel#instance`.
2457
+
2458
+
2459
+ ## 1.2.0 / 2006-03-24
2460
+
2461
+ Changes:
2462
+
2463
+ * Additions
2464
+
2465
+ * Add zimba.tm's `String#modulize`, `pathize` and `methodize`.
2466
+ * Add some Gem methods, self/active?, self/gemspec, self/gempath.
2467
+
2468
+
2469
+ ## 1.0.3 / 2006-02-10
2470
+
2471
+ Changes:
2472
+
2473
+ * Additions
2474
+
2475
+ * Added _why's `Array#modulo`.
2476
+
2477
+ * General Enhancements
2478
+
2479
+ * Last ditch attempt to keep Facets and Calibre as one project.
2480
+
2481
+
2482
+ ## 1.0.0 / 2005-12-04
2483
+
2484
+ Okay. Now we've finally hit our 1.0.0 relase. Yea! Does it desrve 1.0 at this point?
2485
+ Ah, well close enough. Mainly there won't be anymore silly development names ;)
2486
+
2487
+ Changes:
2488
+
2489
+ * General Enhancements
2490
+
2491
+ * Sped up string#similarity.
2492
+ * By popular protest deprecated usage of "AClass.use Facets, :amethod".
2493
+ * Created nicer layout of facets/support, /group, /english (one day /method).
2494
+ * Odd sets of facets have been move to facets/group/, eg. facets/group/inflect.
2495
+ * All is now well preped for a Rolls release should that ever come about.
2496
+
2497
+