facets 1.7.46 → 1.8.0

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 (764) hide show
  1. data/PROJECT +41 -23
  2. data/Rakefile +164 -0
  3. data/VERSION +1 -1
  4. data/demo/cuts/benchmark.rb +71 -0
  5. data/demo/cuts/override.rb +33 -0
  6. data/doc/AUTHORS +1 -0
  7. data/doc/{CHANGELOG.1 → HISTORY.1} +0 -0
  8. data/doc/HISTORY.txt +798 -0
  9. data/doc/LATEST +240 -0
  10. data/lib/facet/ann.rb +1 -0
  11. data/lib/facet/ann_attr.rb +1 -0
  12. data/lib/facet/arguments.rb +1 -0
  13. data/lib/facet/array/index.rb +1 -0
  14. data/lib/facet/array/to_path.rb +1 -0
  15. data/lib/facet/autoscript.rb +1 -0
  16. data/lib/facet/autovivify.rb +1 -0
  17. data/lib/facet/behvior.rb +1 -0
  18. data/lib/facet/buildingblock.rb +1 -0
  19. data/lib/facet/class/class_load.rb +1 -0
  20. data/lib/facet/class/class_require.rb +1 -0
  21. data/lib/facet/config/inspect.rb +1 -0
  22. data/lib/facet/consoleutils.rb +1 -0
  23. data/lib/facet/dependency.rb +1 -0
  24. data/lib/facet/dir/self/multiglob.rb +1 -0
  25. data/lib/facet/dir/self/multiglob_recurse.rb +1 -0
  26. data/lib/facet/dir/self/multiglob_sum.rb +1 -0
  27. data/lib/facet/enumerable/injecting.rb +1 -0
  28. data/lib/facet/file/self/yaml.rb +1 -0
  29. data/lib/facet/fileutils/compress.rb +1 -0
  30. data/lib/facet/fileutils/stage.rb +1 -0
  31. data/lib/facet/fileutils/staged.rb +1 -0
  32. data/lib/facet/hash/insert.rb +1 -0
  33. data/lib/facet/hash/op_add.rb +1 -0
  34. data/lib/facet/hash/op_and.rb +1 -0
  35. data/lib/facet/hash/op_mul.rb +1 -0
  36. data/lib/facet/hash/op_or.rb +1 -0
  37. data/lib/facet/hash/op_sub.rb +1 -0
  38. data/lib/facet/hash/pairs_at.rb +1 -0
  39. data/lib/facet/hash/rekey.rb +1 -0
  40. data/lib/facet/htmlfilter.rb +1 -0
  41. data/lib/facet/integer/to_roman.rb +1 -0
  42. data/lib/facet/kernel/ask.rb +1 -0
  43. data/lib/facet/kernel/class_def.rb +1 -0
  44. data/lib/facet/kernel/daemonize.rb +1 -0
  45. data/lib/facet/kernel/enable_warnings.rb +1 -0
  46. data/lib/facet/kernel/instance_class.rb +1 -0
  47. data/lib/facet/kernel/instance_values.rb +1 -0
  48. data/lib/facet/kernel/meta_alias.rb +1 -0
  49. data/lib/facet/kernel/meta_class.rb +1 -0
  50. data/lib/facet/kernel/meta_def.rb +1 -0
  51. data/lib/facet/kernel/meta_eval.rb +1 -0
  52. data/lib/facet/kernel/object_send.rb +1 -0
  53. data/lib/facet/kernel/populate.rb +1 -0
  54. data/lib/facet/kernel/qua_class.rb +1 -0
  55. data/lib/facet/kernel/silence_stream.rb +1 -0
  56. data/lib/facet/kernel/super_at.rb +1 -0
  57. data/lib/facet/kernel/supress.rb +1 -0
  58. data/lib/facet/kernel/with.rb +1 -0
  59. data/lib/facet/kernel/yaml.rb +1 -0
  60. data/lib/facet/minitar.rb +1 -0
  61. data/lib/facet/module/alias_accessor.rb +1 -0
  62. data/lib/facet/module/include_and_extend.rb +1 -0
  63. data/lib/facet/module/include_function_module.rb +1 -0
  64. data/lib/facet/module/module_load.rb +1 -0
  65. data/lib/facet/module/module_method.rb +1 -0
  66. data/lib/facet/module/module_require.rb +1 -0
  67. data/lib/facet/module/new.rb +1 -0
  68. data/lib/facet/module/prepend.rb +1 -0
  69. data/lib/facet/openhash.rb +1 -0
  70. data/lib/facet/ostruct/instance_delegate.rb +1 -0
  71. data/lib/facet/populate.rb +1 -0
  72. data/lib/facet/proc/bind.rb +1 -0
  73. data/lib/facet/proc/to_h.rb +1 -0
  74. data/lib/facet/proc/update.rb +1 -0
  75. data/lib/facet/script.rb +1 -0
  76. data/lib/facet/string/rewrite.rb +1 -0
  77. data/lib/facet/symbol/chomp.rb +1 -0
  78. data/lib/facet/uploadutils.rb +1 -0
  79. data/lib/facet/version_number.rb +1 -0
  80. data/lib/facets.rb +3 -207
  81. data/lib/facets/automatic.rb +29 -0
  82. data/lib/facets/core/all.rb +1 -1
  83. data/lib/facets/core/array/index.rb +15 -0
  84. data/lib/facets/core/array/to_path.rb +11 -0
  85. data/lib/facets/core/class/class_load.rb +3 -0
  86. data/lib/facets/core/class/class_require.rb +3 -0
  87. data/lib/facets/core/config/inspect.rb +9 -0
  88. data/lib/facets/core/dir/self/multiglob.rb +32 -0
  89. data/lib/facets/core/dir/self/multiglob_recurse.rb +5 -0
  90. data/lib/facets/core/dir/self/multiglob_sum.rb +40 -0
  91. data/lib/facets/core/enumerable/each_slice.rb +1 -0
  92. data/lib/facets/core/enumerable/every.rb +2 -2
  93. data/lib/facets/core/enumerable/injecting.rb +22 -0
  94. data/lib/facets/core/enumerable/partition_by.rb +10 -8
  95. data/lib/facets/core/file/self/yaml.rb +16 -0
  96. data/lib/facets/core/fileutils/compress.rb +154 -0
  97. data/lib/facets/core/fileutils/stage.rb +230 -0
  98. data/lib/facets/core/fileutils/staged.rb +3 -0
  99. data/lib/facets/core/hash/insert.rb +20 -0
  100. data/lib/facets/core/hash/op_add.rb +29 -0
  101. data/lib/facets/core/hash/op_and.rb +37 -0
  102. data/lib/facets/core/hash/op_mul.rb +17 -0
  103. data/lib/facets/core/hash/op_or.rb +2 -0
  104. data/lib/facets/core/hash/op_sub.rb +2 -0
  105. data/lib/facets/core/hash/pairs_at.rb +17 -0
  106. data/lib/facets/core/hash/rekey.rb +89 -0
  107. data/lib/facets/core/hash/reverse_merge.rb +6 -3
  108. data/lib/facets/core/inflect.rb +5 -14
  109. data/lib/facets/core/integer/to_roman.rb +20 -0
  110. data/lib/facets/core/kernel/as.rb +46 -29
  111. data/lib/facets/core/kernel/ask.rb +14 -0
  112. data/lib/facets/core/kernel/class_def.rb +10 -0
  113. data/lib/facets/core/kernel/daemonize.rb +21 -0
  114. data/lib/facets/core/kernel/enable_warnings.rb +14 -0
  115. data/lib/facets/core/kernel/{quaclass.rb → instance_class.rb} +7 -6
  116. data/lib/facets/core/kernel/instance_exec.rb +12 -10
  117. data/lib/facets/core/kernel/instance_values.rb +12 -0
  118. data/lib/facets/core/kernel/meta_alias.rb +14 -0
  119. data/lib/facets/core/kernel/meta_class.rb +38 -0
  120. data/lib/facets/core/kernel/meta_def.rb +14 -0
  121. data/lib/facets/core/kernel/meta_eval.rb +16 -0
  122. data/lib/facets/core/kernel/metaclass.rb +8 -12
  123. data/lib/facets/core/kernel/object_send.rb +21 -0
  124. data/lib/facets/core/kernel/populate.rb +39 -0
  125. data/lib/facets/core/kernel/qua_class.rb +41 -0
  126. data/lib/facets/core/kernel/returning.rb +7 -47
  127. data/lib/facets/core/kernel/send_as.rb +10 -4
  128. data/lib/facets/core/kernel/set_with.rb +25 -7
  129. data/lib/facets/core/kernel/silence_stream.rb +22 -0
  130. data/lib/facets/core/kernel/singleton.rb +1 -2
  131. data/lib/facets/core/kernel/{superior.rb → super_at.rb} +4 -1
  132. data/lib/facets/core/kernel/supermethod.rb +1 -1
  133. data/lib/facets/core/kernel/supress.rb +15 -0
  134. data/lib/facets/core/kernel/with.rb +57 -0
  135. data/lib/facets/core/kernel/yaml.rb +7 -0
  136. data/lib/facets/core/module/alias_accessor.rb +19 -0
  137. data/lib/facets/core/module/alias_method_chain.rb +33 -0
  138. data/lib/facets/core/module/class_extension.rb +1 -1
  139. data/lib/facets/core/module/include_and_extend.rb +10 -0
  140. data/lib/facets/core/module/include_as.rb +17 -16
  141. data/lib/facets/core/module/include_function_module.rb +13 -0
  142. data/lib/facets/core/module/inject.rb +1 -0
  143. data/lib/facets/core/module/memoize.rb +4 -3
  144. data/lib/facets/core/module/module_load.rb +51 -0
  145. data/lib/facets/core/module/module_method.rb +13 -0
  146. data/lib/facets/core/module/module_require.rb +3 -0
  147. data/lib/facets/core/module/namespace.rb +96 -36
  148. data/lib/facets/core/module/new.rb +37 -0
  149. data/lib/facets/core/module/prepend.rb +63 -0
  150. data/lib/facets/core/module/self/op_add.rb +16 -0
  151. data/lib/facets/core/ostruct.rb +6 -4
  152. data/lib/facets/core/ostruct/__merge__.rb +3 -50
  153. data/lib/facets/core/ostruct/__table__.rb +3 -10
  154. data/lib/facets/core/ostruct/__update__.rb +29 -0
  155. data/lib/facets/core/ostruct/instance_delegate.rb +58 -0
  156. data/lib/facets/core/ostruct/op_fetch.rb +18 -0
  157. data/lib/facets/core/ostruct/op_store.rb +3 -40
  158. data/lib/facets/core/proc/bind.rb +35 -0
  159. data/lib/facets/core/proc/to_h.rb +27 -0
  160. data/lib/facets/core/proc/to_method.rb +15 -29
  161. data/lib/facets/core/proc/update.rb +11 -0
  162. data/lib/facets/core/string/dresner.rb +1 -1
  163. data/lib/facets/core/string/rewrite.rb +34 -0
  164. data/lib/facets/core/symbol/chomp.rb +9 -0
  165. data/lib/facets/core/time/stamp.rb +32 -16
  166. data/lib/facets/more/ann.rb +249 -0
  167. data/lib/facets/more/ann_attr.rb +164 -0
  168. data/lib/facets/more/arguments.rb +479 -0
  169. data/lib/facets/more/autoscript.rb +34 -0
  170. data/lib/facets/more/autovivify.rb +16 -0
  171. data/lib/facets/more/basicobject.rb +67 -54
  172. data/lib/facets/more/behvior.rb +59 -0
  173. data/lib/facets/more/buildingblock.rb +192 -0
  174. data/lib/facets/more/command.rb +332 -146
  175. data/lib/facets/more/consoleutils.rb +45 -0
  176. data/lib/facets/more/cookie.rb +5 -2
  177. data/lib/facets/more/dependency.rb +199 -0
  178. data/lib/facets/more/dictionary.rb +49 -11
  179. data/lib/facets/more/functor.rb +33 -27
  180. data/lib/facets/more/htmlbuilder.rb +8 -18
  181. data/lib/facets/more/htmlfilter.rb +566 -0
  182. data/lib/facets/more/htmlhelper.rb +3 -8
  183. data/lib/facets/more/http.rb +0 -1
  184. data/lib/facets/more/httpaccess.rb +1 -1
  185. data/lib/facets/more/instance_intercept.rb +1 -1
  186. data/lib/facets/more/main_as_module.rb +2 -0
  187. data/lib/facets/more/methodfilter.rb +4 -0
  188. data/lib/facets/more/minitar.rb +979 -0
  189. data/lib/facets/more/multiton.rb +43 -24
  190. data/lib/facets/more/opencascade.rb +3 -3
  191. data/lib/facets/more/openhash.rb +350 -0
  192. data/lib/facets/more/openobject.rb +9 -306
  193. data/lib/facets/more/populate.rb +37 -0
  194. data/lib/facets/more/script.rb +157 -0
  195. data/lib/facets/more/uploadutils.rb +207 -0
  196. data/lib/facets/more/version_number.rb +98 -0
  197. data/lib/facets/more/xmlbuilder.rb +26 -21
  198. data/lib/facets/more/xmlhelper.rb +1 -1
  199. data/lib/facets/sys.rb +212 -0
  200. data/lib/facets/{more → yore}/annattr.rb +1 -1
  201. data/lib/facets/{more → yore}/annotation.rb +38 -32
  202. data/lib/facets/yore/builderobject.rb +222 -0
  203. data/lib/facets/{core → yore}/kernel/own.rb +0 -0
  204. data/lib/facets/{core → yore}/kernel/require_facet.rb +0 -0
  205. data/lib/facets/yore/module/inject.rb +9 -0
  206. data/lib/facets/yore/module/namespace.rb +62 -0
  207. data/setup.rb +2 -2
  208. data/test/special/main_as_module.rb +14 -0
  209. data/work/README +42 -0
  210. data/work/TODO +73 -0
  211. data/work/bin/minitar +3 -0
  212. data/work/bin/minitar.rb +814 -0
  213. data/work/core/array/at_rand.rb +95 -0
  214. data/work/core/array/each_slice.rb +23 -0
  215. data/work/core/array/pick_values.rb +32 -0
  216. data/work/core/array/rand_indexes.rb +33 -0
  217. data/work/core/binding/class.rb +11 -0
  218. data/work/core/binding/delegate-binding.rb +19 -0
  219. data/work/core/binding/delegate.rb +15 -0
  220. data/work/core/binding/proc.rb +6 -0
  221. data/work/core/class/to_module.rb +3 -0
  222. data/work/core/enumerable/op_fetch.rb +30 -0
  223. data/work/core/fileutils/cptouch.rb +20 -0
  224. data/work/core/fileutils/nl_convert.rb +133 -0
  225. data/work/core/io/expect.rb +127 -0
  226. data/work/core/join_with.rb +13 -0
  227. data/work/core/kernel/call_line.rb +15 -0
  228. data/work/core/kernel/does.rb +7 -0
  229. data/work/core/kernel/message.rb +6 -0
  230. data/work/core/kernel/query.rb +15 -0
  231. data/work/core/kernel/taint.rb +10 -0
  232. data/work/core/logger/clean_logger.rb +10 -0
  233. data/work/core/module/attr-old.rb +308 -0
  234. data/work/core/module/attr.rb +98 -0
  235. data/work/core/module/attr_xxx.rb +22 -0
  236. data/work/core/module/by_regexp.rb +21 -0
  237. data/work/core/module/cast.rb +64 -0
  238. data/work/core/module/class_attribute_accessors.rb +57 -0
  239. data/work/core/module/inherit.rb +99 -0
  240. data/work/core/module/inherit0.rb +59 -0
  241. data/work/core/module/let.rb +51 -0
  242. data/work/core/module/meta_attr.rb +60 -0
  243. data/work/core/module/module_attribute_accessors.rb +57 -0
  244. data/work/core/module/permissions.rb +32 -0
  245. data/work/core/module/preserved.rb +108 -0
  246. data/work/core/module/sattr_accessor.rb +1 -0
  247. data/work/core/module/sattr_reader.rb +1 -0
  248. data/work/core/module/sattr_setter.rb +1 -0
  249. data/work/core/module/sattr_tester.rb +1 -0
  250. data/work/core/module/sattr_writer.rb +1 -0
  251. data/work/core/module/tc_attr.rb +107 -0
  252. data/work/core/module/to_module.rb +37 -0
  253. data/work/core/module/version.rb +23 -0
  254. data/work/core/string/frequency.rb +40 -0
  255. data/work/core/string/op_add.rb +24 -0
  256. data/work/core/string/op_div.rb +15 -0
  257. data/work/core/string/pred.rb +217 -0
  258. data/work/core/string/probability.rb +35 -0
  259. data/work/core/string/succ_distance.rb +112 -0
  260. data/work/core/string/to_arr.rb +57 -0
  261. data/work/core/string/to_ary.rb +12 -0
  262. data/work/core/string/word_wrap.rb +62 -0
  263. data/work/misc/calibre/ProjectInfo.annotation +46 -0
  264. data/work/misc/calibre/ProjectInfo.ansicode +33 -0
  265. data/work/misc/calibre/ProjectInfo.association +34 -0
  266. data/work/misc/calibre/ProjectInfo.basicobject +36 -0
  267. data/work/misc/calibre/ProjectInfo.bbcode +34 -0
  268. data/work/misc/calibre/ProjectInfo.binaryreader +35 -0
  269. data/work/misc/calibre/ProjectInfo.bitmask +33 -0
  270. data/work/misc/calibre/ProjectInfo.classinherit +36 -0
  271. data/work/misc/calibre/ProjectInfo.classmethods +36 -0
  272. data/work/misc/calibre/ProjectInfo.cloneable +33 -0
  273. data/work/misc/calibre/ProjectInfo.consoleapp +35 -0
  274. data/work/misc/calibre/ProjectInfo.coroutine +37 -0
  275. data/work/misc/calibre/ProjectInfo.crypt +33 -0
  276. data/work/misc/calibre/ProjectInfo.dictionary +40 -0
  277. data/work/misc/calibre/ProjectInfo.downloader +39 -0
  278. data/work/misc/calibre/ProjectInfo.enumerablepass +35 -0
  279. data/work/misc/calibre/ProjectInfo.expirable +37 -0
  280. data/work/misc/calibre/ProjectInfo.floatstring +35 -0
  281. data/work/misc/calibre/ProjectInfo.functor +40 -0
  282. data/work/misc/calibre/ProjectInfo.heap +33 -0
  283. data/work/misc/calibre/ProjectInfo.inheritor +36 -0
  284. data/work/misc/calibre/ProjectInfo.interval +36 -0
  285. data/work/misc/calibre/ProjectInfo.lisp +38 -0
  286. data/work/misc/calibre/ProjectInfo.lrucache +34 -0
  287. data/work/misc/calibre/ProjectInfo.mathconstants +41 -0
  288. data/work/misc/calibre/ProjectInfo.methodprobe +38 -0
  289. data/work/misc/calibre/ProjectInfo.mock +34 -0
  290. data/work/misc/calibre/ProjectInfo.multiton +36 -0
  291. data/work/misc/calibre/ProjectInfo.nackclass +33 -0
  292. data/work/misc/calibre/ProjectInfo.nilcomparable +35 -0
  293. data/work/misc/calibre/ProjectInfo.nullclass +35 -0
  294. data/work/misc/calibre/ProjectInfo.one +37 -0
  295. data/work/misc/calibre/ProjectInfo.openobject +39 -0
  296. data/work/misc/calibre/ProjectInfo.paramix +38 -0
  297. data/work/misc/calibre/ProjectInfo.pool +33 -0
  298. data/work/misc/calibre/ProjectInfo.progressbar +37 -0
  299. data/work/misc/calibre/ProjectInfo.reference +36 -0
  300. data/work/misc/calibre/ProjectInfo.semaphore +36 -0
  301. data/work/misc/calibre/ProjectInfo.stateparser +39 -0
  302. data/work/misc/calibre/ProjectInfo.statichash +33 -0
  303. data/work/misc/calibre/ProjectInfo.system +34 -0
  304. data/work/misc/calibre/ProjectInfo.tagiterator +36 -0
  305. data/work/misc/calibre/ProjectInfo.timer +35 -0
  306. data/work/misc/calibre/ProjectInfo.tracepoint +37 -0
  307. data/work/misc/calibre/ProjectInfo.tuple +36 -0
  308. data/work/misc/calibre/ProjectInfo.uniheritable +34 -0
  309. data/work/misc/calibre/ProjectInfo.units +34 -0
  310. data/work/misc/calibre/ProjectInfo.yamlstruct +34 -0
  311. data/work/more/annotation-rw.rb +217 -0
  312. data/work/more/aobject.rb +132 -0
  313. data/work/more/autohash.rb +67 -0
  314. data/work/more/cache.rb +189 -0
  315. data/work/more/class_inheritable_attributes.rb +120 -0
  316. data/work/more/commandrunner.rb +101 -0
  317. data/work/more/daemon.rb +70 -0
  318. data/work/more/debugger.rb +167 -0
  319. data/work/more/detach.rb +423 -0
  320. data/work/more/enumtype.rb +115 -0
  321. data/work/more/ioreactor.rb +671 -0
  322. data/work/more/logger_sing.rb +207 -0
  323. data/work/more/must.rb +37 -0
  324. data/work/more/old-tkxml.rb +189 -0
  325. data/work/more/pairhash.rb +55 -0
  326. data/work/more/password.rb +80 -0
  327. data/work/more/print_exception.rb +35 -0
  328. data/work/more/rand.rb +412 -0
  329. data/work/more/range.rb +383 -0
  330. data/work/more/sanitize.rb +48 -0
  331. data/work/more/superstruct.rb +735 -0
  332. data/work/more/tag.rb +31 -0
  333. data/work/more/timer.rb +164 -0
  334. data/work/op_rshift.rb +87 -0
  335. data/work/pore/autorequire.rb +83 -0
  336. data/work/pore/basefactory.rb +40 -0
  337. data/work/pore/hash/each.rb +76 -0
  338. data/work/pore/merge3.rb +765 -0
  339. data/work/pore/superann.rb +134 -0
  340. data/work/pore/sys.rb +186 -0
  341. data/work/pore/utils.rb +518 -0
  342. data/work/yore/HashAquisition.rb +36 -0
  343. data/work/yore/Rakefile.old +181 -0
  344. data/work/yore/Reapfile +63 -0
  345. data/work/yore/annotation.rb +489 -0
  346. data/{test/lib/facets/more/test_annotation.rb → work/yore/annotation2.rb} +166 -18
  347. data/work/yore/commandutils.rb +379 -0
  348. data/work/yore/openobject.rb +298 -0
  349. data/work/yore/reap.rb +184 -0
  350. data/work/yore/reap.yml +47 -0
  351. data/work/yore/taskable-old.rb +519 -0
  352. data/{lib/facets/more → work/yore}/taskable.rb +176 -17
  353. metadata +1164 -1427
  354. data/doc/CHANGELOG +0 -146
  355. data/lib/facet/annattr.rb +0 -1
  356. data/lib/facet/annotation.rb +0 -1
  357. data/lib/facet/builderobject.rb +0 -1
  358. data/lib/facet/kernel/own.rb +0 -1
  359. data/lib/facet/kernel/quaclass.rb +0 -1
  360. data/lib/facet/kernel/require_facet.rb +0 -1
  361. data/lib/facet/kernel/superior.rb +0 -1
  362. data/lib/facet/one.rb +0 -1
  363. data/lib/facet/ostruct/instance.rb +0 -1
  364. data/lib/facet/predicate.rb +0 -1
  365. data/lib/facet/taskable.rb +0 -1
  366. data/lib/facets/core/ostruct/instance.rb +0 -37
  367. data/lib/facets/more/builderobject.rb +0 -97
  368. data/lib/facets/more/one.rb +0 -153
  369. data/lib/facets/more/predicate.rb +0 -184
  370. data/test/lib/facets/core/array/test_at_rand.rb +0 -34
  371. data/test/lib/facets/core/array/test_delete_unless.rb +0 -28
  372. data/test/lib/facets/core/array/test_delete_values.rb +0 -28
  373. data/test/lib/facets/core/array/test_delete_values_at.rb +0 -31
  374. data/test/lib/facets/core/array/test_first.rb +0 -46
  375. data/test/lib/facets/core/array/test_head.rb +0 -42
  376. data/test/lib/facets/core/array/test_last_index.rb +0 -26
  377. data/test/lib/facets/core/array/test_merge.rb +0 -35
  378. data/test/lib/facets/core/array/test_mid.rb +0 -33
  379. data/test/lib/facets/core/array/test_middle.rb +0 -29
  380. data/test/lib/facets/core/array/test_op_fetch.rb +0 -35
  381. data/test/lib/facets/core/array/test_pick.rb +0 -40
  382. data/test/lib/facets/core/array/test_pos.rb +0 -28
  383. data/test/lib/facets/core/array/test_pot.rb +0 -28
  384. data/test/lib/facets/core/array/test_pull.rb +0 -28
  385. data/test/lib/facets/core/array/test_rand_index.rb +0 -29
  386. data/test/lib/facets/core/array/test_rand_subset.rb +0 -29
  387. data/test/lib/facets/core/array/test_range.rb +0 -32
  388. data/test/lib/facets/core/array/test_rotate.rb +0 -36
  389. data/test/lib/facets/core/array/test_select.rb +0 -28
  390. data/test/lib/facets/core/array/test_shuffle.rb +0 -35
  391. data/test/lib/facets/core/array/test_thru.rb +0 -27
  392. data/test/lib/facets/core/array/test_to_b.rb +0 -27
  393. data/test/lib/facets/core/array/test_to_h.rb +0 -33
  394. data/test/lib/facets/core/array/test_to_hash.rb +0 -27
  395. data/test/lib/facets/core/binding/self/test_of_caller.rb +0 -35
  396. data/test/lib/facets/core/binding/test___LINE__.rb +0 -43
  397. data/test/lib/facets/core/binding/test_call_stack.rb +0 -34
  398. data/test/lib/facets/core/binding/test_called.rb +0 -30
  399. data/test/lib/facets/core/binding/test_caller.rb +0 -35
  400. data/test/lib/facets/core/binding/test_defined.rb +0 -34
  401. data/test/lib/facets/core/binding/test_eval.rb +0 -34
  402. data/test/lib/facets/core/binding/test_local_variables.rb +0 -34
  403. data/test/lib/facets/core/binding/test_method_name.rb +0 -34
  404. data/test/lib/facets/core/binding/test_op_fetch.rb +0 -34
  405. data/test/lib/facets/core/binding/test_op_store.rb +0 -35
  406. data/test/lib/facets/core/binding/test_self.rb +0 -34
  407. data/test/lib/facets/core/class/test_cattr.rb +0 -63
  408. data/test/lib/facets/core/class/test_descendents.rb +0 -30
  409. data/test/lib/facets/core/class/test_method_name.rb +0 -26
  410. data/test/lib/facets/core/class/test_remove_descendents.rb +0 -32
  411. data/test/lib/facets/core/class/test_unix_path.rb +0 -26
  412. data/test/lib/facets/core/comparable/test_at_least.rb +0 -34
  413. data/test/lib/facets/core/comparable/test_clip.rb +0 -44
  414. data/test/lib/facets/core/comparable/test_cmp.rb +0 -28
  415. data/test/lib/facets/core/continuation/self/test_create.rb +0 -26
  416. data/test/lib/facets/core/date/test_days_in_month.rb +0 -30
  417. data/test/lib/facets/core/date/test_days_of_month.rb +0 -30
  418. data/test/lib/facets/core/date/test_stamp.rb +0 -38
  419. data/test/lib/facets/core/date/test_to_date.rb +0 -30
  420. data/test/lib/facets/core/date/test_to_s.rb +0 -30
  421. data/test/lib/facets/core/date/test_to_time.rb +0 -30
  422. data/test/lib/facets/core/dir/self/test_ancestor.rb +0 -26
  423. data/test/lib/facets/core/dir/self/test_ascend.rb +0 -41
  424. data/test/lib/facets/core/enumerable/self/test_combinations.rb +0 -46
  425. data/test/lib/facets/core/enumerable/self/test_cross.rb +0 -31
  426. data/test/lib/facets/core/enumerable/test_collect_with_index.rb +0 -27
  427. data/test/lib/facets/core/enumerable/test_commonality.rb +0 -31
  428. data/test/lib/facets/core/enumerable/test_compact_collect.rb +0 -27
  429. data/test/lib/facets/core/enumerable/test_count.rb +0 -38
  430. data/test/lib/facets/core/enumerable/test_cross.rb +0 -30
  431. data/test/lib/facets/core/enumerable/test_each_by.rb +0 -71
  432. data/test/lib/facets/core/enumerable/test_each_combination.rb +0 -29
  433. data/test/lib/facets/core/enumerable/test_each_pair.rb +0 -29
  434. data/test/lib/facets/core/enumerable/test_each_slice.rb +0 -57
  435. data/test/lib/facets/core/enumerable/test_each_unique_pair.rb +0 -29
  436. data/test/lib/facets/core/enumerable/test_eachn.rb +0 -34
  437. data/test/lib/facets/core/enumerable/test_entropy.rb +0 -26
  438. data/test/lib/facets/core/enumerable/test_every.rb +0 -35
  439. data/test/lib/facets/core/enumerable/test_ew.rb +0 -31
  440. data/test/lib/facets/core/enumerable/test_filter_collect.rb +0 -31
  441. data/test/lib/facets/core/enumerable/test_find_collisions.rb +0 -30
  442. data/test/lib/facets/core/enumerable/test_frequency.rb +0 -27
  443. data/test/lib/facets/core/enumerable/test_graph.rb +0 -30
  444. data/test/lib/facets/core/enumerable/test_ideal_entropy.rb +0 -27
  445. data/test/lib/facets/core/enumerable/test_none.rb +0 -33
  446. data/test/lib/facets/core/enumerable/test_occur.rb +0 -30
  447. data/test/lib/facets/core/enumerable/test_one.rb +0 -35
  448. data/test/lib/facets/core/enumerable/test_op_pow.rb +0 -27
  449. data/test/lib/facets/core/enumerable/test_partition_by.rb +0 -31
  450. data/test/lib/facets/core/enumerable/test_permutation.rb +0 -29
  451. data/test/lib/facets/core/enumerable/test_permute.rb +0 -29
  452. data/test/lib/facets/core/enumerable/test_probability.rb +0 -27
  453. data/test/lib/facets/core/enumerable/test_to_h.rb +0 -27
  454. data/test/lib/facets/core/enumerable/test_uniq_by.rb +0 -28
  455. data/test/lib/facets/core/file/self/test_create.rb +0 -44
  456. data/test/lib/facets/core/file/self/test_open_as_string.rb +0 -50
  457. data/test/lib/facets/core/file/self/test_read_list.rb +0 -40
  458. data/test/lib/facets/core/file/self/test_sanitize.rb +0 -46
  459. data/test/lib/facets/core/file/self/test_split_all.rb +0 -27
  460. data/test/lib/facets/core/float/test_round_at.rb +0 -46
  461. data/test/lib/facets/core/float/test_round_to.rb +0 -46
  462. data/test/lib/facets/core/hash/self/test_zipnew.rb +0 -28
  463. data/test/lib/facets/core/hash/test_alias.rb +0 -31
  464. data/test/lib/facets/core/hash/test_assert_has_keys.rb +0 -27
  465. data/test/lib/facets/core/hash/test_assert_has_only_keys.rb +0 -27
  466. data/test/lib/facets/core/hash/test_at.rb +0 -28
  467. data/test/lib/facets/core/hash/test_collate.rb +0 -35
  468. data/test/lib/facets/core/hash/test_each_with_index.rb +0 -29
  469. data/test/lib/facets/core/hash/test_each_with_key.rb +0 -29
  470. data/test/lib/facets/core/hash/test_graph.rb +0 -28
  471. data/test/lib/facets/core/hash/test_has_keys.rb +0 -27
  472. data/test/lib/facets/core/hash/test_has_only_keys.rb +0 -27
  473. data/test/lib/facets/core/hash/test_inverse.rb +0 -30
  474. data/test/lib/facets/core/hash/test_normalize_keys.rb +0 -34
  475. data/test/lib/facets/core/hash/test_op_fetch.rb +0 -111
  476. data/test/lib/facets/core/hash/test_op_lshift.rb +0 -29
  477. data/test/lib/facets/core/hash/test_rand_key.rb +0 -27
  478. data/test/lib/facets/core/hash/test_rand_pair.rb +0 -27
  479. data/test/lib/facets/core/hash/test_rand_value.rb +0 -27
  480. data/test/lib/facets/core/hash/test_replace_each.rb +0 -29
  481. data/test/lib/facets/core/hash/test_shuffle.rb +0 -32
  482. data/test/lib/facets/core/hash/test_slice.rb +0 -27
  483. data/test/lib/facets/core/hash/test_stringify_keys.rb +0 -34
  484. data/test/lib/facets/core/hash/test_swap.rb +0 -27
  485. data/test/lib/facets/core/hash/test_swapkey.rb +0 -29
  486. data/test/lib/facets/core/hash/test_symbolize_keys.rb +0 -34
  487. data/test/lib/facets/core/hash/test_to_h.rb +0 -27
  488. data/test/lib/facets/core/hash/test_to_ostruct.rb +0 -30
  489. data/test/lib/facets/core/hash/test_to_ostruct_recurse.rb +0 -44
  490. data/test/lib/facets/core/hash/test_traverse.rb +0 -37
  491. data/test/lib/facets/core/hash/test_update_each.rb +0 -29
  492. data/test/lib/facets/core/hash/test_update_keys.rb +0 -28
  493. data/test/lib/facets/core/hash/test_update_values.rb +0 -28
  494. data/test/lib/facets/core/hash/test_weave.rb +0 -29
  495. data/test/lib/facets/core/integer/test_factorial.rb +0 -30
  496. data/test/lib/facets/core/integer/test_multiple.rb +0 -43
  497. data/test/lib/facets/core/integer/test_of.rb +0 -28
  498. data/test/lib/facets/core/integer/test_ordinal.rb +0 -29
  499. data/test/lib/facets/core/integer/test_times_collect.rb +0 -28
  500. data/test/lib/facets/core/kernel/test___class__.rb +0 -26
  501. data/test/lib/facets/core/kernel/test_as.rb +0 -42
  502. data/test/lib/facets/core/kernel/test_assign_from.rb +0 -31
  503. data/test/lib/facets/core/kernel/test_assign_with.rb +0 -31
  504. data/test/lib/facets/core/kernel/test_bool.rb +0 -41
  505. data/test/lib/facets/core/kernel/test_bug.rb +0 -26
  506. data/test/lib/facets/core/kernel/test_call_stack.rb +0 -26
  507. data/test/lib/facets/core/kernel/test_called.rb +0 -26
  508. data/test/lib/facets/core/kernel/test_callee.rb +0 -26
  509. data/test/lib/facets/core/kernel/test_constant.rb +0 -33
  510. data/test/lib/facets/core/kernel/test_copy.rb +0 -40
  511. data/test/lib/facets/core/kernel/test_deep_copy.rb +0 -40
  512. data/test/lib/facets/core/kernel/test_demo.rb +0 -28
  513. data/test/lib/facets/core/kernel/test_fn.rb +0 -26
  514. data/test/lib/facets/core/kernel/test_get_by_id.rb +0 -28
  515. data/test/lib/facets/core/kernel/test_here.rb +0 -26
  516. data/test/lib/facets/core/kernel/test_in.rb +0 -27
  517. data/test/lib/facets/core/kernel/test_instance_exec.rb +0 -52
  518. data/test/lib/facets/core/kernel/test_maybe.rb +0 -26
  519. data/test/lib/facets/core/kernel/test_metaclass.rb +0 -34
  520. data/test/lib/facets/core/kernel/test_method.rb +0 -32
  521. data/test/lib/facets/core/kernel/test_methods.rb +0 -50
  522. data/test/lib/facets/core/kernel/test_new.rb +0 -30
  523. data/test/lib/facets/core/kernel/test_object_class.rb +0 -26
  524. data/test/lib/facets/core/kernel/test_object_hexid.rb +0 -27
  525. data/test/lib/facets/core/kernel/test_quaclass.rb +0 -27
  526. data/test/lib/facets/core/kernel/test_require_all.rb +0 -26
  527. data/test/lib/facets/core/kernel/test_require_esc.rb +0 -27
  528. data/test/lib/facets/core/kernel/test_require_facet.rb +0 -27
  529. data/test/lib/facets/core/kernel/test_resc.rb +0 -27
  530. data/test/lib/facets/core/kernel/test_returning.rb +0 -30
  531. data/test/lib/facets/core/kernel/test_send_as.rb +0 -26
  532. data/test/lib/facets/core/kernel/test_set_from.rb +0 -33
  533. data/test/lib/facets/core/kernel/test_set_with.rb +0 -33
  534. data/test/lib/facets/core/kernel/test_silently.rb +0 -28
  535. data/test/lib/facets/core/kernel/test_singleton.rb +0 -40
  536. data/test/lib/facets/core/kernel/test_singleton_class.rb +0 -27
  537. data/test/lib/facets/core/kernel/test_superior.rb +0 -30
  538. data/test/lib/facets/core/kernel/test_supermethod.rb +0 -33
  539. data/test/lib/facets/core/kernel/test_this.rb +0 -26
  540. data/test/lib/facets/core/kernel/test_to_b.rb +0 -28
  541. data/test/lib/facets/core/kernel/test_to_bool.rb +0 -28
  542. data/test/lib/facets/core/kernel/test_to_data.rb +0 -59
  543. data/test/lib/facets/core/kernel/test_uri.rb +0 -30
  544. data/test/lib/facets/core/kernel/test_val.rb +0 -43
  545. data/test/lib/facets/core/kernel/test_with_accessor.rb +0 -51
  546. data/test/lib/facets/core/matchdata/test_match.rb +0 -29
  547. data/test/lib/facets/core/matchdata/test_matchtree.rb +0 -37
  548. data/test/lib/facets/core/module/self/test_op_add.rb +0 -48
  549. data/test/lib/facets/core/module/test_abstract.rb +0 -36
  550. data/test/lib/facets/core/module/test_alias_module_function.rb +0 -34
  551. data/test/lib/facets/core/module/test_ancestor.rb +0 -26
  552. data/test/lib/facets/core/module/test_basename.rb +0 -26
  553. data/test/lib/facets/core/module/test_by_name.rb +0 -29
  554. data/test/lib/facets/core/module/test_class_extension.rb +0 -70
  555. data/test/lib/facets/core/module/test_clone_using.rb +0 -55
  556. data/test/lib/facets/core/module/test_dirname.rb +0 -26
  557. data/test/lib/facets/core/module/test_equate_on.rb +0 -37
  558. data/test/lib/facets/core/module/test_include_as.rb +0 -35
  559. data/test/lib/facets/core/module/test_initializer.rb +0 -32
  560. data/test/lib/facets/core/module/test_instance_methods.rb +0 -59
  561. data/test/lib/facets/core/module/test_integrate.rb +0 -35
  562. data/test/lib/facets/core/module/test_memoize.rb +0 -50
  563. data/test/lib/facets/core/module/test_modspace.rb +0 -27
  564. data/test/lib/facets/core/module/test_namespace.rb +0 -33
  565. data/test/lib/facets/core/module/test_nesting.rb +0 -36
  566. data/test/lib/facets/core/module/test_nodef.rb +0 -30
  567. data/test/lib/facets/core/module/test_on_included.rb +0 -36
  568. data/test/lib/facets/core/module/test_redef.rb +0 -30
  569. data/test/lib/facets/core/module/test_redefine_method.rb +0 -30
  570. data/test/lib/facets/core/module/test_redirect.rb +0 -30
  571. data/test/lib/facets/core/module/test_redirect_method.rb +0 -30
  572. data/test/lib/facets/core/module/test_remove.rb +0 -30
  573. data/test/lib/facets/core/module/test_rename.rb +0 -31
  574. data/test/lib/facets/core/module/test_rename_method.rb +0 -31
  575. data/test/lib/facets/core/module/test_revisal.rb +0 -35
  576. data/test/lib/facets/core/module/test_shadow_method.rb +0 -30
  577. data/test/lib/facets/core/module/test_sort_on.rb +0 -42
  578. data/test/lib/facets/core/module/test_this.rb +0 -31
  579. data/test/lib/facets/core/module/test_wrap.rb +0 -30
  580. data/test/lib/facets/core/module/test_wrap_method.rb +0 -30
  581. data/test/lib/facets/core/nilclass/test_blank.rb +0 -26
  582. data/test/lib/facets/core/nilclass/test_empty.rb +0 -26
  583. data/test/lib/facets/core/nilclass/test_include.rb +0 -26
  584. data/test/lib/facets/core/nilclass/test_op_fetch.rb +0 -28
  585. data/test/lib/facets/core/nilclass/test_size.rb +0 -30
  586. data/test/lib/facets/core/nilclass/test_to_h.rb +0 -26
  587. data/test/lib/facets/core/numeric/test_approx.rb +0 -29
  588. data/test/lib/facets/core/numeric/test_ceil_multiple.rb +0 -31
  589. data/test/lib/facets/core/numeric/test_distance.rb +0 -28
  590. data/test/lib/facets/core/numeric/test_succ.rb +0 -40
  591. data/test/lib/facets/core/numeric/test_to_b.rb +0 -27
  592. data/test/lib/facets/core/ostruct/test___merge__.rb +0 -38
  593. data/test/lib/facets/core/ostruct/test___update__.rb +0 -29
  594. data/test/lib/facets/core/ostruct/test_op_fetch.rb +0 -27
  595. data/test/lib/facets/core/ostruct/test_op_store.rb +0 -28
  596. data/test/lib/facets/core/proc/test_compose.rb +0 -29
  597. data/test/lib/facets/core/proc/test_op_mul.rb +0 -34
  598. data/test/lib/facets/core/proc/test_to_method.rb +0 -44
  599. data/test/lib/facets/core/range/test_to_r.rb +0 -27
  600. data/test/lib/facets/core/range/test_to_range.rb +0 -27
  601. data/test/lib/facets/core/range/test_umbrella.rb +0 -34
  602. data/test/lib/facets/core/range/test_within.rb +0 -29
  603. data/test/lib/facets/core/regexp/test_arity.rb +0 -33
  604. data/test/lib/facets/core/regexp/test_to_re.rb +0 -27
  605. data/test/lib/facets/core/regexp/test_to_regexp.rb +0 -27
  606. data/test/lib/facets/core/string/self/test_interpolate.rb +0 -27
  607. data/test/lib/facets/core/string/self/test_patterns.rb +0 -28
  608. data/test/lib/facets/core/string/self/test_rand_letter.rb +0 -26
  609. data/test/lib/facets/core/string/test_align_center.rb +0 -34
  610. data/test/lib/facets/core/string/test_at_rand.rb +0 -35
  611. data/test/lib/facets/core/string/test_basename.rb +0 -41
  612. data/test/lib/facets/core/string/test_blank.rb +0 -27
  613. data/test/lib/facets/core/string/test_bracket.rb +0 -49
  614. data/test/lib/facets/core/string/test_camelcase.rb +0 -39
  615. data/test/lib/facets/core/string/test_camelize.rb +0 -26
  616. data/test/lib/facets/core/string/test_capitalized.rb +0 -26
  617. data/test/lib/facets/core/string/test_chars.rb +0 -27
  618. data/test/lib/facets/core/string/test_cmp.rb +0 -30
  619. data/test/lib/facets/core/string/test_demodulize.rb +0 -38
  620. data/test/lib/facets/core/string/test_divide.rb +0 -29
  621. data/test/lib/facets/core/string/test_downcase.rb +0 -26
  622. data/test/lib/facets/core/string/test_dresner.rb +0 -32
  623. data/test/lib/facets/core/string/test_each_char.rb +0 -29
  624. data/test/lib/facets/core/string/test_each_word.rb +0 -29
  625. data/test/lib/facets/core/string/test_first.rb +0 -43
  626. data/test/lib/facets/core/string/test_fold.rb +0 -34
  627. data/test/lib/facets/core/string/test_humanize.rb +0 -26
  628. data/test/lib/facets/core/string/test_indent.rb +0 -40
  629. data/test/lib/facets/core/string/test_index_all.rb +0 -26
  630. data/test/lib/facets/core/string/test_last.rb +0 -46
  631. data/test/lib/facets/core/string/test_line_wrap.rb +0 -27
  632. data/test/lib/facets/core/string/test_lines.rb +0 -26
  633. data/test/lib/facets/core/string/test_lowercase.rb +0 -26
  634. data/test/lib/facets/core/string/test_margin.rb +0 -117
  635. data/test/lib/facets/core/string/test_methodize.rb +0 -27
  636. data/test/lib/facets/core/string/test_modulize.rb +0 -29
  637. data/test/lib/facets/core/string/test_mscan.rb +0 -30
  638. data/test/lib/facets/core/string/test_natcmp.rb +0 -30
  639. data/test/lib/facets/core/string/test_nchar.rb +0 -29
  640. data/test/lib/facets/core/string/test_pathize.rb +0 -29
  641. data/test/lib/facets/core/string/test_pop.rb +0 -47
  642. data/test/lib/facets/core/string/test_pot.rb +0 -39
  643. data/test/lib/facets/core/string/test_push.rb +0 -40
  644. data/test/lib/facets/core/string/test_quote.rb +0 -49
  645. data/test/lib/facets/core/string/test_rand_byte.rb +0 -35
  646. data/test/lib/facets/core/string/test_rand_index.rb +0 -26
  647. data/test/lib/facets/core/string/test_range.rb +0 -27
  648. data/test/lib/facets/core/string/test_range_all.rb +0 -27
  649. data/test/lib/facets/core/string/test_range_of_line.rb +0 -28
  650. data/test/lib/facets/core/string/test_regesc.rb +0 -28
  651. data/test/lib/facets/core/string/test_shatter.rb +0 -29
  652. data/test/lib/facets/core/string/test_shift.rb +0 -40
  653. data/test/lib/facets/core/string/test_shuffle.rb +0 -27
  654. data/test/lib/facets/core/string/test_similarity.rb +0 -26
  655. data/test/lib/facets/core/string/test_singular.rb +0 -86
  656. data/test/lib/facets/core/string/test_soundex.rb +0 -41
  657. data/test/lib/facets/core/string/test_succ.rb +0 -29
  658. data/test/lib/facets/core/string/test_to_a.rb +0 -27
  659. data/test/lib/facets/core/string/test_to_b.rb +0 -41
  660. data/test/lib/facets/core/string/test_to_const.rb +0 -28
  661. data/test/lib/facets/core/string/test_to_date.rb +0 -30
  662. data/test/lib/facets/core/string/test_to_proc.rb +0 -33
  663. data/test/lib/facets/core/string/test_to_re.rb +0 -28
  664. data/test/lib/facets/core/string/test_to_time.rb +0 -30
  665. data/test/lib/facets/core/string/test_unix_crypt.rb +0 -30
  666. data/test/lib/facets/core/string/test_unpack.rb +0 -34
  667. data/test/lib/facets/core/string/test_unshift.rb +0 -39
  668. data/test/lib/facets/core/string/test_upcase.rb +0 -30
  669. data/test/lib/facets/core/string/test_whitespace.rb +0 -27
  670. data/test/lib/facets/core/string/test_word_filter.rb +0 -34
  671. data/test/lib/facets/core/string/test_word_wrap.rb +0 -51
  672. data/test/lib/facets/core/string/test_words.rb +0 -37
  673. data/test/lib/facets/core/symbol/test_camelcase.rb +0 -26
  674. data/test/lib/facets/core/symbol/test_camelize.rb +0 -27
  675. data/test/lib/facets/core/symbol/test_capitalize.rb +0 -26
  676. data/test/lib/facets/core/symbol/test_capitalized.rb +0 -27
  677. data/test/lib/facets/core/symbol/test_downcase.rb +0 -27
  678. data/test/lib/facets/core/symbol/test_not.rb +0 -29
  679. data/test/lib/facets/core/symbol/test_pad.rb +0 -27
  680. data/test/lib/facets/core/symbol/test_succ.rb +0 -28
  681. data/test/lib/facets/core/symbol/test_to_const.rb +0 -28
  682. data/test/lib/facets/core/symbol/test_to_proc.rb +0 -33
  683. data/test/lib/facets/core/symbol/test_to_str.rb +0 -28
  684. data/test/lib/facets/core/symbol/test_underscore.rb +0 -26
  685. data/test/lib/facets/core/symbol/test_upcase.rb +0 -27
  686. data/test/lib/facets/core/time/test_change.rb +0 -33
  687. data/test/lib/facets/core/time/test_elapse.rb +0 -27
  688. data/test/lib/facets/core/time/test_stamp.rb +0 -31
  689. data/test/lib/facets/core/time/test_to_date.rb +0 -31
  690. data/test/lib/facets/core/time/test_to_s.rb +0 -31
  691. data/test/lib/facets/core/time/test_to_time.rb +0 -31
  692. data/test/lib/facets/more/test_annattr.rb +0 -39
  693. data/test/lib/facets/more/test_ansicode.rb +0 -36
  694. data/test/lib/facets/more/test_association.rb +0 -51
  695. data/test/lib/facets/more/test_autoarray.rb +0 -32
  696. data/test/lib/facets/more/test_basicobject.rb +0 -67
  697. data/test/lib/facets/more/test_bbcode.rb +0 -34
  698. data/test/lib/facets/more/test_binaryreader.rb +0 -64
  699. data/test/lib/facets/more/test_bitmask.rb +0 -47
  700. data/test/lib/facets/more/test_bytes.rb +0 -84
  701. data/test/lib/facets/more/test_classmethods.rb +0 -69
  702. data/test/lib/facets/more/test_command.rb +0 -38
  703. data/test/lib/facets/more/test_coroutine.rb +0 -60
  704. data/test/lib/facets/more/test_crypt.rb +0 -46
  705. data/test/lib/facets/more/test_cut.rb +0 -198
  706. data/test/lib/facets/more/test_dictionary.rb +0 -97
  707. data/test/lib/facets/more/test_elementor.rb +0 -52
  708. data/test/lib/facets/more/test_enumerablepass.rb +0 -86
  709. data/test/lib/facets/more/test_floatstring.rb +0 -36
  710. data/test/lib/facets/more/test_functor.rb +0 -39
  711. data/test/lib/facets/more/test_htmlbuilder.rb +0 -38
  712. data/test/lib/facets/more/test_infinity.rb +0 -50
  713. data/test/lib/facets/more/test_inheritor.rb +0 -155
  714. data/test/lib/facets/more/test_instance_intercept.rb +0 -50
  715. data/test/lib/facets/more/test_interval.rb +0 -119
  716. data/test/lib/facets/more/test_json.rb +0 -232
  717. data/test/lib/facets/more/test_linkedlist.rb +0 -53
  718. data/test/lib/facets/more/test_lisp.rb +0 -47
  719. data/test/lib/facets/more/test_lisp_format.rb +0 -37
  720. data/test/lib/facets/more/test_lrucache.rb +0 -25
  721. data/test/lib/facets/more/test_mathconstants.rb +0 -18
  722. data/test/lib/facets/more/test_methodfilter.rb +0 -45
  723. data/test/lib/facets/more/test_methodprobe.rb +0 -53
  724. data/test/lib/facets/more/test_multipliers.rb +0 -114
  725. data/test/lib/facets/more/test_multiton.rb +0 -199
  726. data/test/lib/facets/more/test_nackclass.rb +0 -45
  727. data/test/lib/facets/more/test_nilcomparable.rb +0 -47
  728. data/test/lib/facets/more/test_opencascade.rb +0 -75
  729. data/test/lib/facets/more/test_openobject.rb +0 -126
  730. data/test/lib/facets/more/test_overload.rb +0 -54
  731. data/test/lib/facets/more/test_paramix.rb +0 -100
  732. data/test/lib/facets/more/test_pqueue.rb +0 -39
  733. data/test/lib/facets/more/test_predicate.rb +0 -79
  734. data/test/lib/facets/more/test_preinitialize.rb +0 -49
  735. data/test/lib/facets/more/test_promoteself.rb +0 -45
  736. data/test/lib/facets/more/test_recorder.rb +0 -44
  737. data/test/lib/facets/more/test_snapshot.rb +0 -34
  738. data/test/lib/facets/more/test_statichash.rb +0 -31
  739. data/test/lib/facets/more/test_syncarray.rb +0 -28
  740. data/test/lib/facets/more/test_synchash.rb +0 -28
  741. data/test/lib/facets/more/test_tagiterator.rb +0 -93
  742. data/test/lib/facets/more/test_taskable.rb +0 -190
  743. data/test/lib/facets/more/test_timer.rb +0 -66
  744. data/test/lib/facets/more/test_times.rb +0 -73
  745. data/test/lib/facets/more/test_tuple.rb +0 -64
  746. data/test/lib/facets/more/test_typecast.rb +0 -68
  747. data/test/lib/facets/more/test_uninheritable.rb +0 -42
  748. data/test/lib/facets/more/test_units.rb +0 -111
  749. data/test/lib/facets/more/test_xmlbuilder.rb +0 -38
  750. data/test/lib/facets/more/test_xmlhelper.rb +0 -40
  751. data/test/lib/facets/more/test_xoxo.rb +0 -288
  752. data/test/lib/facets/more/test_yamlstruct.rb +0 -37
  753. data/util/announce +0 -20
  754. data/util/changelog +0 -8
  755. data/util/count +0 -8
  756. data/util/extest +0 -8
  757. data/util/list +0 -38
  758. data/util/package +0 -9
  759. data/util/prepare +0 -12
  760. data/util/redirect +0 -34
  761. data/util/release +0 -13
  762. data/util/setup +0 -7
  763. data/util/test +0 -7
  764. data/util/version +0 -8
