facets 1.2.0 → 1.2.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 (415) hide show
  1. data/CHANGELOG +4 -3
  2. data/ProjectInfo +5 -2
  3. data/conf/facets/noauto +11 -11
  4. data/lib/facet/aspects.rb +1 -0
  5. data/lib/facet/float/round_off.rb +1 -0
  6. data/lib/facet/kernel/instance.rb +1 -0
  7. data/lib/facet/kernel/pp_exception.rb +1 -0
  8. data/lib/facet/module/cattr.rb +1 -0
  9. data/lib/facet/module/on_included.rb +1 -0
  10. data/lib/facet/nilclass/blank.rb +1 -0
  11. data/lib/facet/numeric/approx.rb +1 -0
  12. data/lib/facet/ostruct/instance.rb +1 -0
  13. data/lib/facets.rb +0 -1
  14. data/lib/facets/core/enumerable/every.rb +1 -5
  15. data/lib/facets/core/float.rb +1 -0
  16. data/lib/facets/core/float/approx.rb +2 -42
  17. data/lib/facets/core/float/round_at.rb +2 -1
  18. data/lib/facets/core/float/round_off.rb +8 -0
  19. data/lib/facets/core/float/round_to.rb +2 -1
  20. data/lib/facets/core/gem.rb +0 -3
  21. data/lib/facets/core/hash/inverse.rb +3 -1
  22. data/lib/facets/core/inflect.rb +3 -0
  23. data/lib/facets/core/kernel.rb +2 -2
  24. data/lib/facets/core/kernel/{__meta__.rb → instance.rb} +10 -9
  25. data/lib/facets/core/kernel/pp_exception.rb +17 -0
  26. data/lib/facets/core/module.rb +2 -0
  27. data/lib/facets/core/module/attr.rb +4 -1
  28. data/lib/facets/core/module/basename.rb +12 -1
  29. data/lib/facets/core/module/cattr.rb +180 -0
  30. data/lib/facets/core/module/cattr_accessor.rb +2 -141
  31. data/lib/facets/core/module/cattr_reader.rb +1 -1
  32. data/lib/facets/core/module/cattr_writer.rb +1 -1
  33. data/lib/facets/core/module/on_included.rb +48 -0
  34. data/lib/facets/core/module/wrap_method.rb +7 -2
  35. data/lib/facets/core/nilclass.rb +1 -1
  36. data/lib/facets/core/nilclass/{to_f.rb → blank.rb} +6 -6
  37. data/lib/facets/core/nilclass/op_cmp.rb +11 -0
  38. data/lib/facets/core/nilclass/succ.rb +5 -0
  39. data/lib/facets/core/numeric.rb +1 -0
  40. data/lib/facets/core/numeric/approx.rb +34 -0
  41. data/lib/facets/core/ostruct/__update__.rb +2 -2
  42. data/lib/facets/core/ostruct/instance.rb +37 -0
  43. data/lib/facets/core/string/modulize.rb +1 -1
  44. data/lib/facets/more/consoleapp.rb +27 -16
  45. data/lib/facets/more/crypt.rb +8 -4
  46. data/lib/facets/more/elementor.rb +104 -0
  47. data/lib/facets/more/expirable.rb +5 -0
  48. data/lib/facets/more/nilcomparable.rb +88 -31
  49. data/lib/facets/more/overload.rb +1 -1
  50. data/lib/facets/more/typecast.rb +12 -3
  51. data/test/FIXTURE/filelist/testfile.txt +0 -0
  52. data/test/FIXTURE/filelist/testfile2.txt +0 -0
  53. data/test/lib/{facet → facets/core}/array/test_at_rand.rb +3 -3
  54. data/test/lib/{facet → facets/core}/array/test_delete_unless.rb +3 -3
  55. data/test/lib/{facet → facets/core}/array/test_delete_values.rb +3 -3
  56. data/test/lib/{facet → facets/core}/array/test_delete_values_at.rb +3 -3
  57. data/test/lib/{facet → facets/core}/array/test_first.rb +3 -3
  58. data/test/lib/{facet → facets/core}/array/test_head.rb +3 -3
  59. data/test/lib/{facet → facets/core}/array/test_last_index.rb +3 -3
  60. data/test/lib/{facet → facets/core}/array/test_merge.rb +3 -3
  61. data/test/lib/{facet → facets/core}/array/test_mid.rb +3 -3
  62. data/test/lib/{facet → facets/core}/array/test_middle.rb +3 -3
  63. data/test/lib/{facet → facets/core}/array/test_op_fetch.rb +3 -3
  64. data/test/lib/{facet → facets/core}/array/test_op_store.rb +3 -3
  65. data/test/lib/{facet → facets/core}/array/test_pick.rb +3 -3
  66. data/test/lib/{facet → facets/core}/array/test_pos.rb +3 -3
  67. data/test/lib/{facet → facets/core}/array/test_pull.rb +3 -3
  68. data/test/lib/{facet → facets/core}/array/test_rand_index.rb +3 -3
  69. data/test/lib/{facet → facets/core}/array/test_rand_subset.rb +3 -3
  70. data/test/lib/{facet → facets/core}/array/test_range.rb +3 -3
  71. data/test/lib/{facet → facets/core}/array/test_rotate.rb +3 -3
  72. data/test/lib/{facet → facets/core}/array/test_select.rb +3 -3
  73. data/test/lib/{facet → facets/core}/array/test_shuffle.rb +3 -3
  74. data/test/lib/{facet → facets/core}/array/test_slap.rb +3 -3
  75. data/test/lib/{facet → facets/core}/array/test_thru.rb +3 -3
  76. data/test/lib/{facet → facets/core}/array/test_to_b.rb +3 -3
  77. data/test/lib/{facet → facets/core}/array/test_to_h.rb +3 -3
  78. data/test/lib/{facet → facets/core}/array/test_to_hash.rb +3 -3
  79. data/test/lib/{facet → facets/core}/binding/self/test_of_caller.rb +3 -3
  80. data/test/lib/{facet → facets/core}/binding/test___LINE__.rb +3 -3
  81. data/test/lib/{facet → facets/core}/binding/test_call_stack.rb +3 -3
  82. data/test/lib/{facet → facets/core}/binding/test_called.rb +3 -3
  83. data/test/lib/{facet → facets/core}/binding/test_caller.rb +3 -3
  84. data/test/lib/{facet → facets/core}/binding/test_defined.rb +3 -3
  85. data/test/lib/{facet → facets/core}/binding/test_eval.rb +3 -3
  86. data/test/lib/{facet → facets/core}/binding/test_local_variables.rb +3 -3
  87. data/test/lib/{facet → facets/core}/binding/test_method_name.rb +3 -3
  88. data/test/lib/{facet → facets/core}/binding/test_op_fetch.rb +3 -3
  89. data/test/lib/{facet → facets/core}/binding/test_op_store.rb +3 -3
  90. data/test/lib/{facet → facets/core}/binding/test_self.rb +3 -3
  91. data/test/lib/{facet → facets/core}/class/test_descendents.rb +3 -3
  92. data/test/lib/{facet → facets/core}/class/test_method_name.rb +3 -3
  93. data/test/lib/{facet → facets/core}/class/test_remove_descendents.rb +3 -3
  94. data/test/lib/{facet → facets/core}/class/test_unix_path.rb +3 -3
  95. data/test/lib/{facet → facets/core}/comparable/test_at_least.rb +3 -3
  96. data/test/lib/{facet → facets/core}/comparable/test_clip.rb +3 -3
  97. data/test/lib/{facet → facets/core}/comparable/test_cmp.rb +3 -3
  98. data/test/lib/{facet → facets/core}/continuation/self/test_create.rb +3 -3
  99. data/test/lib/{facet → facets/core}/date/test_days_in_month.rb +3 -3
  100. data/test/lib/{facet → facets/core}/date/test_days_of_month.rb +3 -3
  101. data/test/lib/{facet → facets/core}/date/test_stamp.rb +3 -3
  102. data/test/lib/{facet → facets/core}/date/test_to_date.rb +3 -3
  103. data/test/lib/{facet → facets/core}/date/test_to_s.rb +3 -3
  104. data/test/lib/{facet → facets/core}/date/test_to_time.rb +3 -3
  105. data/test/lib/{facet → facets/core}/dir/self/test_ancestor.rb +3 -3
  106. data/test/lib/{facet → facets/core}/dir/self/test_ascend.rb +3 -3
  107. data/test/lib/{facet → facets/core}/dir/self/test_ls_r.rb +3 -3
  108. data/test/lib/{facet → facets/core}/enumerable/self/test_combinations.rb +3 -3
  109. data/test/lib/{facet → facets/core}/enumerable/self/test_cross.rb +3 -3
  110. data/test/lib/{facet → facets/core}/enumerable/test_collect_with_index.rb +3 -3
  111. data/test/lib/{facet → facets/core}/enumerable/test_commonality.rb +3 -3
  112. data/test/lib/{facet → facets/core}/enumerable/test_compact_collect.rb +3 -3
  113. data/test/lib/{facet → facets/core}/enumerable/test_cross.rb +3 -3
  114. data/test/lib/{facet → facets/core}/enumerable/test_each_combination.rb +3 -3
  115. data/test/lib/{facet → facets/core}/enumerable/test_each_pair.rb +3 -3
  116. data/test/lib/{facet → facets/core}/enumerable/test_each_slice.rb +3 -3
  117. data/test/lib/{facet → facets/core}/enumerable/test_each_unique_pair.rb +3 -3
  118. data/test/lib/{facet → facets/core}/enumerable/test_entropy.rb +3 -3
  119. data/test/lib/{facet → facets/core}/enumerable/test_every.rb +3 -3
  120. data/test/lib/{facet → facets/core}/enumerable/test_ew.rb +3 -3
  121. data/test/lib/{facet → facets/core}/enumerable/test_filter_collect.rb +3 -3
  122. data/test/lib/{facet → facets/core}/enumerable/test_find_collisions.rb +3 -3
  123. data/test/lib/{facet → facets/core}/enumerable/test_frequency.rb +3 -3
  124. data/test/lib/{facet → facets/core}/enumerable/test_graph.rb +3 -3
  125. data/test/lib/{facet → facets/core}/enumerable/test_ideal_entropy.rb +3 -3
  126. data/test/lib/{facet → facets/core}/enumerable/test_none.rb +3 -3
  127. data/test/lib/{facet → facets/core}/enumerable/test_occur.rb +3 -3
  128. data/test/lib/{facet → facets/core}/enumerable/test_one.rb +3 -3
  129. data/test/lib/{facet → facets/core}/enumerable/test_op_pow.rb +3 -3
  130. data/test/lib/{facet → facets/core}/enumerable/test_partition_by.rb +3 -3
  131. data/test/lib/{facet → facets/core}/enumerable/test_permute.rb +3 -3
  132. data/test/lib/{facet → facets/core}/enumerable/test_probability.rb +3 -3
  133. data/test/lib/{facet → facets/core}/enumerable/test_to_h.rb +3 -3
  134. data/test/lib/{facet → facets/core}/enumerable/test_uniq_by.rb +3 -3
  135. data/test/lib/{facet → facets/core}/file/self/test_create.rb +3 -3
  136. data/test/lib/{facet → facets/core}/file/self/test_open_as_string.rb +3 -3
  137. data/test/lib/{facet → facets/core}/file/self/test_read_list.rb +3 -3
  138. data/test/lib/{facet → facets/core}/file/self/test_sanitize.rb +3 -3
  139. data/test/lib/{facet → facets/core}/file/self/test_split_all.rb +3 -3
  140. data/test/lib/{facet → facets/core}/fileutils/test_wc.rb +3 -3
  141. data/test/lib/{facet → facets/core}/fileutils/test_which.rb +3 -3
  142. data/test/lib/{facet → facets/core}/float/test_approx.rb +3 -3
  143. data/test/lib/{facet → facets/core}/float/test_round_at.rb +3 -3
  144. data/test/lib/{facet → facets/core}/float/test_round_to.rb +3 -3
  145. data/test/lib/{facet → facets/core}/hash/self/test_zipnew.rb +3 -3
  146. data/test/lib/{facet → facets/core}/hash/test_alias.rb +3 -3
  147. data/test/lib/{facet → facets/core}/hash/test_assert_has_keys.rb +3 -3
  148. data/test/lib/{facet → facets/core}/hash/test_assert_has_only_keys.rb +3 -3
  149. data/test/lib/{facet → facets/core}/hash/test_at.rb +3 -3
  150. data/test/lib/{facet → facets/core}/hash/test_collate.rb +3 -3
  151. data/test/lib/{facet → facets/core}/hash/test_each.rb +3 -3
  152. data/test/lib/{facet → facets/core}/hash/test_each_with_index.rb +3 -3
  153. data/test/lib/{facet → facets/core}/hash/test_each_with_key.rb +3 -3
  154. data/test/lib/{facet → facets/core}/hash/test_graph.rb +3 -3
  155. data/test/lib/{facet → facets/core}/hash/test_has_keys.rb +3 -3
  156. data/test/lib/{facet → facets/core}/hash/test_has_only_keys.rb +3 -3
  157. data/test/lib/{facet → facets/core}/hash/test_inverse.rb +6 -4
  158. data/test/lib/{facet → facets/core}/hash/test_keys_to_s.rb +3 -3
  159. data/test/lib/{facet → facets/core}/hash/test_keys_to_sym.rb +3 -3
  160. data/test/lib/{facet → facets/core}/hash/test_op_fetch.rb +3 -3
  161. data/test/lib/{facet → facets/core}/hash/test_op_lshift.rb +3 -3
  162. data/test/lib/{facet → facets/core}/hash/test_rand_key.rb +3 -3
  163. data/test/lib/{facet → facets/core}/hash/test_rand_pair.rb +3 -3
  164. data/test/lib/{facet → facets/core}/hash/test_rand_value.rb +3 -3
  165. data/test/lib/{facet → facets/core}/hash/test_replace_each.rb +3 -3
  166. data/test/lib/{facet → facets/core}/hash/test_shuffle.rb +3 -3
  167. data/test/lib/{facet → facets/core}/hash/test_slice.rb +3 -3
  168. data/test/lib/{facet → facets/core}/hash/test_swap.rb +3 -3
  169. data/test/lib/{facet → facets/core}/hash/test_swapkey.rb +3 -3
  170. data/test/lib/{facet → facets/core}/hash/test_to_h.rb +3 -3
  171. data/test/lib/{facet → facets/core}/hash/test_to_ostruct.rb +3 -3
  172. data/test/lib/{facet → facets/core}/hash/test_to_ostruct_recurse.rb +3 -3
  173. data/test/lib/{facet → facets/core}/hash/test_traverse.rb +3 -3
  174. data/test/lib/{facet → facets/core}/hash/test_update_each.rb +3 -3
  175. data/test/lib/{facet → facets/core}/hash/test_update_keys.rb +3 -3
  176. data/test/lib/{facet → facets/core}/hash/test_update_values.rb +3 -3
  177. data/test/lib/{facet → facets/core}/hash/test_weave.rb +3 -3
  178. data/test/lib/{facet → facets/core}/integer/test_factorial.rb +3 -3
  179. data/test/lib/{facet → facets/core}/integer/test_multiple.rb +3 -3
  180. data/test/lib/{facet → facets/core}/integer/test_ordinal.rb +3 -3
  181. data/test/lib/{facet → facets/core}/integer/test_times_collect.rb +3 -3
  182. data/test/lib/{facet → facets/core}/kernel/test___class__.rb +3 -3
  183. data/test/lib/{facet → facets/core}/kernel/test_as.rb +3 -3
  184. data/test/lib/{facet → facets/core}/kernel/test_assign_from.rb +3 -3
  185. data/test/lib/{facet → facets/core}/kernel/test_assign_with.rb +3 -3
  186. data/test/lib/{facet → facets/core}/kernel/test_bool.rb +3 -3
  187. data/test/lib/{facet → facets/core}/kernel/test_bug.rb +3 -3
  188. data/test/lib/{facet → facets/core}/kernel/test_call_stack.rb +3 -3
  189. data/test/lib/{facet → facets/core}/kernel/test_called.rb +3 -3
  190. data/test/lib/{facet → facets/core}/kernel/test_constant.rb +3 -3
  191. data/test/lib/{facet → facets/core}/kernel/test_copy.rb +3 -3
  192. data/test/lib/{facet → facets/core}/kernel/test_deep_copy.rb +3 -3
  193. data/test/lib/{facet → facets/core}/kernel/test_demo.rb +3 -3
  194. data/test/lib/{facet → facets/core}/kernel/test_fn.rb +3 -3
  195. data/test/lib/{facet → facets/core}/kernel/test_generate_method_name.rb +3 -3
  196. data/test/lib/{facet → facets/core}/kernel/test_get_by_id.rb +3 -3
  197. data/test/lib/{facet → facets/core}/kernel/test_here.rb +3 -3
  198. data/test/lib/{facet → facets/core}/kernel/test_in.rb +3 -3
  199. data/test/lib/{facet → facets/core}/kernel/test_maybe.rb +3 -3
  200. data/test/lib/{facet → facets/core}/kernel/test_metaclass.rb +3 -3
  201. data/test/lib/{facet → facets/core}/kernel/test_method.rb +3 -3
  202. data/test/lib/{facet → facets/core}/kernel/test_method_name.rb +3 -3
  203. data/test/lib/{facet → facets/core}/kernel/test_methods.rb +3 -3
  204. data/test/lib/{facet → facets/core}/kernel/test_new.rb +3 -3
  205. data/test/lib/{facet → facets/core}/kernel/test_object_class.rb +3 -3
  206. data/test/lib/{facet → facets/core}/kernel/test_object_hexid.rb +3 -3
  207. data/test/lib/{facet → facets/core}/kernel/test_require_all.rb +3 -3
  208. data/test/lib/{facet → facets/core}/kernel/test_require_esc.rb +3 -3
  209. data/test/lib/{facet → facets/core}/kernel/test_require_facet.rb +3 -3
  210. data/test/lib/{facet → facets/core}/kernel/test_resc.rb +3 -3
  211. data/test/lib/{facet → facets/core}/kernel/test_returning.rb +3 -3
  212. data/test/lib/{facet → facets/core}/kernel/test_send_as.rb +3 -3
  213. data/test/lib/{facet → facets/core}/kernel/test_set_from.rb +3 -3
  214. data/test/lib/{facet → facets/core}/kernel/test_set_with.rb +3 -3
  215. data/test/lib/{facet → facets/core}/kernel/test_silently.rb +3 -3
  216. data/test/lib/{facet → facets/core}/kernel/test_singleton.rb +3 -3
  217. data/test/lib/{facet → facets/core}/kernel/test_superior.rb +3 -3
  218. data/test/lib/{facet → facets/core}/kernel/test_supermethod.rb +3 -3
  219. data/test/lib/{facet → facets/core}/kernel/test_this.rb +3 -3
  220. data/test/lib/{facet → facets/core}/kernel/test_to_b.rb +3 -3
  221. data/test/lib/{facet → facets/core}/kernel/test_to_bool.rb +3 -3
  222. data/test/lib/{facet → facets/core}/kernel/test_uri.rb +3 -3
  223. data/test/lib/{facet → facets/core}/kernel/test_val.rb +3 -3
  224. data/test/lib/{facet → facets/core}/kernel/test_with_accessor.rb +3 -3
  225. data/test/lib/{facet → facets/core}/matchdata/test_match.rb +3 -3
  226. data/test/lib/{facet → facets/core}/matchdata/test_matchtree.rb +3 -3
  227. data/test/lib/{facet → facets/core}/module/test_abstract.rb +3 -3
  228. data/test/lib/{facet → facets/core}/module/test_alias_module_function.rb +3 -3
  229. data/test/lib/{facet → facets/core}/module/test_ancestor.rb +3 -3
  230. data/test/lib/{facet → facets/core}/module/test_basename.rb +3 -3
  231. data/test/lib/{facet → facets/core}/module/test_by_name.rb +3 -3
  232. data/test/lib/{facet → facets/core}/module/test_cattr_accessor.rb +3 -3
  233. data/test/lib/{facet → facets/core}/module/test_clone_using.rb +3 -3
  234. data/test/lib/{facet → facets/core}/module/test_dirname.rb +3 -3
  235. data/test/lib/{facet → facets/core}/module/test_equate_on.rb +3 -3
  236. data/test/lib/{facet → facets/core}/module/test_generate_instance_method_name.rb +3 -3
  237. data/test/lib/{facet → facets/core}/module/test_include_as.rb +3 -3
  238. data/test/lib/{facet → facets/core}/module/test_initializer.rb +3 -3
  239. data/test/lib/{facet → facets/core}/module/test_instance_methods.rb +3 -3
  240. data/test/lib/{facet → facets/core}/module/test_integrate.rb +3 -3
  241. data/test/lib/{facet → facets/core}/module/test_memoize.rb +3 -3
  242. data/test/lib/{facet → facets/core}/module/test_modspace.rb +3 -3
  243. data/test/lib/{facet → facets/core}/module/test_namespace.rb +3 -3
  244. data/test/lib/{facet → facets/core}/module/test_nesting.rb +3 -3
  245. data/test/lib/{facet → facets/core}/module/test_redef.rb +3 -3
  246. data/test/lib/{facet → facets/core}/module/test_redefine_method.rb +3 -3
  247. data/test/lib/{facet → facets/core}/module/test_redirect.rb +3 -3
  248. data/test/lib/{facet → facets/core}/module/test_redirect_method.rb +3 -3
  249. data/test/lib/{facet → facets/core}/module/test_remove.rb +3 -3
  250. data/test/lib/{facet → facets/core}/module/test_rename.rb +3 -3
  251. data/test/lib/{facet → facets/core}/module/test_rename_method.rb +3 -3
  252. data/test/lib/{facet → facets/core}/module/test_revisal.rb +3 -3
  253. data/test/lib/{facet → facets/core}/module/test_shadow_method.rb +3 -3
  254. data/test/lib/{facet → facets/core}/module/test_sort_on.rb +3 -3
  255. data/test/lib/{facet → facets/core}/module/test_undef.rb +3 -3
  256. data/test/lib/{facet → facets/core}/module/test_wrap.rb +3 -3
  257. data/test/lib/{facet → facets/core}/module/test_wrap_method.rb +3 -3
  258. data/test/lib/{facet → facets/core}/nilclass/test_empty.rb +3 -3
  259. data/test/lib/{facet → facets/core}/nilclass/test_include.rb +3 -3
  260. data/test/lib/{facet → facets/core}/nilclass/test_op_fetch.rb +3 -3
  261. data/test/lib/{facet → facets/core}/nilclass/test_size.rb +3 -3
  262. data/test/lib/{facet → facets/core}/nilclass/test_to_f.rb +3 -3
  263. data/test/lib/{facet → facets/core}/nilclass/test_to_h.rb +3 -3
  264. data/test/lib/{facet → facets/core}/numeric/test_ceil_multiple.rb +3 -3
  265. data/test/lib/{facet → facets/core}/numeric/test_succ.rb +3 -3
  266. data/test/lib/{facet → facets/core}/numeric/test_to_b.rb +3 -3
  267. data/test/lib/{facet → facets/core}/ostruct/test___merge__.rb +3 -3
  268. data/test/lib/{facet → facets/core}/ostruct/test___update__.rb +3 -3
  269. data/test/lib/{facet → facets/core}/ostruct/test_op_fetch.rb +3 -3
  270. data/test/lib/{facet → facets/core}/ostruct/test_op_store.rb +3 -3
  271. data/test/lib/{facet → facets/core}/proc/test_compose.rb +3 -3
  272. data/test/lib/{facet → facets/core}/proc/test_to_method.rb +3 -3
  273. data/test/lib/{facet → facets/core}/range/test_to_r.rb +3 -3
  274. data/test/lib/{facet → facets/core}/range/test_to_range.rb +3 -3
  275. data/test/lib/{facet → facets/core}/range/test_umbrella.rb +3 -3
  276. data/test/lib/{facet → facets/core}/range/test_within.rb +3 -3
  277. data/test/lib/{facet → facets/core}/regexp/test_arity.rb +3 -3
  278. data/test/lib/{facet → facets/core}/regexp/test_to_re.rb +3 -3
  279. data/test/lib/{facet → facets/core}/regexp/test_to_regexp.rb +3 -3
  280. data/test/lib/{facet → facets/core}/string/self/test_interpolate.rb +3 -3
  281. data/test/lib/{facet → facets/core}/string/self/test_patterns.rb +3 -3
  282. data/test/lib/{facet → facets/core}/string/self/test_rand_letter.rb +3 -3
  283. data/test/lib/{facet → facets/core}/string/test_align_center.rb +3 -3
  284. data/test/lib/{facet → facets/core}/string/test_at_rand.rb +3 -3
  285. data/test/lib/{facet → facets/core}/string/test_basename.rb +3 -3
  286. data/test/lib/{facet → facets/core}/string/test_blank.rb +3 -3
  287. data/test/lib/{facet → facets/core}/string/test_bracket.rb +3 -3
  288. data/test/lib/{facet → facets/core}/string/test_camelcase.rb +3 -3
  289. data/test/lib/{facet → facets/core}/string/test_camelize.rb +3 -3
  290. data/test/lib/{facet → facets/core}/string/test_capitalized.rb +3 -3
  291. data/test/lib/{facet → facets/core}/string/test_chars.rb +3 -3
  292. data/test/lib/{facet → facets/core}/string/test_cmp.rb +3 -3
  293. data/test/lib/{facet → facets/core}/string/test_demodulize.rb +3 -3
  294. data/test/lib/{facet → facets/core}/string/test_downcase.rb +3 -3
  295. data/test/lib/{facet → facets/core}/string/test_dresner.rb +3 -3
  296. data/test/lib/{facet → facets/core}/string/test_each_char.rb +3 -3
  297. data/test/lib/{facet → facets/core}/string/test_each_word.rb +3 -3
  298. data/test/lib/{facet → facets/core}/string/test_first.rb +3 -3
  299. data/test/lib/{facet → facets/core}/string/test_fold.rb +3 -3
  300. data/test/lib/{facet → facets/core}/string/test_frequency.rb +3 -3
  301. data/test/lib/{facet → facets/core}/string/test_humanize.rb +3 -3
  302. data/test/lib/{facet → facets/core}/string/test_indent.rb +3 -3
  303. data/test/lib/{facet → facets/core}/string/test_index_all.rb +3 -3
  304. data/test/lib/{facet → facets/core}/string/test_last.rb +3 -3
  305. data/test/lib/{facet → facets/core}/string/test_line_wrap.rb +3 -3
  306. data/test/lib/{facet → facets/core}/string/test_lines.rb +3 -3
  307. data/test/lib/{facet → facets/core}/string/test_lowercase.rb +3 -3
  308. data/test/lib/{facet → facets/core}/string/test_margin.rb +3 -3
  309. data/test/lib/{facet → facets/core}/string/test_methodize.rb +3 -3
  310. data/test/lib/{facet → facets/core}/string/test_modulize.rb +3 -3
  311. data/test/lib/{facet → facets/core}/string/test_mscan.rb +3 -3
  312. data/test/lib/{facet → facets/core}/string/test_natcmp.rb +3 -3
  313. data/test/lib/{facet → facets/core}/string/test_nchar.rb +3 -3
  314. data/test/lib/{facet → facets/core}/string/test_pathize.rb +3 -3
  315. data/test/lib/{facet → facets/core}/string/test_pop.rb +3 -3
  316. data/test/lib/{facet → facets/core}/string/test_probability.rb +3 -3
  317. data/test/lib/{facet → facets/core}/string/test_push.rb +3 -3
  318. data/test/lib/{facet → facets/core}/string/test_quote.rb +3 -3
  319. data/test/lib/{facet → facets/core}/string/test_rand_byte.rb +3 -3
  320. data/test/lib/{facet → facets/core}/string/test_rand_index.rb +3 -3
  321. data/test/lib/{facet → facets/core}/string/test_range.rb +3 -3
  322. data/test/lib/{facet → facets/core}/string/test_range_all.rb +3 -3
  323. data/test/lib/{facet → facets/core}/string/test_range_of_line.rb +3 -3
  324. data/test/lib/{facet → facets/core}/string/test_regesc.rb +3 -3
  325. data/test/lib/{facet → facets/core}/string/test_shatter.rb +3 -3
  326. data/test/lib/{facet → facets/core}/string/test_shift.rb +3 -3
  327. data/test/lib/{facet → facets/core}/string/test_shuffle.rb +3 -3
  328. data/test/lib/{facet → facets/core}/string/test_similarity.rb +3 -3
  329. data/test/lib/{facet → facets/core}/string/test_singular.rb +3 -3
  330. data/test/lib/{facet → facets/core}/string/test_slap.rb +3 -3
  331. data/test/lib/{facet → facets/core}/string/test_soundex.rb +3 -3
  332. data/test/lib/{facet → facets/core}/string/test_succ.rb +3 -3
  333. data/test/lib/{facet → facets/core}/string/test_to_a.rb +3 -3
  334. data/test/lib/{facet → facets/core}/string/test_to_arr.rb +3 -3
  335. data/test/lib/{facet → facets/core}/string/test_to_b.rb +3 -3
  336. data/test/lib/{facet → facets/core}/string/test_to_const.rb +3 -3
  337. data/test/lib/{facet → facets/core}/string/test_to_date.rb +3 -3
  338. data/test/lib/{facet → facets/core}/string/test_to_proc.rb +3 -3
  339. data/test/lib/{facet → facets/core}/string/test_to_re.rb +3 -3
  340. data/test/lib/{facet → facets/core}/string/test_to_time.rb +3 -3
  341. data/test/lib/{facet → facets/core}/string/test_unix_crypt.rb +3 -3
  342. data/test/lib/{facet → facets/core}/string/test_unpack.rb +3 -3
  343. data/test/lib/{facet → facets/core}/string/test_unshift.rb +3 -3
  344. data/test/lib/{facet → facets/core}/string/test_upcase.rb +3 -3
  345. data/test/lib/{facet → facets/core}/string/test_whitespace.rb +3 -3
  346. data/test/lib/{facet → facets/core}/string/test_word_filter.rb +3 -3
  347. data/test/lib/{facet → facets/core}/string/test_word_wrap.rb +3 -3
  348. data/test/lib/{facet → facets/core}/string/test_words.rb +3 -3
  349. data/test/lib/{facet → facets/core}/symbol/test_camelcase.rb +3 -3
  350. data/test/lib/{facet → facets/core}/symbol/test_camelize.rb +3 -3
  351. data/test/lib/{facet → facets/core}/symbol/test_capitalize.rb +3 -3
  352. data/test/lib/{facet → facets/core}/symbol/test_capitalized.rb +3 -3
  353. data/test/lib/{facet → facets/core}/symbol/test_downcase.rb +3 -3
  354. data/test/lib/{facet → facets/core}/symbol/test_not.rb +3 -3
  355. data/test/lib/{facet → facets/core}/symbol/test_pad.rb +3 -3
  356. data/test/lib/{facet → facets/core}/symbol/test_succ.rb +3 -3
  357. data/test/lib/{facet → facets/core}/symbol/test_to_const.rb +3 -3
  358. data/test/lib/{facet → facets/core}/symbol/test_to_proc.rb +3 -3
  359. data/test/lib/{facet → facets/core}/symbol/test_to_str.rb +3 -3
  360. data/test/lib/{facet → facets/core}/symbol/test_underscore.rb +3 -3
  361. data/test/lib/{facet → facets/core}/symbol/test_upcase.rb +3 -3
  362. data/test/lib/{facet → facets/core}/time/test_change.rb +3 -3
  363. data/test/lib/{facet → facets/core}/time/test_elapse.rb +3 -3
  364. data/test/lib/{facet → facets/core}/time/test_stamp.rb +3 -3
  365. data/test/lib/{facet → facets/core}/time/test_to_date.rb +3 -3
  366. data/test/lib/{facet → facets/core}/time/test_to_s.rb +3 -3
  367. data/test/lib/{facet → facets/core}/time/test_to_time.rb +3 -3
  368. data/test/lib/facets/more/test_annotation.rb +217 -0
  369. data/test/lib/facets/more/test_ansicode.rb +36 -0
  370. data/test/lib/facets/more/test_association.rb +46 -0
  371. data/test/lib/facets/more/test_bbcode.rb +34 -0
  372. data/test/lib/facets/more/test_bitmask.rb +47 -0
  373. data/test/lib/facets/more/test_bytes.rb +84 -0
  374. data/test/lib/facets/more/test_classinherit.rb +65 -0
  375. data/test/lib/facets/more/test_classmethods.rb +65 -0
  376. data/test/lib/facets/more/test_coroutine.rb +60 -0
  377. data/test/lib/facets/more/test_crypt.rb +46 -0
  378. data/test/lib/facets/more/test_dictionary.rb +97 -0
  379. data/test/lib/facets/more/test_enumerablepass.rb +86 -0
  380. data/test/lib/facets/more/test_floatstring.rb +36 -0
  381. data/test/lib/facets/more/test_functor.rb +39 -0
  382. data/test/lib/facets/more/test_inheritor.rb +155 -0
  383. data/test/lib/facets/more/test_interval.rb +119 -0
  384. data/test/lib/facets/more/test_lisp.rb +47 -0
  385. data/test/lib/facets/more/test_lisp_format.rb +37 -0
  386. data/test/lib/facets/more/test_lrucache.rb +25 -0
  387. data/test/lib/facets/more/test_mathconstants.rb +18 -0
  388. data/test/lib/facets/more/test_methodprobe.rb +53 -0
  389. data/test/lib/facets/more/test_multipliers.rb +114 -0
  390. data/test/lib/facets/more/test_multiton.rb +200 -0
  391. data/test/lib/facets/more/test_nackclass.rb +45 -0
  392. data/test/lib/facets/more/test_nilcomparable.rb +43 -0
  393. data/test/lib/facets/more/test_openobject.rb +66 -0
  394. data/test/lib/facets/more/test_overload.rb +54 -0
  395. data/test/lib/facets/more/test_paramix.rb +100 -0
  396. data/test/lib/facets/more/test_preinitialize.rb +49 -0
  397. data/test/lib/facets/more/test_promoteself.rb +45 -0
  398. data/test/lib/facets/more/test_snapshot.rb +34 -0
  399. data/test/lib/facets/more/test_statichash.rb +31 -0
  400. data/test/lib/facets/more/test_syncarray.rb +28 -0
  401. data/test/lib/facets/more/test_synchash.rb +28 -0
  402. data/test/lib/facets/more/test_tagiterator.rb +93 -0
  403. data/test/lib/facets/more/test_timer.rb +66 -0
  404. data/test/lib/facets/more/test_times.rb +73 -0
  405. data/test/lib/facets/more/test_tuple.rb +32 -0
  406. data/test/lib/facets/more/test_typecast.rb +65 -0
  407. data/test/lib/facets/more/test_uninheritable.rb +42 -0
  408. data/test/lib/facets/more/test_units.rb +104 -0
  409. data/test/lib/facets/more/test_yamlstruct.rb +37 -0
  410. metadata +416 -357
  411. data/lib/facet/kernel/__meta__.rb +0 -1
  412. data/lib/facet/kernel/meta.rb +0 -1
  413. data/lib/facet/nilclass/to_f.rb +0 -1
  414. data/lib/facets/core/kernel/meta.rb +0 -2
  415. data/test/lib/facet/fileutils/test_slice.rb +0 -96
