facets 1.7.0 → 1.7.30

Sign up to get free protection for your applications and to get access to all the features.
Files changed (456) hide show
  1. data/{meta/projectinfo → PROJECT} +1 -3
  2. data/README +114 -47
  3. data/VERSION +1 -0
  4. data/doc/{ChangeLog → CHANGELOG} +30 -0
  5. data/doc/{ChangeLog.pre1.5 → CHANGELOG.1} +0 -0
  6. data/{COPYING → doc/COPYING} +0 -0
  7. data/lib/facet/cache.rb +1 -0
  8. data/lib/facet/doublemetaphone.rb +1 -0
  9. data/lib/facet/enumerable/eachn.rb +1 -0
  10. data/lib/facet/file/self/null.rb +1 -0
  11. data/lib/facet/filesystem.rb +1 -0
  12. data/lib/facet/filetest/self/root.rb +1 -0
  13. data/lib/facet/hash/delete_at.rb +1 -0
  14. data/lib/facet/hash/delete_values.rb +1 -0
  15. data/lib/facet/hash/delete_values_at.rb +1 -0
  16. data/lib/facet/kernel/load_local.rb +1 -0
  17. data/lib/facet/main_as_module.rb +1 -0
  18. data/lib/facet/nilclass/to_path.rb +1 -0
  19. data/lib/facet/symbol/to_s.rb +1 -0
  20. data/lib/facets.rb +1 -0
  21. data/lib/facets/core/array/delete_values_at.rb +2 -0
  22. data/lib/facets/core/array/op_fetch.rb +27 -0
  23. data/lib/facets/core/array/op_store.rb +2 -47
  24. data/lib/facets/core/enumerable/each_by.rb +91 -2
  25. data/lib/facets/core/enumerable/eachn.rb +41 -0
  26. data/lib/facets/core/file/self/null.rb +17 -0
  27. data/lib/facets/core/filetest/self/root.rb +13 -0
  28. data/lib/facets/core/hash/delete_at.rb +10 -0
  29. data/lib/facets/core/hash/delete_values.rb +20 -0
  30. data/lib/facets/core/hash/delete_values_at.rb +24 -0
  31. data/lib/facets/core/hash/each.rb +26 -11
  32. data/lib/facets/core/kernel/load_local.rb +26 -0
  33. data/lib/facets/core/nilclass/to_path.rb +18 -0
  34. data/lib/facets/core/symbol/to_s.rb +10 -0
  35. data/lib/facets/more/association.rb +1 -1
  36. data/lib/facets/more/cache.rb +81 -0
  37. data/lib/facets/more/command.rb +11 -1
  38. data/lib/facets/more/doublemetaphone.rb +371 -0
  39. data/lib/facets/more/filesystem.rb +43 -0
  40. data/lib/facets/more/main_as_module.rb +42 -0
  41. data/lib/facets/more/taskable.rb +89 -212
  42. data/setup.rb +204 -181
  43. data/test/lib/facets/core/array/test_at_rand.rb +1 -1
  44. data/test/lib/facets/core/array/test_delete_unless.rb +1 -1
  45. data/test/lib/facets/core/array/test_delete_values.rb +1 -1
  46. data/test/lib/facets/core/array/test_delete_values_at.rb +1 -1
  47. data/test/lib/facets/core/array/test_first.rb +1 -1
  48. data/test/lib/facets/core/array/test_head.rb +1 -1
  49. data/test/lib/facets/core/array/test_last_index.rb +1 -1
  50. data/test/lib/facets/core/array/test_merge.rb +1 -1
  51. data/test/lib/facets/core/array/test_mid.rb +1 -1
  52. data/test/lib/facets/core/array/test_middle.rb +1 -1
  53. data/test/lib/facets/core/array/test_op_fetch.rb +9 -1
  54. data/test/lib/facets/core/array/test_op_store.rb +1 -1
  55. data/test/lib/facets/core/array/test_pick.rb +1 -1
  56. data/test/lib/facets/core/array/test_pos.rb +1 -1
  57. data/test/lib/facets/core/array/test_pot.rb +1 -1
  58. data/test/lib/facets/core/array/test_pull.rb +1 -1
  59. data/test/lib/facets/core/array/test_rand_index.rb +1 -1
  60. data/test/lib/facets/core/array/test_rand_subset.rb +1 -1
  61. data/test/lib/facets/core/array/test_range.rb +1 -1
  62. data/test/lib/facets/core/array/test_rotate.rb +1 -1
  63. data/test/lib/facets/core/array/test_select.rb +1 -1
  64. data/test/lib/facets/core/array/test_shuffle.rb +1 -1
  65. data/test/lib/facets/core/array/test_thru.rb +1 -1
  66. data/test/lib/facets/core/array/test_to_b.rb +1 -1
  67. data/test/lib/facets/core/array/test_to_h.rb +1 -1
  68. data/test/lib/facets/core/array/test_to_hash.rb +1 -1
  69. data/test/lib/facets/core/binding/self/test_of_caller.rb +1 -1
  70. data/test/lib/facets/core/binding/test___LINE__.rb +1 -1
  71. data/test/lib/facets/core/binding/test_call_stack.rb +1 -1
  72. data/test/lib/facets/core/binding/test_called.rb +1 -1
  73. data/test/lib/facets/core/binding/test_caller.rb +1 -1
  74. data/test/lib/facets/core/binding/test_defined.rb +1 -1
  75. data/test/lib/facets/core/binding/test_eval.rb +1 -1
  76. data/test/lib/facets/core/binding/test_local_variables.rb +1 -1
  77. data/test/lib/facets/core/binding/test_method_name.rb +1 -1
  78. data/test/lib/facets/core/binding/test_op_fetch.rb +1 -1
  79. data/test/lib/facets/core/binding/test_op_store.rb +1 -1
  80. data/test/lib/facets/core/binding/test_self.rb +1 -1
  81. data/test/lib/facets/core/class/test_cattr.rb +1 -1
  82. data/test/lib/facets/core/class/test_descendents.rb +1 -1
  83. data/test/lib/facets/core/class/test_method_name.rb +1 -1
  84. data/test/lib/facets/core/class/test_remove_descendents.rb +1 -1
  85. data/test/lib/facets/core/class/test_unix_path.rb +1 -1
  86. data/test/lib/facets/core/comparable/test_at_least.rb +1 -1
  87. data/test/lib/facets/core/comparable/test_clip.rb +1 -1
  88. data/test/lib/facets/core/comparable/test_cmp.rb +1 -1
  89. data/test/lib/facets/core/continuation/self/test_create.rb +1 -1
  90. data/test/lib/facets/core/date/test_days_in_month.rb +1 -1
  91. data/test/lib/facets/core/date/test_days_of_month.rb +1 -1
  92. data/test/lib/facets/core/date/test_stamp.rb +1 -1
  93. data/test/lib/facets/core/date/test_to_date.rb +1 -1
  94. data/test/lib/facets/core/date/test_to_s.rb +1 -1
  95. data/test/lib/facets/core/date/test_to_time.rb +1 -1
  96. data/test/lib/facets/core/dir/self/test_ancestor.rb +1 -1
  97. data/test/lib/facets/core/dir/self/test_ascend.rb +1 -1
  98. data/test/lib/facets/core/enumerable/self/test_combinations.rb +1 -1
  99. data/test/lib/facets/core/enumerable/self/test_cross.rb +1 -1
  100. data/test/lib/facets/core/enumerable/test_collect_with_index.rb +1 -1
  101. data/test/lib/facets/core/enumerable/test_commonality.rb +1 -1
  102. data/test/lib/facets/core/enumerable/test_compact_collect.rb +1 -1
  103. data/test/lib/facets/core/enumerable/test_count.rb +1 -1
  104. data/test/lib/facets/core/enumerable/test_cross.rb +1 -1
  105. data/test/lib/facets/core/enumerable/test_each_by.rb +71 -0
  106. data/test/lib/facets/core/enumerable/test_each_combination.rb +1 -1
  107. data/test/lib/facets/core/enumerable/test_each_pair.rb +1 -1
  108. data/test/lib/facets/core/enumerable/test_each_unique_pair.rb +1 -1
  109. data/test/lib/facets/core/enumerable/test_eachn.rb +34 -0
  110. data/test/lib/facets/core/enumerable/test_entropy.rb +1 -1
  111. data/test/lib/facets/core/enumerable/test_every.rb +1 -1
  112. data/test/lib/facets/core/enumerable/test_ew.rb +1 -1
  113. data/test/lib/facets/core/enumerable/test_filter_collect.rb +1 -1
  114. data/test/lib/facets/core/enumerable/test_find_collisions.rb +1 -1
  115. data/test/lib/facets/core/enumerable/test_frequency.rb +1 -1
  116. data/test/lib/facets/core/enumerable/test_graph.rb +1 -1
  117. data/test/lib/facets/core/enumerable/test_ideal_entropy.rb +1 -1
  118. data/test/lib/facets/core/enumerable/test_none.rb +1 -1
  119. data/test/lib/facets/core/enumerable/test_occur.rb +1 -1
  120. data/test/lib/facets/core/enumerable/test_one.rb +1 -1
  121. data/test/lib/facets/core/enumerable/test_op_pow.rb +1 -1
  122. data/test/lib/facets/core/enumerable/test_partition_by.rb +1 -1
  123. data/test/lib/facets/core/enumerable/test_permute.rb +1 -1
  124. data/test/lib/facets/core/enumerable/test_probability.rb +1 -1
  125. data/test/lib/facets/core/enumerable/test_to_h.rb +1 -1
  126. data/test/lib/facets/core/enumerable/test_uniq_by.rb +1 -1
  127. data/test/lib/facets/core/file/self/test_create.rb +1 -1
  128. data/test/lib/facets/core/file/self/test_open_as_string.rb +1 -1
  129. data/test/lib/facets/core/file/self/test_read_list.rb +1 -1
  130. data/test/lib/facets/core/file/self/test_sanitize.rb +1 -1
  131. data/test/lib/facets/core/file/self/test_split_all.rb +1 -1
  132. data/test/lib/facets/core/float/test_round_at.rb +1 -1
  133. data/test/lib/facets/core/float/test_round_to.rb +1 -1
  134. data/test/lib/facets/core/hash/self/test_zipnew.rb +1 -1
  135. data/test/lib/facets/core/hash/test_alias.rb +1 -1
  136. data/test/lib/facets/core/hash/test_assert_has_keys.rb +1 -1
  137. data/test/lib/facets/core/hash/test_assert_has_only_keys.rb +1 -1
  138. data/test/lib/facets/core/hash/test_at.rb +1 -1
  139. data/test/lib/facets/core/hash/test_collate.rb +1 -1
  140. data/test/lib/facets/core/hash/test_each.rb +1 -1
  141. data/test/lib/facets/core/hash/test_each_with_index.rb +1 -1
  142. data/test/lib/facets/core/hash/test_each_with_key.rb +1 -1
  143. data/test/lib/facets/core/hash/test_graph.rb +1 -1
  144. data/test/lib/facets/core/hash/test_has_keys.rb +1 -1
  145. data/test/lib/facets/core/hash/test_has_only_keys.rb +1 -1
  146. data/test/lib/facets/core/hash/test_inverse.rb +1 -1
  147. data/test/lib/facets/core/hash/test_normalize_keys.rb +1 -1
  148. data/test/lib/facets/core/hash/test_op_fetch.rb +1 -1
  149. data/test/lib/facets/core/hash/test_op_lshift.rb +1 -1
  150. data/test/lib/facets/core/hash/test_rand_key.rb +1 -1
  151. data/test/lib/facets/core/hash/test_rand_pair.rb +1 -1
  152. data/test/lib/facets/core/hash/test_rand_value.rb +1 -1
  153. data/test/lib/facets/core/hash/test_replace_each.rb +1 -1
  154. data/test/lib/facets/core/hash/test_shuffle.rb +1 -1
  155. data/test/lib/facets/core/hash/test_slice.rb +1 -1
  156. data/test/lib/facets/core/hash/test_stringify_keys.rb +1 -1
  157. data/test/lib/facets/core/hash/test_swap.rb +1 -1
  158. data/test/lib/facets/core/hash/test_swapkey.rb +1 -1
  159. data/test/lib/facets/core/hash/test_symbolize_keys.rb +1 -1
  160. data/test/lib/facets/core/hash/test_to_h.rb +1 -1
  161. data/test/lib/facets/core/hash/test_to_ostruct.rb +1 -1
  162. data/test/lib/facets/core/hash/test_to_ostruct_recurse.rb +1 -1
  163. data/test/lib/facets/core/hash/test_traverse.rb +1 -1
  164. data/test/lib/facets/core/hash/test_update_each.rb +1 -1
  165. data/test/lib/facets/core/hash/test_update_keys.rb +1 -1
  166. data/test/lib/facets/core/hash/test_update_values.rb +1 -1
  167. data/test/lib/facets/core/hash/test_weave.rb +1 -1
  168. data/test/lib/facets/core/integer/test_factorial.rb +1 -1
  169. data/test/lib/facets/core/integer/test_multiple.rb +1 -1
  170. data/test/lib/facets/core/integer/test_of.rb +1 -1
  171. data/test/lib/facets/core/integer/test_ordinal.rb +1 -1
  172. data/test/lib/facets/core/integer/test_times_collect.rb +1 -1
  173. data/test/lib/facets/core/kernel/test___class__.rb +1 -1
  174. data/test/lib/facets/core/kernel/test_as.rb +1 -1
  175. data/test/lib/facets/core/kernel/test_assign_from.rb +1 -1
  176. data/test/lib/facets/core/kernel/test_assign_with.rb +1 -1
  177. data/test/lib/facets/core/kernel/test_bool.rb +1 -1
  178. data/test/lib/facets/core/kernel/test_bug.rb +1 -1
  179. data/test/lib/facets/core/kernel/test_call_stack.rb +1 -1
  180. data/test/lib/facets/core/kernel/test_called.rb +1 -1
  181. data/test/lib/facets/core/kernel/test_callee.rb +1 -1
  182. data/test/lib/facets/core/kernel/test_constant.rb +1 -1
  183. data/test/lib/facets/core/kernel/test_copy.rb +1 -1
  184. data/test/lib/facets/core/kernel/test_deep_copy.rb +1 -1
  185. data/test/lib/facets/core/kernel/test_demo.rb +1 -1
  186. data/test/lib/facets/core/kernel/test_fn.rb +1 -1
  187. data/test/lib/facets/core/kernel/test_get_by_id.rb +1 -1
  188. data/test/lib/facets/core/kernel/test_here.rb +1 -1
  189. data/test/lib/facets/core/kernel/test_in.rb +1 -1
  190. data/test/lib/facets/core/kernel/test_instance_exec.rb +1 -1
  191. data/test/lib/facets/core/kernel/test_maybe.rb +1 -1
  192. data/test/lib/facets/core/kernel/test_metaclass.rb +1 -1
  193. data/test/lib/facets/core/kernel/test_method.rb +1 -1
  194. data/test/lib/facets/core/kernel/test_methods.rb +1 -1
  195. data/test/lib/facets/core/kernel/test_new.rb +1 -1
  196. data/test/lib/facets/core/kernel/test_object_class.rb +1 -1
  197. data/test/lib/facets/core/kernel/test_object_hexid.rb +1 -1
  198. data/test/lib/facets/core/kernel/test_quaclass.rb +1 -1
  199. data/test/lib/facets/core/kernel/test_require_all.rb +1 -1
  200. data/test/lib/facets/core/kernel/test_require_esc.rb +1 -1
  201. data/test/lib/facets/core/kernel/test_require_facet.rb +1 -1
  202. data/test/lib/facets/core/kernel/test_resc.rb +1 -1
  203. data/test/lib/facets/core/kernel/test_returning.rb +1 -1
  204. data/test/lib/facets/core/kernel/test_send_as.rb +1 -1
  205. data/test/lib/facets/core/kernel/test_set_from.rb +1 -1
  206. data/test/lib/facets/core/kernel/test_set_with.rb +1 -1
  207. data/test/lib/facets/core/kernel/test_silently.rb +1 -1
  208. data/test/lib/facets/core/kernel/test_singleton.rb +1 -1
  209. data/test/lib/facets/core/kernel/test_singleton_class.rb +1 -1
  210. data/test/lib/facets/core/kernel/test_superior.rb +1 -1
  211. data/test/lib/facets/core/kernel/test_supermethod.rb +1 -1
  212. data/test/lib/facets/core/kernel/test_this.rb +1 -1
  213. data/test/lib/facets/core/kernel/test_to_b.rb +1 -1
  214. data/test/lib/facets/core/kernel/test_to_bool.rb +1 -1
  215. data/test/lib/facets/core/kernel/test_to_data.rb +1 -1
  216. data/test/lib/facets/core/kernel/test_uri.rb +1 -1
  217. data/test/lib/facets/core/kernel/test_val.rb +1 -1
  218. data/test/lib/facets/core/kernel/test_with_accessor.rb +1 -1
  219. data/test/lib/facets/core/matchdata/test_match.rb +1 -1
  220. data/test/lib/facets/core/matchdata/test_matchtree.rb +1 -1
  221. data/test/lib/facets/core/module/test_abstract.rb +1 -1
  222. data/test/lib/facets/core/module/test_alias_module_function.rb +1 -1
  223. data/test/lib/facets/core/module/test_ancestor.rb +1 -1
  224. data/test/lib/facets/core/module/test_basename.rb +1 -1
  225. data/test/lib/facets/core/module/test_by_name.rb +1 -1
  226. data/test/lib/facets/core/module/test_class_extension.rb +1 -1
  227. data/test/lib/facets/core/module/test_clone_using.rb +1 -1
  228. data/test/lib/facets/core/module/test_dirname.rb +1 -1
  229. data/test/lib/facets/core/module/test_equate_on.rb +1 -1
  230. data/test/lib/facets/core/module/test_include_as.rb +1 -1
  231. data/test/lib/facets/core/module/test_initializer.rb +1 -1
  232. data/test/lib/facets/core/module/test_instance_methods.rb +1 -1
  233. data/test/lib/facets/core/module/test_integrate.rb +1 -1
  234. data/test/lib/facets/core/module/test_memoize.rb +1 -1
  235. data/test/lib/facets/core/module/test_modspace.rb +1 -1
  236. data/test/lib/facets/core/module/test_namespace.rb +1 -1
  237. data/test/lib/facets/core/module/test_nesting.rb +1 -1
  238. data/test/lib/facets/core/module/test_nodef.rb +1 -1
  239. data/test/lib/facets/core/module/test_on_included.rb +1 -1
  240. data/test/lib/facets/core/module/test_redef.rb +1 -1
  241. data/test/lib/facets/core/module/test_redefine_method.rb +1 -1
  242. data/test/lib/facets/core/module/test_redirect.rb +1 -1
  243. data/test/lib/facets/core/module/test_redirect_method.rb +1 -1
  244. data/test/lib/facets/core/module/test_remove.rb +1 -1
  245. data/test/lib/facets/core/module/test_rename.rb +1 -1
  246. data/test/lib/facets/core/module/test_rename_method.rb +1 -1
  247. data/test/lib/facets/core/module/test_revisal.rb +1 -1
  248. data/test/lib/facets/core/module/test_shadow_method.rb +1 -1
  249. data/test/lib/facets/core/module/test_sort_on.rb +1 -1
  250. data/test/lib/facets/core/module/test_this.rb +1 -1
  251. data/test/lib/facets/core/module/test_wrap.rb +1 -1
  252. data/test/lib/facets/core/module/test_wrap_method.rb +1 -1
  253. data/test/lib/facets/core/nilclass/test_blank.rb +1 -1
  254. data/test/lib/facets/core/nilclass/test_empty.rb +1 -1
  255. data/test/lib/facets/core/nilclass/test_include.rb +1 -1
  256. data/test/lib/facets/core/nilclass/test_op_fetch.rb +1 -1
  257. data/test/lib/facets/core/nilclass/test_size.rb +1 -1
  258. data/test/lib/facets/core/nilclass/test_to_h.rb +1 -1
  259. data/test/lib/facets/core/numeric/test_approx.rb +1 -1
  260. data/test/lib/facets/core/numeric/test_ceil_multiple.rb +1 -1
  261. data/test/lib/facets/core/numeric/test_distance.rb +1 -1
  262. data/test/lib/facets/core/numeric/test_succ.rb +1 -1
  263. data/test/lib/facets/core/numeric/test_to_b.rb +1 -1
  264. data/test/lib/facets/core/ostruct/test___merge__.rb +1 -1
  265. data/test/lib/facets/core/ostruct/test___update__.rb +1 -1
  266. data/test/lib/facets/core/ostruct/test_op_fetch.rb +1 -1
  267. data/test/lib/facets/core/ostruct/test_op_store.rb +1 -1
  268. data/test/lib/facets/core/proc/test_compose.rb +1 -1
  269. data/test/lib/facets/core/proc/test_op_mul.rb +1 -1
  270. data/test/lib/facets/core/proc/test_to_method.rb +1 -1
  271. data/test/lib/facets/core/range/test_to_r.rb +1 -1
  272. data/test/lib/facets/core/range/test_to_range.rb +1 -1
  273. data/test/lib/facets/core/range/test_umbrella.rb +1 -1
  274. data/test/lib/facets/core/range/test_within.rb +1 -1
  275. data/test/lib/facets/core/regexp/test_arity.rb +1 -1
  276. data/test/lib/facets/core/regexp/test_to_re.rb +1 -1
  277. data/test/lib/facets/core/regexp/test_to_regexp.rb +1 -1
  278. data/test/lib/facets/core/string/self/test_interpolate.rb +1 -1
  279. data/test/lib/facets/core/string/self/test_patterns.rb +1 -1
  280. data/test/lib/facets/core/string/self/test_rand_letter.rb +1 -1
  281. data/test/lib/facets/core/string/test_align_center.rb +1 -1
  282. data/test/lib/facets/core/string/test_at_rand.rb +1 -1
  283. data/test/lib/facets/core/string/test_basename.rb +1 -1
  284. data/test/lib/facets/core/string/test_blank.rb +1 -1
  285. data/test/lib/facets/core/string/test_bracket.rb +1 -1
  286. data/test/lib/facets/core/string/test_camelcase.rb +1 -1
  287. data/test/lib/facets/core/string/test_camelize.rb +1 -1
  288. data/test/lib/facets/core/string/test_capitalized.rb +1 -1
  289. data/test/lib/facets/core/string/test_chars.rb +1 -1
  290. data/test/lib/facets/core/string/test_cmp.rb +1 -1
  291. data/test/lib/facets/core/string/test_demodulize.rb +1 -1
  292. data/test/lib/facets/core/string/test_divide.rb +1 -1
  293. data/test/lib/facets/core/string/test_downcase.rb +1 -1
  294. data/test/lib/facets/core/string/test_dresner.rb +1 -1
  295. data/test/lib/facets/core/string/test_each_char.rb +1 -1
  296. data/test/lib/facets/core/string/test_each_word.rb +1 -1
  297. data/test/lib/facets/core/string/test_first.rb +1 -1
  298. data/test/lib/facets/core/string/test_fold.rb +1 -1
  299. data/test/lib/facets/core/string/test_humanize.rb +1 -1
  300. data/test/lib/facets/core/string/test_indent.rb +1 -1
  301. data/test/lib/facets/core/string/test_index_all.rb +1 -1
  302. data/test/lib/facets/core/string/test_last.rb +1 -1
  303. data/test/lib/facets/core/string/test_line_wrap.rb +1 -1
  304. data/test/lib/facets/core/string/test_lines.rb +1 -1
  305. data/test/lib/facets/core/string/test_lowercase.rb +1 -1
  306. data/test/lib/facets/core/string/test_margin.rb +1 -1
  307. data/test/lib/facets/core/string/test_methodize.rb +1 -1
  308. data/test/lib/facets/core/string/test_modulize.rb +1 -1
  309. data/test/lib/facets/core/string/test_mscan.rb +1 -1
  310. data/test/lib/facets/core/string/test_natcmp.rb +1 -1
  311. data/test/lib/facets/core/string/test_nchar.rb +1 -1
  312. data/test/lib/facets/core/string/test_pathize.rb +1 -1
  313. data/test/lib/facets/core/string/test_pop.rb +1 -1
  314. data/test/lib/facets/core/string/test_pot.rb +1 -1
  315. data/test/lib/facets/core/string/test_push.rb +1 -1
  316. data/test/lib/facets/core/string/test_quote.rb +1 -1
  317. data/test/lib/facets/core/string/test_rand_byte.rb +1 -1
  318. data/test/lib/facets/core/string/test_rand_index.rb +1 -1
  319. data/test/lib/facets/core/string/test_range.rb +1 -1
  320. data/test/lib/facets/core/string/test_range_all.rb +1 -1
  321. data/test/lib/facets/core/string/test_range_of_line.rb +1 -1
  322. data/test/lib/facets/core/string/test_regesc.rb +1 -1
  323. data/test/lib/facets/core/string/test_shatter.rb +1 -1
  324. data/test/lib/facets/core/string/test_shift.rb +1 -1
  325. data/test/lib/facets/core/string/test_shuffle.rb +1 -1
  326. data/test/lib/facets/core/string/test_similarity.rb +1 -1
  327. data/test/lib/facets/core/string/test_singular.rb +1 -1
  328. data/test/lib/facets/core/string/test_soundex.rb +1 -1
  329. data/test/lib/facets/core/string/test_succ.rb +1 -1
  330. data/test/lib/facets/core/string/test_to_a.rb +1 -1
  331. data/test/lib/facets/core/string/test_to_b.rb +1 -1
  332. data/test/lib/facets/core/string/test_to_const.rb +1 -1
  333. data/test/lib/facets/core/string/test_to_date.rb +1 -1
  334. data/test/lib/facets/core/string/test_to_proc.rb +1 -1
  335. data/test/lib/facets/core/string/test_to_re.rb +1 -1
  336. data/test/lib/facets/core/string/test_to_time.rb +1 -1
  337. data/test/lib/facets/core/string/test_unix_crypt.rb +1 -1
  338. data/test/lib/facets/core/string/test_unpack.rb +1 -1
  339. data/test/lib/facets/core/string/test_unshift.rb +1 -1
  340. data/test/lib/facets/core/string/test_upcase.rb +1 -1
  341. data/test/lib/facets/core/string/test_whitespace.rb +1 -1
  342. data/test/lib/facets/core/string/test_word_filter.rb +1 -1
  343. data/test/lib/facets/core/string/test_word_wrap.rb +1 -1
  344. data/test/lib/facets/core/string/test_words.rb +1 -1
  345. data/test/lib/facets/core/symbol/test_camelcase.rb +1 -1
  346. data/test/lib/facets/core/symbol/test_camelize.rb +1 -1
  347. data/test/lib/facets/core/symbol/test_capitalize.rb +1 -1
  348. data/test/lib/facets/core/symbol/test_capitalized.rb +1 -1
  349. data/test/lib/facets/core/symbol/test_downcase.rb +1 -1
  350. data/test/lib/facets/core/symbol/test_not.rb +1 -1
  351. data/test/lib/facets/core/symbol/test_pad.rb +1 -1
  352. data/test/lib/facets/core/symbol/test_succ.rb +1 -1
  353. data/test/lib/facets/core/symbol/test_to_const.rb +1 -1
  354. data/test/lib/facets/core/symbol/test_to_proc.rb +1 -1
  355. data/test/lib/facets/core/symbol/test_to_str.rb +1 -1
  356. data/test/lib/facets/core/symbol/test_underscore.rb +1 -1
  357. data/test/lib/facets/core/symbol/test_upcase.rb +1 -1
  358. data/test/lib/facets/core/time/test_change.rb +1 -1
  359. data/test/lib/facets/core/time/test_elapse.rb +1 -1
  360. data/test/lib/facets/core/time/test_stamp.rb +1 -1
  361. data/test/lib/facets/core/time/test_to_date.rb +1 -1
  362. data/test/lib/facets/core/time/test_to_s.rb +1 -1
  363. data/test/lib/facets/core/time/test_to_time.rb +1 -1
  364. data/test/lib/facets/more/test_annattr.rb +1 -1
  365. data/test/lib/facets/more/test_annotation.rb +1 -1
  366. data/test/lib/facets/more/test_ansicode.rb +1 -1
  367. data/test/lib/facets/more/test_association.rb +1 -1
  368. data/test/lib/facets/more/test_autoarray.rb +1 -1
  369. data/test/lib/facets/more/test_basicobject.rb +1 -1
  370. data/test/lib/facets/more/test_bbcode.rb +1 -1
  371. data/test/lib/facets/more/test_binaryreader.rb +1 -1
  372. data/test/lib/facets/more/test_bitmask.rb +1 -1
  373. data/test/lib/facets/more/test_bytes.rb +1 -1
  374. data/test/lib/facets/more/test_classmethods.rb +1 -1
  375. data/test/lib/facets/more/test_command.rb +1 -1
  376. data/test/lib/facets/more/test_coroutine.rb +1 -1
  377. data/test/lib/facets/more/test_crypt.rb +1 -1
  378. data/test/lib/facets/more/test_cut.rb +1 -1
  379. data/test/lib/facets/more/test_dictionary.rb +1 -1
  380. data/test/lib/facets/more/test_elementor.rb +1 -1
  381. data/test/lib/facets/more/test_enumerablepass.rb +1 -1
  382. data/test/lib/facets/more/test_floatstring.rb +1 -1
  383. data/test/lib/facets/more/test_functor.rb +1 -1
  384. data/test/lib/facets/more/test_htmlbuilder.rb +1 -1
  385. data/test/lib/facets/more/test_infinity.rb +1 -1
  386. data/test/lib/facets/more/test_inheritor.rb +1 -1
  387. data/test/lib/facets/more/test_instance_intercept.rb +1 -1
  388. data/test/lib/facets/more/test_interval.rb +1 -1
  389. data/test/lib/facets/more/test_json.rb +1 -1
  390. data/test/lib/facets/more/test_lisp.rb +1 -1
  391. data/test/lib/facets/more/test_lisp_format.rb +1 -1
  392. data/test/lib/facets/more/test_lrucache.rb +1 -1
  393. data/test/lib/facets/more/test_mathconstants.rb +1 -1
  394. data/test/lib/facets/more/test_methodfilter.rb +1 -1
  395. data/test/lib/facets/more/test_methodprobe.rb +1 -1
  396. data/test/lib/facets/more/test_multipliers.rb +1 -1
  397. data/test/lib/facets/more/test_multiton.rb +1 -1
  398. data/test/lib/facets/more/test_nackclass.rb +1 -1
  399. data/test/lib/facets/more/test_nilcomparable.rb +1 -1
  400. data/test/lib/facets/more/test_opencascade.rb +1 -1
  401. data/test/lib/facets/more/test_openobject.rb +1 -1
  402. data/test/lib/facets/more/test_overload.rb +1 -1
  403. data/test/lib/facets/more/test_paramix.rb +1 -1
  404. data/test/lib/facets/more/test_pqueue.rb +1 -1
  405. data/test/lib/facets/more/test_predicate.rb +1 -1
  406. data/test/lib/facets/more/test_preinitialize.rb +1 -1
  407. data/test/lib/facets/more/test_promoteself.rb +1 -1
  408. data/test/lib/facets/more/test_recorder.rb +1 -1
  409. data/test/lib/facets/more/test_snapshot.rb +1 -1
  410. data/test/lib/facets/more/test_statichash.rb +1 -1
  411. data/test/lib/facets/more/test_syncarray.rb +1 -1
  412. data/test/lib/facets/more/test_synchash.rb +1 -1
  413. data/test/lib/facets/more/test_tagiterator.rb +1 -1
  414. data/test/lib/facets/more/test_taskable.rb +28 -7
  415. data/test/lib/facets/more/test_timer.rb +1 -1
  416. data/test/lib/facets/more/test_times.rb +1 -1
  417. data/test/lib/facets/more/test_tuple.rb +1 -1
  418. data/test/lib/facets/more/test_typecast.rb +1 -1
  419. data/test/lib/facets/more/test_uninheritable.rb +1 -1
  420. data/test/lib/facets/more/test_units.rb +1 -1
  421. data/test/lib/facets/more/test_xmlbuilder.rb +1 -1
  422. data/test/lib/facets/more/test_xmlhelper.rb +1 -1
  423. data/test/lib/facets/more/test_xoxo.rb +1 -1
  424. data/test/lib/facets/more/test_yamlstruct.rb +1 -1
  425. data/util/announce +20 -0
  426. data/util/changelog +8 -0
  427. data/util/count +8 -0
  428. data/util/extest +8 -0
  429. data/util/list +38 -0
  430. data/util/package +9 -0
  431. data/util/prepare +12 -0
  432. data/util/redirect +34 -0
  433. data/util/release +13 -0
  434. data/util/setup +7 -0
  435. data/util/test +7 -0
  436. data/util/version +8 -0
  437. metadata +1514 -1491
  438. data/doc/CAUTION +0 -55
  439. data/doc/IMPORTANT +0 -8
  440. data/doc/LATEST +0 -41
  441. data/doc/history/ANN-0.6.0 +0 -40
  442. data/doc/history/ANN-0.6.1 +0 -36
  443. data/doc/history/ANN-0.6.3 +0 -43
  444. data/doc/history/ANN-0.7.0 +0 -59
  445. data/doc/history/ANN-0.8.1 +0 -127
  446. data/doc/history/INTRO +0 -172
  447. data/doc/history/README +0 -223
  448. data/doc/history/README-OLD +0 -180
  449. data/doc/manifest +0 -1209
  450. data/doc/scrap/Rakefile.old +0 -181
  451. data/lib/facet/enumerable/each_slice.rb +0 -1
  452. data/lib/facets/core/enumerable/each_slice.rb +0 -131
  453. data/meta/reapfile +0 -184
  454. data/meta/task +0 -74
  455. data/meta/tasks/calibre.rb +0 -16
  456. data/meta/version +0 -1
