facets 1.0.3 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1318) hide show
  1. data/AUTHORS +1 -0
  2. data/CHANGELOG +266 -0
  3. data/ProjectInfo +31 -29
  4. data/README +55 -31
  5. data/Rakefile +175 -0
  6. data/{packages/core/TODO → TODO} +0 -0
  7. data/{packages/core/conf → conf}/facets/noauto +0 -0
  8. data/data/facets/index.yml +464 -0
  9. data/{packages/core/data/facets/index.yml → data/facets/methods.yaml} +0 -0
  10. data/lib/facet/array.rb +34 -0
  11. data/{packages/core/lib → lib}/facet/array/at_rand.rb +0 -0
  12. data/{packages/core/lib → lib}/facet/array/body.rb +0 -0
  13. data/{packages/core/lib → lib}/facet/array/delete_unless.rb +0 -0
  14. data/{packages/core/lib → lib}/facet/array/delete_values.rb +0 -0
  15. data/{packages/core/lib → lib}/facet/array/delete_values_at.rb +0 -0
  16. data/{packages/core/lib → lib}/facet/array/each_with_key.rb +0 -0
  17. data/{packages/core/lib → lib}/facet/array/first.rb +0 -0
  18. data/{packages/core/lib → lib}/facet/array/foot.rb +0 -0
  19. data/{packages/core/lib → lib}/facet/array/head.rb +0 -0
  20. data/{packages/core/lib → lib}/facet/array/last.rb +0 -0
  21. data/{packages/core/lib → lib}/facet/array/last_index.rb +0 -0
  22. data/{packages/core/lib → lib}/facet/array/merge.rb +0 -0
  23. data/{packages/core/lib → lib}/facet/array/mid.rb +0 -0
  24. data/{packages/core/lib → lib}/facet/array/middle.rb +0 -0
  25. data/{packages/core/lib → lib}/facet/array/op_fetch.rb +0 -0
  26. data/{packages/core/lib → lib}/facet/array/op_mod.rb +0 -0
  27. data/{packages/core/lib → lib}/facet/array/op_store.rb +0 -0
  28. data/{packages/core/lib → lib}/facet/array/pick.rb +0 -0
  29. data/{packages/core/lib → lib}/facet/array/pos.rb +0 -0
  30. data/{packages/core/lib → lib}/facet/array/pull.rb +0 -0
  31. data/{packages/core/lib → lib}/facet/array/rand_index.rb +0 -0
  32. data/{packages/core/lib → lib}/facet/array/rand_subset.rb +0 -0
  33. data/{packages/core/lib → lib}/facet/array/range.rb +0 -0
  34. data/{packages/core/lib → lib}/facet/array/rotate.rb +0 -0
  35. data/{packages/core/lib → lib}/facet/array/select.rb +0 -0
  36. data/{packages/core/lib → lib}/facet/array/shuffle.rb +0 -0
  37. data/{packages/core/lib → lib}/facet/array/slap.rb +0 -0
  38. data/{packages/core/lib → lib}/facet/array/store.rb +0 -0
  39. data/{packages/core/lib → lib}/facet/array/tail.rb +0 -0
  40. data/{packages/core/lib → lib}/facet/array/thru.rb +0 -0
  41. data/{packages/core/lib → lib}/facet/array/to_b.rb +0 -0
  42. data/{packages/core/lib → lib}/facet/array/to_h.rb +0 -0
  43. data/{packages/core/lib → lib}/facet/array/to_hash.rb +0 -0
  44. data/{packages/core/lib → lib}/facet/array/unzip.rb +0 -0
  45. data/{packages/core/lib → lib}/facet/binding.rb +0 -0
  46. data/{packages/core/lib → lib}/facet/binding/__DIR__.rb +0 -0
  47. data/{packages/core/lib → lib}/facet/binding/__FILE__.rb +0 -0
  48. data/{packages/core/lib → lib}/facet/binding/__LINE__.rb +0 -0
  49. data/{packages/core/lib → lib}/facet/binding/call_stack.rb +0 -0
  50. data/{packages/core/lib → lib}/facet/binding/called.rb +0 -0
  51. data/{packages/core/lib → lib}/facet/binding/caller.rb +0 -0
  52. data/{packages/core/lib → lib}/facet/binding/defined.rb +0 -0
  53. data/{packages/core/lib → lib}/facet/binding/eval.rb +0 -0
  54. data/{packages/core/lib → lib}/facet/binding/local_variables.rb +0 -0
  55. data/{packages/core/lib → lib}/facet/binding/method_name.rb +0 -0
  56. data/{packages/core/lib → lib}/facet/binding/op_fetch.rb +0 -0
  57. data/{packages/core/lib → lib}/facet/binding/op_store.rb +0 -0
  58. data/{packages/core/lib → lib}/facet/binding/self.rb +0 -0
  59. data/{packages/core/lib → lib}/facet/binding/self/of_caller.rb +0 -0
  60. data/lib/facet/class.rb +7 -0
  61. data/{packages/core/lib → lib}/facet/class/by_name.rb +0 -0
  62. data/{packages/core/lib → lib}/facet/class/descendents.rb +0 -0
  63. data/{packages/core/lib → lib}/facet/class/method_name.rb +0 -0
  64. data/{packages/core/lib → lib}/facet/class/remove_descendents.rb +0 -0
  65. data/{packages/core/lib → lib}/facet/class/remove_subclasses.rb +0 -0
  66. data/{packages/core/lib → lib}/facet/class/subclasses.rb +0 -0
  67. data/lib/facet/class/unix_path.rb +34 -0
  68. data/{packages/core/lib → lib}/facet/comparable.rb +0 -0
  69. data/{packages/core/lib → lib}/facet/comparable/at_least.rb +0 -0
  70. data/{packages/core/lib → lib}/facet/comparable/at_most.rb +0 -0
  71. data/{packages/core/lib → lib}/facet/comparable/cap.rb +0 -0
  72. data/{packages/core/lib → lib}/facet/comparable/clip.rb +0 -0
  73. data/{packages/core/lib → lib}/facet/comparable/cmp.rb +0 -0
  74. data/{packages/core/lib → lib}/facet/continuation.rb +0 -0
  75. data/{packages/core/lib → lib}/facet/continuation/self/create.rb +0 -0
  76. data/{packages/core/lib → lib}/facet/date.rb +0 -0
  77. data/{packages/core/lib → lib}/facet/date/days_in_month.rb +0 -0
  78. data/{packages/core/lib → lib}/facet/date/days_of_month.rb +0 -0
  79. data/{packages/core/lib → lib}/facet/date/stamp.rb +0 -0
  80. data/{packages/core/lib → lib}/facet/date/to_date.rb +0 -0
  81. data/{packages/core/lib → lib}/facet/date/to_s.rb +0 -0
  82. data/{packages/core/lib → lib}/facet/date/to_time.rb +0 -0
  83. data/{packages/core/lib → lib}/facet/dir.rb +0 -0
  84. data/{packages/core/lib → lib}/facet/dir/self/ancestor.rb +0 -0
  85. data/{packages/core/lib → lib}/facet/dir/self/ascend.rb +0 -0
  86. data/{packages/core/lib → lib}/facet/dir/self/ls_r.rb +0 -0
  87. data/{packages/core/lib → lib}/facet/dir/self/recurse.rb +0 -0
  88. data/lib/facet/enumerable.rb +39 -0
  89. data/{packages/core/lib → lib}/facet/enumerable/collect_with_counter.rb +0 -0
  90. data/{packages/core/lib → lib}/facet/enumerable/collect_with_index.rb +0 -0
  91. data/{packages/core/lib → lib}/facet/enumerable/commonality.rb +0 -0
  92. data/{packages/core/lib → lib}/facet/enumerable/compact_collect.rb +0 -0
  93. data/{packages/core/lib → lib}/facet/enumerable/compact_map.rb +0 -0
  94. data/{packages/core/lib → lib}/facet/enumerable/cross.rb +0 -0
  95. data/{packages/core/lib → lib}/facet/enumerable/each_by.rb +0 -0
  96. data/{packages/core/lib → lib}/facet/enumerable/each_combination.rb +0 -0
  97. data/{packages/core/lib → lib}/facet/enumerable/each_pair.rb +0 -0
  98. data/{packages/core/lib → lib}/facet/enumerable/each_permutation.rb +0 -0
  99. data/{packages/core/lib → lib}/facet/enumerable/each_slice.rb +0 -0
  100. data/{packages/core/lib → lib}/facet/enumerable/each_unique_pair.rb +0 -0
  101. data/{packages/core/lib → lib}/facet/enumerable/each_with_counter.rb +0 -0
  102. data/{packages/core/lib → lib}/facet/enumerable/elementwise.rb +0 -0
  103. data/{packages/core/lib → lib}/facet/enumerable/entropy.rb +0 -0
  104. data/{packages/core/lib → lib}/facet/enumerable/every.rb +0 -0
  105. data/{packages/core/lib → lib}/facet/enumerable/ew.rb +0 -0
  106. data/{packages/core/lib → lib}/facet/enumerable/filter_collect.rb +0 -0
  107. data/{packages/core/lib → lib}/facet/enumerable/filter_map.rb +0 -0
  108. data/{packages/core/lib → lib}/facet/enumerable/find_collisions.rb +0 -0
  109. data/{packages/core/lib → lib}/facet/enumerable/frequency.rb +0 -0
  110. data/{packages/core/lib → lib}/facet/enumerable/graph.rb +0 -0
  111. data/{packages/core/lib → lib}/facet/enumerable/ideal_entropy.rb +0 -0
  112. data/{packages/core/lib → lib}/facet/enumerable/map_with_counter.rb +0 -0
  113. data/{packages/core/lib → lib}/facet/enumerable/map_with_index.rb +0 -0
  114. data/{packages/core/lib → lib}/facet/enumerable/none.rb +0 -0
  115. data/{packages/core/lib → lib}/facet/enumerable/nonuniq.rb +0 -0
  116. data/{packages/core/lib → lib}/facet/enumerable/occur.rb +0 -0
  117. data/{packages/core/lib → lib}/facet/enumerable/one.rb +0 -0
  118. data/{packages/core/lib → lib}/facet/enumerable/op_pow.rb +0 -0
  119. data/{packages/core/lib → lib}/facet/enumerable/partition_by.rb +0 -0
  120. data/{packages/core/lib → lib}/facet/enumerable/permute.rb +0 -0
  121. data/{packages/core/lib → lib}/facet/enumerable/probability.rb +0 -0
  122. data/lib/facet/enumerable/project.rb +11 -0
  123. data/{packages/core/lib → lib}/facet/enumerable/self/combinations.rb +0 -0
  124. data/{packages/core/lib → lib}/facet/enumerable/self/cross.rb +0 -0
  125. data/{packages/core/lib → lib}/facet/enumerable/to_h.rb +0 -0
  126. data/{packages/core/lib → lib}/facet/enumerable/uniq_by.rb +0 -0
  127. data/lib/facet/enumerable/where.rb +12 -0
  128. data/{packages/core/lib → lib}/facet/file.rb +0 -0
  129. data/{packages/core/lib → lib}/facet/file/self/create.rb +0 -0
  130. data/{packages/core/lib → lib}/facet/file/self/open_as_string.rb +0 -0
  131. data/{packages/core/lib → lib}/facet/file/self/read_list.rb +0 -0
  132. data/{packages/core/lib → lib}/facet/file/self/sanitize.rb +0 -0
  133. data/{packages/core/lib → lib}/facet/file/self/split_all.rb +0 -0
  134. data/{packages/core/lib → lib}/facet/fileutils.rb +0 -0
  135. data/{packages/core/lib → lib}/facet/fileutils/head.rb +0 -0
  136. data/{packages/core/lib → lib}/facet/fileutils/safe_ln.rb +0 -0
  137. data/{packages/core/lib → lib}/facet/fileutils/slice.rb +0 -0
  138. data/{packages/core/lib → lib}/facet/fileutils/split_all.rb +0 -0
  139. data/{packages/core/lib → lib}/facet/fileutils/tail.rb +0 -0
  140. data/{packages/core/lib → lib}/facet/fileutils/wc.rb +0 -0
  141. data/{packages/core/lib → lib}/facet/fileutils/whereis.rb +0 -0
  142. data/{packages/core/lib → lib}/facet/fileutils/which.rb +0 -0
  143. data/{packages/core/lib → lib}/facet/float.rb +0 -0
  144. data/{packages/core/lib → lib}/facet/float/approx.rb +0 -0
  145. data/{packages/core/lib → lib}/facet/float/round_at.rb +0 -0
  146. data/{packages/core/lib → lib}/facet/float/round_to.rb +0 -0
  147. data/{packages/core/lib → lib}/facet/functor.rb +0 -0
  148. data/lib/facet/gem.rb +3 -0
  149. data/lib/facet/gem/self/active.rb +9 -0
  150. data/lib/facet/gem/self/gempath.rb +10 -0
  151. data/lib/facet/gem/self/gemspec.rb +10 -0
  152. data/{packages/core/lib → lib}/facet/hash.rb +0 -0
  153. data/{packages/core/lib → lib}/facet/hash/alias.rb +0 -0
  154. data/{packages/core/lib → lib}/facet/hash/assert_has_keys.rb +0 -0
  155. data/{packages/core/lib → lib}/facet/hash/assert_has_only_keys.rb +0 -0
  156. data/{packages/core/lib → lib}/facet/hash/at.rb +0 -0
  157. data/{packages/core/lib → lib}/facet/hash/collate.rb +0 -0
  158. data/{packages/core/lib → lib}/facet/hash/delete_unless.rb +0 -0
  159. data/{packages/core/lib → lib}/facet/hash/each.rb +0 -0
  160. data/{packages/core/lib → lib}/facet/hash/each_with_index.rb +0 -0
  161. data/{packages/core/lib → lib}/facet/hash/each_with_key.rb +0 -0
  162. data/{packages/core/lib → lib}/facet/hash/graph.rb +0 -0
  163. data/{packages/core/lib → lib}/facet/hash/has_keys.rb +0 -0
  164. data/{packages/core/lib → lib}/facet/hash/has_only_keys.rb +0 -0
  165. data/{packages/core/lib → lib}/facet/hash/inverse.rb +0 -0
  166. data/{packages/core/lib → lib}/facet/hash/join.rb +0 -0
  167. data/{packages/core/lib → lib}/facet/hash/keys_to_iv.rb +0 -0
  168. data/{packages/core/lib → lib}/facet/hash/keys_to_s.rb +0 -0
  169. data/{packages/core/lib → lib}/facet/hash/keys_to_sym.rb +0 -0
  170. data/{packages/core/lib → lib}/facet/hash/op_fetch.rb +0 -0
  171. data/{packages/core/lib → lib}/facet/hash/op_lshift.rb +0 -0
  172. data/{packages/core/lib → lib}/facet/hash/op_store.rb +0 -0
  173. data/{packages/core/lib → lib}/facet/hash/rand_key.rb +0 -0
  174. data/{packages/core/lib → lib}/facet/hash/rand_pair.rb +0 -0
  175. data/{packages/core/lib → lib}/facet/hash/rand_value.rb +0 -0
  176. data/{packages/core/lib → lib}/facet/hash/replace_each.rb +0 -0
  177. data/{packages/core/lib → lib}/facet/hash/self/zipnew.rb +0 -0
  178. data/{packages/core/lib → lib}/facet/hash/shuffle.rb +0 -0
  179. data/{packages/core/lib → lib}/facet/hash/slice.rb +0 -0
  180. data/{packages/core/lib → lib}/facet/hash/stringify_keys.rb +0 -0
  181. data/{packages/core/lib → lib}/facet/hash/swap.rb +0 -0
  182. data/{packages/core/lib → lib}/facet/hash/swapkey.rb +0 -0
  183. data/{packages/core/lib → lib}/facet/hash/symoblize_keys.rb +0 -0
  184. data/{packages/core/lib → lib}/facet/hash/to_h.rb +0 -0
  185. data/{packages/core/lib → lib}/facet/hash/to_ostruct.rb +0 -0
  186. data/{packages/core/lib → lib}/facet/hash/to_ostruct_recurse.rb +0 -0
  187. data/{packages/core/lib → lib}/facet/hash/traverse.rb +0 -0
  188. data/{packages/core/lib → lib}/facet/hash/update_each.rb +0 -0
  189. data/{packages/core/lib → lib}/facet/hash/update_keys.rb +0 -0
  190. data/{packages/core/lib → lib}/facet/hash/update_values.rb +0 -0
  191. data/{packages/core/lib → lib}/facet/hash/variablize_keys.rb +0 -0
  192. data/{packages/core/lib → lib}/facet/hash/weave.rb +0 -0
  193. data/{packages/core/lib → lib}/facet/inflect.rb +0 -0
  194. data/lib/facet/integer.rb +9 -0
  195. data/{packages/core/lib → lib}/facet/integer/even.rb +0 -0
  196. data/{packages/core/lib → lib}/facet/integer/fac.rb +0 -0
  197. data/{packages/core/lib → lib}/facet/integer/fact.rb +0 -0
  198. data/{packages/core/lib → lib}/facet/integer/factorial.rb +0 -0
  199. data/{packages/core/lib → lib}/facet/integer/multiple.rb +0 -0
  200. data/{packages/core/lib → lib}/facet/integer/odd.rb +0 -0
  201. data/{packages/core/lib → lib}/facet/integer/ordinal.rb +0 -0
  202. data/{packages/core/lib → lib}/facet/integer/times_collect.rb +0 -0
  203. data/{packages/core/lib → lib}/facet/integer/times_map.rb +0 -0
  204. data/lib/facet/kernel.rb +68 -0
  205. data/{packages/core/lib → lib}/facet/kernel/__DIR__.rb +0 -0
  206. data/{packages/core/lib → lib}/facet/kernel/__class__.rb +0 -0
  207. data/{packages/core/lib → lib}/facet/kernel/__meta__.rb +0 -0
  208. data/{packages/core/lib → lib}/facet/kernel/adhoc.rb +0 -0
  209. data/{packages/core/lib → lib}/facet/kernel/as.rb +0 -0
  210. data/{packages/core/lib → lib}/facet/kernel/assign_from.rb +0 -0
  211. data/{packages/core/lib → lib}/facet/kernel/assign_with.rb +0 -0
  212. data/{packages/core/lib → lib}/facet/kernel/autoreload.rb +0 -0
  213. data/{packages/core/lib → lib}/facet/kernel/autoreload_files.rb +0 -0
  214. data/{packages/core/lib → lib}/facet/kernel/autoreload_glob.rb +0 -0
  215. data/{packages/core/lib → lib}/facet/kernel/bool.rb +0 -0
  216. data/{packages/core/lib → lib}/facet/kernel/bug.rb +0 -0
  217. data/{packages/core/lib → lib}/facet/kernel/call_stack.rb +0 -0
  218. data/{packages/core/lib → lib}/facet/kernel/called.rb +0 -0
  219. data/{packages/core/lib → lib}/facet/kernel/complete.rb +0 -0
  220. data/{packages/core/lib → lib}/facet/kernel/constant.rb +0 -0
  221. data/{packages/core/lib → lib}/facet/kernel/copy.rb +0 -0
  222. data/{packages/core/lib → lib}/facet/kernel/deep_copy.rb +0 -0
  223. data/{packages/core/lib → lib}/facet/kernel/demo.rb +0 -0
  224. data/{packages/core/lib → lib}/facet/kernel/eigenclass.rb +0 -0
  225. data/{packages/core/lib → lib}/facet/kernel/false.rb +0 -0
  226. data/{packages/core/lib → lib}/facet/kernel/fn.rb +0 -0
  227. data/lib/facet/kernel/generate_method_name.rb +39 -0
  228. data/{packages/core/lib → lib}/facet/kernel/get_by_id.rb +0 -0
  229. data/{packages/core/lib → lib}/facet/kernel/here.rb +0 -0
  230. data/{packages/core/lib → lib}/facet/kernel/in.rb +0 -0
  231. data/{packages/core/lib → lib}/facet/kernel/instance_assign.rb +0 -0
  232. data/{packages/core/lib → lib}/facet/kernel/instvar.rb +0 -0
  233. data/{packages/core/lib → lib}/facet/kernel/is.rb +0 -0
  234. data/{packages/core/lib → lib}/facet/kernel/maybe.rb +0 -0
  235. data/{packages/core/lib → lib}/facet/kernel/me.rb +0 -0
  236. data/{packages/core/lib → lib}/facet/kernel/meta.rb +0 -0
  237. data/{packages/core/lib → lib}/facet/kernel/metaclass.rb +0 -0
  238. data/{packages/core/lib → lib}/facet/kernel/method.rb +0 -0
  239. data/{packages/core/lib → lib}/facet/kernel/method_name.rb +0 -0
  240. data/{packages/core/lib → lib}/facet/kernel/methods.rb +0 -0
  241. data/{packages/core/lib → lib}/facet/kernel/nack.rb +0 -0
  242. data/{packages/core/lib → lib}/facet/kernel/new.rb +0 -0
  243. data/{packages/core/lib → lib}/facet/kernel/object_class.rb +0 -0
  244. data/{packages/core/lib → lib}/facet/kernel/object_hexid.rb +0 -0
  245. data/{packages/core/lib → lib}/facet/kernel/op_esc.rb +0 -0
  246. data/{packages/core/lib → lib}/facet/kernel/own.rb +0 -0
  247. data/{packages/core/lib → lib}/facet/kernel/p.rb +0 -0
  248. data/{packages/core/lib → lib}/facet/kernel/require_all.rb +0 -0
  249. data/{packages/core/lib → lib}/facet/kernel/require_esc.rb +0 -0
  250. data/{packages/core/lib → lib}/facet/kernel/require_facet.rb +0 -0
  251. data/{packages/core/lib → lib}/facet/kernel/require_local.rb +0 -0
  252. data/{packages/core/lib → lib}/facet/kernel/resc.rb +0 -0
  253. data/{packages/core/lib → lib}/facet/kernel/returning.rb +0 -0
  254. data/{packages/core/lib → lib}/facet/kernel/send_as.rb +0 -0
  255. data/{packages/core/lib → lib}/facet/kernel/set_from.rb +0 -0
  256. data/{packages/core/lib → lib}/facet/kernel/set_with.rb +0 -0
  257. data/{packages/core/lib → lib}/facet/kernel/silence_warnings.rb +0 -0
  258. data/{packages/core/lib → lib}/facet/kernel/silently.rb +0 -0
  259. data/{packages/core/lib → lib}/facet/kernel/singleton.rb +0 -0
  260. data/{packages/core/lib → lib}/facet/kernel/superior.rb +0 -0
  261. data/{packages/core/lib → lib}/facet/kernel/supermethod.rb +0 -0
  262. data/{packages/core/lib → lib}/facet/kernel/this.rb +0 -0
  263. data/{packages/core/lib → lib}/facet/kernel/to_b.rb +0 -0
  264. data/{packages/core/lib → lib}/facet/kernel/to_bool.rb +0 -0
  265. data/{packages/core/lib → lib}/facet/kernel/true.rb +0 -0
  266. data/{packages/core/lib → lib}/facet/kernel/unuri.rb +0 -0
  267. data/{packages/core/lib → lib}/facet/kernel/uri.rb +0 -0
  268. data/{packages/core/lib → lib}/facet/kernel/val.rb +0 -0
  269. data/{packages/core/lib → lib}/facet/kernel/warn_with_line.rb +0 -0
  270. data/{packages/core/lib → lib}/facet/kernel/with_accessor.rb +0 -0
  271. data/{packages/core/lib → lib}/facet/kernel/with_reader.rb +0 -0
  272. data/{packages/core/lib → lib}/facet/kernel/with_writer.rb +0 -0
  273. data/{packages/core/lib → lib}/facet/logger.rb +0 -0
  274. data/{packages/core/lib → lib}/facet/logger/format.rb +0 -0
  275. data/{packages/core/lib → lib}/facet/logger/format_message.rb +0 -0
  276. data/{packages/core/lib → lib}/facet/matchdata.rb +0 -0
  277. data/{packages/core/lib → lib}/facet/matchdata/match.rb +0 -0
  278. data/{packages/core/lib → lib}/facet/matchdata/matchset.rb +0 -0
  279. data/{packages/core/lib → lib}/facet/matchdata/matchtree.rb +0 -0
  280. data/{packages/core/lib → lib}/facet/module.rb +0 -0
  281. data/{packages/core/lib → lib}/facet/module/abstract.rb +0 -0
  282. data/{packages/core/lib → lib}/facet/module/alias_module_function.rb +0 -0
  283. data/{packages/core/lib → lib}/facet/module/ancestor.rb +0 -0
  284. data/lib/facet/module/attr.rb +23 -0
  285. data/lib/facet/module/attr_setter.rb +48 -0
  286. data/lib/facet/module/attr_tester.rb +56 -0
  287. data/{packages/core/lib → lib}/facet/module/basename.rb +0 -0
  288. data/{packages/core/lib → lib}/facet/module/by_name.rb +0 -0
  289. data/{packages/core/lib → lib}/facet/module/cattr_accessor.rb +0 -0
  290. data/{packages/core/lib → lib}/facet/module/cattr_reader.rb +0 -0
  291. data/{packages/core/lib → lib}/facet/module/cattr_writer.rb +0 -0
  292. data/{packages/core/lib → lib}/facet/module/clone_removing.rb +0 -0
  293. data/{packages/core/lib → lib}/facet/module/clone_renaming.rb +0 -0
  294. data/{packages/core/lib → lib}/facet/module/clone_using.rb +0 -0
  295. data/{packages/core/lib → lib}/facet/module/dirname.rb +0 -0
  296. data/{packages/core/lib → lib}/facet/module/equate_on.rb +0 -0
  297. data/lib/facet/module/generate_instance_method_name.rb +47 -0
  298. data/{packages/core/lib → lib}/facet/module/include_as.rb +0 -0
  299. data/lib/facet/module/initializer.rb +65 -0
  300. data/{packages/core/lib → lib}/facet/module/instance_methods.rb +0 -0
  301. data/{packages/core/lib → lib}/facet/module/integrate.rb +0 -0
  302. data/{packages/core/lib → lib}/facet/module/is.rb +0 -0
  303. data/{packages/core/lib → lib}/facet/module/memoize.rb +0 -0
  304. data/{packages/core/lib → lib}/facet/module/modspace.rb +0 -0
  305. data/{packages/core/lib → lib}/facet/module/namespace.rb +0 -0
  306. data/{packages/core/lib → lib}/facet/module/nesting.rb +0 -0
  307. data/{packages/core/lib → lib}/facet/module/redef.rb +0 -0
  308. data/{packages/core/lib → lib}/facet/module/redefine_method.rb +0 -0
  309. data/{packages/core/lib → lib}/facet/module/redirect.rb +0 -0
  310. data/{packages/core/lib → lib}/facet/module/redirect_method.rb +0 -0
  311. data/{packages/core/lib → lib}/facet/module/remove.rb +0 -0
  312. data/{packages/core/lib → lib}/facet/module/rename.rb +0 -0
  313. data/{packages/core/lib → lib}/facet/module/rename_method.rb +0 -0
  314. data/{packages/core/lib → lib}/facet/module/revisal.rb +0 -0
  315. data/{packages/core/lib → lib}/facet/module/shadow_all.rb +0 -0
  316. data/{packages/core/lib → lib}/facet/module/shadow_method.rb +0 -0
  317. data/{packages/core/lib → lib}/facet/module/sort_on.rb +0 -0
  318. data/{packages/core/lib → lib}/facet/module/undef.rb +0 -0
  319. data/{packages/core/lib → lib}/facet/module/wrap.rb +0 -0
  320. data/{packages/core/lib → lib}/facet/module/wrap_method.rb +0 -0
  321. data/{packages/core/lib → lib}/facet/nil_as_emptiness.rb +0 -0
  322. data/{packages/core/lib → lib}/facet/nilclass.rb +0 -0
  323. data/{packages/core/lib → lib}/facet/nilclass/empty.rb +0 -0
  324. data/{packages/core/lib → lib}/facet/nilclass/include.rb +0 -0
  325. data/{packages/core/lib → lib}/facet/nilclass/length.rb +0 -0
  326. data/{packages/core/lib → lib}/facet/nilclass/op_fetch.rb +0 -0
  327. data/{packages/core/lib → lib}/facet/nilclass/size.rb +0 -0
  328. data/{packages/core/lib → lib}/facet/nilclass/to_f.rb +0 -0
  329. data/{packages/core/lib → lib}/facet/nilclass/to_h.rb +0 -0
  330. data/{packages/core/lib → lib}/facet/numeric.rb +0 -0
  331. data/{packages/core/lib → lib}/facet/numeric/ceil_multiple.rb +0 -0
  332. data/{packages/core/lib → lib}/facet/numeric/pred.rb +0 -0
  333. data/{packages/core/lib → lib}/facet/numeric/succ.rb +0 -0
  334. data/{packages/core/lib → lib}/facet/numeric/to_b.rb +0 -0
  335. data/{packages/core/lib → lib}/facet/ostruct.rb +0 -0
  336. data/{packages/core/lib → lib}/facet/ostruct/__merge__.rb +0 -0
  337. data/{packages/core/lib → lib}/facet/ostruct/__table__.rb +0 -0
  338. data/{packages/core/lib → lib}/facet/ostruct/__update__.rb +0 -0
  339. data/{packages/core/lib → lib}/facet/ostruct/op_fetch.rb +0 -0
  340. data/{packages/core/lib → lib}/facet/ostruct/op_store.rb +0 -0
  341. data/{packages/core/lib → lib}/facet/ostruct/to_h.rb +0 -0
  342. data/{packages/core/lib → lib}/facet/pathname.rb +0 -0
  343. data/{packages/core/lib → lib}/facet/pathname/ascend.rb +0 -0
  344. data/{packages/core/lib → lib}/facet/pathname/descend.rb +0 -0
  345. data/{packages/core/lib → lib}/facet/proc.rb +0 -0
  346. data/{packages/core/lib → lib}/facet/proc/compose.rb +0 -0
  347. data/{packages/core/lib → lib}/facet/proc/op_mul.rb +0 -0
  348. data/{packages/core/lib → lib}/facet/proc/to_method.rb +0 -0
  349. data/{packages/core/lib → lib}/facet/random.rb +0 -0
  350. data/{packages/core/lib → lib}/facet/range.rb +0 -0
  351. data/{packages/core/lib → lib}/facet/range/to_r.rb +0 -0
  352. data/{packages/core/lib → lib}/facet/range/to_range.rb +0 -0
  353. data/{packages/core/lib → lib}/facet/range/umbrella.rb +0 -0
  354. data/{packages/core/lib → lib}/facet/range/within.rb +0 -0
  355. data/{packages/core/lib → lib}/facet/regexp.rb +0 -0
  356. data/{packages/core/lib → lib}/facet/regexp/arity.rb +0 -0
  357. data/{packages/core/lib → lib}/facet/regexp/to_re.rb +0 -0
  358. data/{packages/core/lib → lib}/facet/regexp/to_regexp.rb +0 -0
  359. data/lib/facet/string.rb +91 -0
  360. data/{packages/core/lib → lib}/facet/string/align_center.rb +0 -0
  361. data/{packages/core/lib → lib}/facet/string/align_left.rb +0 -0
  362. data/{packages/core/lib → lib}/facet/string/align_right.rb +0 -0
  363. data/{packages/core/lib → lib}/facet/string/at.rb +0 -0
  364. data/{packages/core/lib → lib}/facet/string/at_rand.rb +0 -0
  365. data/{packages/core/lib → lib}/facet/string/basename.rb +0 -0
  366. data/{packages/core/lib → lib}/facet/string/blank.rb +0 -0
  367. data/{packages/core/lib → lib}/facet/string/bracket.rb +0 -0
  368. data/{packages/core/lib → lib}/facet/string/brief.rb +0 -0
  369. data/{packages/core/lib → lib}/facet/string/bytes.rb +0 -0
  370. data/{packages/core/lib → lib}/facet/string/camelcase.rb +0 -0
  371. data/{packages/core/lib → lib}/facet/string/camelize.rb +0 -0
  372. data/{packages/core/lib → lib}/facet/string/capitalized.rb +0 -0
  373. data/{packages/core/lib → lib}/facet/string/chars.rb +0 -0
  374. data/{packages/core/lib → lib}/facet/string/cmp.rb +0 -0
  375. data/{packages/core/lib → lib}/facet/string/demodulize.rb +0 -0
  376. data/{packages/core/lib → lib}/facet/string/dequote.rb +0 -0
  377. data/{packages/core/lib → lib}/facet/string/downcase.rb +0 -0
  378. data/{packages/core/lib → lib}/facet/string/dresner.rb +0 -0
  379. data/{packages/core/lib → lib}/facet/string/each_char.rb +0 -0
  380. data/{packages/core/lib → lib}/facet/string/each_word.rb +0 -0
  381. data/{packages/core/lib → lib}/facet/string/ends_with.rb +0 -0
  382. data/{packages/core/lib → lib}/facet/string/first.rb +0 -0
  383. data/{packages/core/lib → lib}/facet/string/first_char.rb +0 -0
  384. data/{packages/core/lib → lib}/facet/string/fold.rb +0 -0
  385. data/{packages/core/lib → lib}/facet/string/format.rb +0 -0
  386. data/{packages/core/lib → lib}/facet/string/frequency.rb +0 -0
  387. data/{packages/core/lib → lib}/facet/string/humanize.rb +0 -0
  388. data/{packages/core/lib → lib}/facet/string/indent.rb +0 -0
  389. data/{packages/core/lib → lib}/facet/string/index_all.rb +0 -0
  390. data/{packages/core/lib → lib}/facet/string/last.rb +0 -0
  391. data/{packages/core/lib → lib}/facet/string/last_char.rb +0 -0
  392. data/{packages/core/lib → lib}/facet/string/line_wrap.rb +0 -0
  393. data/{packages/core/lib → lib}/facet/string/lines.rb +0 -0
  394. data/{packages/core/lib → lib}/facet/string/lowercase.rb +0 -0
  395. data/{packages/core/lib → lib}/facet/string/margin.rb +0 -0
  396. data/lib/facet/string/methodize.rb +44 -0
  397. data/lib/facet/string/modulize.rb +44 -0
  398. data/{packages/core/lib → lib}/facet/string/mscan.rb +0 -0
  399. data/{packages/core/lib → lib}/facet/string/natcmp.rb +0 -0
  400. data/{packages/core/lib → lib}/facet/string/nchar.rb +0 -0
  401. data/{packages/core/lib → lib}/facet/string/ordinal.rb +0 -0
  402. data/lib/facet/string/pathize.rb +46 -0
  403. data/{packages/core/lib → lib}/facet/string/plural.rb +0 -0
  404. data/{packages/core/lib → lib}/facet/string/pop.rb +0 -0
  405. data/{packages/core/lib → lib}/facet/string/probability.rb +0 -0
  406. data/{packages/core/lib → lib}/facet/string/pull.rb +0 -0
  407. data/{packages/core/lib → lib}/facet/string/push.rb +0 -0
  408. data/{packages/core/lib → lib}/facet/string/quote.rb +0 -0
  409. data/{packages/core/lib → lib}/facet/string/rand_byte.rb +0 -0
  410. data/{packages/core/lib → lib}/facet/string/rand_index.rb +0 -0
  411. data/{packages/core/lib → lib}/facet/string/range.rb +0 -0
  412. data/{packages/core/lib → lib}/facet/string/range_all.rb +0 -0
  413. data/{packages/core/lib → lib}/facet/string/range_of_line.rb +0 -0
  414. data/{packages/core/lib → lib}/facet/string/regesc.rb +0 -0
  415. data/{packages/core/lib → lib}/facet/string/self/format.rb +0 -0
  416. data/{packages/core/lib → lib}/facet/string/self/interpolate.rb +0 -0
  417. data/{packages/core/lib → lib}/facet/string/self/patterns.rb +0 -0
  418. data/{packages/core/lib → lib}/facet/string/self/rand_letter.rb +0 -0
  419. data/lib/facet/string/self/random.rb +37 -0
  420. data/{packages/core/lib → lib}/facet/string/shatter.rb +0 -0
  421. data/{packages/core/lib → lib}/facet/string/shift.rb +0 -0
  422. data/{packages/core/lib → lib}/facet/string/shuffle.rb +0 -0
  423. data/{packages/core/lib → lib}/facet/string/similarity.rb +0 -0
  424. data/{packages/core/lib → lib}/facet/string/singular.rb +0 -0
  425. data/{packages/core/lib → lib}/facet/string/slap.rb +0 -0
  426. data/{packages/core/lib → lib}/facet/string/soundex.rb +0 -0
  427. data/{packages/core/lib → lib}/facet/string/starts_with.rb +0 -0
  428. data/{packages/core/lib → lib}/facet/string/succ.rb +0 -0
  429. data/{packages/core/lib → lib}/facet/string/tab.rb +0 -0
  430. data/{packages/core/lib → lib}/facet/string/tabto.rb +0 -0
  431. data/{packages/core/lib → lib}/facet/string/to_a.rb +0 -0
  432. data/{packages/core/lib → lib}/facet/string/to_arr.rb +0 -0
  433. data/{packages/core/lib → lib}/facet/string/to_b.rb +0 -0
  434. data/{packages/core/lib → lib}/facet/string/to_const.rb +0 -0
  435. data/{packages/core/lib → lib}/facet/string/to_date.rb +0 -0
  436. data/{packages/core/lib → lib}/facet/string/to_proc.rb +0 -0
  437. data/{packages/core/lib → lib}/facet/string/to_re.rb +0 -0
  438. data/{packages/core/lib → lib}/facet/string/to_rx.rb +0 -0
  439. data/{packages/core/lib → lib}/facet/string/to_time.rb +0 -0
  440. data/lib/facet/string/unbracket.rb +46 -0
  441. data/{packages/core/lib → lib}/facet/string/underscore.rb +0 -0
  442. data/{packages/core/lib → lib}/facet/string/unix_crypt.rb +0 -0
  443. data/{packages/core/lib → lib}/facet/string/unpack.rb +0 -0
  444. data/{packages/core/lib → lib}/facet/string/unshift.rb +0 -0
  445. data/{packages/core/lib → lib}/facet/string/upcase.rb +0 -0
  446. data/{packages/core/lib → lib}/facet/string/uppercase.rb +0 -0
  447. data/{packages/core/lib → lib}/facet/string/whitespace.rb +0 -0
  448. data/{packages/core/lib → lib}/facet/string/word_filter.rb +0 -0
  449. data/{packages/core/lib → lib}/facet/string/word_wrap.rb +0 -0
  450. data/{packages/core/lib → lib}/facet/string/words.rb +0 -0
  451. data/{packages/core/lib → lib}/facet/string_as_array.rb +0 -0
  452. data/{packages/core/lib → lib}/facet/symbol.rb +0 -0
  453. data/{packages/core/lib → lib}/facet/symbol/camelcase.rb +0 -0
  454. data/{packages/core/lib → lib}/facet/symbol/camelize.rb +0 -0
  455. data/{packages/core/lib → lib}/facet/symbol/capitalize.rb +0 -0
  456. data/{packages/core/lib → lib}/facet/symbol/capitalized.rb +0 -0
  457. data/{packages/core/lib → lib}/facet/symbol/downcase.rb +0 -0
  458. data/lib/facet/symbol/not.rb +40 -0
  459. data/{packages/core/lib → lib}/facet/symbol/pad.rb +0 -0
  460. data/{packages/core/lib → lib}/facet/symbol/succ.rb +0 -0
  461. data/{packages/core/lib → lib}/facet/symbol/to_const.rb +0 -0
  462. data/{packages/core/lib → lib}/facet/symbol/to_proc.rb +0 -0
  463. data/{packages/core/lib → lib}/facet/symbol/to_str.rb +0 -0
  464. data/{packages/core/lib → lib}/facet/symbol/underscore.rb +0 -0
  465. data/{packages/core/lib → lib}/facet/symbol/upcase.rb +0 -0
  466. data/lib/facet/time.rb +8 -0
  467. data/{packages/core/lib → lib}/facet/time/change.rb +0 -0
  468. data/{packages/core/lib → lib}/facet/time/elapse.rb +0 -0
  469. data/{packages/core/lib → lib}/facet/time/self/days_extrema.rb +0 -0
  470. data/{packages/core/lib → lib}/facet/time/self/stamp.rb +0 -0
  471. data/{packages/core/lib → lib}/facet/time/stamp.rb +0 -0
  472. data/{packages/core/lib → lib}/facet/time/to_date.rb +0 -0
  473. data/{packages/core/lib → lib}/facet/time/to_s.rb +0 -0
  474. data/{packages/core/lib → lib}/facet/time/to_time.rb +0 -0
  475. data/{packages/core/lib → lib}/facet/unboundmethod.rb +0 -0
  476. data/{packages/core/lib → lib}/facet/unboundmethod/name.rb +0 -0
  477. data/{packages/core/lib → lib}/facets.rb +0 -0
  478. data/setup.rb +1 -0
  479. data/{packages/core/test → test}/FIXTURE/create_file +0 -0
  480. data/{packages/core/test → test}/FIXTURE/ls_r/A.txt +0 -0
  481. data/{packages/core/test → test}/FIXTURE/ls_r/A/B.txt +0 -0
  482. data/{packages/core/test → test}/FIXTURE/ls_r/A/B/C.txt +0 -0
  483. data/{packages/core/test → test}/FIXTURE/open_as_string_file +0 -0
  484. data/{packages/core/test → test}/FIXTURE/read_list_file +0 -0
  485. data/{packages/core/test → test}/FIXTURE/test_file.txt +0 -0
  486. data/{packages/core/test → test}/FIXTURE/test_file2.txt +0 -0
  487. data/test/lib/facet/array/test_at_rand.rb +34 -0
  488. data/test/lib/facet/array/test_delete_unless.rb +28 -0
  489. data/test/lib/facet/array/test_delete_values.rb +28 -0
  490. data/test/lib/facet/array/test_delete_values_at.rb +31 -0
  491. data/test/lib/facet/array/test_first.rb +46 -0
  492. data/test/lib/facet/array/test_head.rb +42 -0
  493. data/test/lib/facet/array/test_last_index.rb +26 -0
  494. data/test/lib/facet/array/test_merge.rb +35 -0
  495. data/test/lib/facet/array/test_mid.rb +33 -0
  496. data/test/lib/facet/array/test_middle.rb +29 -0
  497. data/test/lib/facet/array/test_op_fetch.rb +27 -0
  498. data/test/lib/facet/array/test_op_store.rb +30 -0
  499. data/test/lib/facet/array/test_pick.rb +40 -0
  500. data/test/lib/facet/array/test_pos.rb +28 -0
  501. data/test/lib/facet/array/test_pull.rb +28 -0
  502. data/test/lib/facet/array/test_rand_index.rb +29 -0
  503. data/test/lib/facet/array/test_rand_subset.rb +29 -0
  504. data/test/lib/facet/array/test_range.rb +32 -0
  505. data/test/lib/facet/array/test_rotate.rb +36 -0
  506. data/test/lib/facet/array/test_select.rb +28 -0
  507. data/test/lib/facet/array/test_shuffle.rb +35 -0
  508. data/test/lib/facet/array/test_slap.rb +28 -0
  509. data/test/lib/facet/array/test_thru.rb +27 -0
  510. data/test/lib/facet/array/test_to_b.rb +27 -0
  511. data/test/lib/facet/array/test_to_h.rb +33 -0
  512. data/test/lib/facet/array/test_to_hash.rb +27 -0
  513. data/test/lib/facet/binding/self/test_of_caller.rb +35 -0
  514. data/test/lib/facet/binding/test___LINE__.rb +43 -0
  515. data/test/lib/facet/binding/test_call_stack.rb +34 -0
  516. data/test/lib/facet/binding/test_called.rb +30 -0
  517. data/test/lib/facet/binding/test_caller.rb +35 -0
  518. data/test/lib/facet/binding/test_defined.rb +34 -0
  519. data/test/lib/facet/binding/test_eval.rb +34 -0
  520. data/test/lib/facet/binding/test_local_variables.rb +34 -0
  521. data/test/lib/facet/binding/test_method_name.rb +34 -0
  522. data/test/lib/facet/binding/test_op_fetch.rb +34 -0
  523. data/test/lib/facet/binding/test_op_store.rb +35 -0
  524. data/test/lib/facet/binding/test_self.rb +34 -0
  525. data/test/lib/facet/class/test_descendents.rb +30 -0
  526. data/test/lib/facet/class/test_method_name.rb +26 -0
  527. data/test/lib/facet/class/test_remove_descendents.rb +32 -0
  528. data/test/lib/facet/class/test_unix_path.rb +26 -0
  529. data/test/lib/facet/comparable/test_at_least.rb +34 -0
  530. data/test/lib/facet/comparable/test_clip.rb +44 -0
  531. data/test/lib/facet/comparable/test_cmp.rb +28 -0
  532. data/test/lib/facet/continuation/self/test_create.rb +26 -0
  533. data/test/lib/facet/date/test_days_in_month.rb +30 -0
  534. data/test/lib/facet/date/test_days_of_month.rb +30 -0
  535. data/test/lib/facet/date/test_stamp.rb +38 -0
  536. data/test/lib/facet/date/test_to_date.rb +30 -0
  537. data/test/lib/facet/date/test_to_s.rb +30 -0
  538. data/test/lib/facet/date/test_to_time.rb +30 -0
  539. data/test/lib/facet/dir/self/test_ancestor.rb +26 -0
  540. data/test/lib/facet/dir/self/test_ascend.rb +41 -0
  541. data/test/lib/facet/dir/self/test_ls_r.rb +52 -0
  542. data/test/lib/facet/enumerable/self/test_combinations.rb +43 -0
  543. data/test/lib/facet/enumerable/self/test_cross.rb +31 -0
  544. data/test/lib/facet/enumerable/test_collect_with_index.rb +27 -0
  545. data/test/lib/facet/enumerable/test_commonality.rb +31 -0
  546. data/test/lib/facet/enumerable/test_compact_collect.rb +27 -0
  547. data/test/lib/facet/enumerable/test_cross.rb +30 -0
  548. data/test/lib/facet/enumerable/test_each_combination.rb +29 -0
  549. data/test/lib/facet/enumerable/test_each_pair.rb +29 -0
  550. data/test/lib/facet/enumerable/test_each_slice.rb +74 -0
  551. data/test/lib/facet/enumerable/test_each_unique_pair.rb +29 -0
  552. data/test/lib/facet/enumerable/test_entropy.rb +26 -0
  553. data/test/lib/facet/enumerable/test_every.rb +35 -0
  554. data/test/lib/facet/enumerable/test_ew.rb +31 -0
  555. data/test/lib/facet/enumerable/test_filter_collect.rb +31 -0
  556. data/test/lib/facet/enumerable/test_find_collisions.rb +30 -0
  557. data/test/lib/facet/enumerable/test_frequency.rb +27 -0
  558. data/test/lib/facet/enumerable/test_graph.rb +30 -0
  559. data/test/lib/facet/enumerable/test_ideal_entropy.rb +27 -0
  560. data/test/lib/facet/enumerable/test_none.rb +33 -0
  561. data/test/lib/facet/enumerable/test_occur.rb +30 -0
  562. data/test/lib/facet/enumerable/test_one.rb +35 -0
  563. data/test/lib/facet/enumerable/test_op_pow.rb +27 -0
  564. data/test/lib/facet/enumerable/test_partition_by.rb +31 -0
  565. data/test/lib/facet/enumerable/test_permute.rb +29 -0
  566. data/test/lib/facet/enumerable/test_probability.rb +27 -0
  567. data/test/lib/facet/enumerable/test_to_h.rb +27 -0
  568. data/test/lib/facet/enumerable/test_uniq_by.rb +28 -0
  569. data/test/lib/facet/file/self/test_create.rb +39 -0
  570. data/test/lib/facet/file/self/test_open_as_string.rb +40 -0
  571. data/test/lib/facet/file/self/test_read_list.rb +37 -0
  572. data/test/lib/facet/file/self/test_sanitize.rb +46 -0
  573. data/test/lib/facet/file/self/test_split_all.rb +27 -0
  574. data/{packages/core/test → test}/lib/facet/fileutils/test_slice.rb +0 -0
  575. data/test/lib/facet/fileutils/test_wc.rb +68 -0
  576. data/test/lib/facet/fileutils/test_which.rb +61 -0
  577. data/test/lib/facet/float/test_approx.rb +28 -0
  578. data/test/lib/facet/float/test_round_at.rb +46 -0
  579. data/test/lib/facet/float/test_round_to.rb +46 -0
  580. data/test/lib/facet/hash/self/test_zipnew.rb +28 -0
  581. data/test/lib/facet/hash/test_alias.rb +31 -0
  582. data/test/lib/facet/hash/test_assert_has_keys.rb +27 -0
  583. data/test/lib/facet/hash/test_assert_has_only_keys.rb +27 -0
  584. data/test/lib/facet/hash/test_at.rb +28 -0
  585. data/test/lib/facet/hash/test_collate.rb +35 -0
  586. data/test/lib/facet/hash/test_each.rb +36 -0
  587. data/test/lib/facet/hash/test_each_with_index.rb +29 -0
  588. data/test/lib/facet/hash/test_each_with_key.rb +29 -0
  589. data/test/lib/facet/hash/test_graph.rb +28 -0
  590. data/test/lib/facet/hash/test_has_keys.rb +27 -0
  591. data/test/lib/facet/hash/test_has_only_keys.rb +27 -0
  592. data/test/lib/facet/hash/test_inverse.rb +28 -0
  593. data/test/lib/facet/hash/test_keys_to_s.rb +34 -0
  594. data/test/lib/facet/hash/test_keys_to_sym.rb +34 -0
  595. data/test/lib/facet/hash/test_op_fetch.rb +111 -0
  596. data/test/lib/facet/hash/test_op_lshift.rb +29 -0
  597. data/test/lib/facet/hash/test_rand_key.rb +27 -0
  598. data/test/lib/facet/hash/test_rand_pair.rb +27 -0
  599. data/test/lib/facet/hash/test_rand_value.rb +27 -0
  600. data/test/lib/facet/hash/test_replace_each.rb +29 -0
  601. data/test/lib/facet/hash/test_shuffle.rb +32 -0
  602. data/test/lib/facet/hash/test_slice.rb +27 -0
  603. data/test/lib/facet/hash/test_swap.rb +27 -0
  604. data/test/lib/facet/hash/test_swapkey.rb +29 -0
  605. data/test/lib/facet/hash/test_to_h.rb +27 -0
  606. data/test/lib/facet/hash/test_to_ostruct.rb +30 -0
  607. data/test/lib/facet/hash/test_to_ostruct_recurse.rb +30 -0
  608. data/test/lib/facet/hash/test_traverse.rb +37 -0
  609. data/test/lib/facet/hash/test_update_each.rb +29 -0
  610. data/test/lib/facet/hash/test_update_keys.rb +28 -0
  611. data/test/lib/facet/hash/test_update_values.rb +28 -0
  612. data/test/lib/facet/hash/test_weave.rb +29 -0
  613. data/test/lib/facet/integer/test_factorial.rb +30 -0
  614. data/test/lib/facet/integer/test_multiple.rb +43 -0
  615. data/test/lib/facet/integer/test_ordinal.rb +29 -0
  616. data/test/lib/facet/integer/test_times_collect.rb +28 -0
  617. data/test/lib/facet/kernel/test___class__.rb +26 -0
  618. data/test/lib/facet/kernel/test_as.rb +42 -0
  619. data/test/lib/facet/kernel/test_assign_from.rb +31 -0
  620. data/test/lib/facet/kernel/test_assign_with.rb +31 -0
  621. data/test/lib/facet/kernel/test_bool.rb +41 -0
  622. data/test/lib/facet/kernel/test_bug.rb +26 -0
  623. data/test/lib/facet/kernel/test_call_stack.rb +26 -0
  624. data/test/lib/facet/kernel/test_called.rb +26 -0
  625. data/test/lib/facet/kernel/test_constant.rb +33 -0
  626. data/test/lib/facet/kernel/test_copy.rb +40 -0
  627. data/test/lib/facet/kernel/test_deep_copy.rb +40 -0
  628. data/test/lib/facet/kernel/test_demo.rb +28 -0
  629. data/test/lib/facet/kernel/test_fn.rb +26 -0
  630. data/test/lib/facet/kernel/test_generate_method_name.rb +26 -0
  631. data/test/lib/facet/kernel/test_get_by_id.rb +28 -0
  632. data/test/lib/facet/kernel/test_here.rb +26 -0
  633. data/test/lib/facet/kernel/test_in.rb +27 -0
  634. data/test/lib/facet/kernel/test_maybe.rb +26 -0
  635. data/test/lib/facet/kernel/test_metaclass.rb +34 -0
  636. data/test/lib/facet/kernel/test_method.rb +32 -0
  637. data/test/lib/facet/kernel/test_method_name.rb +31 -0
  638. data/test/lib/facet/kernel/test_methods.rb +50 -0
  639. data/test/lib/facet/kernel/test_new.rb +30 -0
  640. data/test/lib/facet/kernel/test_object_class.rb +26 -0
  641. data/test/lib/facet/kernel/test_object_hexid.rb +27 -0
  642. data/test/lib/facet/kernel/test_require_all.rb +26 -0
  643. data/test/lib/facet/kernel/test_require_esc.rb +27 -0
  644. data/test/lib/facet/kernel/test_require_facet.rb +27 -0
  645. data/test/lib/facet/kernel/test_resc.rb +27 -0
  646. data/test/lib/facet/kernel/test_returning.rb +30 -0
  647. data/test/lib/facet/kernel/test_send_as.rb +26 -0
  648. data/test/lib/facet/kernel/test_set_from.rb +33 -0
  649. data/test/lib/facet/kernel/test_set_with.rb +33 -0
  650. data/test/lib/facet/kernel/test_silently.rb +28 -0
  651. data/test/lib/facet/kernel/test_singleton.rb +40 -0
  652. data/test/lib/facet/kernel/test_superior.rb +30 -0
  653. data/test/lib/facet/kernel/test_supermethod.rb +33 -0
  654. data/test/lib/facet/kernel/test_this.rb +26 -0
  655. data/test/lib/facet/kernel/test_to_b.rb +28 -0
  656. data/test/lib/facet/kernel/test_to_bool.rb +28 -0
  657. data/test/lib/facet/kernel/test_uri.rb +30 -0
  658. data/test/lib/facet/kernel/test_val.rb +43 -0
  659. data/test/lib/facet/kernel/test_with_accessor.rb +51 -0
  660. data/test/lib/facet/matchdata/test_match.rb +29 -0
  661. data/test/lib/facet/matchdata/test_matchtree.rb +32 -0
  662. data/test/lib/facet/module/test_abstract.rb +36 -0
  663. data/test/lib/facet/module/test_alias_module_function.rb +34 -0
  664. data/test/lib/facet/module/test_ancestor.rb +26 -0
  665. data/test/lib/facet/module/test_basename.rb +26 -0
  666. data/test/lib/facet/module/test_by_name.rb +29 -0
  667. data/test/lib/facet/module/test_cattr_accessor.rb +55 -0
  668. data/test/lib/facet/module/test_clone_using.rb +55 -0
  669. data/test/lib/facet/module/test_dirname.rb +26 -0
  670. data/test/lib/facet/module/test_equate_on.rb +37 -0
  671. data/test/lib/facet/module/test_generate_instance_method_name.rb +33 -0
  672. data/test/lib/facet/module/test_include_as.rb +35 -0
  673. data/test/lib/facet/module/test_initializer.rb +32 -0
  674. data/test/lib/facet/module/test_instance_methods.rb +59 -0
  675. data/test/lib/facet/module/test_integrate.rb +35 -0
  676. data/test/lib/facet/module/test_memoize.rb +50 -0
  677. data/test/lib/facet/module/test_modspace.rb +27 -0
  678. data/test/lib/facet/module/test_namespace.rb +33 -0
  679. data/test/lib/facet/module/test_nesting.rb +36 -0
  680. data/test/lib/facet/module/test_redef.rb +30 -0
  681. data/test/lib/facet/module/test_redefine_method.rb +30 -0
  682. data/test/lib/facet/module/test_redirect.rb +30 -0
  683. data/test/lib/facet/module/test_redirect_method.rb +30 -0
  684. data/test/lib/facet/module/test_remove.rb +30 -0
  685. data/test/lib/facet/module/test_rename.rb +31 -0
  686. data/test/lib/facet/module/test_rename_method.rb +31 -0
  687. data/test/lib/facet/module/test_revisal.rb +35 -0
  688. data/test/lib/facet/module/test_shadow_method.rb +30 -0
  689. data/test/lib/facet/module/test_sort_on.rb +42 -0
  690. data/test/lib/facet/module/test_undef.rb +30 -0
  691. data/test/lib/facet/module/test_wrap.rb +30 -0
  692. data/test/lib/facet/module/test_wrap_method.rb +30 -0
  693. data/test/lib/facet/nilclass/test_empty.rb +26 -0
  694. data/test/lib/facet/nilclass/test_include.rb +26 -0
  695. data/test/lib/facet/nilclass/test_op_fetch.rb +28 -0
  696. data/test/lib/facet/nilclass/test_size.rb +30 -0
  697. data/test/lib/facet/nilclass/test_to_f.rb +26 -0
  698. data/test/lib/facet/nilclass/test_to_h.rb +26 -0
  699. data/test/lib/facet/numeric/test_ceil_multiple.rb +31 -0
  700. data/test/lib/facet/numeric/test_succ.rb +40 -0
  701. data/test/lib/facet/numeric/test_to_b.rb +27 -0
  702. data/test/lib/facet/ostruct/test___merge__.rb +38 -0
  703. data/test/lib/facet/ostruct/test___update__.rb +29 -0
  704. data/test/lib/facet/ostruct/test_op_fetch.rb +27 -0
  705. data/test/lib/facet/ostruct/test_op_store.rb +28 -0
  706. data/test/lib/facet/proc/test_compose.rb +36 -0
  707. data/test/lib/facet/proc/test_to_method.rb +31 -0
  708. data/test/lib/facet/range/test_to_r.rb +27 -0
  709. data/test/lib/facet/range/test_to_range.rb +27 -0
  710. data/test/lib/facet/range/test_umbrella.rb +34 -0
  711. data/test/lib/facet/range/test_within.rb +29 -0
  712. data/test/lib/facet/regexp/test_arity.rb +33 -0
  713. data/test/lib/facet/regexp/test_to_re.rb +27 -0
  714. data/test/lib/facet/regexp/test_to_regexp.rb +27 -0
  715. data/test/lib/facet/string/self/test_interpolate.rb +27 -0
  716. data/test/lib/facet/string/self/test_patterns.rb +28 -0
  717. data/test/lib/facet/string/self/test_rand_letter.rb +26 -0
  718. data/test/lib/facet/string/test_align_center.rb +34 -0
  719. data/test/lib/facet/string/test_at_rand.rb +35 -0
  720. data/test/lib/facet/string/test_basename.rb +41 -0
  721. data/test/lib/facet/string/test_blank.rb +27 -0
  722. data/test/lib/facet/string/test_bracket.rb +49 -0
  723. data/test/lib/facet/string/test_camelcase.rb +39 -0
  724. data/test/lib/facet/string/test_camelize.rb +26 -0
  725. data/test/lib/facet/string/test_capitalized.rb +26 -0
  726. data/test/lib/facet/string/test_chars.rb +27 -0
  727. data/test/lib/facet/string/test_cmp.rb +30 -0
  728. data/test/lib/facet/string/test_demodulize.rb +38 -0
  729. data/test/lib/facet/string/test_downcase.rb +26 -0
  730. data/test/lib/facet/string/test_dresner.rb +32 -0
  731. data/test/lib/facet/string/test_each_char.rb +29 -0
  732. data/test/lib/facet/string/test_each_word.rb +29 -0
  733. data/test/lib/facet/string/test_first.rb +43 -0
  734. data/test/lib/facet/string/test_fold.rb +34 -0
  735. data/test/lib/facet/string/test_frequency.rb +28 -0
  736. data/test/lib/facet/string/test_humanize.rb +26 -0
  737. data/test/lib/facet/string/test_indent.rb +40 -0
  738. data/test/lib/facet/string/test_index_all.rb +26 -0
  739. data/test/lib/facet/string/test_last.rb +46 -0
  740. data/test/lib/facet/string/test_line_wrap.rb +27 -0
  741. data/test/lib/facet/string/test_lines.rb +26 -0
  742. data/test/lib/facet/string/test_lowercase.rb +26 -0
  743. data/test/lib/facet/string/test_margin.rb +117 -0
  744. data/test/lib/facet/string/test_methodize.rb +27 -0
  745. data/test/lib/facet/string/test_modulize.rb +29 -0
  746. data/test/lib/facet/string/test_mscan.rb +30 -0
  747. data/test/lib/facet/string/test_natcmp.rb +30 -0
  748. data/test/lib/facet/string/test_nchar.rb +29 -0
  749. data/test/lib/facet/string/test_pathize.rb +29 -0
  750. data/test/lib/facet/string/test_pop.rb +47 -0
  751. data/test/lib/facet/string/test_probability.rb +28 -0
  752. data/test/lib/facet/string/test_push.rb +40 -0
  753. data/test/lib/facet/string/test_quote.rb +49 -0
  754. data/test/lib/facet/string/test_rand_byte.rb +35 -0
  755. data/test/lib/facet/string/test_rand_index.rb +26 -0
  756. data/test/lib/facet/string/test_range.rb +27 -0
  757. data/test/lib/facet/string/test_range_all.rb +27 -0
  758. data/test/lib/facet/string/test_range_of_line.rb +28 -0
  759. data/test/lib/facet/string/test_regesc.rb +28 -0
  760. data/test/lib/facet/string/test_shatter.rb +29 -0
  761. data/test/lib/facet/string/test_shift.rb +40 -0
  762. data/test/lib/facet/string/test_shuffle.rb +27 -0
  763. data/test/lib/facet/string/test_similarity.rb +26 -0
  764. data/test/lib/facet/string/test_singular.rb +32 -0
  765. data/test/lib/facet/string/test_slap.rb +40 -0
  766. data/test/lib/facet/string/test_soundex.rb +41 -0
  767. data/test/lib/facet/string/test_succ.rb +29 -0
  768. data/test/lib/facet/string/test_to_a.rb +27 -0
  769. data/test/lib/facet/string/test_to_arr.rb +26 -0
  770. data/test/lib/facet/string/test_to_b.rb +41 -0
  771. data/test/lib/facet/string/test_to_const.rb +28 -0
  772. data/test/lib/facet/string/test_to_date.rb +30 -0
  773. data/test/lib/facet/string/test_to_proc.rb +33 -0
  774. data/test/lib/facet/string/test_to_re.rb +28 -0
  775. data/test/lib/facet/string/test_to_time.rb +30 -0
  776. data/test/lib/facet/string/test_unix_crypt.rb +30 -0
  777. data/test/lib/facet/string/test_unpack.rb +34 -0
  778. data/test/lib/facet/string/test_unshift.rb +39 -0
  779. data/test/lib/facet/string/test_upcase.rb +30 -0
  780. data/test/lib/facet/string/test_whitespace.rb +27 -0
  781. data/test/lib/facet/string/test_word_filter.rb +34 -0
  782. data/test/lib/facet/string/test_word_wrap.rb +51 -0
  783. data/test/lib/facet/string/test_words.rb +37 -0
  784. data/test/lib/facet/symbol/test_camelcase.rb +26 -0
  785. data/test/lib/facet/symbol/test_camelize.rb +27 -0
  786. data/test/lib/facet/symbol/test_capitalize.rb +26 -0
  787. data/test/lib/facet/symbol/test_capitalized.rb +27 -0
  788. data/test/lib/facet/symbol/test_downcase.rb +27 -0
  789. data/test/lib/facet/symbol/test_not.rb +29 -0
  790. data/test/lib/facet/symbol/test_pad.rb +27 -0
  791. data/test/lib/facet/symbol/test_succ.rb +28 -0
  792. data/test/lib/facet/symbol/test_to_const.rb +28 -0
  793. data/test/lib/facet/symbol/test_to_proc.rb +27 -0
  794. data/test/lib/facet/symbol/test_to_str.rb +28 -0
  795. data/test/lib/facet/symbol/test_underscore.rb +26 -0
  796. data/test/lib/facet/symbol/test_upcase.rb +27 -0
  797. data/test/lib/facet/time/test_change.rb +33 -0
  798. data/test/lib/facet/time/test_elapse.rb +27 -0
  799. data/test/lib/facet/time/test_stamp.rb +31 -0
  800. data/test/lib/facet/time/test_to_date.rb +31 -0
  801. data/test/lib/facet/time/test_to_s.rb +31 -0
  802. data/test/lib/facet/time/test_to_time.rb +31 -0
  803. data/{packages/core/test → test}/testdir.rb +0 -0
  804. metadata +891 -1084
  805. data/packages/core/AUTHORS +0 -33
  806. data/packages/core/CHANGELOG +0 -257
  807. data/packages/core/COPYING +0 -403
  808. data/packages/core/ProjectInfo +0 -39
  809. data/packages/core/README +0 -252
  810. data/packages/core/Rakefile +0 -175
  811. data/packages/core/lib/facet/array.rb +0 -33
  812. data/packages/core/lib/facet/class.rb +0 -5
  813. data/packages/core/lib/facet/class/unix_path.rb +0 -32
  814. data/packages/core/lib/facet/enumerable.rb +0 -38
  815. data/packages/core/lib/facet/enumerable/project.rb +0 -11
  816. data/packages/core/lib/facet/enumerable/where.rb +0 -12
  817. data/packages/core/lib/facet/integer.rb +0 -8
  818. data/packages/core/lib/facet/kernel.rb +0 -65
  819. data/packages/core/lib/facet/kernel/generate_method_name.rb +0 -39
  820. data/packages/core/lib/facet/module/attr.rb +0 -23
  821. data/packages/core/lib/facet/module/attr_setter.rb +0 -48
  822. data/packages/core/lib/facet/module/attr_tester.rb +0 -56
  823. data/packages/core/lib/facet/module/generate_instance_method_name.rb +0 -47
  824. data/packages/core/lib/facet/module/initializer.rb +0 -65
  825. data/packages/core/lib/facet/string.rb +0 -86
  826. data/packages/core/lib/facet/string/self/random.rb +0 -36
  827. data/packages/core/lib/facet/string/unbracket.rb +0 -46
  828. data/packages/core/lib/facet/symbol/not.rb +0 -40
  829. data/packages/core/lib/facet/time.rb +0 -7
  830. data/packages/core/test/FIXTURE/filelist/testfile.txt +0 -0
  831. data/packages/core/test/FIXTURE/filelist/testfile2.txt +0 -0
  832. data/packages/core/test/lib/facet/array/test_at_rand.rb +0 -34
  833. data/packages/core/test/lib/facet/array/test_delete_unless.rb +0 -28
  834. data/packages/core/test/lib/facet/array/test_delete_values.rb +0 -28
  835. data/packages/core/test/lib/facet/array/test_delete_values_at.rb +0 -31
  836. data/packages/core/test/lib/facet/array/test_first.rb +0 -46
  837. data/packages/core/test/lib/facet/array/test_head.rb +0 -42
  838. data/packages/core/test/lib/facet/array/test_last_index.rb +0 -26
  839. data/packages/core/test/lib/facet/array/test_merge.rb +0 -35
  840. data/packages/core/test/lib/facet/array/test_mid.rb +0 -33
  841. data/packages/core/test/lib/facet/array/test_middle.rb +0 -29
  842. data/packages/core/test/lib/facet/array/test_op_fetch.rb +0 -27
  843. data/packages/core/test/lib/facet/array/test_op_store.rb +0 -30
  844. data/packages/core/test/lib/facet/array/test_pick.rb +0 -40
  845. data/packages/core/test/lib/facet/array/test_pos.rb +0 -28
  846. data/packages/core/test/lib/facet/array/test_pull.rb +0 -28
  847. data/packages/core/test/lib/facet/array/test_rand_index.rb +0 -29
  848. data/packages/core/test/lib/facet/array/test_rand_subset.rb +0 -29
  849. data/packages/core/test/lib/facet/array/test_range.rb +0 -32
  850. data/packages/core/test/lib/facet/array/test_rotate.rb +0 -36
  851. data/packages/core/test/lib/facet/array/test_select.rb +0 -28
  852. data/packages/core/test/lib/facet/array/test_shuffle.rb +0 -35
  853. data/packages/core/test/lib/facet/array/test_slap.rb +0 -28
  854. data/packages/core/test/lib/facet/array/test_thru.rb +0 -27
  855. data/packages/core/test/lib/facet/array/test_to_b.rb +0 -27
  856. data/packages/core/test/lib/facet/array/test_to_h.rb +0 -33
  857. data/packages/core/test/lib/facet/array/test_to_hash.rb +0 -27
  858. data/packages/core/test/lib/facet/binding/self/test_of_caller.rb +0 -35
  859. data/packages/core/test/lib/facet/binding/test___LINE__.rb +0 -43
  860. data/packages/core/test/lib/facet/binding/test_call_stack.rb +0 -34
  861. data/packages/core/test/lib/facet/binding/test_called.rb +0 -30
  862. data/packages/core/test/lib/facet/binding/test_caller.rb +0 -35
  863. data/packages/core/test/lib/facet/binding/test_defined.rb +0 -34
  864. data/packages/core/test/lib/facet/binding/test_eval.rb +0 -34
  865. data/packages/core/test/lib/facet/binding/test_local_variables.rb +0 -34
  866. data/packages/core/test/lib/facet/binding/test_method_name.rb +0 -34
  867. data/packages/core/test/lib/facet/binding/test_op_fetch.rb +0 -34
  868. data/packages/core/test/lib/facet/binding/test_op_store.rb +0 -35
  869. data/packages/core/test/lib/facet/binding/test_self.rb +0 -34
  870. data/packages/core/test/lib/facet/class/test_descendents.rb +0 -30
  871. data/packages/core/test/lib/facet/class/test_remove_descendents.rb +0 -32
  872. data/packages/core/test/lib/facet/comparable/test_at_least.rb +0 -34
  873. data/packages/core/test/lib/facet/comparable/test_clip.rb +0 -44
  874. data/packages/core/test/lib/facet/comparable/test_cmp.rb +0 -28
  875. data/packages/core/test/lib/facet/continuation/self/test_create.rb +0 -26
  876. data/packages/core/test/lib/facet/date/test_days_in_month.rb +0 -30
  877. data/packages/core/test/lib/facet/date/test_days_of_month.rb +0 -30
  878. data/packages/core/test/lib/facet/date/test_stamp.rb +0 -38
  879. data/packages/core/test/lib/facet/date/test_to_date.rb +0 -30
  880. data/packages/core/test/lib/facet/date/test_to_s.rb +0 -30
  881. data/packages/core/test/lib/facet/date/test_to_time.rb +0 -30
  882. data/packages/core/test/lib/facet/dir/self/test_ancestor.rb +0 -26
  883. data/packages/core/test/lib/facet/dir/self/test_ascend.rb +0 -41
  884. data/packages/core/test/lib/facet/dir/self/test_ls_r.rb +0 -52
  885. data/packages/core/test/lib/facet/enumerable/self/test_combinations.rb +0 -43
  886. data/packages/core/test/lib/facet/enumerable/self/test_cross.rb +0 -31
  887. data/packages/core/test/lib/facet/enumerable/test_collect_with_index.rb +0 -27
  888. data/packages/core/test/lib/facet/enumerable/test_commonality.rb +0 -31
  889. data/packages/core/test/lib/facet/enumerable/test_compact_collect.rb +0 -27
  890. data/packages/core/test/lib/facet/enumerable/test_cross.rb +0 -30
  891. data/packages/core/test/lib/facet/enumerable/test_each_combination.rb +0 -29
  892. data/packages/core/test/lib/facet/enumerable/test_each_pair.rb +0 -29
  893. data/packages/core/test/lib/facet/enumerable/test_each_slice.rb +0 -74
  894. data/packages/core/test/lib/facet/enumerable/test_each_unique_pair.rb +0 -29
  895. data/packages/core/test/lib/facet/enumerable/test_entropy.rb +0 -26
  896. data/packages/core/test/lib/facet/enumerable/test_every.rb +0 -35
  897. data/packages/core/test/lib/facet/enumerable/test_ew.rb +0 -31
  898. data/packages/core/test/lib/facet/enumerable/test_filter_collect.rb +0 -31
  899. data/packages/core/test/lib/facet/enumerable/test_find_collisions.rb +0 -30
  900. data/packages/core/test/lib/facet/enumerable/test_frequency.rb +0 -27
  901. data/packages/core/test/lib/facet/enumerable/test_graph.rb +0 -30
  902. data/packages/core/test/lib/facet/enumerable/test_ideal_entropy.rb +0 -27
  903. data/packages/core/test/lib/facet/enumerable/test_none.rb +0 -33
  904. data/packages/core/test/lib/facet/enumerable/test_occur.rb +0 -30
  905. data/packages/core/test/lib/facet/enumerable/test_one.rb +0 -35
  906. data/packages/core/test/lib/facet/enumerable/test_op_pow.rb +0 -27
  907. data/packages/core/test/lib/facet/enumerable/test_partition_by.rb +0 -31
  908. data/packages/core/test/lib/facet/enumerable/test_permute.rb +0 -29
  909. data/packages/core/test/lib/facet/enumerable/test_probability.rb +0 -27
  910. data/packages/core/test/lib/facet/enumerable/test_to_h.rb +0 -27
  911. data/packages/core/test/lib/facet/enumerable/test_uniq_by.rb +0 -28
  912. data/packages/core/test/lib/facet/file/self/test_create.rb +0 -39
  913. data/packages/core/test/lib/facet/file/self/test_open_as_string.rb +0 -40
  914. data/packages/core/test/lib/facet/file/self/test_read_list.rb +0 -37
  915. data/packages/core/test/lib/facet/file/self/test_sanitize.rb +0 -46
  916. data/packages/core/test/lib/facet/file/self/test_split_all.rb +0 -27
  917. data/packages/core/test/lib/facet/fileutils/test_wc.rb +0 -68
  918. data/packages/core/test/lib/facet/fileutils/test_which.rb +0 -61
  919. data/packages/core/test/lib/facet/float/test_approx.rb +0 -28
  920. data/packages/core/test/lib/facet/float/test_round_at.rb +0 -46
  921. data/packages/core/test/lib/facet/float/test_round_to.rb +0 -46
  922. data/packages/core/test/lib/facet/hash/self/test_zipnew.rb +0 -28
  923. data/packages/core/test/lib/facet/hash/test_alias.rb +0 -31
  924. data/packages/core/test/lib/facet/hash/test_assert_has_keys.rb +0 -27
  925. data/packages/core/test/lib/facet/hash/test_assert_has_only_keys.rb +0 -27
  926. data/packages/core/test/lib/facet/hash/test_at.rb +0 -28
  927. data/packages/core/test/lib/facet/hash/test_collate.rb +0 -35
  928. data/packages/core/test/lib/facet/hash/test_each.rb +0 -36
  929. data/packages/core/test/lib/facet/hash/test_each_with_index.rb +0 -29
  930. data/packages/core/test/lib/facet/hash/test_each_with_key.rb +0 -29
  931. data/packages/core/test/lib/facet/hash/test_graph.rb +0 -28
  932. data/packages/core/test/lib/facet/hash/test_has_keys.rb +0 -27
  933. data/packages/core/test/lib/facet/hash/test_has_only_keys.rb +0 -27
  934. data/packages/core/test/lib/facet/hash/test_inverse.rb +0 -28
  935. data/packages/core/test/lib/facet/hash/test_keys_to_s.rb +0 -34
  936. data/packages/core/test/lib/facet/hash/test_keys_to_sym.rb +0 -34
  937. data/packages/core/test/lib/facet/hash/test_op_fetch.rb +0 -111
  938. data/packages/core/test/lib/facet/hash/test_op_lshift.rb +0 -29
  939. data/packages/core/test/lib/facet/hash/test_rand_key.rb +0 -27
  940. data/packages/core/test/lib/facet/hash/test_rand_pair.rb +0 -27
  941. data/packages/core/test/lib/facet/hash/test_rand_value.rb +0 -27
  942. data/packages/core/test/lib/facet/hash/test_replace_each.rb +0 -29
  943. data/packages/core/test/lib/facet/hash/test_shuffle.rb +0 -32
  944. data/packages/core/test/lib/facet/hash/test_slice.rb +0 -27
  945. data/packages/core/test/lib/facet/hash/test_swap.rb +0 -27
  946. data/packages/core/test/lib/facet/hash/test_swapkey.rb +0 -29
  947. data/packages/core/test/lib/facet/hash/test_to_h.rb +0 -27
  948. data/packages/core/test/lib/facet/hash/test_to_ostruct.rb +0 -30
  949. data/packages/core/test/lib/facet/hash/test_to_ostruct_recurse.rb +0 -30
  950. data/packages/core/test/lib/facet/hash/test_traverse.rb +0 -37
  951. data/packages/core/test/lib/facet/hash/test_update_each.rb +0 -29
  952. data/packages/core/test/lib/facet/hash/test_update_keys.rb +0 -28
  953. data/packages/core/test/lib/facet/hash/test_update_values.rb +0 -28
  954. data/packages/core/test/lib/facet/hash/test_weave.rb +0 -29
  955. data/packages/core/test/lib/facet/integer/test_factorial.rb +0 -30
  956. data/packages/core/test/lib/facet/integer/test_multiple.rb +0 -43
  957. data/packages/core/test/lib/facet/integer/test_ordinal.rb +0 -29
  958. data/packages/core/test/lib/facet/integer/test_times_collect.rb +0 -28
  959. data/packages/core/test/lib/facet/kernel/test___class__.rb +0 -26
  960. data/packages/core/test/lib/facet/kernel/test_as.rb +0 -42
  961. data/packages/core/test/lib/facet/kernel/test_assign_from.rb +0 -31
  962. data/packages/core/test/lib/facet/kernel/test_assign_with.rb +0 -31
  963. data/packages/core/test/lib/facet/kernel/test_bool.rb +0 -41
  964. data/packages/core/test/lib/facet/kernel/test_bug.rb +0 -26
  965. data/packages/core/test/lib/facet/kernel/test_call_stack.rb +0 -26
  966. data/packages/core/test/lib/facet/kernel/test_called.rb +0 -26
  967. data/packages/core/test/lib/facet/kernel/test_constant.rb +0 -33
  968. data/packages/core/test/lib/facet/kernel/test_copy.rb +0 -40
  969. data/packages/core/test/lib/facet/kernel/test_deep_copy.rb +0 -40
  970. data/packages/core/test/lib/facet/kernel/test_demo.rb +0 -28
  971. data/packages/core/test/lib/facet/kernel/test_fn.rb +0 -26
  972. data/packages/core/test/lib/facet/kernel/test_generate_method_name.rb +0 -26
  973. data/packages/core/test/lib/facet/kernel/test_get_by_id.rb +0 -28
  974. data/packages/core/test/lib/facet/kernel/test_here.rb +0 -26
  975. data/packages/core/test/lib/facet/kernel/test_in.rb +0 -27
  976. data/packages/core/test/lib/facet/kernel/test_maybe.rb +0 -26
  977. data/packages/core/test/lib/facet/kernel/test_metaclass.rb +0 -34
  978. data/packages/core/test/lib/facet/kernel/test_method.rb +0 -32
  979. data/packages/core/test/lib/facet/kernel/test_method_name.rb +0 -31
  980. data/packages/core/test/lib/facet/kernel/test_methods.rb +0 -50
  981. data/packages/core/test/lib/facet/kernel/test_new.rb +0 -30
  982. data/packages/core/test/lib/facet/kernel/test_object_class.rb +0 -26
  983. data/packages/core/test/lib/facet/kernel/test_object_hexid.rb +0 -27
  984. data/packages/core/test/lib/facet/kernel/test_require_all.rb +0 -26
  985. data/packages/core/test/lib/facet/kernel/test_require_esc.rb +0 -27
  986. data/packages/core/test/lib/facet/kernel/test_require_facet.rb +0 -27
  987. data/packages/core/test/lib/facet/kernel/test_resc.rb +0 -27
  988. data/packages/core/test/lib/facet/kernel/test_returning.rb +0 -30
  989. data/packages/core/test/lib/facet/kernel/test_send_as.rb +0 -26
  990. data/packages/core/test/lib/facet/kernel/test_set_from.rb +0 -33
  991. data/packages/core/test/lib/facet/kernel/test_set_with.rb +0 -33
  992. data/packages/core/test/lib/facet/kernel/test_silently.rb +0 -28
  993. data/packages/core/test/lib/facet/kernel/test_singleton.rb +0 -40
  994. data/packages/core/test/lib/facet/kernel/test_superior.rb +0 -30
  995. data/packages/core/test/lib/facet/kernel/test_supermethod.rb +0 -33
  996. data/packages/core/test/lib/facet/kernel/test_this.rb +0 -26
  997. data/packages/core/test/lib/facet/kernel/test_to_b.rb +0 -28
  998. data/packages/core/test/lib/facet/kernel/test_to_bool.rb +0 -28
  999. data/packages/core/test/lib/facet/kernel/test_uri.rb +0 -30
  1000. data/packages/core/test/lib/facet/kernel/test_val.rb +0 -43
  1001. data/packages/core/test/lib/facet/kernel/test_with_accessor.rb +0 -51
  1002. data/packages/core/test/lib/facet/matchdata/test_match.rb +0 -29
  1003. data/packages/core/test/lib/facet/matchdata/test_matchtree.rb +0 -32
  1004. data/packages/core/test/lib/facet/module/test_abstract.rb +0 -36
  1005. data/packages/core/test/lib/facet/module/test_alias_module_function.rb +0 -34
  1006. data/packages/core/test/lib/facet/module/test_ancestor.rb +0 -26
  1007. data/packages/core/test/lib/facet/module/test_basename.rb +0 -26
  1008. data/packages/core/test/lib/facet/module/test_by_name.rb +0 -29
  1009. data/packages/core/test/lib/facet/module/test_cattr_accessor.rb +0 -55
  1010. data/packages/core/test/lib/facet/module/test_clone_using.rb +0 -55
  1011. data/packages/core/test/lib/facet/module/test_dirname.rb +0 -26
  1012. data/packages/core/test/lib/facet/module/test_equate_on.rb +0 -37
  1013. data/packages/core/test/lib/facet/module/test_generate_instance_method_name.rb +0 -33
  1014. data/packages/core/test/lib/facet/module/test_include_as.rb +0 -35
  1015. data/packages/core/test/lib/facet/module/test_initializer.rb +0 -32
  1016. data/packages/core/test/lib/facet/module/test_instance_methods.rb +0 -59
  1017. data/packages/core/test/lib/facet/module/test_integrate.rb +0 -35
  1018. data/packages/core/test/lib/facet/module/test_memoize.rb +0 -50
  1019. data/packages/core/test/lib/facet/module/test_modspace.rb +0 -27
  1020. data/packages/core/test/lib/facet/module/test_namespace.rb +0 -33
  1021. data/packages/core/test/lib/facet/module/test_nesting.rb +0 -36
  1022. data/packages/core/test/lib/facet/module/test_redef.rb +0 -30
  1023. data/packages/core/test/lib/facet/module/test_redefine_method.rb +0 -30
  1024. data/packages/core/test/lib/facet/module/test_redirect.rb +0 -30
  1025. data/packages/core/test/lib/facet/module/test_redirect_method.rb +0 -30
  1026. data/packages/core/test/lib/facet/module/test_remove.rb +0 -30
  1027. data/packages/core/test/lib/facet/module/test_rename.rb +0 -31
  1028. data/packages/core/test/lib/facet/module/test_rename_method.rb +0 -31
  1029. data/packages/core/test/lib/facet/module/test_revisal.rb +0 -35
  1030. data/packages/core/test/lib/facet/module/test_shadow_method.rb +0 -30
  1031. data/packages/core/test/lib/facet/module/test_sort_on.rb +0 -42
  1032. data/packages/core/test/lib/facet/module/test_undef.rb +0 -30
  1033. data/packages/core/test/lib/facet/module/test_wrap.rb +0 -30
  1034. data/packages/core/test/lib/facet/module/test_wrap_method.rb +0 -30
  1035. data/packages/core/test/lib/facet/nilclass/test_empty.rb +0 -26
  1036. data/packages/core/test/lib/facet/nilclass/test_include.rb +0 -26
  1037. data/packages/core/test/lib/facet/nilclass/test_op_fetch.rb +0 -28
  1038. data/packages/core/test/lib/facet/nilclass/test_size.rb +0 -30
  1039. data/packages/core/test/lib/facet/nilclass/test_to_f.rb +0 -26
  1040. data/packages/core/test/lib/facet/nilclass/test_to_h.rb +0 -26
  1041. data/packages/core/test/lib/facet/numeric/test_ceil_multiple.rb +0 -31
  1042. data/packages/core/test/lib/facet/numeric/test_succ.rb +0 -40
  1043. data/packages/core/test/lib/facet/numeric/test_to_b.rb +0 -27
  1044. data/packages/core/test/lib/facet/ostruct/test___merge__.rb +0 -38
  1045. data/packages/core/test/lib/facet/ostruct/test___update__.rb +0 -29
  1046. data/packages/core/test/lib/facet/ostruct/test_op_fetch.rb +0 -27
  1047. data/packages/core/test/lib/facet/ostruct/test_op_store.rb +0 -28
  1048. data/packages/core/test/lib/facet/proc/test_compose.rb +0 -36
  1049. data/packages/core/test/lib/facet/proc/test_to_method.rb +0 -31
  1050. data/packages/core/test/lib/facet/range/test_to_r.rb +0 -27
  1051. data/packages/core/test/lib/facet/range/test_to_range.rb +0 -27
  1052. data/packages/core/test/lib/facet/range/test_umbrella.rb +0 -34
  1053. data/packages/core/test/lib/facet/range/test_within.rb +0 -29
  1054. data/packages/core/test/lib/facet/regexp/test_arity.rb +0 -33
  1055. data/packages/core/test/lib/facet/regexp/test_to_re.rb +0 -27
  1056. data/packages/core/test/lib/facet/regexp/test_to_regexp.rb +0 -27
  1057. data/packages/core/test/lib/facet/string/self/test_interpolate.rb +0 -27
  1058. data/packages/core/test/lib/facet/string/self/test_patterns.rb +0 -28
  1059. data/packages/core/test/lib/facet/string/self/test_rand_letter.rb +0 -26
  1060. data/packages/core/test/lib/facet/string/test_align_center.rb +0 -34
  1061. data/packages/core/test/lib/facet/string/test_at_rand.rb +0 -35
  1062. data/packages/core/test/lib/facet/string/test_basename.rb +0 -41
  1063. data/packages/core/test/lib/facet/string/test_blank.rb +0 -27
  1064. data/packages/core/test/lib/facet/string/test_bracket.rb +0 -49
  1065. data/packages/core/test/lib/facet/string/test_camelcase.rb +0 -39
  1066. data/packages/core/test/lib/facet/string/test_camelize.rb +0 -26
  1067. data/packages/core/test/lib/facet/string/test_capitalized.rb +0 -26
  1068. data/packages/core/test/lib/facet/string/test_chars.rb +0 -27
  1069. data/packages/core/test/lib/facet/string/test_cmp.rb +0 -30
  1070. data/packages/core/test/lib/facet/string/test_demodulize.rb +0 -38
  1071. data/packages/core/test/lib/facet/string/test_downcase.rb +0 -26
  1072. data/packages/core/test/lib/facet/string/test_dresner.rb +0 -32
  1073. data/packages/core/test/lib/facet/string/test_each_char.rb +0 -29
  1074. data/packages/core/test/lib/facet/string/test_each_word.rb +0 -29
  1075. data/packages/core/test/lib/facet/string/test_first.rb +0 -43
  1076. data/packages/core/test/lib/facet/string/test_fold.rb +0 -34
  1077. data/packages/core/test/lib/facet/string/test_frequency.rb +0 -28
  1078. data/packages/core/test/lib/facet/string/test_humanize.rb +0 -26
  1079. data/packages/core/test/lib/facet/string/test_indent.rb +0 -40
  1080. data/packages/core/test/lib/facet/string/test_index_all.rb +0 -26
  1081. data/packages/core/test/lib/facet/string/test_last.rb +0 -46
  1082. data/packages/core/test/lib/facet/string/test_line_wrap.rb +0 -27
  1083. data/packages/core/test/lib/facet/string/test_lines.rb +0 -26
  1084. data/packages/core/test/lib/facet/string/test_lowercase.rb +0 -26
  1085. data/packages/core/test/lib/facet/string/test_margin.rb +0 -117
  1086. data/packages/core/test/lib/facet/string/test_mscan.rb +0 -30
  1087. data/packages/core/test/lib/facet/string/test_natcmp.rb +0 -30
  1088. data/packages/core/test/lib/facet/string/test_nchar.rb +0 -29
  1089. data/packages/core/test/lib/facet/string/test_pop.rb +0 -47
  1090. data/packages/core/test/lib/facet/string/test_probability.rb +0 -28
  1091. data/packages/core/test/lib/facet/string/test_push.rb +0 -40
  1092. data/packages/core/test/lib/facet/string/test_quote.rb +0 -49
  1093. data/packages/core/test/lib/facet/string/test_rand_byte.rb +0 -35
  1094. data/packages/core/test/lib/facet/string/test_rand_index.rb +0 -26
  1095. data/packages/core/test/lib/facet/string/test_range.rb +0 -27
  1096. data/packages/core/test/lib/facet/string/test_range_all.rb +0 -27
  1097. data/packages/core/test/lib/facet/string/test_range_of_line.rb +0 -28
  1098. data/packages/core/test/lib/facet/string/test_regesc.rb +0 -28
  1099. data/packages/core/test/lib/facet/string/test_shatter.rb +0 -29
  1100. data/packages/core/test/lib/facet/string/test_shift.rb +0 -40
  1101. data/packages/core/test/lib/facet/string/test_shuffle.rb +0 -27
  1102. data/packages/core/test/lib/facet/string/test_similarity.rb +0 -26
  1103. data/packages/core/test/lib/facet/string/test_singular.rb +0 -32
  1104. data/packages/core/test/lib/facet/string/test_slap.rb +0 -40
  1105. data/packages/core/test/lib/facet/string/test_soundex.rb +0 -41
  1106. data/packages/core/test/lib/facet/string/test_succ.rb +0 -29
  1107. data/packages/core/test/lib/facet/string/test_to_a.rb +0 -27
  1108. data/packages/core/test/lib/facet/string/test_to_arr.rb +0 -26
  1109. data/packages/core/test/lib/facet/string/test_to_b.rb +0 -41
  1110. data/packages/core/test/lib/facet/string/test_to_const.rb +0 -28
  1111. data/packages/core/test/lib/facet/string/test_to_date.rb +0 -30
  1112. data/packages/core/test/lib/facet/string/test_to_proc.rb +0 -33
  1113. data/packages/core/test/lib/facet/string/test_to_re.rb +0 -28
  1114. data/packages/core/test/lib/facet/string/test_to_time.rb +0 -30
  1115. data/packages/core/test/lib/facet/string/test_unix_crypt.rb +0 -30
  1116. data/packages/core/test/lib/facet/string/test_unpack.rb +0 -34
  1117. data/packages/core/test/lib/facet/string/test_unshift.rb +0 -39
  1118. data/packages/core/test/lib/facet/string/test_upcase.rb +0 -30
  1119. data/packages/core/test/lib/facet/string/test_whitespace.rb +0 -27
  1120. data/packages/core/test/lib/facet/string/test_word_filter.rb +0 -34
  1121. data/packages/core/test/lib/facet/string/test_word_wrap.rb +0 -51
  1122. data/packages/core/test/lib/facet/string/test_words.rb +0 -37
  1123. data/packages/core/test/lib/facet/symbol/test_camelcase.rb +0 -26
  1124. data/packages/core/test/lib/facet/symbol/test_camelize.rb +0 -27
  1125. data/packages/core/test/lib/facet/symbol/test_capitalize.rb +0 -26
  1126. data/packages/core/test/lib/facet/symbol/test_capitalized.rb +0 -27
  1127. data/packages/core/test/lib/facet/symbol/test_downcase.rb +0 -27
  1128. data/packages/core/test/lib/facet/symbol/test_not.rb +0 -29
  1129. data/packages/core/test/lib/facet/symbol/test_pad.rb +0 -27
  1130. data/packages/core/test/lib/facet/symbol/test_succ.rb +0 -28
  1131. data/packages/core/test/lib/facet/symbol/test_to_const.rb +0 -28
  1132. data/packages/core/test/lib/facet/symbol/test_to_proc.rb +0 -27
  1133. data/packages/core/test/lib/facet/symbol/test_to_str.rb +0 -28
  1134. data/packages/core/test/lib/facet/symbol/test_underscore.rb +0 -26
  1135. data/packages/core/test/lib/facet/symbol/test_upcase.rb +0 -27
  1136. data/packages/core/test/lib/facet/time/test_change.rb +0 -33
  1137. data/packages/core/test/lib/facet/time/test_elapse.rb +0 -27
  1138. data/packages/core/test/lib/facet/time/test_stamp.rb +0 -31
  1139. data/packages/core/test/lib/facet/time/test_to_date.rb +0 -31
  1140. data/packages/core/test/lib/facet/time/test_to_s.rb +0 -31
  1141. data/packages/core/test/lib/facet/time/test_to_time.rb +0 -31
  1142. data/packages/more/ProjectInfo +0 -42
  1143. data/packages/more/README +0 -131
  1144. data/packages/more/TODO +0 -30
  1145. data/packages/more/bench/b_calls.rb +0 -74
  1146. data/packages/more/bench/b_harray.rb +0 -49
  1147. data/packages/more/bench/b_pathname.rb +0 -24
  1148. data/packages/more/bench/b_range.rb +0 -64
  1149. data/packages/more/bench/return-bench.rb +0 -56
  1150. data/packages/more/data/facets/units/binary/base.yaml +0 -12
  1151. data/packages/more/data/facets/units/binary/extra.yaml +0 -8
  1152. data/packages/more/data/facets/units/cex.yaml +0 -7
  1153. data/packages/more/data/facets/units/currency/base.yaml +0 -268
  1154. data/packages/more/data/facets/units/default.yaml +0 -22
  1155. data/packages/more/data/facets/units/dump_yaml.rb +0 -309
  1156. data/packages/more/data/facets/units/si/base.yaml +0 -36
  1157. data/packages/more/data/facets/units/si/derived.yaml +0 -133
  1158. data/packages/more/data/facets/units/si/extra.yaml +0 -107
  1159. data/packages/more/data/facets/units/standard.yaml +0 -5
  1160. data/packages/more/data/facets/units/uk.yaml +0 -16
  1161. data/packages/more/data/facets/units/uk/base.yaml +0 -107
  1162. data/packages/more/data/facets/units/us.yaml +0 -16
  1163. data/packages/more/data/facets/units/us/base.yaml +0 -112
  1164. data/packages/more/data/facets/units/xmethods/cached.yaml +0 -83
  1165. data/packages/more/data/facets/units/xmethods/mapping.yaml +0 -85
  1166. data/packages/more/demo/ansicolor/cdiff.rb +0 -20
  1167. data/packages/more/demo/ansicolor/example.rb +0 -82
  1168. data/packages/more/demo/demo_annotation.rb +0 -22
  1169. data/packages/more/demo/io-reactor/chatserver.rb +0 -347
  1170. data/packages/more/demo/lisp/game.rb +0 -47
  1171. data/packages/more/doc/tagiter.html +0 -145
  1172. data/packages/more/info/ProjectInfo.annotation +0 -46
  1173. data/packages/more/info/ProjectInfo.ansicode +0 -38
  1174. data/packages/more/info/ProjectInfo.asociation +0 -34
  1175. data/packages/more/info/ProjectInfo.basicobject +0 -36
  1176. data/packages/more/info/ProjectInfo.bbcode +0 -34
  1177. data/packages/more/info/ProjectInfo.binaryreader +0 -35
  1178. data/packages/more/info/ProjectInfo.bitmask +0 -33
  1179. data/packages/more/info/ProjectInfo.classinherit +0 -36
  1180. data/packages/more/info/ProjectInfo.classmethods +0 -36
  1181. data/packages/more/info/ProjectInfo.cloneable +0 -33
  1182. data/packages/more/info/ProjectInfo.consoleapp +0 -35
  1183. data/packages/more/info/ProjectInfo.coroutine +0 -37
  1184. data/packages/more/info/ProjectInfo.crypt +0 -33
  1185. data/packages/more/info/ProjectInfo.dictionary +0 -40
  1186. data/packages/more/info/ProjectInfo.downloader +0 -37
  1187. data/packages/more/info/ProjectInfo.enumerablepass +0 -35
  1188. data/packages/more/info/ProjectInfo.expirable +0 -37
  1189. data/packages/more/info/ProjectInfo.floatstring +0 -35
  1190. data/packages/more/info/ProjectInfo.functor +0 -40
  1191. data/packages/more/info/ProjectInfo.heap +0 -33
  1192. data/packages/more/info/ProjectInfo.inheritor +0 -36
  1193. data/packages/more/info/ProjectInfo.interval +0 -36
  1194. data/packages/more/info/ProjectInfo.lisp +0 -38
  1195. data/packages/more/info/ProjectInfo.lrucache +0 -34
  1196. data/packages/more/info/ProjectInfo.mathconstants +0 -41
  1197. data/packages/more/info/ProjectInfo.methodprobe +0 -38
  1198. data/packages/more/info/ProjectInfo.mock +0 -34
  1199. data/packages/more/info/ProjectInfo.multiton +0 -36
  1200. data/packages/more/info/ProjectInfo.nackclass +0 -33
  1201. data/packages/more/info/ProjectInfo.nilcomparable +0 -35
  1202. data/packages/more/info/ProjectInfo.nullclass +0 -35
  1203. data/packages/more/info/ProjectInfo.oone +0 -37
  1204. data/packages/more/info/ProjectInfo.openobject +0 -39
  1205. data/packages/more/info/ProjectInfo.paramix +0 -38
  1206. data/packages/more/info/ProjectInfo.pool +0 -33
  1207. data/packages/more/info/ProjectInfo.progressbar +0 -37
  1208. data/packages/more/info/ProjectInfo.reference +0 -36
  1209. data/packages/more/info/ProjectInfo.semaphore +0 -36
  1210. data/packages/more/info/ProjectInfo.stateparser +0 -39
  1211. data/packages/more/info/ProjectInfo.statichash +0 -33
  1212. data/packages/more/info/ProjectInfo.system +0 -34
  1213. data/packages/more/info/ProjectInfo.tagiterator +0 -36
  1214. data/packages/more/info/ProjectInfo.timer +0 -35
  1215. data/packages/more/info/ProjectInfo.tracepoint +0 -37
  1216. data/packages/more/info/ProjectInfo.tuple +0 -36
  1217. data/packages/more/info/ProjectInfo.uniheritable +0 -34
  1218. data/packages/more/info/ProjectInfo.units +0 -34
  1219. data/packages/more/info/ProjectInfo.yamlstruct +0 -34
  1220. data/packages/more/lib/facet/annotation.rb +0 -580
  1221. data/packages/more/lib/facet/ansicode.rb +0 -313
  1222. data/packages/more/lib/facet/association.rb +0 -156
  1223. data/packages/more/lib/facet/basicobject.rb +0 -135
  1224. data/packages/more/lib/facet/bbcode.rb +0 -390
  1225. data/packages/more/lib/facet/binaryreader.rb +0 -246
  1226. data/packages/more/lib/facet/bitmask.rb +0 -112
  1227. data/packages/more/lib/facet/bytes.rb +0 -212
  1228. data/packages/more/lib/facet/classinherit.rb +0 -216
  1229. data/packages/more/lib/facet/classmethods.rb +0 -219
  1230. data/packages/more/lib/facet/cloneable.rb +0 -55
  1231. data/packages/more/lib/facet/consoleapp.rb +0 -123
  1232. data/packages/more/lib/facet/coroutine.rb +0 -172
  1233. data/packages/more/lib/facet/crypt.rb +0 -180
  1234. data/packages/more/lib/facet/dictionary.rb +0 -436
  1235. data/packages/more/lib/facet/downloader.rb +0 -273
  1236. data/packages/more/lib/facet/enumerablepass.rb +0 -285
  1237. data/packages/more/lib/facet/expirable.rb +0 -87
  1238. data/packages/more/lib/facet/floatstring.rb +0 -179
  1239. data/packages/more/lib/facet/functor.rb +0 -98
  1240. data/packages/more/lib/facet/heap.rb +0 -226
  1241. data/packages/more/lib/facet/inheritor.rb +0 -239
  1242. data/packages/more/lib/facet/interval.rb +0 -426
  1243. data/packages/more/lib/facet/ioredirect.rb +0 -130
  1244. data/packages/more/lib/facet/lisp.rb +0 -387
  1245. data/packages/more/lib/facet/lisp_format.rb +0 -1843
  1246. data/packages/more/lib/facet/lrucache.rb +0 -183
  1247. data/packages/more/lib/facet/mathconstants.rb +0 -320
  1248. data/packages/more/lib/facet/methodprobe.rb +0 -215
  1249. data/packages/more/lib/facet/mock.rb +0 -233
  1250. data/packages/more/lib/facet/multipliers.rb +0 -192
  1251. data/packages/more/lib/facet/multiton.rb +0 -359
  1252. data/packages/more/lib/facet/nackclass.rb +0 -162
  1253. data/packages/more/lib/facet/nilcomparable.rb +0 -133
  1254. data/packages/more/lib/facet/nullclass.rb +0 -68
  1255. data/packages/more/lib/facet/one.rb +0 -109
  1256. data/packages/more/lib/facet/openobject.rb +0 -220
  1257. data/packages/more/lib/facet/ormsupport.rb +0 -233
  1258. data/packages/more/lib/facet/paramix.rb +0 -243
  1259. data/packages/more/lib/facet/pool.rb +0 -98
  1260. data/packages/more/lib/facet/preinitialize.rb +0 -152
  1261. data/packages/more/lib/facet/progressbar.rb +0 -227
  1262. data/packages/more/lib/facet/quaternion.rb +0 -527
  1263. data/packages/more/lib/facet/reference.rb +0 -83
  1264. data/packages/more/lib/facet/semaphore.rb +0 -103
  1265. data/packages/more/lib/facet/snapshot.rb +0 -190
  1266. data/packages/more/lib/facet/stateparser.rb +0 -579
  1267. data/packages/more/lib/facet/statichash.rb +0 -87
  1268. data/packages/more/lib/facet/syncarray.rb +0 -144
  1269. data/packages/more/lib/facet/synchash.rb +0 -173
  1270. data/packages/more/lib/facet/system.rb +0 -169
  1271. data/packages/more/lib/facet/tagiterator.rb +0 -387
  1272. data/packages/more/lib/facet/timer.rb +0 -307
  1273. data/packages/more/lib/facet/times.rb +0 -327
  1274. data/packages/more/lib/facet/tracepoint.rb +0 -185
  1275. data/packages/more/lib/facet/tuple.rb +0 -170
  1276. data/packages/more/lib/facet/typecast.rb +0 -259
  1277. data/packages/more/lib/facet/uninheritable.rb +0 -92
  1278. data/packages/more/lib/facet/units.rb +0 -926
  1279. data/packages/more/lib/facet/yamlstruct.rb +0 -90
  1280. data/packages/more/setup.rb +0 -1551
  1281. data/packages/more/test/lib/facet/test_annotation.rb +0 -217
  1282. data/packages/more/test/lib/facet/test_ansicode.rb +0 -36
  1283. data/packages/more/test/lib/facet/test_association.rb +0 -46
  1284. data/packages/more/test/lib/facet/test_bbcode.rb +0 -34
  1285. data/packages/more/test/lib/facet/test_bitmask.rb +0 -47
  1286. data/packages/more/test/lib/facet/test_bytes.rb +0 -84
  1287. data/packages/more/test/lib/facet/test_classinherit.rb +0 -65
  1288. data/packages/more/test/lib/facet/test_coroutine.rb +0 -60
  1289. data/packages/more/test/lib/facet/test_crypt.rb +0 -46
  1290. data/packages/more/test/lib/facet/test_dictionary.rb +0 -97
  1291. data/packages/more/test/lib/facet/test_enumerablepass.rb +0 -86
  1292. data/packages/more/test/lib/facet/test_floatstring.rb +0 -36
  1293. data/packages/more/test/lib/facet/test_functor.rb +0 -39
  1294. data/packages/more/test/lib/facet/test_inheritor.rb +0 -155
  1295. data/packages/more/test/lib/facet/test_interval.rb +0 -119
  1296. data/packages/more/test/lib/facet/test_lisp-format.rb +0 -37
  1297. data/packages/more/test/lib/facet/test_lisp.rb +0 -47
  1298. data/packages/more/test/lib/facet/test_lrucache.rb +0 -25
  1299. data/packages/more/test/lib/facet/test_mathconstants.rb +0 -18
  1300. data/packages/more/test/lib/facet/test_methodprobe.rb +0 -53
  1301. data/packages/more/test/lib/facet/test_multipliers.rb +0 -114
  1302. data/packages/more/test/lib/facet/test_multiton.rb +0 -200
  1303. data/packages/more/test/lib/facet/test_nackclass.rb +0 -45
  1304. data/packages/more/test/lib/facet/test_nilcomparable.rb +0 -43
  1305. data/packages/more/test/lib/facet/test_openobject.rb +0 -66
  1306. data/packages/more/test/lib/facet/test_paramix.rb +0 -86
  1307. data/packages/more/test/lib/facet/test_preinitialize.rb +0 -49
  1308. data/packages/more/test/lib/facet/test_snapshot.rb +0 -34
  1309. data/packages/more/test/lib/facet/test_statichash.rb +0 -31
  1310. data/packages/more/test/lib/facet/test_syncarray.rb +0 -28
  1311. data/packages/more/test/lib/facet/test_synchash.rb +0 -28
  1312. data/packages/more/test/lib/facet/test_tagiterator.rb +0 -93
  1313. data/packages/more/test/lib/facet/test_time.rb +0 -73
  1314. data/packages/more/test/lib/facet/test_timer.rb +0 -66
  1315. data/packages/more/test/lib/facet/test_tuple.rb +0 -32
  1316. data/packages/more/test/lib/facet/test_uninheritable.rb +0 -42
  1317. data/packages/more/test/lib/facet/test_units.rb +0 -104
  1318. data/packages/more/test/lib/facet/test_yamlstruct.rb +0 -37