@@ -35,12 +35,16 @@ module Crypt
35
35
  salt ||= generate_salt(8)
36
36
 
37
37
  case algo
38
- when :md5, :sha1, :rmd160
39
- require "digest/#{algo}"
38
+ when :md5
39
+ require "digest/md5"
40
+ when :sha1
41
+ require "digest/sha1"
42
+ when :rmd160
43
+ require "digest/rmd160"
40
44
  when :sha256, :sha384, :sha512
41
45
  require "digest/sha2"
42
- else
43
- raise(ArgumentError, "unknown algorithm")
46
+ else
47
+ raise(ArgumentError, "unknown algorithm")
44
48
  end
45
49
  digest_class = Digest.const_get(algo.to_s.upcase)
46
50
 
@@ -0,0 +1,104 @@
1
+
2
+ require 'facets/more/basicobject'
3
+
4
+ # Elementor is an Array which applies calls elementwise.
5
+ # Depending on the mode the call will return a
6
+ # new elementor, the same elementor, a new array,
7
+ # or the orignal array transformed.
8
+
9
+ class Elementor < BasicObject
10
+
11
+ def initialize( an_array, mode=nil )
12
+ @array = an_array
13
+ @mode = mode
14
+ end
15
+
16
+ def to_a ; @array ; end
17
+ def to_ary ; @array ; end
18
+
19
+ def each( *args, &block )
20
+ @array.each( *args, &block )
21
+ end
22
+
23
+ def method_missing( sym, *args, &block )
24
+ case @mode
25
+ when :array
26
+ @array.collect { |e| e.send( sym, *args, &block ) }
27
+ when :inplace_array
28
+ @array.collect! { |e| e.send( sym, *args, &block ) }
29
+ @array
30
+ when :inplace
31
+ c = @array.collect { |e| e.send( sym, *args, &block ) }
32
+ @array.replace( c )
33
+ self
34
+ else
35
+ c = @array.collect { |e| e.send( sym, *args, &block ) }
36
+ self.__class__.new( c )
37
+ end
38
+ end
39
+
40
+ end
41
+
42
+
43
+ class Array
44
+
45
+ def to_elementor
46
+ Elementor.new( self )
47
+ end
48
+
49
+ def to_elementor!
50
+ Elementor.new( self, :inplace )
51
+ end
52
+
53
+ def every
54
+ Elementor.new( self, :array )
55
+ end
56
+
57
+ def every!
58
+ Elementor.new( self, :inplace_array )
59
+ end
60
+
61
+ end
62
+
63
+
64
+ # _____ _
65
+ # |_ _|__ ___| |_
66
+ # | |/ _ \/ __| __|
67
+ # | | __/\__ \ |_
68
+ # |_|\___||___/\__|
69
+ #
70
+ =begin test
71
+
72
+ #require 'test/unit'
73
+
74
+ class TCElementor < Test::Unit::TestCase
75
+
76
+ def test_to_elementor
77
+ e = [1,2,3].to_elementor
78
+ assert_equal( [4,5,6], e + 3 )
79
+ assert_equal( [0,1,2], e - 1 )
80
+ assert_equal( ['1','2','3'], e.to_s )
81
+ end
82
+
83
+ def test_to_elementor!
84
+ e = [1,2,3].to_elementor!
85
+ e + 3
86
+ assert_equal( [4,5,6], e )
87
+ end
88
+
89
+ def test_every
90
+ a = [1,2,3]
91
+ assert_equal( [4,5,6], a.every + 3 )
92
+ assert_equal( [0,1,2], a.every - 1 )
93
+ assert_equal( ['1','2','3'], a.every.to_s )
94
+ end
95
+
96
+ def test_every!
97
+ a = [1,2,3]
98
+ a.every! + 3
99
+ assert_equal( [4,5,6], a )
100
+ end
101
+
102
+ end
103
+
104
+ =end
@@ -60,6 +60,11 @@ module Expirable
60
60
  end
