facets 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (400) hide show
  1. data/CHANGELOG +11 -0
  2. data/ProjectInfo +2 -2
  3. data/Rakefile +3 -1
  4. data/conf/facets/noauto +28 -13
  5. data/data/facets/index.yml +3 -4
  6. data/lib/facet/array/pot.rb +1 -0
  7. data/lib/facet/builderobject.rb +1 -0
  8. data/lib/facet/module/this.rb +1 -0
  9. data/lib/facet/rexmlbuilder.rb +1 -0
  10. data/lib/facet/string/pot.rb +1 -0
  11. data/lib/facets/core/array.rb +1 -1
  12. data/lib/facets/core/array/{slap.rb → pot.rb} +8 -7
  13. data/lib/facets/core/date.rb +6 -0
  14. data/lib/facets/core/fileutils.rb +8 -0
  15. data/lib/facets/core/gem.rb +3 -0
  16. data/lib/facets/core/kernel/autoreload.rb +5 -5
  17. data/lib/facets/core/logger.rb +2 -0
  18. data/lib/facets/core/module.rb +1 -1
  19. data/lib/facets/core/module/{let.rb → this.rb} +21 -12
  20. data/lib/facets/core/ostruct.rb +7 -0
  21. data/lib/facets/core/string.rb +1 -2
  22. data/lib/facets/core/string/{slap.rb → pot.rb} +10 -9
  23. data/lib/facets/core/string/to_a.rb +13 -7
  24. data/lib/facets/more/basicobject.rb +2 -0
  25. data/lib/facets/more/builderobject.rb +216 -0
  26. data/lib/facets/more/functor.rb +13 -12
  27. data/lib/facets/more/multiton.rb +5 -5
  28. data/lib/facets/more/progressbar.rb +7 -1
  29. data/lib/facets/more/rexmlbuilder.rb +104 -0
  30. data/lib/facets/more/tuple.rb +219 -55
  31. data/lib/facets/more/units.rb +2 -1
  32. data/test/lib/facets/core/array/test_at_rand.rb +1 -1
  33. data/test/lib/facets/core/array/test_delete_unless.rb +1 -1
  34. data/test/lib/facets/core/array/test_delete_values.rb +1 -1
  35. data/test/lib/facets/core/array/test_delete_values_at.rb +1 -1
  36. data/test/lib/facets/core/array/test_first.rb +1 -1
  37. data/test/lib/facets/core/array/test_head.rb +1 -1
  38. data/test/lib/facets/core/array/test_last_index.rb +1 -1
  39. data/test/lib/facets/core/array/test_merge.rb +1 -1
  40. data/test/lib/facets/core/array/test_mid.rb +1 -1
  41. data/test/lib/facets/core/array/test_middle.rb +1 -1
  42. data/test/lib/facets/core/array/test_op_fetch.rb +1 -1
  43. data/test/lib/facets/core/array/test_op_store.rb +1 -1
  44. data/test/lib/facets/core/array/test_pick.rb +1 -1
  45. data/test/lib/facets/core/array/test_pos.rb +1 -1
  46. data/test/lib/facets/core/array/test_pot.rb +28 -0
  47. data/test/lib/facets/core/array/test_pull.rb +1 -1
  48. data/test/lib/facets/core/array/test_rand_index.rb +1 -1
  49. data/test/lib/facets/core/array/test_rand_subset.rb +1 -1
  50. data/test/lib/facets/core/array/test_range.rb +1 -1
  51. data/test/lib/facets/core/array/test_rotate.rb +1 -1
  52. data/test/lib/facets/core/array/test_select.rb +1 -1
  53. data/test/lib/facets/core/array/test_shuffle.rb +1 -1
  54. data/test/lib/facets/core/array/test_thru.rb +1 -1
  55. data/test/lib/facets/core/array/test_to_b.rb +1 -1
  56. data/test/lib/facets/core/array/test_to_h.rb +1 -1
  57. data/test/lib/facets/core/array/test_to_hash.rb +1 -1
  58. data/test/lib/facets/core/binding/self/test_of_caller.rb +1 -1
  59. data/test/lib/facets/core/binding/test___LINE__.rb +1 -1
  60. data/test/lib/facets/core/binding/test_call_stack.rb +1 -1
  61. data/test/lib/facets/core/binding/test_called.rb +1 -1
  62. data/test/lib/facets/core/binding/test_caller.rb +1 -1
  63. data/test/lib/facets/core/binding/test_defined.rb +1 -1
  64. data/test/lib/facets/core/binding/test_eval.rb +1 -1
  65. data/test/lib/facets/core/binding/test_local_variables.rb +1 -1
  66. data/test/lib/facets/core/binding/test_method_name.rb +1 -1
  67. data/test/lib/facets/core/binding/test_op_fetch.rb +1 -1
  68. data/test/lib/facets/core/binding/test_op_store.rb +1 -1
  69. data/test/lib/facets/core/binding/test_self.rb +1 -1
  70. data/test/lib/facets/core/class/test_cattr.rb +1 -1
  71. data/test/lib/facets/core/class/test_descendents.rb +1 -1
  72. data/test/lib/facets/core/class/test_method_name.rb +1 -1
  73. data/test/lib/facets/core/class/test_remove_descendents.rb +1 -1
  74. data/test/lib/facets/core/class/test_unix_path.rb +1 -1
  75. data/test/lib/facets/core/comparable/test_at_least.rb +1 -1
  76. data/test/lib/facets/core/comparable/test_clip.rb +1 -1
  77. data/test/lib/facets/core/comparable/test_cmp.rb +1 -1
  78. data/test/lib/facets/core/continuation/self/test_create.rb +1 -1
  79. data/test/lib/facets/core/date/test_days_in_month.rb +1 -1
  80. data/test/lib/facets/core/date/test_days_of_month.rb +1 -1
  81. data/test/lib/facets/core/date/test_stamp.rb +1 -1
  82. data/test/lib/facets/core/date/test_to_date.rb +1 -1
  83. data/test/lib/facets/core/date/test_to_s.rb +1 -1
  84. data/test/lib/facets/core/date/test_to_time.rb +1 -1
  85. data/test/lib/facets/core/dir/self/test_ancestor.rb +1 -1
  86. data/test/lib/facets/core/dir/self/test_ascend.rb +1 -1
  87. data/test/lib/facets/core/enumerable/self/test_combinations.rb +1 -1
  88. data/test/lib/facets/core/enumerable/self/test_cross.rb +1 -1
  89. data/test/lib/facets/core/enumerable/test_collect_with_index.rb +1 -1
  90. data/test/lib/facets/core/enumerable/test_commonality.rb +1 -1
  91. data/test/lib/facets/core/enumerable/test_compact_collect.rb +1 -1
  92. data/test/lib/facets/core/enumerable/test_cross.rb +1 -1
  93. data/test/lib/facets/core/enumerable/test_each_combination.rb +1 -1
  94. data/test/lib/facets/core/enumerable/test_each_pair.rb +1 -1
  95. data/test/lib/facets/core/enumerable/test_each_slice.rb +1 -1
  96. data/test/lib/facets/core/enumerable/test_each_unique_pair.rb +1 -1
  97. data/test/lib/facets/core/enumerable/test_entropy.rb +1 -1
  98. data/test/lib/facets/core/enumerable/test_every.rb +1 -1
  99. data/test/lib/facets/core/enumerable/test_ew.rb +1 -1
  100. data/test/lib/facets/core/enumerable/test_filter_collect.rb +1 -1
  101. data/test/lib/facets/core/enumerable/test_find_collisions.rb +1 -1
  102. data/test/lib/facets/core/enumerable/test_frequency.rb +1 -1
  103. data/test/lib/facets/core/enumerable/test_graph.rb +1 -1
  104. data/test/lib/facets/core/enumerable/test_ideal_entropy.rb +1 -1
  105. data/test/lib/facets/core/enumerable/test_none.rb +1 -1
  106. data/test/lib/facets/core/enumerable/test_occur.rb +1 -1
  107. data/test/lib/facets/core/enumerable/test_one.rb +1 -1
  108. data/test/lib/facets/core/enumerable/test_op_pow.rb +1 -1
  109. data/test/lib/facets/core/enumerable/test_partition_by.rb +1 -1
  110. data/test/lib/facets/core/enumerable/test_permute.rb +1 -1
  111. data/test/lib/facets/core/enumerable/test_probability.rb +1 -1
  112. data/test/lib/facets/core/enumerable/test_to_h.rb +1 -1
  113. data/test/lib/facets/core/enumerable/test_uniq_by.rb +1 -1
  114. data/test/lib/facets/core/file/self/test_create.rb +1 -1
  115. data/test/lib/facets/core/file/self/test_open_as_string.rb +1 -1
  116. data/test/lib/facets/core/file/self/test_read_list.rb +1 -1
  117. data/test/lib/facets/core/file/self/test_sanitize.rb +1 -1
  118. data/test/lib/facets/core/file/self/test_split_all.rb +1 -1
  119. data/test/lib/facets/core/float/test_round_at.rb +1 -1
  120. data/test/lib/facets/core/float/test_round_to.rb +1 -1
  121. data/test/lib/facets/core/hash/self/test_zipnew.rb +1 -1
  122. data/test/lib/facets/core/hash/test_alias.rb +1 -1
  123. data/test/lib/facets/core/hash/test_assert_has_keys.rb +1 -1
  124. data/test/lib/facets/core/hash/test_assert_has_only_keys.rb +1 -1
  125. data/test/lib/facets/core/hash/test_at.rb +1 -1
  126. data/test/lib/facets/core/hash/test_collate.rb +1 -1
  127. data/test/lib/facets/core/hash/test_each.rb +1 -1
  128. data/test/lib/facets/core/hash/test_each_with_index.rb +1 -1
  129. data/test/lib/facets/core/hash/test_each_with_key.rb +1 -1
  130. data/test/lib/facets/core/hash/test_graph.rb +1 -1
  131. data/test/lib/facets/core/hash/test_has_keys.rb +1 -1
  132. data/test/lib/facets/core/hash/test_has_only_keys.rb +1 -1
  133. data/test/lib/facets/core/hash/test_inverse.rb +1 -1
  134. data/test/lib/facets/core/hash/test_keys_to_s.rb +1 -1
  135. data/test/lib/facets/core/hash/test_keys_to_sym.rb +1 -1
  136. data/test/lib/facets/core/hash/test_op_fetch.rb +1 -1
  137. data/test/lib/facets/core/hash/test_op_lshift.rb +1 -1
  138. data/test/lib/facets/core/hash/test_rand_key.rb +1 -1
  139. data/test/lib/facets/core/hash/test_rand_pair.rb +1 -1
  140. data/test/lib/facets/core/hash/test_rand_value.rb +1 -1
  141. data/test/lib/facets/core/hash/test_replace_each.rb +1 -1
  142. data/test/lib/facets/core/hash/test_shuffle.rb +1 -1
  143. data/test/lib/facets/core/hash/test_slice.rb +1 -1
  144. data/test/lib/facets/core/hash/test_swap.rb +1 -1
  145. data/test/lib/facets/core/hash/test_swapkey.rb +1 -1
  146. data/test/lib/facets/core/hash/test_to_h.rb +1 -1
  147. data/test/lib/facets/core/hash/test_to_ostruct.rb +1 -1
  148. data/test/lib/facets/core/hash/test_to_ostruct_recurse.rb +1 -1
  149. data/test/lib/facets/core/hash/test_traverse.rb +1 -1
  150. data/test/lib/facets/core/hash/test_update_each.rb +1 -1
  151. data/test/lib/facets/core/hash/test_update_keys.rb +1 -1
  152. data/test/lib/facets/core/hash/test_update_values.rb +1 -1
  153. data/test/lib/facets/core/hash/test_weave.rb +1 -1
  154. data/test/lib/facets/core/integer/test_factorial.rb +1 -1
  155. data/test/lib/facets/core/integer/test_multiple.rb +1 -1
  156. data/test/lib/facets/core/integer/test_ordinal.rb +1 -1
  157. data/test/lib/facets/core/integer/test_times_collect.rb +1 -1
  158. data/test/lib/facets/core/kernel/test___class__.rb +1 -1
  159. data/test/lib/facets/core/kernel/test_as.rb +1 -1
  160. data/test/lib/facets/core/kernel/test_assign_from.rb +1 -1
  161. data/test/lib/facets/core/kernel/test_assign_with.rb +1 -1
  162. data/test/lib/facets/core/kernel/test_bool.rb +1 -1
  163. data/test/lib/facets/core/kernel/test_bug.rb +1 -1
  164. data/test/lib/facets/core/kernel/test_call_stack.rb +1 -1
  165. data/test/lib/facets/core/kernel/test_called.rb +1 -1
  166. data/test/lib/facets/core/kernel/test_constant.rb +1 -1
  167. data/test/lib/facets/core/kernel/test_copy.rb +1 -1
  168. data/test/lib/facets/core/kernel/test_deep_copy.rb +1 -1
  169. data/test/lib/facets/core/kernel/test_demo.rb +1 -1
  170. data/test/lib/facets/core/kernel/test_fn.rb +1 -1
  171. data/test/lib/facets/core/kernel/test_generate_method_name.rb +1 -1
  172. data/test/lib/facets/core/kernel/test_get_by_id.rb +1 -1
  173. data/test/lib/facets/core/kernel/test_here.rb +1 -1
  174. data/test/lib/facets/core/kernel/test_in.rb +1 -1
  175. data/test/lib/facets/core/kernel/test_maybe.rb +1 -1
  176. data/test/lib/facets/core/kernel/test_metaclass.rb +1 -1
  177. data/test/lib/facets/core/kernel/test_method.rb +1 -1
  178. data/test/lib/facets/core/kernel/test_methodname.rb +1 -1
  179. data/test/lib/facets/core/kernel/test_methods.rb +1 -1
  180. data/test/lib/facets/core/kernel/test_new.rb +1 -1
  181. data/test/lib/facets/core/kernel/test_object_class.rb +1 -1
  182. data/test/lib/facets/core/kernel/test_object_hexid.rb +1 -1
  183. data/test/lib/facets/core/kernel/test_require_all.rb +1 -1
  184. data/test/lib/facets/core/kernel/test_require_esc.rb +1 -1
  185. data/test/lib/facets/core/kernel/test_require_facet.rb +1 -1
  186. data/test/lib/facets/core/kernel/test_resc.rb +1 -1
  187. data/test/lib/facets/core/kernel/test_returning.rb +1 -1
  188. data/test/lib/facets/core/kernel/test_send_as.rb +1 -1
  189. data/test/lib/facets/core/kernel/test_set_from.rb +1 -1
  190. data/test/lib/facets/core/kernel/test_set_with.rb +1 -1
  191. data/test/lib/facets/core/kernel/test_silently.rb +1 -1
  192. data/test/lib/facets/core/kernel/test_singleton.rb +1 -1
  193. data/test/lib/facets/core/kernel/test_superior.rb +1 -1
  194. data/test/lib/facets/core/kernel/test_supermethod.rb +1 -1
  195. data/test/lib/facets/core/kernel/test_this.rb +1 -1
  196. data/test/lib/facets/core/kernel/test_to_b.rb +1 -1
  197. data/test/lib/facets/core/kernel/test_to_bool.rb +1 -1
  198. data/test/lib/facets/core/kernel/test_uri.rb +1 -1
  199. data/test/lib/facets/core/kernel/test_val.rb +1 -1
  200. data/test/lib/facets/core/kernel/test_with_accessor.rb +1 -1
  201. data/test/lib/facets/core/matchdata/test_match.rb +1 -1
  202. data/test/lib/facets/core/matchdata/test_matchtree.rb +1 -1
  203. data/test/lib/facets/core/module/test_abstract.rb +1 -1
  204. data/test/lib/facets/core/module/test_alias_module_function.rb +1 -1
  205. data/test/lib/facets/core/module/test_ancestor.rb +1 -1
  206. data/test/lib/facets/core/module/test_basename.rb +1 -1
  207. data/test/lib/facets/core/module/test_by_name.rb +1 -1
  208. data/test/lib/facets/core/module/test_clone_using.rb +1 -1
  209. data/test/lib/facets/core/module/test_dirname.rb +1 -1
  210. data/test/lib/facets/core/module/test_equate_on.rb +1 -1
  211. data/test/lib/facets/core/module/test_generate_instance_method_name.rb +1 -1
  212. data/test/lib/facets/core/module/test_include_as.rb +1 -1
  213. data/test/lib/facets/core/module/test_inherit.rb +1 -1
  214. data/test/lib/facets/core/module/test_initializer.rb +1 -1
  215. data/test/lib/facets/core/module/test_instance_methods.rb +1 -1
  216. data/test/lib/facets/core/module/test_integrate.rb +1 -1
  217. data/test/lib/facets/core/module/test_let.rb +1 -1
  218. data/test/lib/facets/core/module/test_mattr.rb +1 -1
  219. data/test/lib/facets/core/module/test_memoize.rb +1 -1
  220. data/test/lib/facets/core/module/test_modspace.rb +1 -1
  221. data/test/lib/facets/core/module/test_namespace.rb +1 -1
  222. data/test/lib/facets/core/module/test_nesting.rb +1 -1
  223. data/test/lib/facets/core/module/test_on_included.rb +1 -1
  224. data/test/lib/facets/core/module/test_redef.rb +1 -1
  225. data/test/lib/facets/core/module/test_redefine_method.rb +1 -1
  226. data/test/lib/facets/core/module/test_redirect.rb +1 -1
  227. data/test/lib/facets/core/module/test_redirect_method.rb +1 -1
  228. data/test/lib/facets/core/module/test_remove.rb +1 -1
  229. data/test/lib/facets/core/module/test_rename.rb +1 -1
  230. data/test/lib/facets/core/module/test_rename_method.rb +1 -1
  231. data/test/lib/facets/core/module/test_revisal.rb +1 -1
  232. data/test/lib/facets/core/module/test_shadow_method.rb +1 -1
  233. data/test/lib/facets/core/module/test_sort_on.rb +1 -1
  234. data/test/lib/facets/core/module/test_this.rb +31 -0
  235. data/test/lib/facets/core/module/test_undef.rb +1 -1
  236. data/test/lib/facets/core/module/test_wrap.rb +1 -1
  237. data/test/lib/facets/core/module/test_wrap_method.rb +1 -1
  238. data/test/lib/facets/core/nilclass/test_blank.rb +1 -1
  239. data/test/lib/facets/core/nilclass/test_empty.rb +1 -1
  240. data/test/lib/facets/core/nilclass/test_include.rb +1 -1
  241. data/test/lib/facets/core/nilclass/test_op_fetch.rb +1 -1
  242. data/test/lib/facets/core/nilclass/test_size.rb +1 -1
  243. data/test/lib/facets/core/nilclass/test_to_h.rb +1 -1
  244. data/test/lib/facets/core/numeric/test_approx.rb +1 -1
  245. data/test/lib/facets/core/numeric/test_ceil_multiple.rb +1 -1
  246. data/test/lib/facets/core/numeric/test_succ.rb +1 -1
  247. data/test/lib/facets/core/numeric/test_to_b.rb +1 -1
  248. data/test/lib/facets/core/ostruct/test___merge__.rb +1 -1
  249. data/test/lib/facets/core/ostruct/test___update__.rb +1 -1
  250. data/test/lib/facets/core/ostruct/test_op_fetch.rb +1 -1
  251. data/test/lib/facets/core/ostruct/test_op_store.rb +1 -1
  252. data/test/lib/facets/core/proc/test_compose.rb +1 -1
  253. data/test/lib/facets/core/proc/test_to_method.rb +1 -1
  254. data/test/lib/facets/core/range/test_to_r.rb +1 -1
  255. data/test/lib/facets/core/range/test_to_range.rb +1 -1
  256. data/test/lib/facets/core/range/test_umbrella.rb +1 -1
  257. data/test/lib/facets/core/range/test_within.rb +1 -1
  258. data/test/lib/facets/core/regexp/test_arity.rb +1 -1
  259. data/test/lib/facets/core/regexp/test_to_re.rb +1 -1
  260. data/test/lib/facets/core/regexp/test_to_regexp.rb +1 -1
  261. data/test/lib/facets/core/string/self/test_interpolate.rb +1 -1
  262. data/test/lib/facets/core/string/self/test_patterns.rb +1 -1
  263. data/test/lib/facets/core/string/self/test_rand_letter.rb +1 -1
  264. data/test/lib/facets/core/string/test_align_center.rb +1 -1
  265. data/test/lib/facets/core/string/test_at_rand.rb +1 -1
  266. data/test/lib/facets/core/string/test_basename.rb +1 -1
  267. data/test/lib/facets/core/string/test_blank.rb +1 -1
  268. data/test/lib/facets/core/string/test_bracket.rb +1 -1
  269. data/test/lib/facets/core/string/test_camelcase.rb +1 -1
  270. data/test/lib/facets/core/string/test_camelize.rb +1 -1
  271. data/test/lib/facets/core/string/test_capitalized.rb +1 -1
  272. data/test/lib/facets/core/string/test_chars.rb +1 -1
  273. data/test/lib/facets/core/string/test_cmp.rb +1 -1
  274. data/test/lib/facets/core/string/test_demodulize.rb +1 -1
  275. data/test/lib/facets/core/string/test_downcase.rb +1 -1
  276. data/test/lib/facets/core/string/test_dresner.rb +1 -1
  277. data/test/lib/facets/core/string/test_each_char.rb +1 -1
  278. data/test/lib/facets/core/string/test_each_word.rb +1 -1
  279. data/test/lib/facets/core/string/test_first.rb +1 -1
  280. data/test/lib/facets/core/string/test_fold.rb +1 -1
  281. data/test/lib/facets/core/string/test_frequency.rb +1 -1
  282. data/test/lib/facets/core/string/test_humanize.rb +1 -1
  283. data/test/lib/facets/core/string/test_indent.rb +1 -1
  284. data/test/lib/facets/core/string/test_index_all.rb +1 -1
  285. data/test/lib/facets/core/string/test_last.rb +1 -1
  286. data/test/lib/facets/core/string/test_line_wrap.rb +1 -1
  287. data/test/lib/facets/core/string/test_lines.rb +1 -1
  288. data/test/lib/facets/core/string/test_lowercase.rb +1 -1
  289. data/test/lib/facets/core/string/test_margin.rb +1 -1
  290. data/test/lib/facets/core/string/test_methodize.rb +1 -1
  291. data/test/lib/facets/core/string/test_modulize.rb +1 -1
  292. data/test/lib/facets/core/string/test_mscan.rb +1 -1
  293. data/test/lib/facets/core/string/test_natcmp.rb +1 -1
  294. data/test/lib/facets/core/string/test_nchar.rb +1 -1
  295. data/test/lib/facets/core/string/test_pathize.rb +1 -1
  296. data/test/lib/facets/core/string/test_pop.rb +1 -1
  297. data/test/lib/facets/core/string/test_pot.rb +39 -0
  298. data/test/lib/facets/core/string/test_probability.rb +1 -1
  299. data/test/lib/facets/core/string/test_push.rb +1 -1
  300. data/test/lib/facets/core/string/test_quote.rb +1 -1
  301. data/test/lib/facets/core/string/test_rand_byte.rb +1 -1
  302. data/test/lib/facets/core/string/test_rand_index.rb +1 -1
  303. data/test/lib/facets/core/string/test_range.rb +1 -1
  304. data/test/lib/facets/core/string/test_range_all.rb +1 -1
  305. data/test/lib/facets/core/string/test_range_of_line.rb +1 -1
  306. data/test/lib/facets/core/string/test_regesc.rb +1 -1
  307. data/test/lib/facets/core/string/test_shatter.rb +1 -1
  308. data/test/lib/facets/core/string/test_shift.rb +1 -1
  309. data/test/lib/facets/core/string/test_shuffle.rb +1 -1
  310. data/test/lib/facets/core/string/test_similarity.rb +1 -1
  311. data/test/lib/facets/core/string/test_singular.rb +1 -1
  312. data/test/lib/facets/core/string/test_soundex.rb +1 -1
  313. data/test/lib/facets/core/string/test_succ.rb +1 -1
  314. data/test/lib/facets/core/string/test_to_a.rb +1 -1
  315. data/test/lib/facets/core/string/test_to_b.rb +1 -1
  316. data/test/lib/facets/core/string/test_to_const.rb +1 -1
  317. data/test/lib/facets/core/string/test_to_date.rb +1 -1
  318. data/test/lib/facets/core/string/test_to_proc.rb +1 -1
  319. data/test/lib/facets/core/string/test_to_re.rb +1 -1
  320. data/test/lib/facets/core/string/test_to_time.rb +1 -1
  321. data/test/lib/facets/core/string/test_unix_crypt.rb +1 -1
  322. data/test/lib/facets/core/string/test_unpack.rb +1 -1
  323. data/test/lib/facets/core/string/test_unshift.rb +1 -1
  324. data/test/lib/facets/core/string/test_upcase.rb +1 -1
  325. data/test/lib/facets/core/string/test_whitespace.rb +1 -1
  326. data/test/lib/facets/core/string/test_word_filter.rb +1 -1
  327. data/test/lib/facets/core/string/test_word_wrap.rb +1 -1
  328. data/test/lib/facets/core/string/test_words.rb +1 -1
  329. data/test/lib/facets/core/symbol/test_camelcase.rb +1 -1
  330. data/test/lib/facets/core/symbol/test_camelize.rb +1 -1
  331. data/test/lib/facets/core/symbol/test_capitalize.rb +1 -1
  332. data/test/lib/facets/core/symbol/test_capitalized.rb +1 -1
  333. data/test/lib/facets/core/symbol/test_downcase.rb +1 -1
  334. data/test/lib/facets/core/symbol/test_not.rb +1 -1
  335. data/test/lib/facets/core/symbol/test_pad.rb +1 -1
  336. data/test/lib/facets/core/symbol/test_succ.rb +1 -1
  337. data/test/lib/facets/core/symbol/test_to_const.rb +1 -1
  338. data/test/lib/facets/core/symbol/test_to_proc.rb +1 -1
  339. data/test/lib/facets/core/symbol/test_to_str.rb +1 -1
  340. data/test/lib/facets/core/symbol/test_underscore.rb +1 -1
  341. data/test/lib/facets/core/symbol/test_upcase.rb +1 -1
  342. data/test/lib/facets/core/time/test_change.rb +1 -1
  343. data/test/lib/facets/core/time/test_elapse.rb +1 -1
  344. data/test/lib/facets/core/time/test_stamp.rb +1 -1
  345. data/test/lib/facets/core/time/test_to_date.rb +1 -1
  346. data/test/lib/facets/core/time/test_to_s.rb +1 -1
  347. data/test/lib/facets/core/time/test_to_time.rb +1 -1
  348. data/test/lib/facets/more/test_annotation.rb +1 -1
  349. data/test/lib/facets/more/test_ansicode.rb +1 -1
  350. data/test/lib/facets/more/test_association.rb +1 -1
  351. data/test/lib/facets/more/test_basicobject.rb +1 -1
  352. data/test/lib/facets/more/test_bbcode.rb +1 -1
  353. data/test/lib/facets/more/test_bitmask.rb +1 -1
  354. data/test/lib/facets/more/test_bytes.rb +1 -1
  355. data/test/lib/facets/more/test_classinherit.rb +1 -1
  356. data/test/lib/facets/more/test_classmethods.rb +1 -1
  357. data/test/lib/facets/more/test_coroutine.rb +1 -1
  358. data/test/lib/facets/more/test_crypt.rb +1 -1
  359. data/test/lib/facets/more/test_dictionary.rb +1 -1
  360. data/test/lib/facets/more/test_elementor.rb +1 -1
  361. data/test/lib/facets/more/test_enumerablepass.rb +1 -1
  362. data/test/lib/facets/more/test_floatstring.rb +1 -1
  363. data/test/lib/facets/more/test_functor.rb +1 -1
  364. data/test/lib/facets/more/test_inheritor.rb +1 -1
  365. data/test/lib/facets/more/test_interval.rb +1 -1
  366. data/test/lib/facets/more/test_json.rb +1 -1
  367. data/test/lib/facets/more/test_lisp.rb +1 -1
  368. data/test/lib/facets/more/test_lisp_format.rb +1 -1
  369. data/test/lib/facets/more/test_lrucache.rb +1 -1
  370. data/test/lib/facets/more/test_mathconstants.rb +1 -1
  371. data/test/lib/facets/more/test_methodprobe.rb +1 -1
  372. data/test/lib/facets/more/test_multipliers.rb +1 -1
  373. data/test/lib/facets/more/test_multiton.rb +1 -1
  374. data/test/lib/facets/more/test_nackclass.rb +1 -1
  375. data/test/lib/facets/more/test_nilcomparable.rb +1 -1
  376. data/test/lib/facets/more/test_openobject.rb +1 -1
  377. data/test/lib/facets/more/test_overload.rb +1 -1
  378. data/test/lib/facets/more/test_paramix.rb +1 -1
  379. data/test/lib/facets/more/test_preinitialize.rb +1 -1
  380. data/test/lib/facets/more/test_promoteself.rb +1 -1
  381. data/test/lib/facets/more/test_recorder.rb +1 -1
  382. data/test/lib/facets/more/test_snapshot.rb +1 -1
  383. data/test/lib/facets/more/test_statichash.rb +1 -1
  384. data/test/lib/facets/more/test_syncarray.rb +1 -1
  385. data/test/lib/facets/more/test_synchash.rb +1 -1
  386. data/test/lib/facets/more/test_tagiterator.rb +1 -1
  387. data/test/lib/facets/more/test_timer.rb +1 -1
  388. data/test/lib/facets/more/test_times.rb +1 -1
  389. data/test/lib/facets/more/test_tuple.rb +32 -8
  390. data/test/lib/facets/more/test_typecast.rb +1 -1
  391. data/test/lib/facets/more/test_uninheritable.rb +1 -1
  392. data/test/lib/facets/more/test_units.rb +3 -2
  393. data/test/lib/facets/more/test_xoxo.rb +1 -1
  394. data/test/lib/facets/more/test_yamlstruct.rb +1 -1
  395. metadata +15 -10
  396. data/lib/facet/array/slap.rb +0 -1
  397. data/lib/facet/module/let.rb +0 -1
  398. data/lib/facet/string/slap.rb +0 -1
  399. data/lib/facet/string/to_arr.rb +0 -1
  400. data/lib/facets/core/string/to_arr.rb +0 -55