@@ -0,0 +1,47 @@
1
+
2
+ prepare: !!custom
3
+ desc: Redirect, extact tests and test
4
+ deps: [ 'redirect', 'extest', 'test' ]
5
+
6
+ package: !!package
7
+ dir: 'srv/package'
8
+ distribute: [ tar.gz, zip ] # gem
9
+
10
+ release: !!release
11
+ dir : 'srv/package'
12
+ host : rubyforge.org
13
+ username : transami
14
+ project : facets
15
+ groupid : 804
16
+ package : Facets
17
+
18
+ announce: !!announce
19
+ to : transfire@gmail.com #ruby-talk@ruby-lang.org
20
+ from : transfire@gmail.com
21
+ domain : jupiterzeus.net
22
+ server : smtp.gmail.com
23
+ port : 25 #587
24
+ account : transfire@gmail.com
25
+ auth : login #cram_md5 #plain
26
+ secure : tls # ~, tls, ssl
27
+ file : doc/LATEST
28
+ slogan : ALL YOUR BASE ARE BELONG TO RUBY!
29
+ links:
30
+ - http://facets.rubyforge.org
31
+
32
+ count: !!count
33
+ include: 'lib/**/*'
34
+
35
+ setup: !!setup
36
+
37
+ changelog: !!changelog
38
+ file: doc/CHANGELOG
39
+
40
+ version: !!version
41
+ file: meta/version
42
+
43
+ test: !!test
44
+
45
+ extest: !!extest
46
+ files: 'lib/facets/**/*.rb'
47
+
@@ -0,0 +1,519 @@
1
+ # = taskable.rb
2
+ #
3
+ # == Copyright (c) 2006 Thomas Sawyer
4
+ #
5
+ # Ruby License
6
+ #
7
+ # This module is free software. You may use, modify, and/or redistribute this
8
+ # software under the same terms as Ruby.
9
+ #
10
+ # This program is distributed in the hope that it will be useful, but WITHOUT
11
+ # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12
+ # FOR A PARTICULAR PURPOSE.
13
+ #
14
+ # == Auhtor(s)
15
+ #
16
+ # * Thomas Sawyer
17
+
18
+ # Author:: Thomas Sawyer
19
+ # Copyright:: Copyright (c) 2006 Thomas Sawyer
20
+ # License:: Ruby License
21
+
22
+ require 'tsort'
23
+
24
+ $main = self
25
+
26
+ # = TSort
27
+ #
28
+ # TSort is used to determine which prerequisites to run
29
+ # for a task.
30
+ #
31
+ # Here we add a convenience method --if such a long method
32
+ # name can be said to be convenient ;) Although we ended
33
+ # not using it after all --it still may proved useful and
34
+ # may eventually be added to Facets or submitted as a patch.
35
+
36
+ module TSort
37
+ def strongly_connected_components_from(node)
38
+ result = []
39
+ each_strongly_connected_component_from(node) do |component|
40
+ result << component
41
+ end
42
+ result
43
+ end
44
+ end
45
+
46
+ # = Task
47
+ #
48
+ # A Task is a Method with prerequisite dependencies.
49
+ #
50
+ # NOTE Can't subclass Method b/c Method has no initiator.
51
+ # Not sure that would be a good idea anyway.
52
+
53
+ class Task
54
+ attr_accessor :description
55
+
56
+ def self.instance( method )
57
+ p method
58
+ initialize( )
59
+ end
60
+
61
+ def initialize( name, container, preq, desc=nil, &action )
62
+ @name = name
63
+ @container = container
64
+ @prerequisite = preq || []
65
+ @description = desc
66
+ @action = action
67
+ end
68
+
69
+ def prerequisite
70
+ @prerequisite ||= []
71
+ end
72
+
73
+ # #--
74
+ # # TODO Problem is 'a' can't take any parameters,
75
+ # # and there's no way to sort the tasks
76
+ # # from here. FIX if possible.
77
+ # #++
78
+ # def to_proc
79
+ # r = @prerequisite
80
+ # n = @name
81
+ # a = @action
82
+ # lambda {
83
+ # r.each{ |d| send(d) unless n == d }
84
+ # instance_eval &a if a
85
+ # }
86
+ # end
87
+
88
+ def complete
89
+ # ensure no cycles in the graph and extract call graph
90
+ # TODO what about singletons?
91
+ t = Graph.new( container, name )
92
+ t.each_strongly_connected_component_from( name ) do |c|
93
+ #@container.instance_task(c).call
94
+ @container.send("->#{d}")
95
+ end
96
+ end
97
+
98
+ def call
99
+ @action.call
100
+ end
101
+
102
+ def each(&blk)
103
+ @prerequisite.each(&blk)
104
+ end
105
+
106
+ # Task::Graph is a Tarjan-sorted hash.
107
+ # It is used to generate the proper dependency chains.
108
+ # TODO Make Multiton off of base.
109
+
110
+ class Graph < Hash
111
+ include TSort
112
+
113
+ def initialize( base, name )
114
+ #if base == $main
115
+ # @base = Object #(class << base; self; end)
116
+ #else
117
+ @base = base #.class
118
+ #end
119
+ @name = name
120
+ #instance_map( name )
121
+ end
122
+
123
+ def instance_map( name=nil )
124
+ name = name || @name
125
+ task = nil
126
+ unless @base.ancestors.find { |anc| task = anc.instance_task(name) }
127
+ raise "task does not exist -- #{name} in #{@base}"
128
+ end
129
+ self[name] = task.prerequisite || []
130
+ self[name].each { |r| instance_map( r ) }
131
+ end
132
+
133
+ def list
134
+ instance_map
135
+ self
136
+ end
137
+
138
+ alias :tsort_each_node :each_key
139
+
140
+ def tsort_each_child(node, &block)
141
+ fetch(node).each(&block)
142
+ end
143
+ end
144
+
145
+ end
146
+
147
+ # = Taskable
148
+ #
149
+ # The Taskable module provides a generic task system
150
+ # patterned after Rake, but useable in any
151
+ # code context --not just with the Rake tool. In other
152
+ # words one can create methods with dependencies.
153
+ #
154
+ # NOTE Unlike methods, tasks can't take parameters
155
+ # if they are to be used as prerequisites.
156
+ # This capability might be added in the future, but
157
+ # presently syntax limitations make it awkward.
158
+ #
159
+ # To use Taskable at the top level do:
160
+ #
161
+ # include Taskable
162
+ #
163
+
164
+ module Taskable
165
+
166
+ def self.included( base )
167
+ if base == Object
168
+ $main.instance_eval {
169
+
170
+ def define_method( meth, &block )
171
+ Object.class_eval do
172
+ define_method( meth, &block )
173
+ private meth
174
+ end
175
+ end
176
+
177
+ def ancestors(*args)
178
+ Object.ancestors(*args)
179
+ end
180
+
181
+ def instance_method(*args)
182
+ Object.instance_method(*args)
183
+ end
184
+ }
185
+ end
186
+ end
187
+
188
+ # Provide a mapping of tasks, including task from ancestors.
189
+ # TODO Not sure this is properly reading from ancestors.
190
+
191
+ # Define description for subsequent task.
192
+
193
+ def desc(line=nil)
194
+ return @last_description unless line
195
+ @last_description = line.gsub("\n",'')
196
+ end
197
+
198
+ # Use up the description for subsequent task.
199
+
200
+ def desc!
201
+ l = @last_description
202
+ @last_description = nil
203
+ l
204
+ end
205
+
206
+ # Define a task.
207
+
208
+ def task(args, &action)
209
+ if Hash === args
210
+ raise ArgumentError, "#{args.size} for 1" if args.size != 1
211
+ name, *deps = *(args.to_a.flatten)
212
+ name = name.to_sym
213
+ deps = deps.compact.collect{ |e| e.to_sym }
214
+ else
215
+ name, deps = args.to_sym, []
216
+ end
217
+ # create task by creating core and callable methods.
218
+ # We do it this way b/c otherwise we'd have to use
219
+ # instance_eval and then can't pass paramaters (TODO fix w/Ruby 1.9).
220
+ if action
221
+ define_method( "->#{name}", &action ) # core of the task
222
+ define_method( name ) do |*args|
223
+ r = nil
224
+ # ensure no cycles in the graph and extract call graph
225
+ # TODO what about singleton tasks?
226
+ todo = Task::Graph.new( self.class, name )
227
+ todo.list.each_strongly_connected_component_from( name ) do |c|
228
+ r = send("->#{c}", *args)
229
+ end
230
+ r
231
+ end
232
+ #cont = (self == $main ? Object : self )
233
+ #cont = self
234
+ instance_task_table[name] = Task.new( name, self, deps, desc!, &action )
235
+ elsif name and deps
236
+ if m = instance_task(name)
237
+ #m.description = desc! # TODO should this apply only if there is an action?
238
+ m.prerequisite.concat deps unless deps.empty?
239
+ m
240
+ else
241
+ #define_method( "->#{name}", lambda{} ) # empty action
242
+ define_method( name ) do |*args|
243
+ r = nil
244
+ # ensure no cycles in the graph and extract call graph
245
+ # TODO what about singleton tasks?
246
+ todo = Task::Graph.new( self.class, name )
247
+ todo.list.each_strongly_connected_component_from( name ) do |c|
248
+ r = send("->#{c}", *args) unless "#{c}" == "#{name}"
249
+ end
250
+ r
251
+ end
252
+ #cont = (self == $main ? Object : self )
253
+ #cont = self
254
+ instance_task_table[name] = Task.new( name, self, deps, desc!, &action )
255
+ end
256
+ #else
257
+ # Task.instance( method(m) )
258
+ end
259
+ end
260
+
261
+ # Access a task.
262
+
263
+ def instance_task( name )
264
+ name = name.to_sym
265
+ if instance_task_table and r = instance_task_table[name]
266
+ return r
267
+ end
268
+ ancestors.each do |anc|
269
+ itt = anc.instance_task_table #instance_variable_get("@instance_task_table")
270
+ if itt and r = itt[name]
271
+ return r
272
+ end
273
+ end
274
+ nil
275
+ end
276
+
277
+ # List of task names.
278
+
279
+ def instance_tasks( include_ancestors=true )
280
+ if include_ancestors and ancestors #and ancestors[1]
281
+ a = []
282
+ ancestors.each do |anc|
283
+ a |= anc.instance_task_table.keys
284
+ end
285
+ return a
286
+ else
287
+ instance_task_table.keys
288
+ end
289
+ end
290
+
291
+ protected
292
+
293
+ def instance_task_table
294
+ if self == $main
295
+ Object.instance_task_table
296
+ else
297
+ @instance_task_table ||= {}
298
+ end
299
+ end
300
+
301
+ # TODO deprecate these two methods?
302
+
303
+ public
304
+
305
+ # List of task names with descriptions.
306
+
307
+ def described_tasks
308
+ instance_tasks.select { |name| instance_task(name).description }
309
+ end
310
+
311
+ # List of task names without descriptions.
312
+
313
+ def undescribed_tasks
314
+ instance_tasks.select { |name| ! instance_task(name).description }
315
+ end
316
+
317
+ end
318
+
319
+ # Include the Task module into the Module class.
320
+
321
+ class Module
322
+ include Taskable
323
+ end
324
+
325
+ #class Object
326
+ # def send_task( name )
327
+ # (class << self; self; end).instance_task( name )
328
+ # end
329
+ #end
330
+
331
+
332
+ # _____ _
333
+ # |_ _|__ ___| |_
334
+ # | |/ _ \/ __| __|
335
+ # | | __/\__ \ |_
336
+ # |_|\___||___/\__|
337
+ #
338
+ =begin test
339
+
340
+ require 'test/unit'
341
+
342
+ class TestTaskable1 < Test::Unit::TestCase
343
+
344
+ module M
345
+ task :m1 => [ :c1 ] do @x << "m1" end
346
+ task :m2 => [ :c2 ] do @x << "m2" end
347
+ task :m3 => [ :c3 ] do @x << "m3" end
348
+ task :m4 => [ :c1, :c2, :c3 ] do @x << "m4" end
349
+ task :m5 do @x << 'm5' end
350
+ end
351
+
352
+ class B
353
+ attr :x
354
+ def initialize ; @x = [] ; end
355
+
356
+ task :b1 do @x << "b1" end
357
+ task :b2 => [ :b1 ]
358
+ end
359
+
360
+ class C
361
+ include M
362
+ attr :x
363
+ def initialize ; @x = [] ; end
364
+
365
+ task :c1 do @x << "c1" end
366
+ task :c2 => [ :c1, :c1 ] do @x << "c2" end
367
+ task :c3 => [ :c1, :c2 ] do @x << "c3" end
368
+ task :c4 => [ :m1 ] do @x << "c4" end
369
+ task :c5 => [ :c5 ] do @x << "c5" end
370
+ task :c6 => [ :c7 ] do @x << "c6" end
371
+ task :c7 => [ :c6 ] do @x << "c7" end
372
+ end
373
+
374
+ class D < C
375
+ task :d1 => [ :c1 ] do @x << "d1" ; end
376
+ task :d2 => [ :m1 ] do @x << "d2" ; end
377
+ end
378
+
379
+ module N
380
+ include M
381
+ end
382
+
383
+ class E
384
+ include N
385
+ attr :x
386
+ def initialize ; @x = [] ; end
387
+
388
+ task :e1 => [ :c1 ] do @x << "e1" ; end
389
+ task :e2 => [ :m1 ] do @x << "e2" ; end
390
+ task :e3 => [ :m5 ] do @x << "e3" ; end
391
+ end
392
+
393
+ module O
394
+ attr :x
395
+ task :o1 do (@x||=[]) << "o1" end
396
+ task :o2 => [ :o1 ] do (@x||=[]) << "o2" end
397
+ end
398
+
399
+ # TODO Appearently extending does play well with inheritor?
400
+ # F = Module.new { extend O }
401
+
402
+ # tests
403
+
404
+ def test_B1
405
+ b = B.new ; b.b1
406
+ assert_equal( [ 'b1' ], b.x )
407
+ end
408
+
409
+ def test_B2
410
+ b = B.new ; b.b2
411
+ assert_equal( [ 'b1' ], b.x )
412
+ end
413
+
414
+ def test_C1
415
+ c = C.new ; c.c1
416
+ assert_equal( [ 'c1' ], c.x )
417
+ end
418
+
419
+ def test_C2
420
+ c = C.new ; c.c2
421
+ assert_equal( [ 'c1', 'c2' ], c.x )
422
+ end
423
+
424
+ def test_C3
425
+ c = C.new ; c.c3
426
+ assert_equal( [ 'c1', 'c2', 'c3' ], c.x )
427
+ end
428
+
429
+ def test_C4
430
+ c = C.new ; c.c4
431
+ assert_equal( [ 'c1', 'm1', 'c4' ], c.x )
432
+ end
433
+
434
+ def test_M1
435
+ c = C.new ; c.m1
436
+ assert_equal( [ 'c1', 'm1' ], c.x )
437
+ end
438
+
439
+ def test_M2
440
+ c = C.new ; c.m2
441
+ assert_equal( [ 'c1', 'c2', 'm2' ], c.x )
442
+ end
443
+
444
+ def test_M3
445
+ c = C.new ; c.m3
446
+ assert_equal( [ 'c1', 'c2', 'c3', 'm3' ], c.x )
447
+ end
448
+
449
+ def test_M4
450
+ c = C.new ; c.m4
451
+ assert_equal( [ 'c1', 'c2', 'c3', 'm4' ], c.x )
452
+ end
453
+
454
+ def test_D1
455
+ d = D.new ; d.d1
456
+ assert_equal( [ 'c1', 'd1' ], d.x )
457
+ end
458
+
459
+ def test_D2
460
+ d = D.new ; d.d2
461
+ assert_equal( [ 'c1', 'm1', 'd2' ], d.x )
462
+ end
463
+
464
+ def test_E1
465
+ e = E.new
466
+ assert_raises( RuntimeError ) { e.e1 }
467
+ #assert_equal( [ 'c1', 'e1' ], e.x )
468
+ end
469
+
470
+ def test_E2
471
+ e = E.new
472
+ assert_raises( RuntimeError ) { e.e2 }
473
+ #assert_equal( [ 'c1', 'm1', 'e2' ], e.x )
474
+ end
475
+
476
+ def test_E3
477
+ e = E.new ; e.e3
478
+ assert_equal( [ 'm5', 'e3' ], e.x )
479
+ end
480
+
481
+ # def test_F1
482
+ # F.o1
483
+ # assert_equal( [ 'o1' ], F.x )
484
+ # end
485
+ #
486
+ # def test_F2
487
+ # F.o2
488
+ # assert_equal( [ 'o1', 'o1', 'o2' ], F.x )
489
+ # end
490
+
491
+ end
492
+
493
+
494
+ ##
495
+ # Test toplevel usage.
496
+ #
497
+
498
+ include Taskable
499
+
500
+ task :foo do
501
+ "foo"
502
+ end
503
+
504
+ task :bar => [ :foo ] do
505
+ "bar"
506
+ end
507
+
508
+ class TestTaskable2 < Test::Unit::TestCase
509
+ def test_01
510
+ assert_equal( "foo", foo )
511
+ end
512
+ def test_01
513
+ assert_equal( "bar", bar )
514
+ end
515
+
516
+ end
517
+
518
+ =end
519
+