61
61
  end
62
62
 
63
+ # Update the expiration period. Override in your application.
64
+
65
+ def touch!
66
+ end
67
+
63
68
  end
64
69
 
65
70
 
@@ -22,16 +22,63 @@
22
22
 
23
23
  #:title: NilComparable
24
24
  #
25
- # NilComparable does two things. First it makes nil comparable, such that
25
+ # This microframework simply makes nil comparable, such that
26
26
  # all things (except itself) are greater than it.
27
27
  #
28
- # Secondly it provides a module called NilComparable to include into any
29
- # other class to allow it to compare itself to NilClass as the greater
30
- # of the two.
31
- #
32
28
  # == Usage
33
29
  #
34
- # TODO
30
+ # The main effect is this.
31
+ #
32
+ # nil <=> any_object #=> -1
33
+ #
34
+ # To enable a class to compare against nil (reverse of the above),
35
+ # simply prepend a nil comparsion into the #<=> method of that class.
36
+ # For example:
37
+ #
38
+ # class Foo
39
+ #
40
+ # def initialize( value )
41
+ # @value = value
42
+ # end
43
+ #
44
+ # def <=>( other )
45
+ # return 1 if other.nil? # nil comparison
46
+ # @value <=> other
47
+ # end
48
+ #
49
+ # end
50
+ #
51
+ # To do so for a pre-existing class with a pre-existing #<=> method, you'll
52
+ # need to obveride the method. As an example let's make Numeric comparable to nil.
53
+ #
54
+ # class Numeric
55
+ #
56
+ # alias_method :compare_without_nil, :<=>
57
+ # def <=>( other )
58
+ # return 1 if other.nil?
59
+ # compare_without_nil( other )
60
+ # end
61
+ #
62
+ # end
63
+ #
64
+ # Or more conveniently:
65
+ #
66
+ # require 'facet/module/wrap_method'
67
+ #
68
+ # Numeric.wrap_method(:<=>) do |prev, other|
69
+ # return 1 if other.nil?
70
+ # prev.call( other )
71
+ # end
72
+ #
73
+ # == Note
74
+ #
75
+ # NilCompariable _was_ a module that could automatically make
76
+ # a class comparable to nil. But it only worked if the #<=> was
77
+ # previous defined, which isn't ideal. Since it is easy enough
78
+ # to use the above examples, we decided to deprecate the module
79
+ # and leave this as an explicit task for the end-programmer.
80
+ # Changing this behavior for built-in classes is not something
81
+ # to be done lightly anyway.
35
82
  #