data/CHANGELOG CHANGED
@@ -1,5 +1,16 @@
1
1
  = Facets Change Log
2
2
 
3
+ == 1.3.1
4
+ * Deprecated string/to_arr, and slightly adjusted string#to_a.
5
+ (Not commonly used so not a major change.)
6
+
7
+ == 1.3.0
8
+ * Added xoxo.rb, json.rb and rtals.rb.
9
+ * Minor bug fixes.
10
+ * Moved cattr methods from module/ to class/.
11
+ * mattr methods are in limbo at the moment.
12
+ (They were aliases for cattr.)
13
+
3
14
  == 1.2.1
4
15
  * kernel/meta has been renamed to kernel/instance
5
16
 
@@ -2,8 +2,8 @@
2
2
 
3
3
  title : Facets
4
4
  name : facets
5
- version : '1.3.0'
6
- date : '2006-04-05'
5
+ version : '1.3.1'
6
+ date : '2006-04-17'
7
7
  status : Beta/Stable
8
8
 
9
9
  author : Thomas Sawyer
data/Rakefile CHANGED
@@ -23,6 +23,7 @@ GENPATH = "lib/facets/core"
23
23
  desc %{Build facet redirect directory}
24
24
  task :redirect do
25
25
  sh %{rm -R 'lib/facet'} if File.directory?('lib/facet')
