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,90 +0,0 @@
1
- #--
2
- # YAMLStruct
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-09-13 trans Created.
19
- # ==========================================================================
20
- #
21
- # TODO Currently only supports YAML documents with a map at the top level.
22
- #
23
- #++
24
-
25
- require 'yaml'
26
-
27
- #:title: YAMLStruct
28
- #
29
- # TODO
30
- #
31
- # == Author(s)
32
- #
33
- # * Thomas Sawyer
34
- #
35
-
36
- class YAMLStruct
37
-
38
- def initialize( stream )
39
- @yaml = YAML::load( stream )
40
- end
41
-
42
- def method_missing( sym, *args, &blk )
43
- sym = sym.to_s
44
- if sym.slice(-1,1) == '='
45
- @yaml[ sym ] = args[0]
46
- elsif @yaml.key?( sym )
47
- @yaml[ sym ]
48
- else
49
- #raise ?
50
- end
51
- end
52
-
53
- def to_s
54
- @yaml.to_yaml
55
- end
56
-
57
- end
58
-
59
-
60
- # _____ _
61
- # |_ _|__ ___| |_
62
- # | |/ _ \/ __| __|
63
- # | | __/\__ \ |_
64
- # |_|\___||___/\__|
65
- #
66
-
67
- =begin test
68
-
69
- require 'test/unit'
70
-
71
- class TC_YAMLStruct < Test::Unit::TestCase
72
-
73
- def setup
74
- y = %{
75
- a: 1
76
- b: 2
77
- c: 3
78
- }
79
- @y = YAMLStruct.new(y)
80
- end
81
-
82
- def test_001
83
- assert_equal( 1, @y.a )
84
- assert_equal( 2, @y.b )
85
- assert_equal( 3, @y.c )
86
- end
87
-
88
- end
89
-
90
- =end
@@ -1,1551 +0,0 @@
1
- #
2
- # setup.rb
3
- #
4
- # Copyright (c) 2000-2005 Minero Aoki
5
- #
6
- # This program is free software.
7
- # You can distribute/modify this program under the terms of
8
- # the GNU LGPL, Lesser General Public License version 2.1.
9
- #
10
-
11
- unless Enumerable.method_defined?(:map) # Ruby 1.4.6
12
- module Enumerable
13
- alias map collect
14
- end
15
- end
16
-
17
- unless File.respond_to?(:read) # Ruby 1.6
18
- def File.read(fname)
19
- open(fname) {|f|
20
- return f.read
21
- }
22
- end
23
- end
24
-
25
- unless Errno.const_defined?(:ENOTEMPTY) # Windows?
26
- module Errno
27
- class ENOTEMPTY
28
- # We do not raise this exception, implementation is not needed.
29
- end
30
- end
31
- end
32
-
33
- def File.binread(fname)
34
- open(fname, 'rb') {|f|
35
- return f.read
36
- }
37
- end
38
-
39
- # for corrupted Windows' stat(2)
40
- def File.dir?(path)
41
- File.directory?((path[-1,1] == '/') ? path : path + '/')
42
- end
43
-
44
-
45
- class ConfigTable
46
-
47
- include Enumerable
48
-
49
- def initialize(rbconfig)
50
- @rbconfig = rbconfig
51
- @items = []
52
- @table = {}
53
- # options
54
- @install_prefix = nil
55
- @config_opt = nil
56
- @verbose = true
57
- @no_harm = false
58
- @libsrc_pattern = '*.rb'
59
- end
60
-
61
- attr_accessor :install_prefix
62
- attr_accessor :config_opt
63
-
64
- attr_writer :verbose
65
-
66
- def verbose?
67
- @verbose
68
- end
69
-
70
- attr_writer :no_harm
71
-
72
- def no_harm?
73
- @no_harm
74
- end
75
-
76
- attr_accessor :libsrc_pattern
77
-
78
- def [](key)
79
- lookup(key).resolve(self)
80
- end
81
-
82
- def []=(key, val)
83
- lookup(key).set val
84
- end
85
-
86
- def names
87
- @items.map {|i| i.name }
88
- end
89
-
90
- def each(&block)
91
- @items.each(&block)
92
- end
93
-
94
- def key?(name)
95
- @table.key?(name)
96
- end
97
-
98
- def lookup(name)
99
- @table[name] or setup_rb_error "no such config item: #{name}"
100
- end
101
-
102
- def add(item)
103
- @items.push item
104
- @table[item.name] = item
105
- end
106
-
107
- def remove(name)
108
- item = lookup(name)
109
- @items.delete_if {|i| i.name == name }
110
- @table.delete_if {|name, i| i.name == name }
111
- item
112
- end
113
-
114
- def load_script(path, inst = nil)
115
- if File.file?(path)
116
- MetaConfigEnvironment.new(self, inst).instance_eval File.read(path), path
117
- end
118
- end
119
-
120
- def savefile
121
- '.config'
122
- end
123
-
124
- def load_savefile
125
- begin
126
- File.foreach(savefile()) do |line|
127
- k, v = *line.split(/=/, 2)
128
- self[k] = v.strip
129
- end
130
- rescue Errno::ENOENT
131
- setup_rb_error $!.message + "\n#{File.basename($0)} config first"
132
- end
133
- end
134
-
135
- def save
136
- @items.each {|i| i.value }
137
- File.open(savefile(), 'w') {|f|
138
- @items.each do |i|
139
- f.printf "%s=%s\n", i.name, i.value if i.value? and i.value
140
- end
141
- }
142
- end
143
-
144
- def load_standard_entries
145
- standard_entries(@rbconfig).each do |ent|
146
- add ent
147
- end
148
- end
149
-
150
- def standard_entries(rbconfig)
151
- c = rbconfig
152
-
153
- rubypath = c['bindir'] + '/' + c['ruby_install_name']
154
-
155
- major = c['MAJOR'].to_i
156
- minor = c['MINOR'].to_i
157
- teeny = c['TEENY'].to_i
158
- version = "#{major}.#{minor}"
159
-
160
- # ruby ver. >= 1.4.4?
161
- newpath_p = ((major >= 2) or
162
- ((major == 1) and
163
- ((minor >= 5) or
164
- ((minor == 4) and (teeny >= 4)))))
165
-
166
- if c['rubylibdir']
167
- # V > 1.6.3
168
- libruby = "#{c['prefix']}/lib/ruby"
169
- librubyver = c['rubylibdir']
170
- librubyverarch = c['archdir']
171
- siteruby = c['sitedir']
172
- siterubyver = c['sitelibdir']
173
- siterubyverarch = c['sitearchdir']
174
- elsif newpath_p
175
- # 1.4.4 <= V <= 1.6.3
176
- libruby = "#{c['prefix']}/lib/ruby"
177
- librubyver = "#{c['prefix']}/lib/ruby/#{version}"
178
- librubyverarch = "#{c['prefix']}/lib/ruby/#{version}/#{c['arch']}"
179
- siteruby = c['sitedir']
180
- siterubyver = "$siteruby/#{version}"
181
- siterubyverarch = "$siterubyver/#{c['arch']}"
182
- else
183
- # V < 1.4.4
184
- libruby = "#{c['prefix']}/lib/ruby"
185
- librubyver = "#{c['prefix']}/lib/ruby/#{version}"
186
- librubyverarch = "#{c['prefix']}/lib/ruby/#{version}/#{c['arch']}"
187
- siteruby = "#{c['prefix']}/lib/ruby/#{version}/site_ruby"
188
- siterubyver = siteruby
189
- siterubyverarch = "$siterubyver/#{c['arch']}"
190
- end
191
- parameterize = lambda {|path|
192
- path.sub(/\A#{Regexp.quote(c['prefix'])}/, '$prefix')
193
- }
194
-
195
- if arg = c['configure_args'].split.detect {|arg| /--with-make-prog=/ =~ arg }
196
- makeprog = arg.sub(/'/, '').split(/=/, 2)[1]
197
- else
198
- makeprog = 'make'
199
- end
200
-
201
- [
202
- ExecItem.new('installdirs', 'std/site/home',
203
- 'std: install under libruby; site: install under site_ruby; home: install under $HOME')\
204
- {|val, table|
205
- case val
206
- when 'std'
207
- table['rbdir'] = '$librubyver'
208
- table['sodir'] = '$librubyverarch'
209
- when 'site'
210
- table['rbdir'] = '$siterubyver'
211
- table['sodir'] = '$siterubyverarch'
212
- when 'home'
213
- setup_rb_error '$HOME was not set' unless ENV['HOME']
214
- table['prefix'] = ENV['HOME']
215
- table['rbdir'] = '$libdir/ruby'
216
- table['sodir'] = '$libdir/ruby'
217
- end
218
- },
219
- PathItem.new('prefix', 'path', c['prefix'],
220
- 'path prefix of target environment'),
221
- PathItem.new('bindir', 'path', parameterize.call(c['bindir']),
222
- 'the directory for commands'),
223
- PathItem.new('libdir', 'path', parameterize.call(c['libdir']),
224
- 'the directory for libraries'),
225
- PathItem.new('datadir', 'path', parameterize.call(c['datadir']),
226
- 'the directory for shared data'),
227
- PathItem.new('mandir', 'path', parameterize.call(c['mandir']),
228
- 'the directory for man pages'),
229
- PathItem.new('sysconfdir', 'path', parameterize.call(c['sysconfdir']),
230
- 'the directory for system configuration files'),
231
- PathItem.new('localstatedir', 'path', parameterize.call(c['localstatedir']),
232
- 'the directory for local state data'),
233
- PathItem.new('libruby', 'path', libruby,
234
- 'the directory for ruby libraries'),
235
- PathItem.new('librubyver', 'path', librubyver,
236
- 'the directory for standard ruby libraries'),
237
- PathItem.new('librubyverarch', 'path', librubyverarch,
238
- 'the directory for standard ruby extensions'),
239
- PathItem.new('siteruby', 'path', siteruby,
240
- 'the directory for version-independent aux ruby libraries'),
241
- PathItem.new('siterubyver', 'path', siterubyver,
242
- 'the directory for aux ruby libraries'),
243
- PathItem.new('siterubyverarch', 'path', siterubyverarch,
244
- 'the directory for aux ruby binaries'),
245
- PathItem.new('rbdir', 'path', '$siterubyver',
246
- 'the directory for ruby scripts'),
247
- PathItem.new('sodir', 'path', '$siterubyverarch',
248
- 'the directory for ruby extentions'),
249
- PathItem.new('rubypath', 'path', rubypath,
250
- 'the path to set to #! line'),
251
- ProgramItem.new('rubyprog', 'name', rubypath,
252
- 'the ruby program using for installation'),
253
- ProgramItem.new('makeprog', 'name', makeprog,
254
- 'the make program to compile ruby extentions'),
255
- SelectItem.new('shebang', 'all/ruby/never', 'ruby',
256
- 'shebang line (#!) editing mode'),
257
- BoolItem.new('without-ext', 'yes/no', 'no',
258
- 'does not compile/install ruby extentions')
259
- ]
260
- end
261
- private :standard_entries
262
-
263
- def load_multipackage_entries
264
- multipackage_entries().each do |ent|
265
- add ent
266
- end
267
- end
268
-
269
- def multipackage_entries
270
- [
271
- PackageSelectionItem.new('with', 'name,name...', '', 'ALL',
272
- 'package names that you want to install'),
273
- PackageSelectionItem.new('without', 'name,name...', '', 'NONE',
274
- 'package names that you do not want to install')
275
- ]
276
- end
277
- private :multipackage_entries
278
-
279
- ALIASES = {
280
- 'std-ruby' => 'librubyver',
281
- 'stdruby' => 'librubyver',
282
- 'rubylibdir' => 'librubyver',
283
- 'archdir' => 'librubyverarch',
284
- 'site-ruby-common' => 'siteruby', # For backward compatibility
285
- 'site-ruby' => 'siterubyver', # For backward compatibility
286
- 'bin-dir' => 'bindir',
287
- 'bin-dir' => 'bindir',
288
- 'rb-dir' => 'rbdir',
289
- 'so-dir' => 'sodir',
290
- 'data-dir' => 'datadir',
291
- 'ruby-path' => 'rubypath',
292
- 'ruby-prog' => 'rubyprog',
293
- 'ruby' => 'rubyprog',
294
- 'make-prog' => 'makeprog',
295
- 'make' => 'makeprog'
296
- }
297
-
298
- def fixup
299
- ALIASES.each do |ali, name|
300
- @table[ali] = @table[name]
301
- end
302
- @items.freeze
303
- @table.freeze
304
- @options_re = /\A--(#{@table.keys.join('|')})(?:=(.*))?\z/
305
- end
306
-
307
- def parse_opt(opt)
308
- m = @options_re.match(opt) or setup_rb_error "config: unknown option #{opt}"
309
- m.to_a[1,2]
310
- end
311
-
312
- def dllext
313
- @rbconfig['DLEXT']
314
- end
315
-
316
- def value_config?(name)
317
- lookup(name).value?
318
- end
319
-
320
- class Item
321
- def initialize(name, template, default, desc)
322
- @name = name.freeze
323
- @template = template
324
- @value = default
325
- @default = default
326
- @description = desc
327
- end
328
-
329
- attr_reader :name
330
- attr_reader :description
331
-
332
- attr_accessor :default
333
- alias help_default default
334
-
335
- def help_opt
336
- "--#{@name}=#{@template}"
337
- end
338
-
339
- def value?
340
- true
341
- end
342
-
343
- def value
344
- @value
345
- end
346
-
347
- def resolve(table)
348
- @value.gsub(%r<\$([^/]+)>) { table[$1] }
349
- end
350
-
351
- def set(val)
352
- @value = check(val)
353
- end
354
-
355
- private
356
-
357
- def check(val)
358
- setup_rb_error "config: --#{name} requires argument" unless val
359
- val
360
- end
361
- end
362
-
363
- class BoolItem < Item
364
- def config_type
365
- 'bool'
366
- end
367
-
368
- def help_opt
369
- "--#{@name}"
370
- end
371
-
372
- private
373
-
374
- def check(val)
375
- return 'yes' unless val
376
- unless /\A(y(es)?|n(o)?|t(rue)?|f(alse))\z/i =~ val
377
- setup_rb_error "config: --#{@name} accepts only yes/no for argument"
378
- end
379
- (/\Ay(es)?|\At(rue)/i =~ value) ? 'yes' : 'no'
380
- end
381
- end
382
-
383
- class PathItem < Item
384
- def config_type
385
- 'path'
386
- end
387
-
388
- private
389
-
390
- def check(path)
391
- setup_rb_error "config: --#{@name} requires argument" unless path
392
- path[0,1] == '$' ? path : File.expand_path(path)
393
- end
394
- end
395
-
396
- class ProgramItem < Item
397
- def config_type
398
- 'program'
399
- end
400
- end
401
-
402
- class SelectItem < Item
403
- def initialize(name, selection, default, desc)
404
- super
405
- @ok = selection.split('/')
406
- end
407
-
408
- def config_type
409
- 'select'
410
- end
411
-
412
- private
413
-
414
- def check(val)
415
- unless @ok.include?(val.strip)
416
- setup_rb_error "config: use --#{@name}=#{@template} (#{val})"
417
- end
418
- val.strip
419
- end
420
- end
421
-
422
- class ExecItem < Item
423
- def initialize(name, selection, desc, &block)
424
- super name, selection, nil, desc
425
- @ok = selection.split('/')
426
- @action = block
427
- end
428
-
429
- def config_type
430
- 'exec'
431
- end
432
-
433
- def value?
434
- false
435
- end
436
-
437
- def resolve(table)
438
- setup_rb_error "$#{name()} wrongly used as option value"
439
- end
440
-
441
- undef set
442
-
443
- def evaluate(val, table)
444
- v = val.strip.downcase
445
- unless @ok.include?(v)
446
- setup_rb_error "invalid option --#{@name}=#{val} (use #{@template})"
447
- end
448
- @action.call v, table
449
- end
450
- end
451
-
452
- class PackageSelectionItem < Item
453
- def initialize(name, template, default, help_default, desc)
454
- super name, template, default, desc
455
- @help_default = help_default
456
- end
457
-
458
- attr_reader :help_default
459
-
460
- def config_type
461
- 'package'
462
- end
463
-
464
- private
465
-
466
- def check(val)
467
- unless File.dir?("packages/#{val}")
468
- setup_rb_error "config: no such package: #{val}"
469
- end
470
- val
471
- end
472
- end
473
-
474
- class MetaConfigEnvironment
475
- def intiailize(config, installer)
476
- @config = config
477
- @installer = installer
478
- end
479
-
480
- def config_names
481
- @config.names
482
- end
483
-
484
- def config?(name)
485
- @config.key?(name)
486
- end
487
-
488
- def bool_config?(name)
489
- @config.lookup(name).config_type == 'bool'
490
- end
491
-
492
- def path_config?(name)
493
- @config.lookup(name).config_type == 'path'
494
- end
495
-
496
- def value_config?(name)
497
- @config.lookup(name).config_type != 'exec'
498
- end
499
-
500
- def add_config(item)
501
- @config.add item
502
- end
503
-
504
- def add_bool_config(name, default, desc)
505
- @config.add BoolItem.new(name, 'yes/no', default ? 'yes' : 'no', desc)
506
- end
507
-
508
- def add_path_config(name, default, desc)
509
- @config.add PathItem.new(name, 'path', default, desc)
510
- end
511
-
512
- def set_config_default(name, default)
513
- @config.lookup(name).default = default
514
- end
515
-
516
- def remove_config(name)
517
- @config.remove(name)
518
- end
519
-
520
- # For only multipackage
521
- def packages
522
- raise '[setup.rb fatal] multi-package metaconfig API packages() called for single-package; contact application package vendor' unless @installer
523
- @installer.packages
524
- end
525
-
526
- # For only multipackage
527
- def declare_packages(list)
528
- raise '[setup.rb fatal] multi-package metaconfig API declare_packages() called for single-package; contact application package vendor' unless @installer
529
- @installer.packages = list
530
- end
531
- end
532
-
533
- end # class ConfigTable
534
-
535
-
536
- # This module requires: #verbose?, #no_harm?
537
- module FileOperations
538
-
539
- def mkdir_p(dirname, prefix = nil)
540
- dirname = prefix + File.expand_path(dirname) if prefix
541
- $stderr.puts "mkdir -p #{dirname}" if verbose?
542
- return if no_harm?
543
-
544
- # Does not check '/', it's too abnormal.
545
- dirs = File.expand_path(dirname).split(%r<(?=/)>)
546
- if /\A[a-z]:\z/i =~ dirs[0]
547
- disk = dirs.shift
548
- dirs[0] = disk + dirs[0]
549
- end
550
- dirs.each_index do |idx|
551
- path = dirs[0..idx].join('')
552
- Dir.mkdir path unless File.dir?(path)
553
- end
554
- end
555
-
556
- def rm_f(path)
557
- $stderr.puts "rm -f #{path}" if verbose?
558
- return if no_harm?
559
- force_remove_file path
560
- end
561
-
562
- def rm_rf(path)
563
- $stderr.puts "rm -rf #{path}" if verbose?
564
- return if no_harm?
565
- remove_tree path
566
- end
567
-
568
- def remove_tree(path)
569
- if File.symlink?(path)
570
- remove_file path
571
- elsif File.dir?(path)
572
- remove_tree0 path
573
- else
574
- force_remove_file path
575
- end
576
- end
577
-
578
- def remove_tree0(path)
579
- Dir.foreach(path) do |ent|
580
- next if ent == '.'
581
- next if ent == '..'
582
- entpath = "#{path}/#{ent}"
583
- if File.symlink?(entpath)
584
- remove_file entpath
585
- elsif File.dir?(entpath)
586
- remove_tree0 entpath
587
- else
588
- force_remove_file entpath
589
- end
590
- end
591
- begin
592
- Dir.rmdir path
593
- rescue Errno::ENOTEMPTY
594
- # directory may not be empty
595
- end
596
- end
597
-
598
- def move_file(src, dest)
599
- force_remove_file dest
600
- begin
601
- File.rename src, dest
602
- rescue
603
- File.open(dest, 'wb') {|f|
604
- f.write File.binread(src)
605
- }
606
- File.chmod File.stat(src).mode, dest
607
- File.unlink src
608
- end
609
- end
610
-
611
- def force_remove_file(path)
612
- begin
613
- remove_file path
614
- rescue
615
- end
616
- end
617
-
618
- def remove_file(path)
619
- File.chmod 0777, path
620
- File.unlink path
621
- end
622
-
623
- def install(from, dest, mode, prefix = nil)
624
- $stderr.puts "install #{from} #{dest}" if verbose?
625
- return if no_harm?
626
-
627
- realdest = prefix ? prefix + File.expand_path(dest) : dest
628
- realdest = File.join(realdest, File.basename(from)) if File.dir?(realdest)
629
- str = File.binread(from)
630
- if diff?(str, realdest)
631
- verbose_off {
632
- rm_f realdest if File.exist?(realdest)
633
- }
634
- File.open(realdest, 'wb') {|f|
635
- f.write str
636
- }
637
- File.chmod mode, realdest
638
-
639
- File.open("#{objdir_root()}/InstalledFiles", 'a') {|f|
640
- if prefix
641
- f.puts realdest.sub(prefix, '')
642
- else
643
- f.puts realdest
644
- end
645
- }
646
- end
647
- end
648
-
649
- def diff?(new_content, path)
650
- return true unless File.exist?(path)
651
- new_content != File.binread(path)
652
- end
653
-
654
- def command(*args)
655
- $stderr.puts args.join(' ') if verbose?
656
- system(*args) or raise RuntimeError,
657
- "system(#{args.map{|a| a.inspect }.join(' ')}) failed"
658
- end
659
-
660
- def ruby(*args)
661
- command config('rubyprog'), *args
662
- end
663
-
664
- def make(task = nil)
665
- command(*[config('makeprog'), task].compact)
666
- end
667
-
668
- def extdir?(dir)
669
- File.exist?("#{dir}/MANIFEST") or File.exist?("#{dir}/extconf.rb")
670
- end
671
-
672
- def files_of(dir)
673
- Dir.open(dir) {|d|
674
- return d.select {|ent| File.file?("#{dir}/#{ent}") }
675
- }
676
- end
677
-
678
- DIR_REJECT = %w( . .. CVS SCCS RCS CVS.adm .svn )
679
-
680
- def directories_of(dir)
681
- Dir.open(dir) {|d|
682
- return d.select {|ent| File.dir?("#{dir}/#{ent}") } - DIR_REJECT
683
- }
684
- end
685
-
686
- end
687
-
688
-
689
- # This module requires: #srcdir_root, #objdir_root, #relpath
690
- module HookScriptAPI
691
-
692
- def get_config(key)
693
- @config[key]
694
- end
695
-
696
- alias config get_config
697
-
698
- # obsolete: use metaconfig to change configuration
699
- def set_config(key, val)
700
- @config[key] = val
701
- end
702
-
703
- #
704
- # srcdir/objdir (works only in the package directory)
705
- #
706
-
707
- def curr_srcdir
708
- "#{srcdir_root()}/#{relpath()}"
709
- end
710
-
711
- def curr_objdir
712
- "#{objdir_root()}/#{relpath()}"
713
- end
714
-
715
- def srcfile(path)
716
- "#{curr_srcdir()}/#{path}"
717
- end
718
-
719
- def srcexist?(path)
720
- File.exist?(srcfile(path))
721
- end
722
-
723
- def srcdirectory?(path)
724
- File.dir?(srcfile(path))
725
- end
726
-
727
- def srcfile?(path)
728
- File.file?(srcfile(path))
729
- end
730
-
731
- def srcentries(path = '.')
732
- Dir.open("#{curr_srcdir()}/#{path}") {|d|
733
- return d.to_a - %w(. ..)
734
- }
735
- end
736
-
737
- def srcfiles(path = '.')
738
- srcentries(path).select {|fname|
739
- File.file?(File.join(curr_srcdir(), path, fname))
740
- }
741
- end
742
-
743
- def srcdirectories(path = '.')
744
- srcentries(path).select {|fname|
745
- File.dir?(File.join(curr_srcdir(), path, fname))
746
- }
747
- end
748
-
749
- end
750
-
751
-
752
- class ToplevelInstaller
753
-
754
- Version = '3.4.0'
755
- Copyright = 'Copyright (c) 2000-2005 Minero Aoki'
756
-
757
- TASKS = [
758
- [ 'all', 'do config, setup, then install' ],
759
- [ 'config', 'saves your configurations' ],
760
- [ 'show', 'shows current configuration' ],
761
- [ 'setup', 'compiles ruby extentions and others' ],
762
- [ 'install', 'installs files' ],
763
- [ 'test', 'run all tests in test/' ],
764
- [ 'clean', "does `make clean' for each extention" ],
765
- [ 'distclean',"does `make distclean' for each extention" ]
766
- ]
767
-
768
- def ToplevelInstaller.invoke
769
- config = ConfigTable.new(load_rbconfig())
770
- config.load_standard_entries
771
- config.load_multipackage_entries if multipackage?
772
- config.fixup
773
- klass = (multipackage?() ? ToplevelInstallerMulti : ToplevelInstaller)
774
- klass.new(File.dirname($0), config).invoke
775
- end
776
-
777
- def ToplevelInstaller.multipackage?
778
- File.dir?(File.dirname($0) + '/packages')
779
- end
780
-
781
- def ToplevelInstaller.load_rbconfig
782
- if arg = ARGV.detect {|arg| /\A--rbconfig=/ =~ arg }
783
- ARGV.delete(arg)
784
- load File.expand_path(arg.split(/=/, 2)[1])
785
- $".push 'rbconfig.rb'
786
- else
787
- require 'rbconfig'
788
- end
789
- ::Config::CONFIG
790
- end
791
-
792
- def initialize(ardir_root, config)
793
- @ardir = File.expand_path(ardir_root)
794
- @config = config
795
- # cache
796
- @valid_task_re = nil
797
- end
798
-
799
- def config(key)
800
- @config[key]
801
- end
802
-
803
- def inspect
804
- "#<#{self.class} #{__id__()}>"
805
- end
806
-
807
- def invoke
808
- run_metaconfigs
809
- case task = parsearg_global()
810
- when nil, 'all'
811
- parsearg_config
812
- init_installers
813
- exec_config
814
- exec_setup
815
- exec_install
816
- else
817
- case task
818
- when 'config', 'test'
819
- ;
820
- when 'clean', 'distclean'
821
- @config.load_savefile if File.exist?(@config.savefile)
822
- else
823
- @config.load_savefile
824
- end
825
- __send__ "parsearg_#{task}"
826
- init_installers
827
- __send__ "exec_#{task}"
828
- end
829
- end
830
-
831
- def run_metaconfigs
832
- @config.load_script "#{@ardir}/metaconfig"
833
- end
834
-
835
- def init_installers
836
- @installer = Installer.new(@config, @ardir, File.expand_path('.'))
837
- end
838
-
839
- #
840
- # Hook Script API bases
841
- #
842
-
843
- def srcdir_root
844
- @ardir
845
- end
846
-
847
- def objdir_root
848
- '.'
849
- end
850
-
851
- def relpath
852
- '.'
853
- end
854
-
855
- #
856
- # Option Parsing
857
- #
858
-
859
- def parsearg_global
860
- while arg = ARGV.shift
861
- case arg
862
- when /\A\w+\z/
863
- setup_rb_error "invalid task: #{arg}" unless valid_task?(arg)
864
- return arg
865
- when '-q', '--quiet'
866
- @config.verbose = false
867
- when '--verbose'
868
- @config.verbose = true
869
- when '--help'
870
- print_usage $stdout
871
- exit 0
872
- when '--version'
873
- puts "#{File.basename($0)} version #{Version}"
874
- exit 0
875
- when '--copyright'
876
- puts Copyright
877
- exit 0
878
- else
879
- setup_rb_error "unknown global option '#{arg}'"
880
- end
881
- end
882
- nil
883
- end
884
-
885
- def valid_task?(t)
886
- valid_task_re() =~ t
887
- end
888
-
889
- def valid_task_re
890
- @valid_task_re ||= /\A(?:#{TASKS.map {|task,desc| task }.join('|')})\z/
891
- end
892
-
893
- def parsearg_no_options
894
- unless ARGV.empty?
895
- setup_rb_error "#{task}: unknown options: #{ARGV.join(' ')}"
896
- end
897
- end
898
-
899
- alias parsearg_show parsearg_no_options
900
- alias parsearg_setup parsearg_no_options
901
- alias parsearg_test parsearg_no_options
902
- alias parsearg_clean parsearg_no_options
903
- alias parsearg_distclean parsearg_no_options
904
-
905
- def parsearg_config
906
- evalopt = []
907
- set = []
908
- @config.config_opt = []
909
- while i = ARGV.shift
910
- if /\A--?\z/ =~ i
911
- @config.config_opt = ARGV.dup
912
- break
913
- end
914
- name, value = *@config.parse_opt(i)
915
- if @config.value_config?(name)
916
- @config[name] = value
917
- else
918
- evalopt.push [name, value]
919
- end
920
- set.push name
921
- end
922
- evalopt.each do |name, value|
923
- @config.lookup(name).evaluate value, @config
924
- end
925
- # Check if configuration is valid
926
- set.each do |n|
927
- @config[n] if @config.value_config?(n)
928
- end
929
- end
930
-
931
- def parsearg_install
932
- @config.no_harm = false
933
- @config.install_prefix = ''
934
- while a = ARGV.shift
935
- case a
936
- when '--no-harm'
937
- @config.no_harm = true
938
- when /\A--prefix=/
939
- path = a.split(/=/, 2)[1]
940
- path = File.expand_path(path) unless path[0,1] == '/'
941
- @config.install_prefix = path
942
- else
943
- setup_rb_error "install: unknown option #{a}"
944
- end
945
- end
946
- end
947
-
948
- def print_usage(out)
949
- out.puts 'Typical Installation Procedure:'
950
- out.puts " $ ruby #{File.basename $0} config"
951
- out.puts " $ ruby #{File.basename $0} setup"
952
- out.puts " # ruby #{File.basename $0} install (may require root privilege)"
953
- out.puts
954
- out.puts 'Detailed Usage:'
955
- out.puts " ruby #{File.basename $0} <global option>"
956
- out.puts " ruby #{File.basename $0} [<global options>] <task> [<task options>]"
957
-
958
- fmt = " %-24s %s\n"
959
- out.puts
960
- out.puts 'Global options:'
961
- out.printf fmt, '-q,--quiet', 'suppress message outputs'
962
- out.printf fmt, ' --verbose', 'output messages verbosely'
963
- out.printf fmt, ' --help', 'print this message'
964
- out.printf fmt, ' --version', 'print version and quit'
965
- out.printf fmt, ' --copyright', 'print copyright and quit'
966
- out.puts
967
- out.puts 'Tasks:'
968
- TASKS.each do |name, desc|
969
- out.printf fmt, name, desc
970
- end
971
-
972
- fmt = " %-24s %s [%s]\n"
973
- out.puts
974
- out.puts 'Options for CONFIG or ALL:'
975
- @config.each do |item|
976
- out.printf fmt, item.help_opt, item.description, item.help_default
977
- end
978
- out.printf fmt, '--rbconfig=path', 'rbconfig.rb to load',"running ruby's"
979
- out.puts
980
- out.puts 'Options for INSTALL:'
981
- out.printf fmt, '--no-harm', 'only display what to do if given', 'off'
982
- out.printf fmt, '--prefix=path', 'install path prefix', ''
983
- out.puts
984
- end
985
-
986
- #
987
- # Task Handlers
988
- #
989
-
990
- def exec_config
991
- @installer.exec_config
992
- @config.save # must be final
993
- end
994
-
995
- def exec_setup
996
- @installer.exec_setup
997
- end
998
-
999
- def exec_install
1000
- @installer.exec_install
1001
- end
1002
-
1003
- def exec_test
1004
- @installer.exec_test
1005
- end
1006
-
1007
- def exec_show
1008
- @config.each do |i|
1009
- printf "%-20s %s\n", i.name, i.value if i.value?
1010
- end
1011
- end
1012
-
1013
- def exec_clean
1014
- @installer.exec_clean
1015
- end
1016
-
1017
- def exec_distclean
1018
- @installer.exec_distclean
1019
- end
1020
-
1021
- end # class ToplevelInstaller
1022
-
1023
-
1024
- class ToplevelInstallerMulti < ToplevelInstaller
1025
-
1026
- include FileOperations
1027
-
1028
- def initialize(ardir_root, config)
1029
- super
1030
- @packages = directories_of("#{@ardir}/packages")
1031
- raise 'no package exists' if @packages.empty?
1032
- @root_installer = Installer.new(@config, @ardir, File.expand_path('.'))
1033
- end
1034
-
1035
- def run_metaconfigs
1036
- @config.load_script "#{@ardir}/metaconfig", self
1037
- @packages.each do |name|
1038
- @config.load_script "#{@ardir}/packages/#{name}/metaconfig"
1039
- end
1040
- end
1041
-
1042
- attr_reader :packages
1043
-
1044
- def packages=(list)
1045
- raise 'package list is empty' if list.empty?
1046
- list.each do |name|
1047
- raise "directory packages/#{name} does not exist"\
1048
- unless File.dir?("#{@ardir}/packages/#{name}")
1049
- end
1050
- @packages = list
1051
- end
1052
-
1053
- def init_installers
1054
- @installers = {}
1055
- @packages.each do |pack|
1056
- @installers[pack] = Installer.new(@config,
1057
- "#{@ardir}/packages/#{pack}",
1058
- "packages/#{pack}")
1059
- end
1060
- with = extract_selection(config('with'))
1061
- without = extract_selection(config('without'))
1062
- @selected = @installers.keys.select {|name|
1063
- (with.empty? or with.include?(name)) \
1064
- and not without.include?(name)
1065
- }
1066
- end
1067
-
1068
- def extract_selection(list)
1069
- a = list.split(/,/)
1070
- a.each do |name|
1071
- setup_rb_error "no such package: #{name}" unless @installers.key?(name)
1072
- end
1073
- a
1074
- end
1075
-
1076
- def print_usage(f)
1077
- super
1078
- f.puts 'Inluded packages:'
1079
- f.puts ' ' + @packages.sort.join(' ')
1080
- f.puts
1081
- end
1082
-
1083
- #
1084
- # Task Handlers
1085
- #
1086
-
1087
- def exec_config
1088
- run_hook 'pre-config'
1089
- each_selected_installers {|inst| inst.exec_config }
1090
- run_hook 'post-config'
1091
- @config.save # must be final
1092
- end
1093
-
1094
- def exec_setup
1095
- run_hook 'pre-setup'
1096
- each_selected_installers {|inst| inst.exec_setup }
1097
- run_hook 'post-setup'
1098
- end
1099
-
1100
- def exec_install
1101
- run_hook 'pre-install'
1102
- each_selected_installers {|inst| inst.exec_install }
1103
- run_hook 'post-install'
1104
- end
1105
-
1106
- def exec_test
1107
- run_hook 'pre-test'
1108
- each_selected_installers {|inst| inst.exec_test }
1109
- run_hook 'post-test'
1110
- end
1111
-
1112
- def exec_clean
1113
- rm_f @config.savefile
1114
- run_hook 'pre-clean'
1115
- each_selected_installers {|inst| inst.exec_clean }
1116
- run_hook 'post-clean'
1117
- end
1118
-
1119
- def exec_distclean
1120
- rm_f @config.savefile
1121
- run_hook 'pre-distclean'
1122
- each_selected_installers {|inst| inst.exec_distclean }
1123
- run_hook 'post-distclean'
1124
- end
1125
-
1126
- #
1127
- # lib
1128
- #
1129
-
1130
- def each_selected_installers
1131
- Dir.mkdir 'packages' unless File.dir?('packages')
1132
- @selected.each do |pack|
1133
- $stderr.puts "Processing the package `#{pack}' ..." if verbose?
1134
- Dir.mkdir "packages/#{pack}" unless File.dir?("packages/#{pack}")
1135
- Dir.chdir "packages/#{pack}"
1136
- yield @installers[pack]
1137
- Dir.chdir '../..'
1138
- end
1139
- end
1140
-
1141
- def run_hook(id)
1142
- @root_installer.run_hook id
1143
- end
1144
-
1145
- # module FileOperations requires this
1146
- def verbose?
1147
- @config.verbose?
1148
- end
1149
-
1150
- # module FileOperations requires this
1151
- def no_harm?
1152
- @config.no_harm?
1153
- end
1154
-
1155
- end # class ToplevelInstallerMulti
1156
-
1157
-
1158
- class Installer
1159
-
1160
- FILETYPES = %w( bin lib ext data conf man )
1161
-
1162
- include FileOperations
1163
- include HookScriptAPI
1164
-
1165
- def initialize(config, srcroot, objroot)
1166
- @config = config
1167
- @srcdir = File.expand_path(srcroot)
1168
- @objdir = File.expand_path(objroot)
1169
- @currdir = '.'
1170
- end
1171
-
1172
- def inspect
1173
- "#<#{self.class} #{File.basename(@srcdir)}>"
1174
- end
1175
-
1176
- #
1177
- # Hook Script API base methods
1178
- #
1179
-
1180
- def srcdir_root
1181
- @srcdir
1182
- end
1183
-
1184
- def objdir_root
1185
- @objdir
1186
- end
1187
-
1188
- def relpath
1189
- @currdir
1190
- end
1191
-
1192
- #
1193
- # Config Access
1194
- #
1195
-
1196
- # module FileOperations requires this
1197
- def verbose?
1198
- @config.verbose?
1199
- end
1200
-
1201
- # module FileOperations requires this
1202
- def no_harm?
1203
- @config.no_harm?
1204
- end
1205
-
1206
- def verbose_off
1207
- begin
1208
- save, @config.verbose = @config.verbose?, false
1209
- yield
1210
- ensure
1211
- @config.verbose = save
1212
- end
1213
- end
1214
-
1215
- #
1216
- # TASK config
1217
- #
1218
-
1219
- def exec_config
1220
- exec_task_traverse 'config'
1221
- end
1222
-
1223
- def config_dir_bin(rel)
1224
- end
1225
-
1226
- def config_dir_lib(rel)
1227
- end
1228
-
1229
- def config_dir_man(rel)
1230
- end
1231
-
1232
- def config_dir_ext(rel)
1233
- extconf if extdir?(curr_srcdir())
1234
- end
1235
-
1236
- def extconf
1237
- ruby "#{curr_srcdir()}/extconf.rb", *@config.config_opt
1238
- end
1239
-
1240
- def config_dir_data(rel)
1241
- end
1242
-
1243
- def config_dir_conf(rel)
1244
- end
1245
-
1246
- #
1247
- # TASK setup
1248
- #
1249
-
1250
- def exec_setup
1251
- exec_task_traverse 'setup'
1252
- end
1253
-
1254
- def setup_dir_bin(rel)
1255
- files_of(curr_srcdir()).each do |fname|
1256
- adjust_shebang "#{curr_srcdir()}/#{fname}"
1257
- end
1258
- end
1259
-
1260
- def adjust_shebang(path)
1261
- return if no_harm?
1262
- tmpfile = File.basename(path) + '.tmp'
1263
- begin
1264
- File.open(path, 'rb') {|r|
1265
- first = r.gets
1266
- return unless File.basename(first.sub(/\A\#!/, '').split[0].to_s) == 'ruby'
1267
- $stderr.puts "adjusting shebang: #{File.basename(path)}" if verbose?
1268
- File.open(tmpfile, 'wb') {|w|
1269
- w.print first.sub(/\A\#!\s*\S+/, '#! ' + config('rubypath'))
1270
- w.write r.read
1271
- }
1272
- }
1273
- move_file tmpfile, File.basename(path)
1274
- ensure
1275
- File.unlink tmpfile if File.exist?(tmpfile)
1276
- end
1277
- end
1278
-
1279
- def setup_dir_lib(rel)
1280
- end
1281
-
1282
- def setup_dir_man(rel)
1283
- end
1284
-
1285
- def setup_dir_ext(rel)
1286
- make if extdir?(curr_srcdir())
1287
- end
1288
-
1289
- def setup_dir_data(rel)
1290
- end
1291
-
1292
- def setup_dir_conf(rel)
1293
- end
1294
-
1295
- #
1296
- # TASK install
1297
- #
1298
-
1299
- def exec_install
1300
- rm_f 'InstalledFiles'
1301
- exec_task_traverse 'install'
1302
- end
1303
-
1304
- def install_dir_bin(rel)
1305
- install_files targetfiles(), "#{config('bindir')}/#{rel}", 0755
1306
- end
1307
-
1308
- def install_dir_lib(rel)
1309
- install_files rubyscripts(), "#{config('rbdir')}/#{rel}", 0644
1310
- end
1311
-
1312
- def install_dir_ext(rel)
1313
- return unless extdir?(curr_srcdir())
1314
- install_files rubyextentions('.'),
1315
- "#{config('sodir')}/#{File.dirname(rel)}",
1316
- 0555
1317
- end
1318
-
1319
- def install_dir_data(rel)
1320
- install_files targetfiles(), "#{config('datadir')}/#{rel}", 0644
1321
- end
1322
-
1323
- def install_dir_conf(rel)
1324
- # FIXME: should not remove current config files
1325
- # (rename previous file to .old/.org)
1326
- install_files targetfiles(), "#{config('sysconfdir')}/#{rel}", 0644
1327
- end
1328
-
1329
- def install_dir_man(rel)
1330
- install_files targetfiles(), "#{config('mandir')}/#{rel}", 0644
1331
- end
1332
-
1333
- def install_files(list, dest, mode)
1334
- mkdir_p dest, @config.install_prefix
1335
- list.each do |fname|
1336
- install fname, dest, mode, @config.install_prefix
1337
- end
1338
- end
1339
-
1340
- def rubyscripts
1341
- glob_select(@config.libsrc_pattern, targetfiles())
1342
- end
1343
-
1344
- def rubyextentions(dir)
1345
- ents = glob_select("*.#{@config.dllext}", targetfiles())
1346
- if ents.empty?
1347
- setup_rb_error "no ruby extention exists: 'ruby #{$0} setup' first"
1348
- end
1349
- ents
1350
- end
1351
-
1352
- def targetfiles
1353
- mapdir(existfiles() - hookfiles())
1354
- end
1355
-
1356
- def mapdir(ents)
1357
- ents.map {|ent|
1358
- if File.exist?(ent)
1359
- then ent # objdir
1360
- else "#{curr_srcdir()}/#{ent}" # srcdir
1361
- end
1362
- }
1363
- end
1364
-
1365
- # picked up many entries from cvs-1.11.1/src/ignore.c
1366
- JUNK_FILES = %w(
1367
- core RCSLOG tags TAGS .make.state
1368
- .nse_depinfo #* .#* cvslog.* ,* .del-* *.olb
1369
- *~ *.old *.bak *.BAK *.orig *.rej _$* *$
1370
-
1371
- *.org *.in .*
1372
- )
1373
-
1374
- def existfiles
1375
- glob_reject(JUNK_FILES, (files_of(curr_srcdir()) | files_of('.')))
1376
- end
1377
-
1378
- def hookfiles
1379
- %w( pre-%s post-%s pre-%s.rb post-%s.rb ).map {|fmt|
1380
- %w( config setup install clean ).map {|t| sprintf(fmt, t) }
1381
- }.flatten
1382
- end
1383
-
1384
- def glob_select(pat, ents)
1385
- re = globs2re([pat])
1386
- ents.select {|ent| re =~ ent }
1387
- end
1388
-
1389
- def glob_reject(pats, ents)
1390
- re = globs2re(pats)
1391
- ents.reject {|ent| re =~ ent }
1392
- end
1393
-
1394
- GLOB2REGEX = {
1395
- '.' => '\.',
1396
- '$' => '\$',
1397
- '#' => '\#',
1398
- '*' => '.*'
1399
- }
1400
-
1401
- def globs2re(pats)
1402
- /\A(?:#{
1403
- pats.map {|pat| pat.gsub(/[\.\$\#\*]/) {|ch| GLOB2REGEX[ch] } }.join('|')
1404
- })\z/
1405
- end
1406
-
1407
- #
1408
- # TASK test
1409
- #
1410
-
1411
- TESTDIR = 'test'
1412
-
1413
- def exec_test
1414
- unless File.directory?('test')
1415
- $stderr.puts 'no test in this package' if verbose?
1416
- return
1417
- end
1418
- $stderr.puts 'Running tests...' if verbose?
1419
- require 'test/unit'
1420
- runner = Test::Unit::AutoRunner.new(true)
1421
- runner.to_run << TESTDIR
1422
- runner.run
1423
- end
1424
-
1425
- #
1426
- # TASK clean
1427
- #
1428
-
1429
- def exec_clean
1430
- exec_task_traverse 'clean'
1431
- rm_f @config.savefile
1432
- rm_f 'InstalledFiles'
1433
- end
1434
-
1435
- def clean_dir_bin(rel)
1436
- end
1437
-
1438
- def clean_dir_lib(rel)
1439
- end
1440
-
1441
- def clean_dir_ext(rel)
1442
- return unless extdir?(curr_srcdir())
1443
- make 'clean' if File.file?('Makefile')
1444
- end
1445
-
1446
- def clean_dir_data(rel)
1447
- end
1448
-
1449
- def clean_dir_conf(rel)
1450
- end
1451
-
1452
- #
1453
- # TASK distclean
1454
- #
1455
-
1456
- def exec_distclean
1457
- exec_task_traverse 'distclean'
1458
- rm_f @config.savefile
1459
- rm_f 'InstalledFiles'
1460
- end
1461
-
1462
- def distclean_dir_bin(rel)
1463
- end
1464
-
1465
- def distclean_dir_lib(rel)
1466
- end
1467
-
1468
- def distclean_dir_ext(rel)
1469
- return unless extdir?(curr_srcdir())
1470
- make 'distclean' if File.file?('Makefile')
1471
- end
1472
-
1473
- def distclean_dir_data(rel)
1474
- end
1475
-
1476
- def distclean_dir_conf(rel)
1477
- end
1478
-
1479
- #
1480
- # lib
1481
- #
1482
-
1483
- def exec_task_traverse(task)
1484
- run_hook "pre-#{task}"
1485
- FILETYPES.each do |type|
1486
- if config('without-ext') == 'yes' and type == 'ext'
1487
- $stderr.puts 'skipping ext/* by user option' if verbose?
1488
- next
1489
- end
1490
- traverse task, type, "#{task}_dir_#{type}"
1491
- end
1492
- run_hook "post-#{task}"
1493
- end
1494
-
1495
- def traverse(task, rel, mid)
1496
- dive_into(rel) {
1497
- run_hook "pre-#{task}"
1498
- __send__ mid, rel.sub(%r[\A.*?(?:/|\z)], '')
1499
- directories_of(curr_srcdir()).each do |d|
1500
- traverse task, "#{rel}/#{d}", mid
1501
- end
1502
- run_hook "post-#{task}"
1503
- }
1504
- end
1505
-
1506
- def dive_into(rel)
1507
- return unless File.dir?("#{@srcdir}/#{rel}")
1508
-
1509
- dir = File.basename(rel)
1510
- Dir.mkdir dir unless File.dir?(dir)
1511
- prevdir = Dir.pwd
1512
- Dir.chdir dir
1513
- $stderr.puts '---> ' + rel if verbose?
1514
- @currdir = rel
1515
- yield
1516
- Dir.chdir prevdir
1517
- $stderr.puts '<--- ' + rel if verbose?
1518
- @currdir = File.dirname(rel)
1519
- end
1520
-
1521
- def run_hook(id)
1522
- path = [ "#{curr_srcdir()}/#{id}",
1523
- "#{curr_srcdir()}/#{id}.rb" ].detect {|cand| File.file?(cand) }
1524
- return unless path
1525
- begin
1526
- instance_eval File.read(path), path, 1
1527
- rescue
1528
- raise if $DEBUG
1529
- setup_rb_error "hook #{path} failed:\n" + $!.message
1530
- end
1531
- end
1532
-
1533
- end # class Installer
1534
-
1535
-
1536
- class SetupError < StandardError; end
1537
-
1538
- def setup_rb_error(msg)
1539
- raise SetupError, msg
1540
- end
1541
-
1542
- if $0 == __FILE__
1543
- begin
1544
- ToplevelInstaller.invoke
1545
- rescue SetupError
1546
- raise if $DEBUG
1547
- $stderr.puts $!.message
1548
- $stderr.puts "Try 'ruby #{$0} --help' for detailed usage."
1549
- exit 1
1550
- end
1551
- end