36
83
  # == Author(s)
37
84
  #
@@ -39,40 +86,50 @@
39
86
  # * Thomas Sawyer
40
87
  #
41
88
 
42
- module NilComparable
43
-
44
- def self.included( mod )
45
-
46
- mod.class_eval %{
89
+ class NilClass
47
90
 
48
- if method_defined?( :<=> )
49
- alias_method :compare_without_nil, :<=>
50
- else
51
- def compare_without_nil( other )
52
- raise TypeError, "Cannot compare \#{self.inspect} to \#{other.inspect}"
53
- end
54
- end
91
+ include Comparable
55
92
 
56
- def <=>( other )
57
- return 1 if other.nil?
58
- compare_without_nil( other )
59
- end
93
+ def <=>(x)
94
+ x.nil? ? 0 : -1
95
+ end
60
96
 
61
- }
97
+ alias_method( :cmp, :<=> )
62
98
 
63
- end
99
+ def succ; nil; end
64
100
 
65
101
  end
66
102
 
67
103
 
68
- class NilClass
69
- include Comparable
70
- def <=>(x)
71
- x.nil? ? 0 : -1
72
- end
73
- alias_method( :cmp, :<=> )
74
- end
104
+ # DEPRECATED
105
+ #
106
+ # module NilComparable
107
+ #
108
+ # def self.included( mod )
109
+ #
110
+ # mod.class_eval %{
111
+ #
112
+ # if method_defined?( :<=> )
113
+ # alias_method :compare_without_nil, :<=>
114
+ # else
115
+ # def compare_without_nil( other )
116
+ # raise TypeError, "Cannot compare \#{self.inspect} to \#{other.inspect}"
117
+ # end
118
+ # end
119
+ #
120
+ # def <=>( other )
121
+ # return 1 if other.nil?
122
+ # compare_without_nil( other )
123
+ # end
124
+ #
125
+ # }
126
+ #
127
+ # end
128
+ #
129
+ # end
75
130
 