26
+ print "Creating redirection facet/ files..."
26
27
  ['core','more'].each{ |d|
27
28
  from = "lib/facets"
28
29
  rbs = Dir.glob( File.join( from, d, '**/*.rb' ) )
@@ -36,6 +37,7 @@ task :redirect do
36
37
  }
37
38
  }
38
39
  }
40
+ puts "[done]"
39
41
  end
40
42
 
41
43
  #-----------------------------------------------------
@@ -97,7 +99,7 @@ end
97
99
  # file and method group files)
98
100
  #-----------------------------------------------------
99
101
  desc %{Do all preperation (index, class)}
100
- task :prep => [ :index, :class ] do
102
+ task :prep => [ :index, :class, :redirect ] do
101
103
  end
102
104
 
103
105
  #-----------------------------------------------------
@@ -10,39 +10,54 @@ array/op_store.rb
10
10
  binding/self/of_caller.rb
11
11
  hash/op_fetch.rb
12
12
  hash/op_store.rb
13
- object/new.rb
14
13
  numeric/succ.rb
15
14
  numeric/pred.rb
16
15
  string/succ.rb
17
16
  string/unpack.rb
17
+
18
18
  module/attr.rb # b/c it always makes a writer
19
19
  #module/attr_reader.rb
20
20
  #module/attr_writer.rb
