facets 1.8.49 → 1.8.51

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 (554) hide show
  1. data/PROJECT +4 -1
  2. data/Rakefile +25 -48
  3. data/VERSION +1 -1
  4. data/doc/AUTHORS +1 -0
  5. data/doc/CHANGES +6 -0
  6. data/lib/facets/core/kernel/tap.rb +33 -3
  7. data/lib/facets/more/command.rb +507 -271
  8. metadata +2 -548
  9. data/test/lib/facets/core/array/test_at_rand.rb +0 -34
  10. data/test/lib/facets/core/array/test_delete_unless.rb +0 -28
  11. data/test/lib/facets/core/array/test_delete_values.rb +0 -28
  12. data/test/lib/facets/core/array/test_delete_values_at.rb +0 -31
  13. data/test/lib/facets/core/array/test_first.rb +0 -46
  14. data/test/lib/facets/core/array/test_head.rb +0 -42
  15. data/test/lib/facets/core/array/test_last_index.rb +0 -26
  16. data/test/lib/facets/core/array/test_merge.rb +0 -35
  17. data/test/lib/facets/core/array/test_mid.rb +0 -33
  18. data/test/lib/facets/core/array/test_middle.rb +0 -29
  19. data/test/lib/facets/core/array/test_op_div.rb +0 -27
  20. data/test/lib/facets/core/array/test_op_fetch.rb +0 -35
  21. data/test/lib/facets/core/array/test_pad.rb +0 -48
  22. data/test/lib/facets/core/array/test_pick.rb +0 -40
  23. data/test/lib/facets/core/array/test_pos.rb +0 -28
  24. data/test/lib/facets/core/array/test_pot.rb +0 -28
  25. data/test/lib/facets/core/array/test_pull.rb +0 -28
  26. data/test/lib/facets/core/array/test_rand_index.rb +0 -29
  27. data/test/lib/facets/core/array/test_rand_subset.rb +0 -29
  28. data/test/lib/facets/core/array/test_range.rb +0 -32
  29. data/test/lib/facets/core/array/test_rotate.rb +0 -36
  30. data/test/lib/facets/core/array/test_select.rb +0 -28
  31. data/test/lib/facets/core/array/test_shuffle.rb +0 -35
  32. data/test/lib/facets/core/array/test_thru.rb +0 -27
  33. data/test/lib/facets/core/array/test_to_b.rb +0 -27
  34. data/test/lib/facets/core/array/test_to_h.rb +0 -33
  35. data/test/lib/facets/core/array/test_to_hash.rb +0 -27
  36. data/test/lib/facets/core/binding/self/test_of_caller.rb +0 -35
  37. data/test/lib/facets/core/binding/test___LINE__.rb +0 -43
  38. data/test/lib/facets/core/binding/test_call_stack.rb +0 -34
  39. data/test/lib/facets/core/binding/test_called.rb +0 -30
  40. data/test/lib/facets/core/binding/test_caller.rb +0 -35
  41. data/test/lib/facets/core/binding/test_defined.rb +0 -34
  42. data/test/lib/facets/core/binding/test_eval.rb +0 -34
  43. data/test/lib/facets/core/binding/test_local_variables.rb +0 -34
  44. data/test/lib/facets/core/binding/test_method_name.rb +0 -34
  45. data/test/lib/facets/core/binding/test_op_fetch.rb +0 -34
  46. data/test/lib/facets/core/binding/test_op_store.rb +0 -35
  47. data/test/lib/facets/core/binding/test_self.rb +0 -34
  48. data/test/lib/facets/core/class/test_cattr.rb +0 -63
  49. data/test/lib/facets/core/class/test_descendents.rb +0 -30
  50. data/test/lib/facets/core/class/test_method_name.rb +0 -26
  51. data/test/lib/facets/core/class/test_remove_descendents.rb +0 -32
  52. data/test/lib/facets/core/class/test_unix_path.rb +0 -26
  53. data/test/lib/facets/core/comparable/test_at_least.rb +0 -34
  54. data/test/lib/facets/core/comparable/test_clip.rb +0 -44
  55. data/test/lib/facets/core/comparable/test_cmp.rb +0 -28
  56. data/test/lib/facets/core/continuation/self/test_create.rb +0 -26
  57. data/test/lib/facets/core/date/test_days_in_month.rb +0 -30
  58. data/test/lib/facets/core/date/test_days_of_month.rb +0 -30
  59. data/test/lib/facets/core/date/test_stamp.rb +0 -38
  60. data/test/lib/facets/core/date/test_to_date.rb +0 -30
  61. data/test/lib/facets/core/date/test_to_s.rb +0 -30
  62. data/test/lib/facets/core/date/test_to_time.rb +0 -30
  63. data/test/lib/facets/core/dir/self/test_ancestor.rb +0 -26
  64. data/test/lib/facets/core/dir/self/test_ascend.rb +0 -41
  65. data/test/lib/facets/core/enumerable/self/test_combinations.rb +0 -46
  66. data/test/lib/facets/core/enumerable/test_cart.rb +0 -49
  67. data/test/lib/facets/core/enumerable/test_collect_with_index.rb +0 -27
  68. data/test/lib/facets/core/enumerable/test_commonality.rb +0 -31
  69. data/test/lib/facets/core/enumerable/test_compact_collect.rb +0 -27
  70. data/test/lib/facets/core/enumerable/test_count.rb +0 -38
  71. data/test/lib/facets/core/enumerable/test_each_by.rb +0 -71
  72. data/test/lib/facets/core/enumerable/test_each_combination.rb +0 -29
  73. data/test/lib/facets/core/enumerable/test_each_pair.rb +0 -29
  74. data/test/lib/facets/core/enumerable/test_each_slice.rb +0 -57
  75. data/test/lib/facets/core/enumerable/test_each_unique_pair.rb +0 -29
  76. data/test/lib/facets/core/enumerable/test_eachn.rb +0 -34
  77. data/test/lib/facets/core/enumerable/test_elementwise.rb +0 -40
  78. data/test/lib/facets/core/enumerable/test_entropy.rb +0 -26
  79. data/test/lib/facets/core/enumerable/test_every.rb +0 -35
  80. data/test/lib/facets/core/enumerable/test_ew.rb +0 -31
  81. data/test/lib/facets/core/enumerable/test_filter_collect.rb +0 -31
  82. data/test/lib/facets/core/enumerable/test_find_collisions.rb +0 -30
  83. data/test/lib/facets/core/enumerable/test_frequency.rb +0 -27
  84. data/test/lib/facets/core/enumerable/test_graph.rb +0 -30
  85. data/test/lib/facets/core/enumerable/test_ideal_entropy.rb +0 -27
  86. data/test/lib/facets/core/enumerable/test_none.rb +0 -33
  87. data/test/lib/facets/core/enumerable/test_occur.rb +0 -30
  88. data/test/lib/facets/core/enumerable/test_one.rb +0 -35
  89. data/test/lib/facets/core/enumerable/test_op_pow.rb +0 -27
  90. data/test/lib/facets/core/enumerable/test_op_tilde_self.rb +0 -40
  91. data/test/lib/facets/core/enumerable/test_partition_by.rb +0 -31
  92. data/test/lib/facets/core/enumerable/test_permutation.rb +0 -29
  93. data/test/lib/facets/core/enumerable/test_probability.rb +0 -27
  94. data/test/lib/facets/core/enumerable/test_to_h.rb +0 -27
  95. data/test/lib/facets/core/enumerable/test_uniq_by.rb +0 -28
  96. data/test/lib/facets/core/file/self/test_create.rb +0 -44
  97. data/test/lib/facets/core/file/self/test_open_as_string.rb +0 -50
  98. data/test/lib/facets/core/file/self/test_read_list.rb +0 -40
  99. data/test/lib/facets/core/file/self/test_sanitize.rb +0 -46
  100. data/test/lib/facets/core/file/self/test_split_all.rb +0 -27
  101. data/test/lib/facets/core/float/test_round_at.rb +0 -46
  102. data/test/lib/facets/core/float/test_round_to.rb +0 -46
  103. data/test/lib/facets/core/hash/self/test_zipnew.rb +0 -28
  104. data/test/lib/facets/core/hash/test_alias.rb +0 -31
  105. data/test/lib/facets/core/hash/test_assert_has_keys.rb +0 -27
  106. data/test/lib/facets/core/hash/test_assert_has_only_keys.rb +0 -27
  107. data/test/lib/facets/core/hash/test_at.rb +0 -28
  108. data/test/lib/facets/core/hash/test_collate.rb +0 -35
  109. data/test/lib/facets/core/hash/test_each_with_index.rb +0 -29
  110. data/test/lib/facets/core/hash/test_each_with_key.rb +0 -29
  111. data/test/lib/facets/core/hash/test_graph.rb +0 -28
  112. data/test/lib/facets/core/hash/test_has_keys.rb +0 -27
  113. data/test/lib/facets/core/hash/test_has_only_keys.rb +0 -27
  114. data/test/lib/facets/core/hash/test_inverse.rb +0 -30
  115. data/test/lib/facets/core/hash/test_normalize_keys.rb +0 -34
  116. data/test/lib/facets/core/hash/test_op_fetch.rb +0 -111
  117. data/test/lib/facets/core/hash/test_op_lshift.rb +0 -29
  118. data/test/lib/facets/core/hash/test_rand_key.rb +0 -27
  119. data/test/lib/facets/core/hash/test_rand_pair.rb +0 -27
  120. data/test/lib/facets/core/hash/test_rand_value.rb +0 -27
  121. data/test/lib/facets/core/hash/test_rekey.rb +0 -52
  122. data/test/lib/facets/core/hash/test_replace_each.rb +0 -29
  123. data/test/lib/facets/core/hash/test_shuffle.rb +0 -32
  124. data/test/lib/facets/core/hash/test_slice.rb +0 -27
  125. data/test/lib/facets/core/hash/test_stringify_keys.rb +0 -34
  126. data/test/lib/facets/core/hash/test_swap.rb +0 -27
  127. data/test/lib/facets/core/hash/test_swapkey.rb +0 -29
  128. data/test/lib/facets/core/hash/test_symbolize_keys.rb +0 -34
  129. data/test/lib/facets/core/hash/test_to_h.rb +0 -27
  130. data/test/lib/facets/core/hash/test_to_ostruct.rb +0 -30
  131. data/test/lib/facets/core/hash/test_to_ostruct_recurse.rb +0 -44
  132. data/test/lib/facets/core/hash/test_traverse.rb +0 -37
  133. data/test/lib/facets/core/hash/test_update_each.rb +0 -29
  134. data/test/lib/facets/core/hash/test_update_keys.rb +0 -28
  135. data/test/lib/facets/core/hash/test_update_values.rb +0 -28
  136. data/test/lib/facets/core/hash/test_weave.rb +0 -29
  137. data/test/lib/facets/core/integer/test_factorial.rb +0 -30
  138. data/test/lib/facets/core/integer/test_multiple.rb +0 -43
  139. data/test/lib/facets/core/integer/test_of.rb +0 -28
  140. data/test/lib/facets/core/integer/test_ordinal.rb +0 -29
  141. data/test/lib/facets/core/integer/test_times_collect.rb +0 -28
  142. data/test/lib/facets/core/kernel/test___class__.rb +0 -26
  143. data/test/lib/facets/core/kernel/test_as.rb +0 -42
  144. data/test/lib/facets/core/kernel/test_assign_from.rb +0 -31
  145. data/test/lib/facets/core/kernel/test_assign_with.rb +0 -31
  146. data/test/lib/facets/core/kernel/test_bool.rb +0 -41
  147. data/test/lib/facets/core/kernel/test_bug.rb +0 -26
  148. data/test/lib/facets/core/kernel/test_call_stack.rb +0 -26
  149. data/test/lib/facets/core/kernel/test_called.rb +0 -26
  150. data/test/lib/facets/core/kernel/test_callee.rb +0 -26
  151. data/test/lib/facets/core/kernel/test_constant.rb +0 -33
  152. data/test/lib/facets/core/kernel/test_copy.rb +0 -40
  153. data/test/lib/facets/core/kernel/test_deep_copy.rb +0 -40
  154. data/test/lib/facets/core/kernel/test_demo.rb +0 -28
  155. data/test/lib/facets/core/kernel/test_fn.rb +0 -26
  156. data/test/lib/facets/core/kernel/test_get_by_id.rb +0 -28
  157. data/test/lib/facets/core/kernel/test_here.rb +0 -26
  158. data/test/lib/facets/core/kernel/test_in.rb +0 -27
  159. data/test/lib/facets/core/kernel/test_instance_class.rb +0 -27
  160. data/test/lib/facets/core/kernel/test_instance_exec.rb +0 -58
  161. data/test/lib/facets/core/kernel/test_maybe.rb +0 -26
  162. data/test/lib/facets/core/kernel/test_meta_class.rb +0 -27
  163. data/test/lib/facets/core/kernel/test_metaclass.rb +0 -27
  164. data/test/lib/facets/core/kernel/test_method.rb +0 -32
  165. data/test/lib/facets/core/kernel/test_methods.rb +0 -50
  166. data/test/lib/facets/core/kernel/test_new.rb +0 -30
  167. data/test/lib/facets/core/kernel/test_object_class.rb +0 -26
  168. data/test/lib/facets/core/kernel/test_object_hexid.rb +0 -27
  169. data/test/lib/facets/core/kernel/test_qua_class.rb +0 -27
  170. data/test/lib/facets/core/kernel/test_require_all.rb +0 -26
  171. data/test/lib/facets/core/kernel/test_require_esc.rb +0 -27
  172. data/test/lib/facets/core/kernel/test_resc.rb +0 -27
  173. data/test/lib/facets/core/kernel/test_send_as.rb +0 -26
  174. data/test/lib/facets/core/kernel/test_set_from.rb +0 -33
  175. data/test/lib/facets/core/kernel/test_set_with.rb +0 -42
  176. data/test/lib/facets/core/kernel/test_silently.rb +0 -28
  177. data/test/lib/facets/core/kernel/test_singleton.rb +0 -40
  178. data/test/lib/facets/core/kernel/test_singleton_class.rb +0 -27
  179. data/test/lib/facets/core/kernel/test_super_at.rb +0 -30
  180. data/test/lib/facets/core/kernel/test_supermethod.rb +0 -33
  181. data/test/lib/facets/core/kernel/test_this.rb +0 -26
  182. data/test/lib/facets/core/kernel/test_to_b.rb +0 -28
  183. data/test/lib/facets/core/kernel/test_to_bool.rb +0 -28
  184. data/test/lib/facets/core/kernel/test_to_data.rb +0 -61
  185. data/test/lib/facets/core/kernel/test_uri.rb +0 -30
  186. data/test/lib/facets/core/kernel/test_val.rb +0 -43
  187. data/test/lib/facets/core/kernel/test_with.rb +0 -30
  188. data/test/lib/facets/core/kernel/test_with_accessor.rb +0 -51
  189. data/test/lib/facets/core/matchdata/test_match.rb +0 -29
  190. data/test/lib/facets/core/matchdata/test_matchtree.rb +0 -37
  191. data/test/lib/facets/core/module/self/test_op_add.rb +0 -50
  192. data/test/lib/facets/core/module/test_abstract.rb +0 -36
  193. data/test/lib/facets/core/module/test_alias_method_chain.rb +0 -46
  194. data/test/lib/facets/core/module/test_alias_module_function.rb +0 -34
  195. data/test/lib/facets/core/module/test_ancestor.rb +0 -26
  196. data/test/lib/facets/core/module/test_attr_tester.rb +0 -39
  197. data/test/lib/facets/core/module/test_basename.rb +0 -26
  198. data/test/lib/facets/core/module/test_by_name.rb +0 -29
  199. data/test/lib/facets/core/module/test_class_extension.rb +0 -70
  200. data/test/lib/facets/core/module/test_clone_using.rb +0 -55
  201. data/test/lib/facets/core/module/test_dirname.rb +0 -26
  202. data/test/lib/facets/core/module/test_equate_on.rb +0 -37
  203. data/test/lib/facets/core/module/test_include_as.rb +0 -45
  204. data/test/lib/facets/core/module/test_initializer.rb +0 -32
  205. data/test/lib/facets/core/module/test_instance_methods.rb +0 -59
  206. data/test/lib/facets/core/module/test_integrate.rb +0 -35
  207. data/test/lib/facets/core/module/test_memoize.rb +0 -50
  208. data/test/lib/facets/core/module/test_modspace.rb +0 -27
  209. data/test/lib/facets/core/module/test_namespace.rb +0 -66
  210. data/test/lib/facets/core/module/test_nesting.rb +0 -36
  211. data/test/lib/facets/core/module/test_new.rb +0 -34
  212. data/test/lib/facets/core/module/test_nodef.rb +0 -30
  213. data/test/lib/facets/core/module/test_on_included.rb +0 -36
  214. data/test/lib/facets/core/module/test_redef.rb +0 -30
  215. data/test/lib/facets/core/module/test_redefine_method.rb +0 -30
  216. data/test/lib/facets/core/module/test_redirect.rb +0 -30
  217. data/test/lib/facets/core/module/test_redirect_method.rb +0 -30
  218. data/test/lib/facets/core/module/test_remove.rb +0 -30
  219. data/test/lib/facets/core/module/test_rename.rb +0 -31
  220. data/test/lib/facets/core/module/test_rename_method.rb +0 -31
  221. data/test/lib/facets/core/module/test_revisal.rb +0 -35
  222. data/test/lib/facets/core/module/test_shadow_method.rb +0 -30
  223. data/test/lib/facets/core/module/test_sort_on.rb +0 -42
  224. data/test/lib/facets/core/module/test_this.rb +0 -31
  225. data/test/lib/facets/core/module/test_wrap.rb +0 -30
  226. data/test/lib/facets/core/module/test_wrap_method.rb +0 -30
  227. data/test/lib/facets/core/nilclass/test_blank.rb +0 -26
  228. data/test/lib/facets/core/nilclass/test_empty.rb +0 -26
  229. data/test/lib/facets/core/nilclass/test_include.rb +0 -26
  230. data/test/lib/facets/core/nilclass/test_op_fetch.rb +0 -28
  231. data/test/lib/facets/core/nilclass/test_size.rb +0 -30
  232. data/test/lib/facets/core/nilclass/test_to_h.rb +0 -26
  233. data/test/lib/facets/core/numeric/test_approx.rb +0 -29
  234. data/test/lib/facets/core/numeric/test_ceil_multiple.rb +0 -31
  235. data/test/lib/facets/core/numeric/test_distance.rb +0 -28
  236. data/test/lib/facets/core/numeric/test_succ.rb +0 -40
  237. data/test/lib/facets/core/numeric/test_to_b.rb +0 -27
  238. data/test/lib/facets/core/ostruct/test___update__.rb +0 -45
  239. data/test/lib/facets/core/ostruct/test_instance_delegate.rb +0 -36
  240. data/test/lib/facets/core/ostruct/test_op_fetch.rb +0 -33
  241. data/test/lib/facets/core/proc/test_compose.rb +0 -29
  242. data/test/lib/facets/core/proc/test_op_mul.rb +0 -34
  243. data/test/lib/facets/core/proc/test_to_method.rb +0 -44
  244. data/test/lib/facets/core/range/test_to_r.rb +0 -27
  245. data/test/lib/facets/core/range/test_to_range.rb +0 -27
  246. data/test/lib/facets/core/range/test_umbrella.rb +0 -34
  247. data/test/lib/facets/core/range/test_within.rb +0 -29
  248. data/test/lib/facets/core/regexp/test_arity.rb +0 -33
  249. data/test/lib/facets/core/regexp/test_to_re.rb +0 -27
  250. data/test/lib/facets/core/regexp/test_to_regexp.rb +0 -27
  251. data/test/lib/facets/core/string/self/test_interpolate.rb +0 -27
  252. data/test/lib/facets/core/string/self/test_patterns.rb +0 -28
  253. data/test/lib/facets/core/string/self/test_rand_letter.rb +0 -26
  254. data/test/lib/facets/core/string/test_align_center.rb +0 -34
  255. data/test/lib/facets/core/string/test_at_rand.rb +0 -35
  256. data/test/lib/facets/core/string/test_basename.rb +0 -41
  257. data/test/lib/facets/core/string/test_blank.rb +0 -27
  258. data/test/lib/facets/core/string/test_bracket.rb +0 -49
  259. data/test/lib/facets/core/string/test_bytes.rb +0 -25
  260. data/test/lib/facets/core/string/test_camelcase.rb +0 -39
  261. data/test/lib/facets/core/string/test_camelize.rb +0 -26
  262. data/test/lib/facets/core/string/test_capitalize_all.rb +0 -26
  263. data/test/lib/facets/core/string/test_capitalized.rb +0 -26
  264. data/test/lib/facets/core/string/test_chars.rb +0 -27
  265. data/test/lib/facets/core/string/test_cleave.rb +0 -43
  266. data/test/lib/facets/core/string/test_cmp.rb +0 -30
  267. data/test/lib/facets/core/string/test_demodulize.rb +0 -38
  268. data/test/lib/facets/core/string/test_divide.rb +0 -29
  269. data/test/lib/facets/core/string/test_downcase.rb +0 -26
  270. data/test/lib/facets/core/string/test_dresner.rb +0 -32
  271. data/test/lib/facets/core/string/test_each_char.rb +0 -29
  272. data/test/lib/facets/core/string/test_each_word.rb +0 -29
  273. data/test/lib/facets/core/string/test_first.rb +0 -43
  274. data/test/lib/facets/core/string/test_fold.rb +0 -34
  275. data/test/lib/facets/core/string/test_humanize.rb +0 -26
  276. data/test/lib/facets/core/string/test_indent.rb +0 -40
  277. data/test/lib/facets/core/string/test_index_all.rb +0 -26
  278. data/test/lib/facets/core/string/test_last.rb +0 -46
  279. data/test/lib/facets/core/string/test_line_wrap.rb +0 -27
  280. data/test/lib/facets/core/string/test_lines.rb +0 -26
  281. data/test/lib/facets/core/string/test_lowercase.rb +0 -26
  282. data/test/lib/facets/core/string/test_margin.rb +0 -117
  283. data/test/lib/facets/core/string/test_methodize.rb +0 -27
  284. data/test/lib/facets/core/string/test_modulize.rb +0 -29
  285. data/test/lib/facets/core/string/test_mscan.rb +0 -30
  286. data/test/lib/facets/core/string/test_natcmp.rb +0 -30
  287. data/test/lib/facets/core/string/test_nchar.rb +0 -29
  288. data/test/lib/facets/core/string/test_pathize.rb +0 -29
  289. data/test/lib/facets/core/string/test_pop.rb +0 -47
  290. data/test/lib/facets/core/string/test_pot.rb +0 -39
  291. data/test/lib/facets/core/string/test_push.rb +0 -40
  292. data/test/lib/facets/core/string/test_quote.rb +0 -49
  293. data/test/lib/facets/core/string/test_rand_byte.rb +0 -35
  294. data/test/lib/facets/core/string/test_rand_index.rb +0 -26
  295. data/test/lib/facets/core/string/test_range.rb +0 -27
  296. data/test/lib/facets/core/string/test_range_all.rb +0 -27
  297. data/test/lib/facets/core/string/test_range_of_line.rb +0 -28
  298. data/test/lib/facets/core/string/test_regesc.rb +0 -28
  299. data/test/lib/facets/core/string/test_shatter.rb +0 -29
  300. data/test/lib/facets/core/string/test_shift.rb +0 -40
  301. data/test/lib/facets/core/string/test_shuffle.rb +0 -27
  302. data/test/lib/facets/core/string/test_similarity.rb +0 -26
  303. data/test/lib/facets/core/string/test_singular.rb +0 -86
  304. data/test/lib/facets/core/string/test_soundex.rb +0 -41
  305. data/test/lib/facets/core/string/test_succ.rb +0 -29
  306. data/test/lib/facets/core/string/test_to_a.rb +0 -27
  307. data/test/lib/facets/core/string/test_to_b.rb +0 -41
  308. data/test/lib/facets/core/string/test_to_const.rb +0 -28
  309. data/test/lib/facets/core/string/test_to_date.rb +0 -30
  310. data/test/lib/facets/core/string/test_to_proc.rb +0 -33
  311. data/test/lib/facets/core/string/test_to_re.rb +0 -28
  312. data/test/lib/facets/core/string/test_to_time.rb +0 -30
  313. data/test/lib/facets/core/string/test_unix_crypt.rb +0 -30
  314. data/test/lib/facets/core/string/test_unpack.rb +0 -34
  315. data/test/lib/facets/core/string/test_unshift.rb +0 -39
  316. data/test/lib/facets/core/string/test_upcase.rb +0 -30
  317. data/test/lib/facets/core/string/test_whitespace.rb +0 -27
  318. data/test/lib/facets/core/string/test_word_filter.rb +0 -34
  319. data/test/lib/facets/core/string/test_word_wrap.rb +0 -51
  320. data/test/lib/facets/core/string/test_words.rb +0 -37
  321. data/test/lib/facets/core/symbol/test_camelcase.rb +0 -26
  322. data/test/lib/facets/core/symbol/test_camelize.rb +0 -27
  323. data/test/lib/facets/core/symbol/test_capitalize.rb +0 -26
  324. data/test/lib/facets/core/symbol/test_capitalized.rb +0 -27
  325. data/test/lib/facets/core/symbol/test_downcase.rb +0 -27
  326. data/test/lib/facets/core/symbol/test_not.rb +0 -29
  327. data/test/lib/facets/core/symbol/test_pad.rb +0 -27
  328. data/test/lib/facets/core/symbol/test_succ.rb +0 -28
  329. data/test/lib/facets/core/symbol/test_to_const.rb +0 -28
  330. data/test/lib/facets/core/symbol/test_to_proc.rb +0 -33
  331. data/test/lib/facets/core/symbol/test_to_str.rb +0 -28
  332. data/test/lib/facets/core/symbol/test_underscore.rb +0 -26
  333. data/test/lib/facets/core/symbol/test_upcase.rb +0 -27
  334. data/test/lib/facets/core/time/test_change.rb +0 -33
  335. data/test/lib/facets/core/time/test_elapse.rb +0 -27
  336. data/test/lib/facets/core/time/test_stamp.rb +0 -39
  337. data/test/lib/facets/core/time/test_to_date.rb +0 -31
  338. data/test/lib/facets/core/time/test_to_s.rb +0 -31
  339. data/test/lib/facets/core/time/test_to_time.rb +0 -31
  340. data/test/lib/facets/more/test_ann.rb +0 -112
  341. data/test/lib/facets/more/test_ann_attr.rb +0 -39
  342. data/test/lib/facets/more/test_ansicode.rb +0 -36
  343. data/test/lib/facets/more/test_arguments.rb +0 -83
  344. data/test/lib/facets/more/test_association.rb +0 -51
  345. data/test/lib/facets/more/test_autoarray.rb +0 -32
  346. data/test/lib/facets/more/test_basicobject.rb +0 -67
  347. data/test/lib/facets/more/test_bbcode.rb +0 -34
  348. data/test/lib/facets/more/test_binaryreader.rb +0 -64
  349. data/test/lib/facets/more/test_bitmask.rb +0 -47
  350. data/test/lib/facets/more/test_buildingblock.rb +0 -48
  351. data/test/lib/facets/more/test_bytes.rb +0 -84
  352. data/test/lib/facets/more/test_classmethods.rb +0 -69
  353. data/test/lib/facets/more/test_command.rb +0 -69
  354. data/test/lib/facets/more/test_coroutine.rb +0 -60
  355. data/test/lib/facets/more/test_crypt.rb +0 -46
  356. data/test/lib/facets/more/test_cut.rb +0 -198
  357. data/test/lib/facets/more/test_dependency.rb +0 -82
  358. data/test/lib/facets/more/test_dictionary.rb +0 -107
  359. data/test/lib/facets/more/test_elementor.rb +0 -52
  360. data/test/lib/facets/more/test_enumerablepass.rb +0 -86
  361. data/test/lib/facets/more/test_floatstring.rb +0 -36
  362. data/test/lib/facets/more/test_functor.rb +0 -39
  363. data/test/lib/facets/more/test_htmlbuilder.rb +0 -38
  364. data/test/lib/facets/more/test_htmlfilter.rb +0 -86
  365. data/test/lib/facets/more/test_infinity.rb +0 -50
  366. data/test/lib/facets/more/test_inheritor.rb +0 -155
  367. data/test/lib/facets/more/test_instance_intercept.rb +0 -50
  368. data/test/lib/facets/more/test_interval.rb +0 -119
  369. data/test/lib/facets/more/test_json.rb +0 -232
  370. data/test/lib/facets/more/test_linkedlist.rb +0 -53
  371. data/test/lib/facets/more/test_lisp.rb +0 -47
  372. data/test/lib/facets/more/test_lisp_format.rb +0 -37
  373. data/test/lib/facets/more/test_lrucache.rb +0 -25
  374. data/test/lib/facets/more/test_mathconstants.rb +0 -18
  375. data/test/lib/facets/more/test_methodfilter.rb +0 -45
  376. data/test/lib/facets/more/test_methodprobe.rb +0 -53
  377. data/test/lib/facets/more/test_multipliers.rb +0 -114
  378. data/test/lib/facets/more/test_multiton.rb +0 -199
  379. data/test/lib/facets/more/test_nackclass.rb +0 -45
  380. data/test/lib/facets/more/test_nilcomparable.rb +0 -47
  381. data/test/lib/facets/more/test_opencascade.rb +0 -75
  382. data/test/lib/facets/more/test_openobject.rb +0 -126
  383. data/test/lib/facets/more/test_overload.rb +0 -54
  384. data/test/lib/facets/more/test_paramix.rb +0 -100
  385. data/test/lib/facets/more/test_pqueue.rb +0 -39
  386. data/test/lib/facets/more/test_preinitialize.rb +0 -49
  387. data/test/lib/facets/more/test_promoteself.rb +0 -45
  388. data/test/lib/facets/more/test_recorder.rb +0 -44
  389. data/test/lib/facets/more/test_snapshot.rb +0 -34
  390. data/test/lib/facets/more/test_statichash.rb +0 -31
  391. data/test/lib/facets/more/test_syncarray.rb +0 -28
  392. data/test/lib/facets/more/test_synchash.rb +0 -28
  393. data/test/lib/facets/more/test_tagiterator.rb +0 -93
  394. data/test/lib/facets/more/test_timer.rb +0 -66
  395. data/test/lib/facets/more/test_times.rb +0 -103
  396. data/test/lib/facets/more/test_tuple.rb +0 -64
  397. data/test/lib/facets/more/test_typecast.rb +0 -68
  398. data/test/lib/facets/more/test_uninheritable.rb +0 -42
  399. data/test/lib/facets/more/test_units.rb +0 -111
  400. data/test/lib/facets/more/test_xmlbuilder.rb +0 -54
  401. data/test/lib/facets/more/test_xmlhelper.rb +0 -40
  402. data/test/lib/facets/more/test_xoxo.rb +0 -288
  403. data/test/lib/facets/more/test_yamlstruct.rb +0 -37
  404. data/test/lib/facets/yore/enumerable/test_cross.rb +0 -44
  405. data/test/lib/facets/yore/kernel/test_require_facet.rb +0 -27
  406. data/test/lib/facets/yore/module/test_namespace.rb +0 -33
  407. data/test/lib/facets/yore/test_annattr.rb +0 -39
  408. data/test/lib/facets/yore/test_annotation.rb +0 -318
  409. data/work/README +0 -42
  410. data/work/TODO +0 -73
  411. data/work/bin/minitar +0 -3
  412. data/work/bin/minitar.rb +0 -814
  413. data/work/core/array/at_rand.rb +0 -95
  414. data/work/core/array/each_slice.rb +0 -23
  415. data/work/core/array/pick_values.rb +0 -32
  416. data/work/core/array/rand_indexes.rb +0 -33
  417. data/work/core/binding/class.rb +0 -11
  418. data/work/core/binding/delegate-binding.rb +0 -19
  419. data/work/core/binding/delegate.rb +0 -15
  420. data/work/core/binding/proc.rb +0 -6
  421. data/work/core/class/to_module.rb +0 -3
  422. data/work/core/enumerable/op_fetch.rb +0 -30
  423. data/work/core/fileutils/cptouch.rb +0 -20
  424. data/work/core/fileutils/nl_convert.rb +0 -133
  425. data/work/core/io/expect.rb +0 -127
  426. data/work/core/join_with.rb +0 -13
  427. data/work/core/kernel/call_line.rb +0 -15
  428. data/work/core/kernel/does.rb +0 -7
  429. data/work/core/kernel/message.rb +0 -6
  430. data/work/core/kernel/query.rb +0 -15
  431. data/work/core/kernel/taint.rb +0 -10
  432. data/work/core/logger/clean_logger.rb +0 -10
  433. data/work/core/module/attr-old.rb +0 -308
  434. data/work/core/module/attr.rb +0 -98
  435. data/work/core/module/attr_xxx.rb +0 -22
  436. data/work/core/module/by_regexp.rb +0 -21
  437. data/work/core/module/cast.rb +0 -64
  438. data/work/core/module/class_attribute_accessors.rb +0 -57
  439. data/work/core/module/inherit.rb +0 -99
  440. data/work/core/module/inherit0.rb +0 -59
  441. data/work/core/module/let.rb +0 -51
  442. data/work/core/module/meta_attr.rb +0 -60
  443. data/work/core/module/module_attribute_accessors.rb +0 -57
  444. data/work/core/module/permissions.rb +0 -32
  445. data/work/core/module/preserved.rb +0 -108
  446. data/work/core/module/sattr_accessor.rb +0 -1
  447. data/work/core/module/sattr_reader.rb +0 -1
  448. data/work/core/module/sattr_setter.rb +0 -1
  449. data/work/core/module/sattr_tester.rb +0 -1
  450. data/work/core/module/sattr_writer.rb +0 -1
  451. data/work/core/module/tc_attr.rb +0 -107
  452. data/work/core/module/to_module.rb +0 -37
  453. data/work/core/module/version.rb +0 -23
  454. data/work/core/string/frequency.rb +0 -40
  455. data/work/core/string/op_add.rb +0 -24
  456. data/work/core/string/op_div.rb +0 -15
  457. data/work/core/string/pred.rb +0 -217
  458. data/work/core/string/probability.rb +0 -35
  459. data/work/core/string/succ_distance.rb +0 -112
  460. data/work/core/string/to_arr.rb +0 -57
  461. data/work/core/string/to_ary.rb +0 -12
  462. data/work/core/string/word_wrap.rb +0 -62
  463. data/work/hash_open.rb +0 -23
  464. data/work/misc/calibre/ProjectInfo.annotation +0 -46
  465. data/work/misc/calibre/ProjectInfo.ansicode +0 -33
  466. data/work/misc/calibre/ProjectInfo.association +0 -34
  467. data/work/misc/calibre/ProjectInfo.basicobject +0 -36
  468. data/work/misc/calibre/ProjectInfo.bbcode +0 -34
  469. data/work/misc/calibre/ProjectInfo.binaryreader +0 -35
  470. data/work/misc/calibre/ProjectInfo.bitmask +0 -33
  471. data/work/misc/calibre/ProjectInfo.classinherit +0 -36
  472. data/work/misc/calibre/ProjectInfo.classmethods +0 -36
  473. data/work/misc/calibre/ProjectInfo.cloneable +0 -33
  474. data/work/misc/calibre/ProjectInfo.consoleapp +0 -35
  475. data/work/misc/calibre/ProjectInfo.coroutine +0 -37
  476. data/work/misc/calibre/ProjectInfo.crypt +0 -33
  477. data/work/misc/calibre/ProjectInfo.dictionary +0 -40
  478. data/work/misc/calibre/ProjectInfo.downloader +0 -39
  479. data/work/misc/calibre/ProjectInfo.enumerablepass +0 -35
  480. data/work/misc/calibre/ProjectInfo.expirable +0 -37
  481. data/work/misc/calibre/ProjectInfo.floatstring +0 -35
  482. data/work/misc/calibre/ProjectInfo.functor +0 -40
  483. data/work/misc/calibre/ProjectInfo.heap +0 -33
  484. data/work/misc/calibre/ProjectInfo.inheritor +0 -36
  485. data/work/misc/calibre/ProjectInfo.interval +0 -36
  486. data/work/misc/calibre/ProjectInfo.lisp +0 -38
  487. data/work/misc/calibre/ProjectInfo.lrucache +0 -34
  488. data/work/misc/calibre/ProjectInfo.mathconstants +0 -41
  489. data/work/misc/calibre/ProjectInfo.methodprobe +0 -38
  490. data/work/misc/calibre/ProjectInfo.mock +0 -34
  491. data/work/misc/calibre/ProjectInfo.multiton +0 -36
  492. data/work/misc/calibre/ProjectInfo.nackclass +0 -33
  493. data/work/misc/calibre/ProjectInfo.nilcomparable +0 -35
  494. data/work/misc/calibre/ProjectInfo.nullclass +0 -35
  495. data/work/misc/calibre/ProjectInfo.one +0 -37
  496. data/work/misc/calibre/ProjectInfo.openobject +0 -39
  497. data/work/misc/calibre/ProjectInfo.paramix +0 -38
  498. data/work/misc/calibre/ProjectInfo.pool +0 -33
  499. data/work/misc/calibre/ProjectInfo.progressbar +0 -37
  500. data/work/misc/calibre/ProjectInfo.reference +0 -36
  501. data/work/misc/calibre/ProjectInfo.semaphore +0 -36
  502. data/work/misc/calibre/ProjectInfo.stateparser +0 -39
  503. data/work/misc/calibre/ProjectInfo.statichash +0 -33
  504. data/work/misc/calibre/ProjectInfo.system +0 -34
  505. data/work/misc/calibre/ProjectInfo.tagiterator +0 -36
  506. data/work/misc/calibre/ProjectInfo.timer +0 -35
  507. data/work/misc/calibre/ProjectInfo.tracepoint +0 -37
  508. data/work/misc/calibre/ProjectInfo.tuple +0 -36
  509. data/work/misc/calibre/ProjectInfo.uniheritable +0 -34
  510. data/work/misc/calibre/ProjectInfo.units +0 -34
  511. data/work/misc/calibre/ProjectInfo.yamlstruct +0 -34
  512. data/work/more/annotation-rw.rb +0 -217
  513. data/work/more/aobject.rb +0 -132
  514. data/work/more/autohash.rb +0 -67
  515. data/work/more/cache.rb +0 -189
  516. data/work/more/class_inheritable_attributes.rb +0 -120
  517. data/work/more/commandrunner.rb +0 -101
  518. data/work/more/daemon.rb +0 -70
  519. data/work/more/debugger.rb +0 -167
  520. data/work/more/detach.rb +0 -423
  521. data/work/more/enumtype.rb +0 -115
  522. data/work/more/ioreactor.rb +0 -671
  523. data/work/more/logger_sing.rb +0 -207
  524. data/work/more/must.rb +0 -37
  525. data/work/more/old-tkxml.rb +0 -189
  526. data/work/more/pairhash.rb +0 -55
  527. data/work/more/password.rb +0 -80
  528. data/work/more/print_exception.rb +0 -35
  529. data/work/more/rand.rb +0 -412
  530. data/work/more/range.rb +0 -383
  531. data/work/more/sanitize.rb +0 -48
  532. data/work/more/superstruct.rb +0 -735
  533. data/work/more/tag.rb +0 -31
  534. data/work/more/timer.rb +0 -164
  535. data/work/op_rshift.rb +0 -87
  536. data/work/openobject-temp.rb +0 -45
  537. data/work/pore/autorequire.rb +0 -83
  538. data/work/pore/basefactory.rb +0 -40
  539. data/work/pore/hash/each.rb +0 -76
  540. data/work/pore/merge3.rb +0 -765
  541. data/work/pore/superann.rb +0 -134
  542. data/work/pore/sys.rb +0 -186
  543. data/work/pore/utils.rb +0 -518
  544. data/work/yore/HashAquisition.rb +0 -36
  545. data/work/yore/Rakefile.old +0 -181
  546. data/work/yore/Reapfile +0 -63
  547. data/work/yore/annotation.rb +0 -489
  548. data/work/yore/annotation2.rb +0 -466
  549. data/work/yore/commandutils.rb +0 -379
  550. data/work/yore/openobject.rb +0 -298
  551. data/work/yore/reap.rb +0 -184
  552. data/work/yore/reap.yml +0 -47
  553. data/work/yore/taskable-old.rb +0 -519
  554. data/work/yore/taskable.rb +0 -482