131
+ # DEPRECATED
132
+ #
76
133
  # # Calling this method for a given class allows instances
77
134
  # # of a class to be compared to nil using <=>.
78
135
  # # Adapted from code by Paul Brannan (Ruby License)
@@ -27,7 +27,7 @@ class Module
27
27
  end
28
28
 
29
29
  define_method( name ) do |*args|
30
- ovr = self.class.method_overloads[:"#{name}"]
30
+ ovr = self.class.method_overloads["#{name}".to_sym]
31
31
  sig = args.collect{ |a| a.class }
32
32
  hit = nil
33
33
  faces = ovr.keys.sort { |a,b| b.size <=> a.size }
@@ -86,6 +86,7 @@
86
86
  #
87
87
 
88
88
  require 'facet/string/methodize'
89
+ require 'facet/string/modulize'
89
90
 
90
91
  class Object
91
92
 
@@ -169,11 +170,11 @@ end
169
170
 
170
171
  # Extensions
171
172
 
172
- require 'facet/string/modulize'
173
173
  class Class
174
174
  class << self
175
175
 
176
- # "string".cast_to Class #=> String
176
+ # "string".cast_to Class #=> String
177
+
177
178
  def cast_from_string(string, options={})
178
179
  string = string.to_s.modulize
179
180
  base = string.sub!(/^::/, '') ? Object : (self.kind_of?(Module) ? self : self.class )