@@ -1,83 +0,0 @@
1
- #--
2
- # Reference
3
- #
4
- # Copyright (c) 2005 Thomas Sawyer
5
- #
6
- # Ruby License
7
- #
8
- # This module is free software. You may use, modify, and/or redistribute this
9
- # software under the same terms as Ruby.
10
- #
11
- # This program is distributed in the hope that it will be useful, but WITHOUT
12
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
- # FOR A PARTICULAR PURPOSE.
14
- #
15
- # ==========================================================================
16
- # Revision History
17
- # ==========================================================================
18
- # 2005.06.12 trans
19
- # Changed name from Ref to Reference.
20
- # ==========================================================================
21
- #++
22
-
23
- require 'facet/basicobject'
24
-
25
- #:title: Reference
26
- #
27
- # TODO
28
- #
29
- # == Synopsis
30
- #
31
- # a = "Hello"
32
- # b = ref(a)
33
- # b.upcase #=> "HELLO"
34
- #
35
-
36
- class Reference < BasicObject
37
-
38
- def self.new(obj)
39
- ref = allocate
40
- ref.become obj
41
- ref
42
- end
43
-
44
- def method_missing(*args, &block)
45
- @ref.__send__(*args, &block)
46
- end
47
-
48
- def become(obj)
49
- old = @ref
50
- @ref = obj
51
- old
52
- end
53
-
54
- def __value__
55
- @ref
56
- end
57
- alias_method :self, __value__
58
-
59
- end
60
-
61
-
62
- module Kernel
63
- def ref(x)
64
- Reference.new(x)
65
- end
66
- end
67
-
68
-
69
-
70
- # _____ _
71
- # |_ _|__ ___| |_
72
- # | |/ _ \/ __| __|
73
- # | | __/\__ \ |_
74
- # |_|\___||___/\__|
75
- #
76
-
77
- # TODO
78
-
79
- =begin #test
80
-
81
- require 'test/unit'
82
-
83
- =end
@@ -1,103 +0,0 @@
1
- #--
2
- # Semaphore
3
- #
4
- # Copyright (c) 2005 Fukumoto
5
- #
6
- # Ruby License
7
- #
8
- # This module is free software. You may use, modify, and/or redistribute this
9
- # software under the same terms as Ruby.
10
- #
11
- # This program is distributed in the hope that it will be useful, but WITHOUT
12
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
- # FOR A PARTICULAR PURPOSE.
14
- #
15
- # ==========================================================================
16
- # Revision History
17
- # ==========================================================================
18
- #
19
- # 2005-04-28 Trans - Ported to Calibre.
20
- #
21
- # ==========================================================================
22
- #++
23
-
24
- #:title: Semaphore
25
- #
26
- # Technically a semaphore is simply an integer variable which
27
- # has an execution queue associated with it.
28
- #
29
- # == Usage
30
- #
31
- # s = Semaphore.new( 4 )
32
- #
33
- # TODO
34
- #
35
- # == Author(s)
36
- #
37
- # * Fukumoto
38
- #
39
-
40
- class Semaphore
41
-
42
- def initialize(initvalue = 0)
43
- @counter = initvalue
44
- @waiting_list = []
45
- end
46
-
47
- def wait
48
- Thread.critical = true
49
- if (@counter -= 1) < 0
50
- @waiting_list.push(Thread.current)
51
- Thread.stop
52
- end
53
- self
54
- ensure
55
- Thread.critical = false
56
- end
57
-
58
- def signal
59
- Thread.critical = true
60
- begin
61
- if (@counter += 1) <= 0
62
- t = @waiting_list.shift
63
- t.wakeup if t
64
- end
65
- rescue ThreadError
66
- retry
67
- end
68
- self
69
- ensure
70
- Thread.critical = false
71
- end
72
-
73
- alias_method( :down, :wait )
74
- alias_method( :up, :signal )
75
- alias_method( :p, :wait )
76
- alias_method( :v, :signal )
77
-
78
- def exclusive
79
- wait
80
- yield
81
- ensure
82
- signal
83
- end
84
-
85
- alias_method( :synchronize, :exclusive )
86
-
87
- end
88
-
89
-
90
- # _____ _
91
- # |_ _|__ ___| |_
92
- # | |/ _ \/ __| __|
93
- # | | __/\__ \ |_
94
- # |_|\___||___/\__|
95
- #
96
-
97
- # TODO
98
-
99
- =begin #test
100
-
101
- require 'test/unit'
102
-
103
- =end
@@ -1,190 +0,0 @@
1
- #--
2
- # Snapshot
3
- #
4
- # Copyright (c) 2004 Michael Neumann
5
- #
6
- # Ruby License
7
- #
8
- # This module is free software. You may use, modify, and/or redistribute this
9
- # software under the same terms as Ruby.
10
- #
11
- # This program is distributed in the hope that it will be useful, but WITHOUT
12
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
- # FOR A PARTICULAR PURPOSE.
14
- #
15
- # ==========================================================================
16
- # Revision History ::
17
- # --------------------------------------------------------------------------
18
- # 2005.04.28 trans * Ported to mega Modules
19
- # ==========================================================================
20
- #
21
- # :TODO: Perhaps extend to offer multiple depths.
22
- #
23
- # :TODO: Should key consitancy be enforced? Currently
24
- # Struct's will have symobl keys while other classes
25
- # will have string keys in the form of "@name".
26
- #
27
- # :TODO: Add other core classes.
28
- #
29
- #++
30
-
31
- ##:title: Snapshot
32
- #
33
- # A lightweight single-depth object state capture.
34
- # The #take_snapshot method reads the object's state,
35
- # which is generally it's collection of instance variables,
36
- # and returns them in a hash. The state can be restored
37
- # with #apply_snapshot.
38
- #
39
- # == Usage
40
- #
41
- # Customer = Struct.new("Customer", :name, :address, :zip)
42
- # joe = Customer.new( "Joe Pitare", "1115 Lila Ln.", 47634 )
43
- #
44
- # # simple transactions
45
- # joe_snap = joe.take_snapshot
46
- # begin
47
- # do_something_with( joe )
48
- # rescue
49
- # joe.apply_snapshot( joe_snap )
50
- # end
51
- #
52
- # joe_snap[:name] => "Joe Pitare"
53
- # joe_snap[:address] => "1115 Lila Ln."
54
- # joe_snap[:zip] => 47634
55
- #
56
- # == Details
57
- #
58
- # Class Snapshot simply represents a collection of objects from
59
- # which snapshots were taken via their methods #take_snapshot.
60
- # It provides methods to add an object to a snapshot
61
- # (Snapshot#add) as well as to restore all objects
62
- # of the snapshot to their state stored in the snapshot (method
63
- # Snapshot#restore).
64
- #
65
- # In Wee, this class is used to backtracking the state of
66
- # components (or decorations/presenters). Components that want
67
- # an undo-facility to be implemented (triggered for example by
68
- # a browsers back-button), have to overwrite the
69
- # Wee::Component#backtrack_state method.
70
- #
71
- # == Author(s)
72
- #
73
- # * Michael Neumann
74
- #
75
-
76
- class Snapshot
77
- def initialize
78
- @objects = Hash.new
79
- end
80
-
81
- def add(object)
82
- oid = object.object_id
83
- @objects[oid] = [object, object.take_snapshot] unless @objects.include?(oid)
84
- end
85
-
86
- def restore
87
- @objects.each_value { |object, value| object.restore_snapshot(value) }
88
- end
89
- end
90
-
91
- module DupReplaceSnapshotMixin
92
- def take_snapshot
93
- dup
94
- end
95
-
96
- def restore_snapshot(snap)
97
- replace(snap)
98
- end
99
- end
100
-
101
- # Implements a value holder. In Wee this is useful for
102
- # backtracking the reference assigned to an instance variable
103
- # (not the object itself!). An example where this is used is the
104
- # <tt>@__decoration</tt> attribute of class Wee::Component.
105
-
106
- class ValueHolder
107
- attr_accessor :value
108
-
109
- def initialize(value=nil)
110
- @value = value
111
- end
112
-
113
- def take_snapshot
114
- @value
115
- end
116
-
117
- def restore_snapshot(value)
118
- @value = value
119
- end
120
- end
121
-
122
-
123
- #--
124
- # Extend some base classes of Ruby (Object, Array, String, Hash,
125
- # Struct) for the two methods #take_snapshot and
126
- # #restore_snapshot, required by Snapshot.
127
- #++
128
-
129
- class Object
130
- def take_snapshot
131
- snap = Hash.new
132
- instance_variables.each do |iv|
133
- snap[iv] = instance_variable_get(iv)
134
- end
135
- snap
136
- end
137
-
138
- def restore_snapshot(snap)
139
- instance_variables.each do |iv|
140
- instance_variable_set(iv, snap[iv])
141
- end
142
- end
143
- end
144
-
145
- class Array ; include DupReplaceSnapshotMixin ; end
146
- class String ; include DupReplaceSnapshotMixin ; end
147
- class Hash ; include DupReplaceSnapshotMixin ; end
148
-
149
- class Struct
150
- def take_snapshot
151
- snap = Hash.new
152
- each_pair {|k,v| snap[k] = v}
153
- snap
154
- end
155
-
156
- def restore_snapshot(snap)
157
- snap.each_pair {|k,v| send(k.to_s + "=", v)}
158
- end
159
- end
160
-
161
-
162
-
163
- # _____ _
164
- # |_ _|__ ___| |_
165
- # | |/ _ \/ __| __|
166
- # | | __/\__ \ |_
167
- # |_|\___||___/\__|
168
- #
169
-
170
- =begin testing
171
-
172
- require 'test/unit'
173
-
174
- class TC_Snapshot < Test::Unit::TestCase
175
-
176
- def setup
177
- customer = Struct.new("Customer", :name, :address, :zip)
178
- joe = customer.new( "Joe Pitare", "1115 Lila Ln.", 47634 )
179
- @joe_snap = joe.take_snapshot
180
- end
181
-
182
- def test_storage
183
- assert_equal( "Joe Pitare", @joe_snap[:name] )
184
- assert_equal( "1115 Lila Ln.", @joe_snap[:address] )
185
- assert_equal( 47634, @joe_snap[:zip] )
186
- end
187
-
188
- end
189
-
190
- =end
@@ -1,579 +0,0 @@
1
- #--
2
- # StateParser
3
- #
4
- # Copyright (c) 2005 Thomas Sawyer
5
- #
6
- # Ruby License
7
- #
8
- # This module is free software. You may use, modify, and/or redistribute this
9
- # software under the same terms as Ruby.
10
- #
11
- # This program is distributed in the hope that it will be useful, but WITHOUT
12
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
- # FOR A PARTICULAR PURPOSE.
14
- #
15
- # ==========================================================================
16
- # Revision History
17
- # ==========================================================================
18
- #
19
- # 5.6.05 v3.0 trans
20
- # * Third major rewrite. This improves the system substantially.
21
- #
22
- # 5.2.06 v2.0 trans
23
- # - Removed raw tokens. Raw text is now available to every regular
24
- # token, so the end application can decided how to treat it.
25
- #
26
- # 5.1.27 v1.0 trans
27
- # - Removed priority. Order of tokens when parser is initialized
28
- # now determines precedence.
29
- # - If first argument to Parser.new is not a kind of AbstractToken
30
- # it is assumed to be the reentrant parser, otherwise the parser
31
- # itself is considered the reentrant parser. Having this allows raw
32
- # tokens to parse embedded content (among other things).
33
- #
34
- # ==========================================================================
35
- #++
36
-
37
- #:title: StateParser
38
- #
39
- # Gerenal purpose stack-based parser. Define custom tokens
40
- # and the parser will build a parse tree from them.
41
- #
42
- # == Synopsis
43
- #
44
- # (note: these docs need updating)
45
- #
46
- # To use the parser you must define your token classes. There
47
- # are three types of tokens: normal, raw and unit. Normal
48
- # tokens are the default, requiring the definition of #start
49
- # and #stop class methods. These must take a MatchData object
50
- # as a parameter (although it need not be used) and return a regular
51
- # expression to match against. Raw tokens are just like normal
52
- # tokens except the parser will not tokenize what lies between the raw
53
- # token's start and stop markers, instead reading it as raw text.
54
- # Finally a unit token has no content, so a #stop method is not required,
55
- # simply define the start #method to be used for matching.
56
- #
57
- # require 'calibre/state_parser'
58
- # require 'yaml'
59
- #
60
- # s = "[p]THIS IS A [t][b]BOLD[b.]TEST[t.]&tm;[p.]"
61
- #
62
- # class XmlTagToken < StateParser::Token
63
- # def self.start( match ) ; %r{ \[ (.*?) \] }mx ; end
64
- # def self.stop( match ) ; %r{ \[ [ ]* (#{esc(match[1])}) (.*?) \. \] }mx ; end
65
- # end
66
- #
67
- # class XmlRawTagToken < StateParser::RawToken
68
- # def self.start( match ) ; %r{ \[ (t.*?) \] }mx ; end
69
- # def self.stop( match ) ; %r{ \[ [ ]* (#{esc(match[1])}) (.*?) \. \] }mx ; end
70
- # end
71
- #
72
- # class XmlEntityToken < StateParser::UnitToken
73
- # def self.start( match ) ; %r{ \& (.*?) \; }x ; end
74
- # end
75
- #
76
- # markers = []
77
- # markers << XmlRawTagToken
78
- # markers << XmlTagToken
79
- # markers << XmlEntityToken
80
- #
81
- # cp = StateParser.new( *markers )
82
- # d = cp.parse( s )
83
- # y d
84
- #
85
- # _produces_
86
- #
87
- # --- &id003 !ruby/array:Parser::Main
88
- # - &id002 !ruby/object:#<Class:0x403084a0>
89
- # body:
90
- # - "THIS IS A "
91
- # - &id001 !ruby/object:#<Class:0x403084a0>
92
- # body:
93
- # - !ruby/object:#<Class:0x403084a0>
94
- # body:
95
- # - BOLD
96
- # match: !ruby/object:MatchData {}
97
- # parent: *id001
98
- # - TEST
99
- # match: !ruby/object:MatchData {}
100
- # parent: *id002
101
- # - !ruby/object:#<Class:0x40308450>
102
- # body: []
103
- # match: !ruby/object:MatchData {}
104
- # parent: *id002
105
- # match: !ruby/object:MatchData {}
106
- # parent: *id003
107
- #
108
- # The order in which tokens are passed into the parser is significant,
109
- # in that it decides token precedence on a first-is-highest basis.
110
- #
111
- # [Note: There are a few other subtilties to go over that I haven't yet
112
- # documented, primarily related to creating more elaborate custom tokens. TODO!]
113
- #
114
- # == Author(s)
115
- #
116
- # * Thomas Sawyer
117
- #
118
-
119
- require 'ostruct'
120
-
121
- class StateParser ; end
122
-
123
- module StateParser::Constants
124
- MATCH = "match"
125
- ENDMATCH = "end_match"
126
- CALLBACK = "callback"
127
- ENDCALLBACK = "end_callback"
128
- end
129
-
130
-
131
- # StateMachine Class
132
-
133
- class StateMachine
134
- class << self
135
- include ::StateParser::Constants
136
-
137
- def tokens ; @tokens ||= [] ; end
138
- def tokenIsUnit? ; @tokenIsUnit ||= {} ; end
139
-
140
- def token( name, &block )
141
- class_eval &block
142
-
143
- raise unless instance_methods.include?( MATCH )
144
- alias_method( "#{name}_#{MATCH}", :match )
145
- remove_method( MATCH )
146
-
147
- unit = !instance_methods.include?('end_match')
148
- tokenIsUnit?[name.to_sym] = unit
149
- unless unit
150
- alias_method( "#{name}_#{ENDMATCH}", ENDMATCH )
151
- remove_method( ENDMATCH )
152
- end
153
-
154
- if instance_methods.include?('callback')
155
- alias_method( "#{name}_#{CALLBACK}", CALLBACK )
156
- remove_method( CALLBACK )
157
- end
158
-
159
- if instance_methods.include?('end_callback')
160
- alias_method( "#{name}_#{ENDCALLBACK}", ENDCALLBACK )
161
- remove_method( ENDCALLBACK )
162
- end
163
-
164
- warn "WARNING! redefining token" if tokens.include?( name )
165
- tokens << name #Token.new( name, start_name, end_name )
166
- end
167
-
168
- end #class << self
169
-
170
- # instance methods -------------------------------------------------
171
-
172
- # token information
173
- def tokens ; self.class.tokens ; end
174
- def tokenIsUnit? ; self.class.tokenIsUnit? ; end
175
-
176
- # These you can fill out to do things on parser events.
177
- def flush( text, state ); end
178
- def finish( state ); end
179
-
180
- end
181
-
182
- # #
183
- # #
184
- # #
185
- # class StateMachine::Token
186
- # attr_reader :name #:start, :stop
187
- # def initialize( name, start, stop )
188
- # @name = name
189
- # @start = start
190
- # @stop = stop
191
- # end
192
- # def start(machine,*args )
193
- # @start.bind(machine).call(*args)
194
- # end
195
- # def stop(machine,*args )
196
- # @stop.bind(machine).call(*args)
197
- # end
198
- # def unit?
199
- # @stop.nil?
200
- # end
201
- # end
202
-
203
- #
204
- # Marker
205
- #
206
- # This is used to hold token places in the parse tree.
207
- #
208
- class StateParser::Marker
209
- attr_accessor :token, :begins, :ends, :info, :match
210
- attr_accessor :parent, :content, :outer_range, :inner_range
211
- def initialize
212
- @content = []
213
- end
214
- # array-like methods
215
- def <<( content ) ; @content << content ; end
216
- def last ; @content.empty? ? @content : @content.last ; end
217
- def empty? ; @content.empty? ; end
218
- def pop ; @content.pop ; end
219
- def each(&blk) ; @content.each(&blk) ; end
220
- end
221
-
222
- #
223
- # State
224
- #
225
- class StateParser::State
226
- include ::StateParser::Constants
227
-
228
- attr_reader :text, :machine #, :info
229
- attr_reader :stack, :tkstack
230
- attr_accessor :offset, :mode
231
-
232
- def initialize( text, machine )
233
- @text = text.dup.freeze
234
- @machine = machine
235
-
236
- @offset = 0
237
- @stack = []
238
- @tkstack = []
239
- @current = {}
240
- @mode = nil
241
- #@info = OpenStruct.new
242
- end
243
-
244
- def next_start( token, index )
245
- re = machine.send( "#{token}_#{MATCH}", self )
246
- i = text.index( re, offset )
247
- if i
248
- m = $~
249
- e = m.end(0)
250
- if i < index # what comes first?
251
- @mode = machine.tokenIsUnit?[token] ? :UNIT : :START
252
- @current[:token] = token
253
- @current[:begins] = i
254
- @current[:ends] = e
255
- @current[:match] = m
256
- #@current[:info] = f
257
- return i
258
- end
259
- end
260
- return index
261
- end
262
-
263
- def next_end( index )
264
- token = @stack.last.token
265
- match = @stack.last.match
266
- re = machine.send( "#{token}_#{ENDMATCH}", match, self ) #machine.tokens[token].stop(match,self)
267
- i = text.index( re, offset )
268
- m = $~ if i
269
- e = m.end(0) if i
270
- if i and i < index # what comes first?
271
- @mode = :END
272
- @current[:token] = token
273
- @current[:begins] = i
274
- @current[:ends] = e
275
- @current[:match] = m
276
- #@current[:info] = f
277
- return i
278
- end
279
- return index
280
- end
281
-
282
- def clear_current
283
- @mode = nil
284
- @current = {}
285
- end
286
-
287
- def current_token ; @current[:token] ; end
288
- def current_begins ; @current[:begins] ; end
289
- def current_ends ; @current[:ends] ; end
290
- def current_match ; @current[:match] ; end
291
- def current_info ; @current[:info] ; end
292
-
293
- def mock( current )
294
- mock = StateParser::Marker.new
295
- mock.token = current_token
296
- mock.begins = current_begins
297
- mock.ends = current_ends
298
- mock.match = current_match
299
- mock.info = current_info
300
- mock.parent = current
301
- mock
302
- end
303
-
304
- # increment the offset
305
- def next_offset
306
- @offset = current_ends
307
- end
308
-
309
- def trigger
310
- machine.send("#{current_token}_#{CALLBACK}", current_match, self)
311
- end
312
-
313
- def end_trigger
314
- machine.send("#{current_token}_#{ENDCALLBACK}", current_match, self)
315
- end
316
-
317
- def trigger_flush( text )
318
- machine.send("flush", text, self) #if machine.respond_to?(:flush)
319
- end
320
-
321
- def trigger_finish
322
- machine.send("finish", self) #if machine.respond_to?(:finish)
323
- end
324
-
325
- #def to_s
326
- # @stack.join
327
- #end
328
- end
329
-
330
-
331
- #
332
- #
333
- #
334
- class StateParser
335
-
336
- attr_reader :machine
337
-
338
- def initialize( machine )
339
- @machine = machine
340
- end
341
-
342
- def parse( text )
343
- stack = reparse( text )
344
- return stack
345
- end
346
-
347
- private
348
-
349
- def reparse( text )
350
-
351
- state = State.new( text, @machine )
352
- root = Marker.new #state.stack
353
- current = root
354
- finished = nil
355
-
356
- until finished
357
- state.clear_current
358
- index = text.length # by comparision to find the nearest match
359
-
360
- unless state.tkstack.empty? #state.stack.empty?
361
- raise "not a marker on end of stack?" unless Marker === state.stack.last # should not happen
362
- index = state.next_end( index )
363
- end
364
-
365
- machine.tokens.each do |tokn|
366
- index = state.next_start( tokn, index )
367
- # NOTE not making sure there is a matching end token.
368
- # bad or good idea? the code might go here if need be
369
- # but the parser is faster without it.
370
- end
371
-
372
- # # finished is +nil+ if were just getting started
373
- # # +false+ while running and then +true+ when done.
374
- # unless state.stack.last
375
- # finished = ( finished.nil? ? false : true )
376
- # state.mode = :FINISH if finished
377
- # end
378
-
379
- case state.mode
380
- when :START
381
- buffer_text = state.text[state.offset...index]
382
- current << buffer_text unless buffer_text.empty?
383
-
384
- # signal flush
385
- state.trigger_flush( buffer_text )
386
-
387
- # adjust current
388
- mock = state.mock( current )
389
- current << mock
390
- current = mock
391
- state.stack << mock
392
-
393
- # add token to token stack
394
- state.tkstack << current.token if current.token
395
-
396
- state.next_offset
397
-
398
- # signal start trigger
399
- state.trigger
400
-
401
- when :END
402
- buffer_text = state.text[state.offset...index].chomp("\n")
403
- current << buffer_text unless buffer_text.empty?
404
-
405
- # signal flush
406
- state.trigger_flush( buffer_text )
407
-
408
- # adjust current
409
- mock = state.stack.pop
410
- mock.outer_range = mock.begins...state.current_ends
411
- mock.inner_range = mock.ends...state.current_begins
412
- current = mock.parent
413
-
414
- # remove token from token stack
415
- state.tkstack.pop
416
-
417
- state.next_offset
418
-
419
- # signal ending trigger
420
- state.end_trigger
421
-
422
- when :UNIT
423
- buffer_text = state.text[state.offset...index] #.chomp("\n")
424
- current << buffer_text unless buffer_text.empty?
425
-
426
- # signal flush
427
- state.trigger_flush( buffer_text )
428
-
429
- # adjust current
430
- mock = state.mock( current )
431
-
432
- mock.outer_range = state.current_begins...state.current_ends
433
- current << mock
434
-
435
- #state.tkstack << current.token
436
-
437
- state.next_offset
438
-
439
- # signal start trigger
440
- state.trigger
441
-
442
- else
443
- buffer_text = state.text[state.offset..-1].chomp("\n")
444
- current << buffer_text unless buffer_text.empty?
445
-
446
- # signal flush
447
- state.trigger_flush( buffer_text )
448
-
449
- # signal finish
450
- state.trigger_finish
451
-
452
- # wrap it up
453
- finished = true
454
-
455
- end #case state.mode
456
-
457
- end #until finished
458
-
459
- return root
460
- end
461
-
462
- end #class Parser
463
-
464
-
465
-
466
- # #
467
- # # Token Definition Class
468
- # #
469
- # class StateParser::Token
470
- #
471
- # attr_reader :key #, :type
472
- #
473
- # def initialize( key )
474
- # @key = key
475
- # end
476
- #
477
- # def unit? ; false ; end
478
- # #def raw? ; @type == :raw ; end
479
- # #def normal? ; @type != :raw && @type != :unit ; end
480
- #
481
- # def start( text, offset, state )
482
- # raise "start undefined for #{key}"
483
- # end
484
- #
485
- # #def stop( match=nil )
486
- # # raise "stop undefined for #{key}" unless @stop
487
- # # @stop.call( match )
488
- # #end
489
- #
490
- # end
491
-
492
- # #
493
- # # Unit Token Definition Class
494
- # #
495
- # class StateParser::UnitToken
496
- #
497
- # attr_reader :key #, :type
498
- #
499
- # def initialize( key )
500
- # @key = key
501
- # end
502
- #
503
- # def unit? ; true ; end
504
- # #def raw? ; @type == :raw ; end
505
- # #def normal? ; @type != :raw && @type != :unit ; end
506
- #
507
- # def start( text, offset, state )
508
- # raise "start undefined for #{key}"
509
- # end
510
- #
511
- # end
512
-
513
-
514
-
515
- # _____ _
516
- # |_ _|__ ___| |_
517
- # | |/ _ \/ __| __|
518
- # | | __/\__ \ |_
519
- # |_|\___||___/\__|
520
- #
521
-
522
- # TODO
523
-
524
- =begin #test
525
-
526
- require 'yaml'
527
- require 'facet/string/regesc'
528
-
529
- s = %Q{MON[p]This is plain paragraph.[t][b]This bold.[b.]This tee'd off.[t.]&tm;[p.]KEY&tm;}
530
-
531
- class MyMachine < StateMachine
532
-
533
- attr_accessor :tag_stack
534
-
535
- def initialize
536
- @tag_stack = []
537
- end
538
-
539
- token :tag do
540
-
541
- def match( state )
542
- %r{ \[ (.*?) \] }mx
543
- end
544
-
545
- def end_match(match, state)
546
- %r{ \[ [ ]* (#{tag_stack.last.regesc}) (.*?) \. \] }mx
547
- end
548
-
549
- def callback( match, state )
550
- tag_stack << match[1]
551
- puts "<#{match[1]}>"
552
- end
553
-
554
- def end_callback( match, state )
555
- t = tag_stack.pop
556
- puts "</#{match[1]}>"
557
- end
558
-
559
- end
560
-
561
- token :entity do
562
-
563
- def match( state )
564
- %r{ \& (.*?) \; }x
565
- end
566
-
567
- def callback( match, state )
568
- puts "&" + match[1] + ';'
569
- end
570
-
571
- end
572
-
573
- end
574
-
575
- cp = StateParser.new( MyMachine.new )
576
- d = cp.parse( s )
577
- y d
578
-
579
- =end