21
21
  #module/attr_accessor.rb
22
22
 
23
- # These classes are not automatically loaded by Ruby
24
- # (i.e. they are part of the standard lib, not core)
25
-
26
- date/*
27
- fileutils/*
28
- ostruct/*
29
- logger/*
30
- gem/*
31
-
32
23
  # Files not included with the full feature set b/c they are potentially
33
24
  # unsafe b/c they change Ruby's default behavior in a nonconvential
34
25
  # manner and hence are not backward compatible. Using these with a
35
26
  # pre-existent program may cause the program to misbehave. So while
36
- # they can be quite useful, be sure to understand exactly what they
27
+ # they can be useful, be sure to understand exactly what they
37
28
  # do before putting them to serious use.
38
29
 
39
30
  hash/each.rb
40
31
  module/methods.rb
32
+ object/method.rb
41
33
  nilclass/op_fetch.rb
42
34
  nilclass/empty.rb
43
35
  nilclass/include.rb
44
36
  nilclass/size.rb
45
37
  nilclass/length.rb
46
38
  nilclass/method_missing.rb
47
- object/method.rb
48
- string/to_a.rb
39
+
40
+ # These classes are not automatically loaded by Ruby
41
+ # (i.e. they are part of the standard lib, not core)
42
+ # This really only applies to an "all" file which
43
+ # we currently dont have. So don;t worry about these
44
+ # for now.
45
+
46
+ #date/*
47
+ #fileutils/*
48
+ #ostruct/*
49
+ #logger/*
50
+ #gem/*
51
+
52
+ # No longer avoided. While possible incompatibilities may arise
53
+ # it is clear that would only do so under very bad programming
54
+ # practices anyway. Better to discourage those practices
55
+ # than cater to them.
56
+
57
+ #string/to_a.rb
58
+
59
+ # Can't find anything inheritently wrong with this. It may
60
+ # seem odd, but it doesn't break anything.
61
+
62
+ #object/new.rb
63
+
@@ -92,7 +92,6 @@ module:
92
92
  - instance_methods
93
93
  - integrate
94
94
  - is
95
- - let
96
95
  - mattr
97
96
  - mattr_accessor
98
97
  - mattr_reader
@@ -114,6 +113,7 @@ module:
114
113
  - shadow_method
115
114
  - singleton_to_module
116
115
  - sort_on
116
+ - this
117
117
  - undef
118
118
  - wrap
119
119
  - wrap_method
@@ -281,6 +281,7 @@ array:
281
281
  - op_store
282
282
  - pick
283
283
  - pos
284
+ - pot
284
285
  - pull
285
286
  - rand_index
286
287
  - rand_subset
@@ -288,7 +289,6 @@ array:
288
289
  - rotate
289
290
  - select
290
291
  - shuffle
291
- - slap
292
292
  - store
293
293
  - tail
294
294
  - thru
@@ -417,6 +417,7 @@ string:
417
417
  - pathize
418
418
  - plural
419
419
  - pop
420
+ - pot
420
421
  - probability
421
422
  - pull
422
423
  - push
@@ -438,14 +439,12 @@ string:
438
439
  - shuffle
439
440
  - similarity
440
441
  - singular
441
- - slap
442
442
  - soundex
443
443
  - starts_with
444
444
  - succ
445
445
  - tab
446
446
  - tabto
447
447
  - to_a
448
- - to_arr
449
448
  - to_b
450
449
  - to_const
451
450
  - to_date
@@ -0,0 +1 @@
1
+ require 'facets/core/array/pot.rb'
@@ -0,0 +1 @@
1
+ require 'facets/more/builderobject.rb'
@@ -0,0 +1 @@
1
+ require 'facets/core/module/this.rb'
@@ -0,0 +1 @@
1
+ require 'facets/more/rexmlbuilder.rb'
@@ -0,0 +1 @@
1
+ require 'facets/core/string/pot.rb'
@@ -18,6 +18,7 @@ require 'facets/core/array/op_mod'
18
18
  require 'facets/core/array/op_store'
19
19
  require 'facets/core/array/pick'
20
20
  require 'facets/core/array/pos'
21
+ require 'facets/core/array/pot'
21
22
  require 'facets/core/array/pull'
22
23
  require 'facets/core/array/rand_index'
23
24
  require 'facets/core/array/rand_subset'
@@ -25,7 +26,6 @@ require 'facets/core/array/range'
25
26
  require 'facets/core/array/rotate'
26
27
  require 'facets/core/array/select'
27
28
  require 'facets/core/array/shuffle'
28
- require 'facets/core/array/slap'
29
29
  require 'facets/core/array/store'
30
30
  require 'facets/core/array/tail'
31
31
  require 'facets/core/array/thru'
@@ -1,15 +1,15 @@
1
1
 
2
2
  class Array
3
3
 
4
- # Alias for unshift which puts an object on
5
- # on the first slot of an array. This is
6
- # the contrary of push.
4
+ # "Put On Top". This is an alias for unshift
5
+ # which puts an object# on top of the stack.
6
+ # It is the converse of push.
7
7
  #
8
8
  # a=[1,2,3]
9
- # a.slap(9) #=> [9,1,2,3]
9
+ # a.pot(9) #=> [9,1,2,3]
10
10
  # a #=> [9,1,2,3]
11
11
  #
12
- alias_method( :slap, :unshift )
12
+ alias_method( :pot, :unshift )
13
13
 
14
14
  end
15
15
 
@@ -28,10 +28,11 @@ end
28
28
 
29
29
  def test_slap
30
30
  a = [2,3]
31
- assert_equal( [1,2,3], a.slap(1) )
32
- assert_equal( [4,1,2,3], a.slap(4) )
31
+ assert_equal( [1,2,3], a.pot(1) )
32
+ assert_equal( [4,1,2,3], a.pot(4) )
33
33
  end
34
34
 
35
35
  end
36
36
 
37
37
  =end
38
+
@@ -0,0 +1,6 @@
1
+ require 'facets/core/date/days_in_month'
2
+ require 'facets/core/date/days_of_month'
3
+ require 'facets/core/date/stamp'
4
+ require 'facets/core/date/to_date'
5
+ require 'facets/core/date/to_s'
6
+ require 'facets/core/date/to_time'
@@ -0,0 +1,8 @@
1
+ require 'facets/core/fileutils/head'
2
+ require 'facets/core/fileutils/safe_ln'
3
+ require 'facets/core/fileutils/slice'
4
+ require 'facets/core/fileutils/split_all'
5
+ require 'facets/core/fileutils/tail'
6
+ require 'facets/core/fileutils/wc'
7
+ require 'facets/core/fileutils/whereis'
8
+ require 'facets/core/fileutils/which'
@@ -0,0 +1,3 @@
1
+ require 'facets/core/gem/self/active'
2
+ require 'facets/core/gem/self/gempath'
3
+ require 'facets/core/gem/self/gemspec'
@@ -1,3 +1,7 @@
1
+ #--
2
+ # Michael Neumann
3
+ # George Moschovitis <gm@navel.gr>
4
+ #++
1
5
 
2
6
  module Kernel
3
7
 
@@ -18,7 +22,7 @@ module Kernel
18
22
  include_features = true
19
23
  files = nil
20
24
 
21
- args.each { |arg|
25
+ args.each do |arg|
22
26
  case arg
23
27
  when Numeric
24
28
  check_interval = arg
@@ -84,10 +88,6 @@ module Kernel
84
88
 
85
89
  end
86
90
 
87
- # Michael Neumann
88
- # Tom Sawyer
89
- # George Moschovitis <gm@navel.gr>
90
-
91
91
  #--
92
92
  # # OLD VERSION
93
93
  # def autoreload(check_interval=10)
@@ -0,0 +1,2 @@
1
+ require 'facets/core/logger/format'
2
+ require 'facets/core/logger/format_message'
@@ -20,7 +20,6 @@ require 'facets/core/module/initializer'
20
20
  require 'facets/core/module/instance_methods'
21
21
  require 'facets/core/module/integrate'
22
22
  require 'facets/core/module/is'
23
- require 'facets/core/module/let'
24
23
  require 'facets/core/module/mattr'
25
24
  require 'facets/core/module/mattr_accessor'
26
25
  require 'facets/core/module/mattr_reader'
@@ -42,6 +41,7 @@ require 'facets/core/module/shadow_all'
42
41
  require 'facets/core/module/shadow_method'
43
42
  require 'facets/core/module/singleton_to_module'
44
43
  require 'facets/core/module/sort_on'
44
+ require 'facets/core/module/this'
45
45
  require 'facets/core/module/undef'
46
46
  require 'facets/core/module/wrap'
47
47
  require 'facets/core/module/wrap_method'
@@ -1,27 +1,36 @@
1
1
 
2
2
  require 'facets/more/functor'
3
3
 
4
- # class X
5
4
  #
6
- # let.x = 10
7
- # let.x = "Hello"
5
+ # class X
6
+ #
7
+ # this.y = "Hello"
8
+ #
9
+ # this.up = lambda { puts @y.upcase }
10
+ #
11
+ # end
12
+ #
13
+ # X.new.up #=> HELLO
8
14
  #
9
- # end
10
15
 
11
16
  class Module
12
17
 
13
- def let
18
+ def this
14
19
  klass = self
15
20
  Functor.new do |op, *args|
16
21
  case op.to_s[-1,1]
17
22
  when '='
18
23
  op = op.to_s.chomp('=')
19
- define_method( op ) do
20
- r = instance_variable_set( "@#{op}", args[0] )
21
- klass.class.class_eval %{
22
- def #{op}; @#{op}; end
23
- }
24
- r
24
+ if Proc === args[0]
25
+ define_method( op, &args[0] )
26
+ else
27
+ define_method( op ) do
28
+ r = instance_variable_set( "@#{op}", args[0] )
29
+ klass.class.class_eval %{
30
+ def #{op}; @#{op}; end
31
+ }
32
+ r
33
+ end
25
34
  end
26
35
  else
27
36
  klass.class_eval %{
@@ -41,7 +50,7 @@ end
41
50
  class TCthis < Test::Unit::TestCase
42
51
 
43
52
  class Foo
44
- let.bar = 10
53
+ this.bar = 10
45
54
  end
46
55
 
47
56
  def test01
@@ -0,0 +1,7 @@
1
+ require 'facets/core/ostruct/__merge__'
2
+ require 'facets/core/ostruct/__table__'
3
+ require 'facets/core/ostruct/__update__'
4
+ require 'facets/core/ostruct/instance'
5
+ require 'facets/core/ostruct/op_fetch'
6
+ require 'facets/core/ostruct/op_store'
7
+ require 'facets/core/ostruct/to_h'
@@ -43,6 +43,7 @@ require 'facets/core/string/ordinal'
43
43
  require 'facets/core/string/pathize'
44
44
  require 'facets/core/string/plural'
45
45
  require 'facets/core/string/pop'
46
+ require 'facets/core/string/pot'
46
47
  require 'facets/core/string/probability'
47
48
  require 'facets/core/string/pull'
48
49
  require 'facets/core/string/push'
@@ -64,14 +65,12 @@ require 'facets/core/string/shift'
64
65
  require 'facets/core/string/shuffle'
65
66
  require 'facets/core/string/similarity'
66
67
  require 'facets/core/string/singular'
67
- require 'facets/core/string/slap'
68
68
  require 'facets/core/string/soundex'
69
69
  require 'facets/core/string/starts_with'
70
70
  require 'facets/core/string/succ'
71
71
  require 'facets/core/string/tab'
72
72
  require 'facets/core/string/tabto'
73
73
  require 'facets/core/string/to_a'
74
- require 'facets/core/string/to_arr'
75
74
  require 'facets/core/string/to_b'
76
75
  require 'facets/core/string/to_const'
77
76
  require 'facets/core/string/to_date'
@@ -2,7 +2,8 @@
2
2
  class String
3
3
 
4
4
  # Like push but works from the other end of the string.
5
- def slap( str=' ' )
5
+
6
+ def pot( str=' ' )
6
7
  insert(0, str)
7
8
  end
8
9
 
@@ -26,19 +27,19 @@ end
26
27
  end
27
28
 
28
29
  def test_001
29
- #assert_raises( ArgumentError ) { @a.slap }
30
- assert_raises( ArgumentError ) { @a.slap(1,2) }
30
+ assert_raises( ArgumentError ) { @a.pot(1,2) }
31
31
  end
32
32
 
33
33
  def test_002
34
- assert_equal( "0", @a.slap("0") )
35
- assert_equal( "10", @a.slap("1") )
36
- assert_equal( "210", @a.slap("2") )
37
- assert_equal( "3210", @a.slap("3") )
38
- assert_equal( "43210", @a.slap("4") )
39
- assert_equal( "543210", @a.slap("5") )
34
+ assert_equal( "0", @a.pot("0") )
35
+ assert_equal( "10", @a.pot("1") )
36
+ assert_equal( "210", @a.pot("2") )
37
+ assert_equal( "3210", @a.pot("3") )
38
+ assert_equal( "43210", @a.pot("4") )
39
+ assert_equal( "543210", @a.pot("5") )
40
40
  end
41
41
 
42
42
  end
43
43
 
44
44
  =end
45
+
@@ -1,14 +1,19 @@
1
1
 
2
- require 'facet/string/to_arr'
3
-
4
2
  class String
5
3
 
6
- # Alias for #to_arr. See #to_arr for documentation.
7
- #
8
- # WARNING! Use this method with caution as its default behavior
9
- # (i.e. chars splitting) is nonconvential (unfortunately).
4
+ # Essentially makes #to_a an alias for split,
5
+ # with the excpetion that if no divider is given
6
+ # then the array is split on charaters, and
7
+ # NOT on the global input record divider ($/).
10
8
  #
11
- alias_method :to_a, :to_arr
9
+ # WARNING There is a slight chance of
10
+ # incompatability with other libraries which
11
+ # depend on spliting with $/ (although doing
12
+ # so is a very bad idea!).
13
+
14
+ def to_a(div=//,limit=0)
15
+ split(div,limit)
16
+ end
12
17
 
13
18
  end
14
19
 
@@ -33,3 +38,4 @@ end
33
38
  end
34
39
 
35
40
  =end
41
+