@@ -185,17 +186,22 @@ class Class
185
186
  end
186
187
 
187
188
  # :logger__error.cast_to Class #=> Logger::Error
189
+
188
190
  alias :cast_from_symbol :cast_from_string
191
+
189
192
  end
190
193
  end
191
194
 
192
195
  class Time
193
196
  class << self
197
+
198
+ #
194
199
  def cast_from_string(string, options={})
195
200
  parse(string)
196
201
  rescue
197
202
  nil
198
203
  end
204
+
199
205
  end
200
206
  end
201
207
 
@@ -207,14 +213,17 @@ class StringIO
207
213
  def cast_from_string(string, options={})
208
214
  new(string,options[:mode])
209
215
  end
216
+
210
217
  end
211
218
  end
212
219
 
213
220
  module URI
214
221
  class << self
222
+
215
223
  def cast_from_string(string, options={})
216
224
  URI.parse(string)
217
225
  end
226
+
218
227
  end
219
228
  end
220
229
 
@@ -273,7 +282,7 @@ end
273
282
  end
274
283
 
275
284
  def test_no_converter
276
- assert_equal( nil, "sdfjljsldfjslk".cast_to( DateTime ))
285
+ assert_equal( nil, "sdfjljsldfjslk".cast_to( ::Regexp ))
277
286
  end