@@ -1,32 +0,0 @@
1
-
2
- class Module
3
-
4
- def publish(*args)
5
- a = args.fattern
6
- public *a
7
- return *a
8
- end
9
-
10
- def readonly(*args)
11
- a = args.fattern
12
- w,r = a.partition { |m| m.to_s[-1,1] == '=' }
13
- private *w
14
- public *r
15
- return *a
16
- end
17
-
18
- def writeonly(*args)
19
- a = args.fattern
20
- w,r = a.partition { |m| m.to_s[-1,1] == '=' }
21
- private *r
22
- public *w
23
- return *a
24
- end
25
-
26
- def hidden(*args)
27
- a = args.fattern
28
- private *a
29
- return *a
30
- end
31
-
32
- end
@@ -1,108 +0,0 @@
1
- =begin
2
- = preserved.rb
3
- == SYNOPSIS
4
-
5
- require "preserved"
6
-
7
- class XXX
8
- def foo
9
- # ... should not be redefined ...
10
- end
11
-
12
- preserved :foo
13
- end
14
-
15
- class YYY < XXX
16
- def foo #########!! NameError raised here
17
-
18
- == CLASS Module
19
- === METHODS
20
- : preserved(name...)
21
- Prohibits redefining the methods specified by name.
22
- We call these methods "preserved methods".
23
-
24
- : preserved_methods
25
- Returns an array which consists of preserved methods.
26
- =end
27
-
28
- class Module
29
- PRESERVED_VERSION = "2001-07-20"
30
-
31
- def preserved(*meth)
32
- instance_eval %q{
33
- Preserved_methods = [] unless defined?(Preserved_methods)
34
- meth.each do |m|
35
- m = m.id2name if m.is_a? Symbol
36
- if ! m.is_a? String
37
- raise ArgumentError, "#{m} is not a symbol"
38
- elsif ! instance_methods.include? m
39
- raise NameError, "undefined method `#{m}' for class #{self}"
40
- end
41
- Preserved_methods.replace(Preserved_methods | [m])
42
- end
43
- }
44
- end
45
-
46
- def preserved_methods
47
- instance_eval %q{
48
- Preserved_methods = [] unless defined?(Preserved_methods)
49
- Preserved_methods.dup
50
- }
51
- end
52
-
53
- private
54
-
55
- def method_added(id)
56
- catch(:preserved!) do
57
- instance_eval %q{
58
- return if id == :method_added
59
- Preserved_methods = [] unless defined?(Preserved_methods)
60
-
61
- if Preserved_methods.include? id.id2name
62
- throw :preserved!
63
- end
64
- }
65
- return
66
- end
67
- raise NameError, "preserved method `#{id}' redefined for class #{self}"
68
- end
69
- end
70
-
71
- if __FILE__ == $0
72
- _,demo,_=<<'=== EXAMPLE',<<"== AUTHORS",<<"=end";eval demo # Forget this ;-)
73
- =begin
74
- === EXAMPLE
75
-
76
- class C
77
- def a; end
78
- p [1, C, preserved_methods] #=> [1, C, []]
79
- preserved :a
80
- p [2, C, preserved_methods] #=> [2, C, ["a"]]
81
- end
82
-
83
- class S < C
84
- p [3, S, preserved_methods] #=> [3, S, ["a"]]
85
- def a0; end
86
- preserved :a0
87
- p [4, S, preserved_methods] #=> [4, S, ["a", "a0"]]
88
- end
89
-
90
- class C
91
- p [5, C, preserved_methods] #=> [5, C, ["a"]]
92
- end
93
-
94
- class S
95
- def a; end #!! preserved method `a' redefinded for class S
96
- end
97
-
98
- == AUTHORS
99
-
100
- Gotoken
101
-
102
- == HISTORY
103
-
104
- 2001-07-20: Preserved_method would be modified by replace (kg)
105
- 2000-10-17: First release (gotoken@notwork.org)
106
-
107
- =end
108
- end
@@ -1 +0,0 @@
1
- require 'nano/module/sattr'
@@ -1 +0,0 @@
1
- require 'nano/module/sattr'
@@ -1 +0,0 @@
1
- require 'nano/module/sattr'
@@ -1 +0,0 @@
1
- require 'nano/module/sattr'
@@ -1 +0,0 @@
1
- require 'nano/module/sattr'
@@ -1,107 +0,0 @@
1
-
2
- require 'test/unit'
3
-
4
- require 'nano/module/attr'
5
- require 'nano/module/attr_reader'
6
- require 'nano/module/attr_writer'
7
- require 'nano/module/attr_accessor'
8
- require 'nano/module/attr_setter'
9
- require 'nano/module/attr_checker'
10
- require 'nano/module/attr_key'
11
- require 'nano/module/attr_sort'
12
- # TODO
13
- require 'nano/module/iattr'
14
- require 'nano/module/iattr_reader'
15
- require 'nano/module/iattr_writer'
16
- require 'nano/module/iattr_accessor'
17
- require 'nano/module/iattr_setter'
18
- require 'nano/module/iattr_checker'
19
-
20
- # fixture
21
-
22
- class C
23
- attr :a, :a=
24
- attr :b?, :b=
25
- attr :c, true
26
- attr :d, :e, true
27
-
28
- @@ar = attr_reader( :ar )
29
- @@aw = attr_writer( :aw )
30
- @@aa = attr_accessor( :aa )
31
-
32
- def self.ar ; @@ar ; end
33
- def self.aw ; @@aw ; end
34
- def self.aa ; @@aa ; end
35
-
36
- attr_checker :t
37
- attr_setter :s
38
- end
39
-
40
- # test
41
-
42
- class TC_Attr < Test::Unit::TestCase
43
-
44
- def setup
45
- @c = C.new
46
- end
47
-
48
- # attr
49
-
50
- def test_attr_1
51
- assert_nothing_raised{ @c.a = 10 }
52
- assert_equal( 10, @c.a )
53
- end
54
-
55
- def test_attr_2
56
- assert_nothing_raised{ @c.b = "1" }
57
- assert( @c.b? )
58
- end
59
-
60
- def test_attr_3
61
- assert_nothing_raised{ @c.c = 20 }
62
- assert_equal( 20, @c.c )
63
- end
64
-
65
- def test_attr_4
66
- assert_nothing_raised{ @c.d = 30 }
67
- assert_equal( 30, @c.d )
68
- assert_nothing_raised{ @c.e = 40 }
69
- assert_equal( 40, @c.e )
70
- end
71
-
72
- # attr_checker
73
-
74
- def test_attr_checker
75
- assert_equal( nil, @c.t? )
76
- @c.instance_eval { @t = false }
77
- assert_equal( false, @c.t? )
78
- @c.instance_eval { @t = true }
79
- assert_equal( true, @c.t? )
80
- end
81
-
82
- # attr_setter
83
-
84
- def test_attr_setter
85
- assert_equal( @c, @c.s(10) )
86
- assert_equal( 10, @c.s )
87
- end
88
-
89
- # attr_reader
90
-
91
- def test_attr_reader
92
- assert_equal( [ :ar ], C.ar )
93
- end
94
-
95
- # attr_writer
96
-
97
- def test_attr_writer
98
- assert_equal( [ :aw= ], C.aw )
99
- end
100
-
101
- # attr_accessor
102
-
103
- def test_attr_accessor
104
- assert_equal( [ :aa, :aa= ], C.aa )
105
- end
106
-
107
- end
@@ -1,37 +0,0 @@
1
-
2
- class Module
3
-
4
- # Module returns itself.
5
-
6
- def to_module
7
- self #.dup
8
- end
9
-
10
- end
11
-
12
-
13
- class Class
14
-
15
- # Creates a new module by copying the methods of the class.
16
-
17
- #--
18
- # Unfortunately this is not dynamic. So once created changes to
19
- # the original class will not propagate. I.e. It's not inheritance
20
- # proper --and that'snot possible excecpt by change Ruby source.
21
- #++
22
-
23
- def to_module
24
- new_module = Module.new
25
- mod = self
26
- ancestors.each do |a|
27
- a.methods(false).each do |m|
28
- m1st = mod.method(m)
29
- new_module.module_eval do
30
- define_method( m, &m1st )
31
- end
32
- end
33
- end
34
- new_module
35
- end
36
-
37
- end
@@ -1,23 +0,0 @@
1
- require 'mega/version'
2
-
3
- class Module
4
- # If a module or class has a FILE constant set to __FILE__ and
5
- # a (optional) SERIES, this method will return a Version.
6
- # If a load error occurs this will not throw an error,
7
- # but will simply set the version to UNDEFINED.
8
- #
9
- # Class.version #=> "UNDEFINED"
10
- #
11
- def version
12
- t = "UNDEFINED"
13
- if self::FILE
14
- begin
15
- t = File.open(self::FILE) { |f| f.ctime.strftime("%y.%m.%d") }
16
- rescue LoadError
17
- t = "UNDEFINED"
18
- end
19
- end
20
- s = self::SERIES || 0
21
- Version.new( "#{s}.#{t}" )
22
- end
23
- end
@@ -1,40 +0,0 @@
1
- # DEPRECATED!!!
2
-
3
- require 'facet/string/to_arr'
4
- require 'facet/enumerable/frequency'
5
-
6
- class String
7
-
8
- def frequency(*args)
9
- to_arr(*args).frequency
10
- end
11
-
12
- end
13
-
14
- #--
15
- # NOTE: add String#occur and String#occur_within in future ?
16
- #++
17
-
18
-
19
-
20
- # _____ _
21
- # |_ _|__ ___| |_
22
- # | |/ _ \/ __| __|
23
- # | | __/\__ \ |_
24
- # |_|\___||___/\__|
25
- #
26
- =begin test
27
-
28
- require 'test/unit'
29
-
30
- class TCString < Test::Unit::TestCase
31
-
32
- def test_frequency
33
- assert_equal( {'a'=>1,'b'=>1}, "ab".frequency )
34
- assert_equal( {'tom'=>1,'boy'=>1}, "tom boy".frequency(:word) )
35
- assert_equal( {'tom'=>1,'boy'=>1}, "tom\nboy".frequency(:line) )
36
- end
37
-
38
- end
39
-
40
- =end
@@ -1,24 +0,0 @@
1
- require 'facet/string/succ'
2
- require 'facet/string/pred'
3
-
4
- class String
5
-
6
- alias_method( :add, :+ )
7
-
8
- def +(s)
9
- if s.kind_of?(Numeric)
10
- succ(s)
11
- else
12
- add(s)
13
- end
14
- end
15
-
16
- def -(s)
17
- if s.kind_of?(Numeric)
18
- pred(s)
19
- else
20
- gsub(s, '')
21
- end
22
- end
23
-
24
- end
@@ -1,15 +0,0 @@
1
- #--
2
- # Credit goes to Paul Brannan <paul_at_atdesk.com>
3
- #++
4
- class String
5
- # Allow easy manipulation of path strings.
6
- #
7
- # require 'facet/string/slash'
8
- #
9
- # prefix = '/usr' / 'local' #=> "/usr/local"
10
- # prefix / 'bin' #=> "/usr/local/bin"
11
- #
12
- def /(other) #:infix:
13
- File.join(self, other)
14
- end
15
- end
@@ -1,217 +0,0 @@
1
-
2
- class String
3
-
4
- # --- str.prev => string
5
- # Minimal difference previous.
6
- # #prev is the essentially the opposite of #next.
7
- # #next and #prev are not exact opposites however,
8
- # as some cases of #prev are indeterminate. In these
9
- # cases #prev returns the minimal possible solution.
10
- #
11
- # "123ABC".prev #=> "123ABB"
12
- #
13
- # Credit goes to Pit Capitian.
14
- # (The code could use some improving.)
15
- def prev
16
- case self
17
- when ''
18
- ''
19
- when /[1-9B-Zb-z]/
20
- alnum_pred
21
- when /[0Aa].*[0Aa]/
22
- alnum_pred
23
- when /[0Aa]\000*$/
24
- binary_pred
25
- when /[0Aa]/
26
- new_pred
27
- else
28
- binary_pred
29
- end
30
- end
31
-
32
- # ---- str.pred => string
33
- # Minimal difference predecessor. It is the essentially the opposite
34
- # of #succ, althouth it is not the exact opposite. This version adds
35
- # an optional paramter to specify the _n_th predecessor be returned
36
- def pred(n=1)
37
- s = self
38
- n.times { s = s.prev }
39
- s
40
- end
41
-
42
- private
43
-
44
- def alnum_pred
45
- result = dup
46
- zero_idx = last_idx = borrowed = borrowed_chars = nil
47
- idx = size
48
- while idx > 0
49
- idx -= 1
50
- last_idx = idx unless last_idx
51
- case result[ idx ]
52
- when ?1 .. ?9, ?B .. ?Z, ?b .. ?z
53
- result[ idx ] -= 1
54
- zero_idx = idx if result[ idx ] == ?0
55
- borrowed = nil
56
- break
57
- when ?0
58
- borrowed = result[ idx ] = ?9
59
- borrowed_chars = 1
60
- when ?A, ?a
61
- result[ idx ] += ( ?Z - ?A )
62
- zero_idx = idx
63
- if borrowed == result[ idx ]
64
- borrowed_chars -= 1
65
- else
66
- borrowed = result[ idx ]
67
- borrowed_chars = 1
68
- end
69
- else
70
- last_idx = nil if last_idx == idx
71
- end
72
- end
73
- if borrowed && borrowed_chars > 0
74
- result = new_pred
75
- elsif zero_idx && zero_idx < last_idx
76
- idx = 0
77
- loop do
78
- case result[ idx ]
79
- when ?1 .. ?9, ?A .. ?Y, ?a .. ?y
80
- break
81
- when ?0, ?Z, ?z
82
- result[ idx, 1 ] = '' if idx == zero_idx
83
- break
84
- else
85
- idx += 1
86
- end
87
- end
88
- end
89
- result
90
- end
91
-
92
- def binary_pred
93
- result = dup
94
- idx = size
95
- while idx > 0
96
- idx -= 1
97
- if result[ idx ] > 0
98
- result[ idx ] -= 1
99
- break
100
- else
101
- result[ idx ] = 255
102
- end
103
- end
104
- if idx == 0
105
- case result[ idx ]
106
- when 0
107
- result[ 0, 1 ] = '' if size > 1
108
- when 255
109
- result = new_pred
110
- end
111
- end
112
- result
113
- end
114
-
115
- def new_pred
116
- "new_pred " + self
117
- end
118
-
119
- end
120
-
121
-
122
-
123
- =begin test
124
-
125
- require 'test/unit'
126
-
127
- class Pred_TC < Test::Unit::TestCase
128
-
129
- def assert_pred( pred, str, msg = str )
130
- assert_equal( pred, str.pred, "pred #{msg}" )
131
- end
132
-
133
- def assert_inverse( str, msg = str )
134
- assert_equal( str, str.pred.succ, "inverse #{msg}" )
135
- end
136
-
137
- def assert_pred_with_inverse( pred, str, msg = str )
138
- assert_pred( pred, str, msg )
139
- assert_inverse( str, msg )
140
- end
141
-
142
- def test_01_empty
143
- assert_pred_with_inverse( '', '', 'empty' )
144
- end
145
-
146
- def test_02_simple_alnum
147
- assert_pred_with_inverse( '1', '2' )
148
- assert_pred_with_inverse( '42', '43' )
149
- assert_pred_with_inverse( '3999', '4000' )
150
- assert_pred_with_inverse( '00399', '00400' )
151
- assert_pred_with_inverse( 'A', 'B' )
152
- assert_pred_with_inverse( 'HH', 'HI' )
153
- assert_pred_with_inverse( 'AZZ', 'BAA' )
154
- assert_pred_with_inverse( 'AAAZZ', 'AABAA' )
155
- assert_pred_with_inverse( 'd', 'e' )
156
- assert_pred_with_inverse( 'xx', 'xy' )
157
- assert_pred_with_inverse( 'yzz', 'zaa' )
158
- assert_pred_with_inverse( 'zzyzz', 'zzzaa' )
159
- assert_pred_with_inverse( '8Z9z', '9A0a' )
160
- assert_pred_with_inverse( ' /4-Z++9 $z #9#', ' /5-A++0 $a #0#' )
161
- end
162
-
163
- def test_03_leading_1Aa
164
- assert_pred_with_inverse( '0', '1' )
165
- assert_pred_with_inverse( '99', '100' )
166
- assert_pred_with_inverse( '00099', '00100' )
167
- assert_pred_with_inverse( 'Z', 'AA' )
168
- assert_pred_with_inverse( 'zZz', 'aaAa' )
169
- assert_pred_with_inverse( '9zZ', '10aA' )
170
- assert_pred_with_inverse( 'Z9z9', 'AA0a0' )
171
- assert_pred_with_inverse( ' /9-Z++9 $z #9#', ' /10-A++0 $a #0#' )
172
- end
173
-
174
- def test_04_illegal_alnum
175
- assert_pred( 'new_pred 00', '00' )
176
- assert_pred( 'new_pred 0000', '0000' )
177
- assert_pred( 'new_pred A0', 'A0' )
178
- assert_pred( 'new_pred 0a0', '0a0' )
179
- assert_pred( 'new_pred 00Aa', '00Aa' )
180
- assert_pred( 'new_pred aA', 'aA' )
181
- assert_pred( 'new_pred Aa00', 'Aa00' )
182
- end
183
-
184
- def test_05_simple_binary
185
- assert_pred_with_inverse( ' ', '!' )
186
- assert_pred_with_inverse( '!$', '!%' )
187
- assert_pred_with_inverse( "$\377\377\377", "%\000\000\000" )
188
- assert_pred_with_inverse( "<==\377", "<=>\000" )
189
- assert_pred_with_inverse( "\377 ", "\377!" )
190
- end
191
-
192
- def test_06_leading_001
193
- assert_pred_with_inverse( "\000", "\001" )
194
- assert_pred_with_inverse( "\377", "\001\000" )
195
- assert_pred_with_inverse( "\377\377\377", "\001\000\000\000" )
196
- assert_pred_with_inverse( "\000\000\377", "\000\001\000" )
197
- end
198
-
199
- def test_07_binary_with_0Aa
200
- assert_pred_with_inverse( '/', '0' )
201
- assert_pred_with_inverse( '@', 'A' )
202
- assert_pred_with_inverse( '`', 'a' )
203
- assert_pred_with_inverse( "$ @\377", "$ A\000" )
204
- assert_pred_with_inverse( "+/\377\377", "+0\000\000" )
205
- end
206
-
207
- def test_08_illegal_binary
208
- assert_pred( "new_pred \000", "\000" )
209
- assert_pred( "new_pred \000\000", "\000\000" )
210
- assert_pred( "new_pred 0\001", "0\001" )
211
- assert_pred( "new_pred A+", "A+" )
212
- assert_pred( "new_pred <a>", "<a>" )
213
- end
214
-
215
- end
216
-
217
- =end