@@ -1,55 +0,0 @@
1
-
2
- # Some caution should be taken when using certain facets.
3
- # What follows ois list of such facets and the reasons
4
- # these particular facets should given special consideration.
5
-
6
- # Some facets require other files to be loaded first
7
- # that are not loaded automatically, like fileutils
8
- # (i.e. they are part of the standard lib, not core).
9
- # The file include all of the following.
10
-
11
- date/*
12
- fileutils/*
13
- ostruct/*
14
- logger/*
15
- gem/*
16
-
17
- # Others effect the system in slightly non-standard ways.
18
- # Though such changes are kept to a minumim and intended
19
- # to be backward compatible, there still may be edge cases
20
- # that could cause another library to misbehave.
21
- # The following is a list known facets that may have
22
- # this potential.
23
-
24
- array/op_fetch.rb
25
- array/op_store.rb
26
- binding/self/of_caller.rb
27
- hash/op_fetch.rb
28
- hash/op_store.rb
29
- numeric/succ.rb
30
- numeric/pred.rb
31
- string/succ.rb
32
- string/unpack.rb
33
- module/attr.rb
34
- #module/attr_reader.rb
35
- #module/attr_writer.rb
36
- #module/attr_accessor.rb
37
-
38
- # There are also some facets that are potentially unsafe b/c
39
- # they change Ruby's default behavior in a nonconvential
40
- # manner and hence are not designed to be backward compatible.
41
- # Using these with a pre-existent program may cause the program
42
- # to misbehave. So while they can be useful, be sure to
43
- # understand exactly what they do before putting them to
44
- # serious use.
45
-
46
- hash/each.rb
47
- module/methods.rb
48
- object/method.rb
49
- nilclass/op_fetch.rb
50
- nilclass/empty.rb
51
- nilclass/include.rb
52
- nilclass/size.rb
53
- nilclass/length.rb
54
- nilclass/method_missing.rb
55
-
@@ -1,8 +0,0 @@
1
- Facets is a GENERAL PURPOSE library. It is vital that is stay that way!
2
-
3
- Under no circumstances should something be added to Facets specific to
4
- a particular use case or application. While a lib might serve the needs
5
- of such, the lib itself must have general applicability. Although not a
6
- sure test in either "direction", a good rule of thumb for such a
7
- condition is whether a lib has an external dependency --it should not.
8
-
data/doc/LATEST DELETED
@@ -1,41 +0,0 @@
1
-
2
- The 1.4 series of Facets is now official!
3
-
4
- There are have been quite a few improvements since the last offical release. The single biggest change is actually completely behind the scenes. Darcs is now being usd as the revision control system. Darcs really is a dream to use and should make it easier for others to contribute to the project. (I only wish Rubyforge and Tracs would gear up their Darcs support.)
5
-
6
- Here are the other major highlights of 1.4 series:
7
-
8
- * Added nilclass/status which allows a message to be passed through a failure chain.
9
-
10
- * Added enumerable/cascade, a cascade a list of actions on each element of an enumerable. Thanks to Sean O'Halpin for this.
11
-
12
- * Removed hash/keys_to_iv because it is a poor name. Since the alternative of 'keys_to_instance_variables' conveys the wrong idea, we simply deprecated it in favor of the Rails compatible #variablize_keys.
13
-
14
- * Fixed bug in BasicObject#__self__.
15
-
16
- * Addedd Cookie, HTTP and HTTPAccess of Hiroshi Nakamura's httpaccess2.rb library. Cookie has been moved to Web namespace.
17
-
18
- * OpenObject's __get__ and __set__ methods have been changed to __fetch__ and __store__ to correspond to the Hash methods.
19
-
20
- * Added OpenCascade, which is like OpenObject but chains access.
21
-
22
- * Included MenTaLguY's lazy.rb which include's Future and Promise classes. Cool lib!
23
-
24
- * Created task.rb, which provides a Rake interface compatible task system, but that can be used in any code. Instead of defining tasks globally it defines them as methods of the current module or class. This makes the "task pattern" reusable.
25
-
26
- * Improved Hash#traverse (it now does all traversing before yielding).
27
-
28
- * kernel/me, kernel/methodname and kernel/method_name have all been deprecated in favor of 1.9's kernel/__method__ and kernel/__callee__ (but why more __ methods if you don't like them, matz?)
29
-
30
- * Console::Application is deprecated as an alias for Console::Command.
31
-
32
- * Console::Command now supports run-on flags (eg. -xvzf).
33
-
34
- * More's classinherit.rb has been removed, and classmethods.rb will eventaully be deprecated as well. You should transition all uses of these to the core method module/class_extension.
35
-
36
- * Updated tuple.rb so that when a string is converted to a Tuple (#to_t) the values wll be made integers if they are composed of only numbers. If you need all strings you can use a block since the block bypasses auto coerce, eg. to_t{ |v| v }.
37
-
38
- * If anyone missed the changes from 1.3 the main of them were the inclusion of xoxo.rb, json.rb and rtals.rb; the moving of the cattr methods from module/ to class/. The mattr methods are still being reconsidered (They were aliases for cattr.); and adding zimba.tm's string/modulize, pathize and methodize methods.
39
-
40
- I see the gleen in your eye ;) Enjoy!
41
-
@@ -1,40 +0,0 @@
1
- Happy Winter Solstice,
2
-
3
- I am pleased to finally announce the first public release of Ruby
4
- Facets. Ruby Facets was born, as I imagine many such projects
5
- are, over a period of years, as a growing collection of routines
6
- for which I commonly found need. Recently the library had
7
- grown large enough that I thought it might stand on its own.
8
- So a few weeks ago, I decided I'd go ahead and prepare a
9
- release. There was a good bit of work to do --organizing,
10
- documenting, testing; and I had the "bright" idea of scouring
11
- the web for other tidbits that I might add. That turned into a
12
- whole project in itself! But I persevered and now Facets is
13
- finally polished enough for an initial offering.
14
-
15
- Of course, there are still plenty of things left to do: write better
16
- documentation, improve the tests and write a few yet missing,
17
- improve the methods themselves, perhaps even a few improvements
18
- in method and file names, plus error catching code --I'm sure there
19
- are a number of places for that improvement, and of course there's
20
- plenty of room for adding new goodies, too. In fact I hope the
21
- Ruby community at large will take this opportunity to contribute any
22
- extension methods used personally but deemed generally useful.
23
- As the project manager I am quite open to the many possibilities.
24
- Please contribute!
25
-
26
- Being the very first release, I expect there may arise some
27
- unforeseen bugs. If you come across any please let me know,
28
- as soon as possible, so I can fix. You can contact me either
29
- privately or via ruby-talk, or through the new calibre-cuts
30
- mailing-list:
31
-
32
- http://rubyforge.org/mailman/listinfo/calibre-cuts
33
-
34
- My hope for Ruby Facets, and the other children of its parent
35
- project, Ruby Calibre, is that Ruby will gain a vast and widely
36
- used set of useful classes and routines in a nice all-in-one package
37
- --Ruby's Tertiary library after Core and Standard, if you will.
38
-
39
- Thanks and Happy Holidays,
40
- T.
@@ -1,36 +0,0 @@
1
- Happy New Year,
2
-
3
- A new version of Ruby Facets is out: 0.6.1. This version updates the common
4
- "mix" files to be insync with the previous 0.6 updates (they were lagging
5
- behind at version 0.5). Not to be confused with a _mixin_, a mix simply
6
- bundles a group of atomic requires into single file. The most common are
7
- for the class and modules themselves. For example:
8
-
9
- require 'facet/string'
10
-
11
- This mix requires all String facets considerd most commonly useful.
12
-
13
- Also added are a few new extra mixes: 'facet/rand' and 'facet/nil-as-emptiness'.
14
- 'rand' requires an assortment of random related methods. 'nil-as-emptiness'
15
- makes NilClass return nil to a number of common methods, like #empty?
16
- and #[].
17
-
18
- If you are interested in contributing to a project but have little time
19
- to spare, helping with Facets may be a perfect project. There are still
20
- plenty of light-weight tasks to do: improve documentation, improve the
21
- tests and write a few yet missing, improve the rohbustness of methods
22
- themselves, including exceptional error catching, and of course there's
23
- plenty of room for adding new goodies, too. If you have any extension
24
- methods that you use and think may be of benefit to others, please let
25
- us know. We are quite open to the many possibilities.
26
-
27
- And, of course, please let us know if you come across any bugs.
28
-
29
- You can contact us either privately or via ruby-talk, or through the
30
- new calibre-cuts mailing-list:
31
-
32
- http://rubyforge.org/mailman/listinfo/calibre-cuts
33
-
34
- Thanks,
35
- T.
36
-
@@ -1,43 +0,0 @@
1
- Hi--
2
-
3
- Ruby Facets 0.6.3 is now out. This version adds some new methods (as
4
- usual). But the biggest news is that Facets is now avaialble via
5
- RubyGems. To install simply run 'gem install facets'.
6
-
7
- Here's a rundown of the ChangeLog for 0.6.3:
8
-
9
- * Added kernel/require_all which allows one to require a pattern of files,
10
- making it easy to require every file in a directory.
11
-
12
- * Added hash/traverse and hash/traverse!, which takes a block and iterates over
13
- each key-value pair descending into subhash values and applying the block.
14
- Thanks goes to Ara T. Howard and robert for their help.
15
-
16
- * Changed enumerable/build_hash to enumerable/graph. The method #build_hash
17
- has been aliased to #graph for the time being for backward compatability.
18
-
19
- * Added hash/collect. This uses enumerable/graph so that
20
- hash/collect will return a hash rather then an array.
21
-
22
- * Added numeric/before and numeric/after in place of #ago and #since
23
- and aliased #ago and #since to them, per the suggestions of
24
- Francis Hwang.
25
-
26
- * Added "poor man's profiler", time/elapse. Credit goes to Hal Fulton.
27
-
28
- * Added array/last_index. Thanks goes to Jabari.
29
-
30
-
31
- If you have any extension methods that you use and think may be of benefit
32
- to others, please submit them. And, of course, please let me know if you
33
- come across any bugs.
34
-
35
- You can contact me either privately or via ruby-talk,
36
- or via the Ruby Muse mailing list, suby-ruby at berlios.de
37
- (membership required).
38
-
39
- http://rubyforge.org/mailman/listinfo/calibre-cuts
40
-
41
- Thanks,
42
- T.
43
-
@@ -1,59 +0,0 @@
1
- Hi--
2
-
3
- Exciting news! Ruby Facets 0.7 series is officially out. And this version goes ballistic.
4
- Why? Well, what used to be the Carats library has now been merged into Facets! So not only
5
- does Facets have the atomic methods, it now has a plethora of classes, modules and mixins
6
- to draw upon.
7
-
8
- Here's a list of the general changes for the current version 0.7.2:
9
-
10
- * The Carats library has been ported into the Facet lib. These files sit in the
11
- main lib directory 'facet/' above the "atomic" methods which are all in
12
- subdirectories 'facet/{module|class}/'. This layout works well, and allows for
13
- everything to be provided from the same location.
14
-
15
- * All methods with names containing non-alphanumeric characters are now CGI-escaped.
16
- This removes some incompatibilites with some file systems. For instance Object#in?
17
- is now stored in object/in%3F.rb.
18
-
19
- * So one doesn't have to fuss with these escape chars, a new method has been added,
20
- kernel/require_facet, which automatically does the substitutions.
21
-
22
- * An expiremental file, facet.rb, had been added that allows automatic requiring of
23
- atomic methods. It uses object/method_missing to require the methods on demand.
24
-
25
- * A number of "molecular" files have been added. These require multiple
26
- related "atoms" at once for greater convenience.
27
-
28
- * A few methods that were grouped together in the same file have been separated
29
- into their own files. (This is more feasible thanks to the additional
30
- "require collections.")
31
-
32
- * The method array/put has been changed to array/top (it is an alias for #unshift).
33
-
34
- * Methods #matchdata/post_match_from and #matchdata/pre_match_from have been
35
- deprecated in favor of some more generalized methods that serves the same
36
- purposes, matchdata/matchtree and matchdata/matchset.
37
-
38
- * Added module/include_as which allows one to include a module but within a specified
39
- namespace.
40
-
41
- * Added array/each_permutation, which applys a block to each permutation (in contrast
42
- to each_combination).
43
-
44
- As for the rest. Well, this thing is HUGE! There's no way I can go into it all of it here.
45
- So dig in and check it out. Documentation is a bit improved, too btw, albeit there's still
46
- plenty of work to be done in this regard.
47
-
48
- If you have any extension methods that you use and think may be of benefit
49
- to others, please submit them. And, of course, please let me know if you
50
- come across any bugs.
51
-
52
- You can contact me either privately or via ruby-talk,
53
- or via the Ruby Muse mailing list, suby-ruby at berlios.de
54
- (membership required).
55
-
56
- http://rubyforge.org/mailman/listinfo/calibre-cuts
57
-
58
- Thanks,
59
- T.
@@ -1,127 +0,0 @@
1
-
2
- DRUM ROLL PLEASE. I'm happy to announce two new sister projects:
3
- Nano Methods and Mega Modules. They are born from the heritage of the
4
- old Ruby Facets project (now deprecated). In the course of the last
5
- several months a slew of major improvements have been made. We have some
6
- spiffy new websites and, most importantly, this release marks the
7
- beginning of a clear window toward 1.0 status.
8
-
9
- GREAT NEWS! Nano Methods and Mega Modules are now the official
10
- support libraries for Nitro and Og (http://www.nitrohq.com).
11
- Nitro is a sophisticated Web Application Engine and Og is an
12
- intuitive yet powerful Object Relational Mapping Library.
13
-
14
- WHY MEGA? You may have noticed that I back peddled on the major change to
15
- Facets 0.7.0. In that release I had merged the class and module additions
16
- library, Ruby Carats, into Facets. But I had to separate them out again. It
17
- simply proved too cumbersome to have such a variety of content all in one
18
- location. I am very excited the re-separation though. It has already lent
19
- itself to major improvements to the library, with a number of exciting
20
- additions on the way.
21
-
22
- NANO SYSTEM. Another new feature is the introduction of the NanoSystem
23
- module. This module provides access to meta-info about Nano's extensions.
24
- Primarily it is an index of all the methods. With this information at its
25
- disposal another unique way to require method becomes possible:
26
-
27
- require 'nanosys'
28
-
29
- String.use :capitalized?, :underscore
30
-
31
- I am not recommending this approach at the moment. But in the long run,
32
- as the NanoSystem module matures, it may well prove to be a much more
33
- elegant means of extension loading.
34
-
35
- FOR FACETS USERS. To upgrade, the project name change will require
36
- you to change the #require path-space from 'facet/' to 'nano/', or
37
- occasionally 'mega/'. The division is pretty clear, Nano stores methods
38
- and Mega stores classes and modules. Sorry for the inconvenience, but
39
- after a long debate I decided it was worth it --and better to do so now
40
- rather then later. Hope you like the new names.
41
-
42
- CORNUCOPIA. Finally, there are also _a lot_ of minor changes in this release.
43
- Some of them are simply improvements in the naming of methods or more appropriate
44
- class/module placement. I've gone over all the methods enough now to be
45
- confident that the present methods are pretty well set. You can expect many fewer
46
- name/location changes from here on out. Also, a good number of new methods have
47
- been added. Most of these I have managed to make mention of in the following
48
- ChangeLog summary.
49
-
50
- * Class methods are not prefixed with '::' to separate them from instance methods.
51
-
52
- * Added logger #format and #format_message (whomever wrote these please let me know,
53
- I got them thru a second-hand source and the original author is lost to me. I try
54
- very hard to credit where credit is due.)
55
-
56
- * Renamed object/supers to object/superup. Better!
57
-
58
- * Got rid of symbol/gen. Use object/generate_method_name or
59
- module#generate_instance_method_name instead. [ed- Is that the longest
60
- non-foo method name ever?]
61
-
62
- * The file 1st.rb file has moved to object/method!. This provides a version
63
- of #method that persists the returned Method object.
64
-
65
- * Added module/clone_using, module/clone_renaming and module/clone_removing.
66
-
67
- * Added module/integrate (I love this one, but note that its syntax is not yet
68
- set in stone.)
69
-
70
- * Added many new enumerable methods: #filter_map, #compact_map, #commonality,
71
- #frequency, #probability and #find_collisions.
72
-
73
- * Moved some methods from array to enumerable: #each_permutation,
74
- #each_combination, #each_unique_pair and the class method ::combinations.
75
-
76
- * Added string/bytes per ruby-dev summary 26385-26467.
77
-
78
- * Moved #cattr_reader, #cattr_writer and #cattr_accessor from Class to Module.
79
- These are the class variable attributes as defined by Rails DHH.
80
-
81
- * Added class instance attribute methods: iattr_reader, iatter_writer, &c.
82
- The name of these are not set in stone. It's a bad misnomer. Looking
83
- for suggestions.
84
-
85
- * Added methods to comparable: #cap, #clip. #clip replaces #bound_by, since
86
- 'by' generally indicates the method takes a block parameter. I have retained
87
- #at_least and #at_most, although #cap and #clip handle the same functionality.
88
-
89
- * Added class/descendants (alias subclasses) and class/remove_descendants.
90
-
91
- * Removed string/table_name and string/class_name (were too Rails specific).
92
- Note: A new module has been added to Mega Modules, called orm_inflect.rb.
93
- It contains numerous methods for doing this sort of thing.
94
-
95
- * Added numeric/ceil_multiple.
96
-
97
- * Added string/soundex for calculating the soundex code of a word/name.
98
-
99
- * numeric/octet_units has bee moved to mega/binary_multipliers, which
100
- is a rewrite of Richard Kilmer's bytes.rb. Actually #octet_units is
101
- now just an alias or #strfbytes, accompanied by #strfbits.
102
-
103
- * Placed Florian's binding-of-caller.rb in binding/of_caller. Makes more
104
- sense there.
105
-
106
- * Fixed Continuation::create; it wasn't defined as a class method
107
- and should have been.
108
-
109
- * Fixed bug with string/capitalized? which wasn't always giving the correct
110
- result.
111
-
112
- There are a number of others, but this particular session of development was
113
- so rapid and choked full, I wasn't able to log them all.
114
- Please see the API RDocs for a complete listing.
115
-
116
- CONTRIBUTE. As always, if you have any extension methods that you use and think
117
- may be of benefit to others, please submit them. There's a good chance they'll be
118
- incorporated. Also, if you happen to notice any code that is mis-credited or is
119
- not credited at all and should be, please correct me. Giving credit where credit
120
- is due is _vry_ important to me, unfortuantely in the juggle of things it doesn't
121
- always get doen as wellas it should. And, of course, please let me know if you
122
- come across any bugs.
123
-
124
- You can contact me either privately or via ruby-talk.
125
-
126
- Thanks and Enjoy,
127
- trans|onoma
@@ -1,172 +0,0 @@
1
-
2
- = Ruby Calibre, Common Applications Library Suite
3
-
4
- "ALL BASE COMMON"
5
-
6
- == Introduction
7
-
8
- Welcome to the Ruby Calibre Project[1].
9
-
10
- Calibre is an open API repository project for the Ruby programming language.
11
- The intent of the project is to provide extensive general purposed library
12
- collections to supplement the core and standard libraries already
13
- included with Ruby. Specifically, it is an free and open repository of
14
- useful and well tested classes, modules, mixins and methods.
15
-
16
- Calibre has a simple slogan, "ALL BASE COMMON". The notion is that small
17
- commonly used tools are better served whole. There are a number of
18
- advantages in bundling these into a single suite.
19
-
20
- * Better code reuse
21
- * Collabretive improvements
22
- * Name consistency
23
- * One-stop shop and installation
24
-
25
- The name Calibre is derived from the term used in gemstones:
26
-
27
- "Calibre-cut stones are small stones that are cut into special shapes
28
- that are meant for use in commonly-used designs."
29
-
30
- So you see, the gemstone analogy is perfect. :)
31
-
32
- The project is presently divided into two parts.
33
-
34
- The first and most fundemental of these is Ruby Facets, the Fantasic Atomic
35
- Core Extensions. The uniquness of this library collection lies in the
36
- atomicity of its extensions layout (hence the name) --nearly every core
37
- extension method is in it's own file, so it can be required independently.
38
-
39
- The second is Cuts&Carats, a Collection of API Useful Tools. This is a higher-level
40
- general purpose library which includes classes, modules, mixins, and other
41
- assorted general purposed additions.
42
-
43
- All Calibre libraries include expiremental development repositories where
44
- new potential additions are kept for research and testing. Please,
45
- feel free to explore these repositories and help contribute to those
46
- works-in-progess. If you have something you'd like to add, please
47
- submit and it will be placed into the appropriate development area,
48
- where it will reside until deemed fit for inclusion in the main.
49
-
50
- Note: Calibre is still a young project so a number of libs
51
- still need improvements despite their inclusion in the main.
52
-
53
-
54
- == Installation
55
-
56
- presently only a manual install is avaliable but it is simple enough
57
- in that it uses setup.rb. Simply uncompress the package and run
58
- setup.rb. For example:
59
-
60
- > tar -xvzf trix-x.y.z.tar.gz
61
- > cd trix-x.y.z
62
- > sudo ruby setup.rb
63
-
64
-
65
- == Usage
66
-
67
- Umm... that might require a book. You should look at the API RDocs.
68
- To date, not everything in documented. But it's getting there.
69
- You are welcome to help out. The basic requires are:
70
-
71
- require 'calib/<file>'
72
-
73
- require 'calib/cut/<file>'
74
- require 'calib/carat/<file>'
75
-
76
- require 'facet/<file>'
77
- require 'facet/<class>/<file>'
78
-
79
- For instance:
80
-
81
- require 'facet/nil/empty?'
82
-
83
- The #empty? method will be the only new method added to NilClass.
84
- In the Facet's lib almost every file is named for the method in
85
- contains. The only exceptions are for methods that are tightly
86
- related. In these few cases either the file will be named after
87
- the "core" method, or named as a conjunction, like +true&false?.rb+.
88
-
89
-
90
- == Mascots
91
-
92
- Doesn't every good project need a mascot? Well, ours is the Raspberry,
93
- becasue it's red and faceted. But we also like Carrots, Baseball Diamonds
94
- and Swirling Atoms. :)
95
-
96
- ==== Why Raspberry?
97
-
98
- Becasue it adds color (namely red) and a nice flavor to the whole affair.
99
-
100
-
101
- == Authorship
102
-
103
- This collection was put together by, and much of it written by Thomas Sawyer
104
- (aka T. Onoma). He can be reached via email at transami at runbox.com.
105
-
106
- This package is a collection of work by many persons.
107
- If it matters, the collection(s) per collection(s) is licensed:
108
-
109
- Calibre, Common Application Libraries
110
- Copyright (c) 2004 Thomas Sawyer
111
- Ruby License
112
-
113
- Carats, the Ruby Toolchest
114
- Copyright (c) 2004 Thomas Sawyer
115
- Ruby License
116
-
117
- Cuts, Common Useful Tools
118
- Copyright (c) 2004 Thomas Sawyer
119
- Ruby License
120
-
121
- But the individual pieces of code are licensed according to the original authors
122
- desires, thus far being one of the following: Ruby, GPL, LGPL, MIT, or Artistic.
123
- Copies of these licenses should accompany this document. Any piece of code
124
- not specifically laballed shall fall under the Ruby License.
125
-
126
- Please Note: I am working to make sure everything is labeled appropriately.
127
- Please forgive me if I have not done so in a particular place --just let
128
- me know and I will fix.
129
-
130
- Also, I would like to ask all those authors, whose code is collected here,
131
- to consider moving to a common license, assumedly the Ruby license,
132
- so one license can serve for all.
133
-
134
- === Contributing Authors
135
-
136
- This follwoing is a list code contributors.
137
- (Please notify me, if anyone is missing.)
138
-
139
- * Thomas Sawyer <transami#runbox.com>
140
- * Paul Brannan <paul#atdesk.com>
141
- * Renald Buter <buter#cwts.nl>
142
- * Daniel J. Berger
143
- * Hal Fulton <hal9000#hypermetrics.com>
144
- * Gavin Sinclair <gavin#>
145
- * Michael Granger <ged#FaerieMUD.org>
146
- * Michael Neumann <mneumann#ntecs.de>
147
- * Florian Frank
148
- * Mohammad Khan <mkhan#lextranet.com> 
149
- * Derek Lewis <lewisd#f00f.net>
150
- * Thomas-Ivo Heinen
151
- * Jan Molic
152
- * Shashank Date
153
- * Austin Ziegler <halostatue#gmail.com>
154
-
155
-
156
- == Pitch
157
-
158
- ALL YOUR BASE ARE BELONG TO RUBY
159
-
160
-
161
- ----
162
-
163
-
164
- [1] A lot of mental anguish went into finding good titles. Of course in the end,
165
- only one theme could take the honor. Other good names that were considered were
166
- Ruby Warchest w/ Atomix, Ruby Downs & Ace, Ruby Pillbox & Pills (a _why suggestion),
167
- and one that almost won out, Trix & Atomx. Of course, let us not forget even older
168
- "working" names that were used along the way: Tomslib, Succ, ABC and finally Raspberry.
169
-
170
-
171
- # Copyright (c)2004 Thomas Sawyer
172
- # --.com : The web page without a name.