278
287
  end
279
288
 
File without changes
File without changes
@@ -4,13 +4,13 @@
4
4
  # | | __/\__ \ |_
5
5
  # |_|\___||___/\__|
6
6
  #
7
- # for lib/facet/array/at_rand.rb
7
+ # for lib/facets/core/array/at_rand.rb
8
8
  #
9
- # Extracted Mon Mar 13 13:24:07 UTC 2006
9
+ # Extracted Fri Mar 24 23:42:50 UTC 2006
10
10
  # Unit Tools Reap Test Extractor
11
11
  #
12
12
 
13
- require 'facet/array/at_rand.rb'
13
+ require 'facets/core/array/at_rand.rb'
14
14
 
15
15
 
16
16
  require 'test/unit'
@@ -4,13 +4,13 @@
4
4
  # | | __/\__ \ |_
5
5
  # |_|\___||___/\__|
6
6
  #
7
- # for lib/facet/array/delete_unless.rb
7
+ # for lib/facets/core/array/delete_unless.rb
8
8
  #
9
- # Extracted Mon Mar 13 13:24:07 UTC 2006
9
+ # Extracted Fri Mar 24 23:42:50 UTC 2006
10
10
  # Unit Tools Reap Test Extractor
11
11
  #
12
12
 
13
- require 'facet/array/delete_unless.rb'
13
+ require 'facets/core/array/delete_unless.rb'
14
14
 
15
15
 
16
16
  require 'test/unit'
@@ -4,13 +4,13 @@
4
4
  # | | __/\__ \ |_
5
5
  # |_|\___||___/\__|
6
6
  #
7
- # for lib/facet/array/delete_values.rb
7
+ # for lib/facets/core/array/delete_values.rb
8
8
  #
9
- # Extracted Mon Mar 13 13:24:07 UTC 2006
9
+ # Extracted Fri Mar 24 23:42:50 UTC 2006
10
10
  # Unit Tools Reap Test Extractor
11
11
  #
12
12
 
13
- require 'facet/array/delete_values.rb'
13
+ require 'facets/core/array/delete_values.rb'
14
14
 
15
15
 
16
16
  require 'test/unit'
@@ -4,13 +4,13 @@
4
4
  # | | __/\__ \ |_
5
5
  # |_|\___||___/\__|
6
6
  #
7
- # for lib/facet/array/delete_values_at.rb
7
+ # for lib/facets/core/array/delete_values_at.rb
8
8
  #
9
- # Extracted Mon Mar 13 13:24:07 UTC 2006
9
+ # Extracted Fri Mar 24 23:42:50 UTC 2006
10
10
  # Unit Tools Reap Test Extractor
11
11
  #
12
12
 
13
- require 'facet/array/delete_values_at.rb'
13
+ require 'facets/core/array/delete_values_at.rb'
14
14
 
15
15
 
16
16
  require 'test/unit'
@@ -4,13 +4,13 @@
4
4
  # | | __/\__ \ |_
5
5
  # |_|\___||___/\__|
6
6
  #
7
- # for lib/facet/array/first.rb
7
+ # for lib/facets/core/array/first.rb
8
8
  #
9
- # Extracted Mon Mar 13 13:24:07 UTC 2006
9
+ # Extracted Fri Mar 24 23:42:50 UTC 2006
10
10
  # Unit Tools Reap Test Extractor
11
11
  #
12
12
 
13
- require 'facet/array/first.rb'
13
+ require 'facets/core/array/first.rb'
14
14
 
15
15
 
16
16
  require 'test/unit'