facets 2.9.2 → 2.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1109) hide show
  1. data/.ruby +9 -12
  2. data/.yardopts +10 -0
  3. data/HISTORY.rdoc +586 -898
  4. data/NOTICE.rdoc +30 -30
  5. data/README.rdoc +50 -60
  6. data/lib/core/facets.rb +1 -59
  7. data/lib/core/facets/array.rb +63 -89
  8. data/lib/core/facets/array/each_pair.rb +14 -0
  9. data/lib/core/facets/array/each_value.rb +6 -0
  10. data/lib/core/facets/array/median.rb +32 -0
  11. data/lib/core/facets/array/mode.rb +1 -1
  12. data/lib/core/facets/array/nonuniq.rb +41 -4
  13. data/{src/core/facets/array/duplicates.rb → lib/core/facets/array/occurent.rb} +0 -0
  14. data/{src/core-uncommon → lib/core}/facets/array/op_pow.rb +6 -1
  15. data/lib/core/facets/binding.rb +14 -36
  16. data/lib/core/facets/binding/local_variables.rb +1 -0
  17. data/lib/core/facets/binding/op.rb +3 -23
  18. data/{src/core/facets/binding/op.rb → lib/core/facets/binding/op_get.rb} +3 -0
  19. data/lib/core/facets/binding/op_set.rb +1 -0
  20. data/lib/core/facets/binding/self.rb +8 -3
  21. data/lib/core/facets/binding/with.rb +12 -0
  22. data/lib/core/facets/class.rb +9 -14
  23. data/lib/core/facets/class/descendants.rb +2 -1
  24. data/lib/core/facets/class/hierarchically.rb +12 -0
  25. data/lib/{core-uncommon → core}/facets/class/preallocate.rb +5 -2
  26. data/lib/core/facets/class/singleton.rb +13 -0
  27. data/lib/core/facets/comparable.rb +8 -18
  28. data/lib/core/facets/denumerable.rb +3 -2
  29. data/lib/core/facets/dir.rb +7 -16
  30. data/lib/core/facets/enumerable.rb +37 -74
  31. data/lib/core/facets/enumerable/accumulate.rb +8 -4
  32. data/lib/core/facets/enumerable/defer.rb +0 -27
  33. data/lib/core/facets/enumerable/hashify.rb +31 -0
  34. data/lib/core/facets/enumerable/incase.rb +19 -0
  35. data/lib/core/facets/enumerable/map_with.rb +3 -0
  36. data/lib/core/facets/enumerable/modulate.rb +1 -1
  37. data/lib/core/facets/enumerable/sum.rb +4 -2
  38. data/lib/core/facets/exception.rb +4 -11
  39. data/lib/core/facets/exception/detail.rb +3 -9
  40. data/lib/core/facets/exception/error_print.rb +80 -0
  41. data/lib/core/facets/file.rb +15 -30
  42. data/lib/core/facets/file/atomic_id.rb +9 -0
  43. data/lib/core/facets/file/atomic_open.rb +26 -0
  44. data/lib/{supplemental/facets/atomicfile.rb → core/facets/file/atomic_write.rb} +15 -8
  45. data/lib/core/facets/filetest.rb +7 -16
  46. data/lib/core/facets/fixnum.rb +7 -0
  47. data/lib/core/facets/float.rb +2 -6
  48. data/lib/core/facets/functor.rb +16 -0
  49. data/lib/core/facets/hash.rb +54 -108
  50. data/lib/core/facets/hash/collate.rb +3 -30
  51. data/lib/core/facets/hash/op_sub.rb +1 -0
  52. data/lib/core/facets/hash/rekey.rb +18 -8
  53. data/lib/core/facets/hash/slice.rb +3 -2
  54. data/lib/core/facets/hash/update_keys.rb +2 -1
  55. data/lib/core/facets/hash/url_params.rb +21 -0
  56. data/lib/core/facets/indexable.rb +0 -2
  57. data/lib/core/facets/integer.rb +10 -20
  58. data/lib/core/facets/integer/roman.rb +1 -0
  59. data/lib/core/facets/kernel.rb +77 -140
  60. data/lib/core/facets/kernel/assign.rb +11 -13
  61. data/lib/{core-uncommon → core}/facets/kernel/demo.rb +8 -5
  62. data/lib/core/facets/kernel/eigen.rb +33 -0
  63. data/{src/core-uncommon → lib/core}/facets/kernel/eigenclass.rb +5 -2
  64. data/lib/core/facets/kernel/extend.rb +4 -1
  65. data/lib/core/facets/kernel/extension.rb +2 -2
  66. data/lib/core/facets/kernel/hierarchical_send.rb +44 -0
  67. data/lib/{core-uncommon → core}/facets/kernel/instance_exec.rb +4 -1
  68. data/lib/{core-uncommon → core}/facets/kernel/memo.rb +5 -2
  69. data/lib/core/facets/kernel/object_hexid.rb +23 -21
  70. data/lib/core/facets/kernel/singleton_class.rb +3 -2
  71. data/{src/core-uncommon → lib/core}/facets/kernel/trap_chain.rb +6 -1
  72. data/lib/{core-uncommon → core}/facets/kernel/y.rb +5 -2
  73. data/lib/core/facets/lazy.rb +6 -7
  74. data/lib/core/facets/matchdata.rb +3 -8
  75. data/lib/{supplemental → core}/facets/metaid.rb +0 -0
  76. data/lib/core/facets/method.rb +5 -6
  77. data/lib/core/facets/method/composition.rb +80 -0
  78. data/lib/{core-uncommon → core}/facets/method/memoize.rb +5 -1
  79. data/lib/core/facets/method/op_mul.rb +1 -0
  80. data/lib/core/facets/method/op_pow.rb +1 -0
  81. data/lib/core/facets/module.rb +60 -86
  82. data/{src/core-uncommon → lib/core}/facets/module/attr_class_accessor.rb +15 -3
  83. data/{src/core-uncommon → lib/core}/facets/module/attr_tester.rb +12 -5
  84. data/lib/{core-uncommon → core}/facets/module/attr_validator.rb +11 -5
  85. data/lib/core/facets/module/class.rb +1 -1
  86. data/lib/{core-uncommon → core}/facets/module/class_accessor.rb +16 -3
  87. data/lib/{core-uncommon → core}/facets/module/class_extend.rb +9 -2
  88. data/{src/core-uncommon → lib/core}/facets/module/class_inheritor.rb +5 -2
  89. data/lib/{core-uncommon → core}/facets/module/copy_inheritor.rb +5 -2
  90. data/{src/core-uncommon → lib/core}/facets/module/enclosure.rb +16 -4
  91. data/lib/{core-uncommon → core}/facets/module/enclosures.rb +0 -0
  92. data/lib/{core-uncommon → core}/facets/module/include_as.rb +0 -0
  93. data/{src/core-uncommon → lib/core}/facets/module/instance_function.rb +5 -1
  94. data/lib/{core-uncommon → core}/facets/module/let.rb +4 -0
  95. data/{src/core-uncommon/facets/module/cattr.rb → lib/core/facets/module/mattr.rb} +40 -8
  96. data/{src/core-uncommon → lib/core}/facets/module/memoize.rb +4 -0
  97. data/lib/{core-uncommon → core}/facets/module/method_clash.rb +11 -4
  98. data/lib/{core-uncommon → core}/facets/module/method_space.rb +10 -2
  99. data/{src/core-uncommon → lib/core}/facets/module/module_load.rb +10 -5
  100. data/lib/{core-uncommon → core}/facets/module/preextend.rb +4 -1
  101. data/lib/core/facets/nilclass.rb +3 -8
  102. data/lib/core/facets/numeric.rb +10 -18
  103. data/lib/core/facets/numeric/approx.rb +29 -6
  104. data/lib/core/facets/numeric/close.rb +1 -0
  105. data/lib/core/facets/numeric/negative.rb +1 -0
  106. data/lib/core/facets/numeric/positive.rb +15 -0
  107. data/lib/core/facets/object.rb +6 -14
  108. data/lib/core/facets/objectspace.rb +4 -10
  109. data/lib/core/facets/proc.rb +8 -18
  110. data/lib/core/facets/process.rb +2 -6
  111. data/lib/core/facets/range.rb +7 -14
  112. data/lib/core/facets/range/quantile.rb +18 -0
  113. data/lib/core/facets/regexp.rb +6 -14
  114. data/lib/core/facets/regexp/op_or.rb +5 -8
  115. data/lib/{core-uncommon/facets/integer → core/facets}/roman.rb +15 -3
  116. data/lib/core/facets/string.rb +69 -134
  117. data/{src/core-uncommon → lib/core}/facets/string/acronym.rb +4 -1
  118. data/lib/core/facets/string/briefcase.rb +1 -0
  119. data/lib/core/facets/string/camelcase.rb +60 -49
  120. data/{src/core-uncommon → lib/core}/facets/string/crypt.rb +5 -2
  121. data/lib/core/facets/string/methodize.rb +10 -11
  122. data/lib/core/facets/string/modulize.rb +12 -12
  123. data/lib/core/facets/string/natcmp.rb +3 -1
  124. data/lib/core/facets/string/pathize.rb +8 -4
  125. data/lib/core/facets/string/roman.rb +1 -0
  126. data/lib/core/facets/string/snakecase.rb +19 -9
  127. data/lib/core/facets/string/titlecase.rb +14 -2
  128. data/lib/core/facets/string/underscore.rb +1 -22
  129. data/lib/core/facets/struct.rb +2 -6
  130. data/lib/core/facets/symbol.rb +14 -30
  131. data/lib/core/facets/symbol/plain.rb +8 -0
  132. data/{src/core/facets/symbol/bang.rb → lib/core/facets/symbol/reader.rb} +0 -0
  133. data/{src/core/facets/symbol/query.rb → lib/core/facets/symbol/writer.rb} +0 -0
  134. data/lib/core/facets/time.rb +16 -34
  135. data/lib/core/facets/time/shift.rb +2 -0
  136. data/lib/core/facets/time/stamp.rb +14 -12
  137. data/lib/core/facets/unboundmethod.rb +3 -8
  138. data/lib/core/facets/version.rb +19 -0
  139. data/lib/{supplemental → standard}/facets/argvector.rb +0 -0
  140. data/lib/standard/facets/cloneable.rb +64 -0
  141. data/lib/{supplemental → standard}/facets/enumargs.rb +0 -0
  142. data/lib/standard/facets/equitable.rb +76 -0
  143. data/lib/standard/facets/fileutils/amass.rb +9 -8
  144. data/lib/standard/facets/instantiable.rb +25 -0
  145. data/lib/{supplemental → standard}/facets/interval.rb +60 -67
  146. data/lib/standard/facets/math.rb +57 -5
  147. data/lib/standard/facets/math/lgamma.rb +3 -1
  148. data/lib/standard/facets/math/linsolve.rb +2 -0
  149. data/lib/standard/facets/math/median.rb +15 -0
  150. data/lib/standard/facets/math/percentile.rb +40 -0
  151. data/lib/standard/facets/math/round.rb +9 -0
  152. data/lib/standard/facets/math/sqsolve.rb +7 -5
  153. data/lib/standard/facets/math/tgamma.rb +10 -0
  154. data/lib/{supplemental → standard}/facets/memoizable.rb +0 -0
  155. data/lib/{supplemental → standard}/facets/multipliers.rb +0 -0
  156. data/lib/{supplemental → standard}/facets/multiton.rb +0 -0
  157. data/lib/{supplemental → standard}/facets/nullclass.rb +0 -0
  158. data/lib/{supplemental → standard}/facets/opesc.rb +0 -0
  159. data/lib/standard/facets/pathname.rb +14 -1
  160. data/lib/{supplemental → standard}/facets/platform.rb +0 -0
  161. data/lib/standard/facets/set.rb +5 -1
  162. data/{src/supplemental → lib/standard}/facets/timer.rb +3 -2
  163. data/lib/{supplemental → standard}/facets/tuple.rb +0 -0
  164. data/qed/applique/file_helpers.rb +1 -1
  165. data/qed/core/dir/multiglob.rdoc +10 -10
  166. data/qed/core/dir/recurse.rdoc +13 -13
  167. data/qed/{core-uncommon → core}/module/cattr.rdoc +0 -0
  168. data/qed/{core-uncommon → core}/module/class_extend.rdoc +0 -0
  169. data/qed/{core-uncommon → core}/module/class_inheritor.rdoc +0 -0
  170. data/qed/{core-uncommon → core}/module/copy_inheritor.rdoc +0 -0
  171. data/qed/{core-uncommon → core}/module/method_space.rdoc +0 -0
  172. data/qed/core/string/camelcase.rdoc +19 -39
  173. data/qed/core/string/snakecase.rdoc +4 -3
  174. data/qed/standard/02_cloneable.rdoc +46 -0
  175. data/qed/standard/03_enumargs.rdoc +75 -0
  176. data/qed/standard/04_equitable.rdoc +35 -0
  177. data/qed/standard/05_instantiable.rdoc +42 -0
  178. data/qed/{supplemental → standard}/memoizable.rdoc +0 -0
  179. data/qed/{supplemental → standard}/mulititon.rdoc +0 -0
  180. data/test/core/array/test_duplicates.rb +15 -1
  181. data/test/core/array/test_median.rb +27 -0
  182. data/test/core/array/test_nonuniq.rb +2 -2
  183. data/test/core/array/test_occurent.rb +33 -0
  184. data/test/{core-uncommon → core}/class/test_preallocate.rb +0 -0
  185. data/test/core/denumerable_tc.rb +7 -8
  186. data/test/core/dir/test_each_child.rb +1 -1
  187. data/test/core/dir/test_multiglob.rb +1 -1
  188. data/test/core/enumerable/test_sum.rb +22 -0
  189. data/test/core/hash/test_url_params.rb +26 -0
  190. data/test/core/kernel/test_constant.rb +3 -3
  191. data/test/core/kernel/test_hierarchical_send.rb +48 -0
  192. data/test/core/kernel/test_object_hexid.rb +8 -4
  193. data/test/core/kernel/test_super_method.rb +1 -1
  194. data/test/{core-uncommon → core}/module/test_class_extend.rb +0 -0
  195. data/test/{core-uncommon → core}/module/test_class_inheritor.rb +0 -0
  196. data/test/{core-uncommon → core}/module/test_copy_inheritor.rb +0 -0
  197. data/test/{core-uncommon → core}/module/test_enclosure.rb +0 -0
  198. data/test/{core-uncommon → core}/module/test_instance_function.rb +0 -0
  199. data/test/{core-uncommon → core}/module/test_memoize.rb +0 -0
  200. data/test/{core-uncommon → core}/module/test_method_clash.rb +0 -0
  201. data/test/{core-uncommon → core}/module/test_method_space.rb +0 -0
  202. data/test/{core-uncommon → core}/module/test_module_load.rb +0 -0
  203. data/test/{core-uncommon → core}/module/test_preextend.rb +0 -0
  204. data/test/core/numeric/test_approx.rb +10 -1
  205. data/test/core/string/test_camelcase.rb +21 -38
  206. data/test/core/string/test_index_all.rb +5 -1
  207. data/test/core/string/test_pathize.rb +4 -0
  208. data/test/core/string/test_snakecase.rb +9 -4
  209. data/test/core/string/test_underscore.rb +2 -2
  210. data/test/core/time/test_dst_adjustment.rb +9 -1
  211. data/test/core/time/test_less.rb +1 -1
  212. data/test/core/time/test_shift.rb +6 -6
  213. data/test/core/time/test_stamp.rb +7 -3
  214. data/test/standard/math/test_abs.rb +13 -0
  215. data/test/standard/math/test_median.rb +17 -0
  216. data/test/standard/math/test_percentile.rb +13 -0
  217. data/test/standard/math/test_sign.rb +14 -0
  218. data/test/{supplemental → standard}/test_argvector.rb +0 -0
  219. data/test/standard/test_cloneable.rb +60 -0
  220. data/test/{supplemental → standard}/test_enumargs.rb +0 -0
  221. data/test/standard/test_equitable.rb +46 -0
  222. data/test/standard/test_instantiable.rb +40 -0
  223. data/test/{supplemental → standard}/test_memoizable.rb +0 -0
  224. data/test/{supplemental → standard}/test_multipliers.rb +0 -0
  225. data/test/standard/test_timer.rb +24 -12
  226. data/test/{supplemental → standard}/test_tuple.rb +0 -0
  227. metadata +209 -1070
  228. data/.gitignore +0 -11
  229. data/.locat +0 -24
  230. data/.reap/ignore +0 -1
  231. data/.reap/yard.reap +0 -42
  232. data/.test +0 -31
  233. data/.yard/core.yardopts +0 -7
  234. data/.yard/standard.yardopts +0 -7
  235. data/.yard/supplemental.yardopts +0 -7
  236. data/.yard/uncommon.yardopts +0 -7
  237. data/AUTHORS.rdoc +0 -100
  238. data/Assembly +0 -38
  239. data/GPL3.txt +0 -282
  240. data/MANIFEST +0 -1107
  241. data/Profile +0 -41
  242. data/Rakefile +0 -403
  243. data/VERSION +0 -1
  244. data/facets.gemspec +0 -152
  245. data/lib/core-uncommon/facets/array/median.rb +0 -17
  246. data/lib/core-uncommon/facets/array/op_pow.rb +0 -9
  247. data/lib/core-uncommon/facets/array/percentile.rb +0 -32
  248. data/lib/core-uncommon/facets/class/singleton.rb +0 -8
  249. data/lib/core-uncommon/facets/enumerable/has.rb +0 -22
  250. data/lib/core-uncommon/facets/enumerable/have.rb +0 -1
  251. data/lib/core-uncommon/facets/kernel/eigenclass.rb +0 -21
  252. data/lib/core-uncommon/facets/kernel/trap_chain.rb +0 -23
  253. data/lib/core-uncommon/facets/module/attr_class_accessor.rb +0 -39
  254. data/lib/core-uncommon/facets/module/attr_inheritor.rb +0 -15
  255. data/lib/core-uncommon/facets/module/attr_tester.rb +0 -49
  256. data/lib/core-uncommon/facets/module/cattr.rb +0 -264
  257. data/lib/core-uncommon/facets/module/class_inheritor.rb +0 -77
  258. data/lib/core-uncommon/facets/module/enclosure.rb +0 -82
  259. data/lib/core-uncommon/facets/module/instance_function.rb +0 -90
  260. data/lib/core-uncommon/facets/module/memoize.rb +0 -12
  261. data/lib/core-uncommon/facets/module/module_load.rb +0 -78
  262. data/lib/core-uncommon/facets/module/prepend.rb +0 -61
  263. data/lib/core-uncommon/facets/regexp/op_or.rb +0 -13
  264. data/lib/core-uncommon/facets/string/acronym.rb +0 -8
  265. data/lib/core-uncommon/facets/string/crypt.rb +0 -19
  266. data/lib/core-uncommon/facets/string/roman.rb +0 -1
  267. data/lib/supplemental/facets/main.rb +0 -62
  268. data/lib/supplemental/facets/reference.rb +0 -83
  269. data/lib/supplemental/facets/timer.rb +0 -207
  270. data/rdoc.assembly +0 -50
  271. data/site/.brite +0 -2
  272. data/site/assets/hover.js +0 -14
  273. data/site/assets/rdocs.js +0 -28
  274. data/site/assets/site.css +0 -324
  275. data/site/assets/syntax.css +0 -60
  276. data/site/atom.page +0 -25
  277. data/site/atom.xml +0 -20
  278. data/site/brite.yml +0 -3
  279. data/site/default.layout +0 -114
  280. data/site/index.html +0 -110
  281. data/site/index.page +0 -94
  282. data/site/learn.html +0 -110
  283. data/site/learn.page +0 -78
  284. data/site/media/APIdocs.png +0 -0
  285. data/site/media/RubyFacets.png +0 -0
  286. data/site/media/RubyFacetsShadow.png +0 -0
  287. data/site/media/RubyFacetsShadow2.png +0 -0
  288. data/site/media/RubyFacetsShadowFade.png +0 -0
  289. data/site/media/SPYlights.png +0 -0
  290. data/site/media/WeHeartFacets.png +0 -0
  291. data/site/media/abc.png +0 -0
  292. data/site/media/abc1.png +0 -0
  293. data/site/media/adverts/21-5G3Eta1L._AA_SL160_.jpg +0 -0
  294. data/site/media/adverts/21B53PF6W5L._AA_SL160_.jpg +0 -0
  295. data/site/media/adverts/21OsAAT9MaL._AA_SL160_.jpg +0 -0
  296. data/site/media/adverts/21PYg8IoswL._AA_SL160_.jpg +0 -0
  297. data/site/media/adverts/21WvvRAsbhL._AA_SL160_.jpg +0 -0
  298. data/site/media/adverts/amazon.html +0 -30
  299. data/site/media/adverts/rdoc.html +0 -15
  300. data/site/media/appleslice.jpg +0 -0
  301. data/site/media/clear.gif +0 -0
  302. data/site/media/core.jpg +0 -0
  303. data/site/media/fade_black_down.png +0 -0
  304. data/site/media/fade_blue_down.gif +0 -0
  305. data/site/media/fade_blue_up.gif +0 -0
  306. data/site/media/fade_red_down.png +0 -0
  307. data/site/media/fade_red_up (copy).png +0 -0
  308. data/site/media/fade_red_up.png +0 -0
  309. data/site/media/fade_yellow_down.jpg +0 -0
  310. data/site/media/fade_yellow_right.jpg +0 -0
  311. data/site/media/fade_yellow_up.jpg +0 -0
  312. data/site/media/favicon.ico +0 -0
  313. data/site/media/forkme.png +0 -0
  314. data/site/media/gray.jpg +0 -0
  315. data/site/media/heart.gif +0 -0
  316. data/site/media/itcamefrom.png +0 -0
  317. data/site/media/license.jpg +0 -0
  318. data/site/media/lightbulb.jpg +0 -0
  319. data/site/media/menu_bkg.png +0 -0
  320. data/site/media/mini.png +0 -0
  321. data/site/media/nitro.png +0 -0
  322. data/site/media/patch125.jpg +0 -0
  323. data/site/media/people.jpg +0 -0
  324. data/site/media/reap.png +0 -0
  325. data/site/media/ruby-lg.png +0 -0
  326. data/site/media/ruby.gif +0 -0
  327. data/site/media/temp.png +0 -0
  328. data/site/media/treetop.jpg +0 -0
  329. data/site/news.html +0 -110
  330. data/site/news.page +0 -22
  331. data/site/post.layout +0 -23
  332. data/site/posts/2008-01-01-how-facets-was-born.html +0 -110
  333. data/site/posts/2008-01-01-how-facets-was-born.post +0 -26
  334. data/site/posts/2008-03-24-release-2-4.html +0 -110
  335. data/site/posts/2008-03-24-release-2-4.post +0 -61
  336. data/site/posts/2009-07-21-new-website.html +0 -110
  337. data/site/posts/2009-07-21-new-website.post +0 -17
  338. data/site/posts/2009-08-22-release-2-7.html +0 -110
  339. data/site/posts/2009-08-22-release-2-7.post +0 -130
  340. data/site/posts/2009-11-09-release-2-8.html +0 -110
  341. data/site/posts/2009-11-09-release-2-8.post +0 -61
  342. data/site/posts/2010-09-01-release-2-9.html +0 -110
  343. data/site/posts/2010-09-01-release-2-9.post +0 -39
  344. data/site/source.html +0 -110
  345. data/site/source.page +0 -46
  346. data/src/core-uncommon/facets/array/median.rb +0 -17
  347. data/src/core-uncommon/facets/array/percentile.rb +0 -32
  348. data/src/core-uncommon/facets/class/preallocate.rb +0 -52
  349. data/src/core-uncommon/facets/class/singleton.rb +0 -8
  350. data/src/core-uncommon/facets/enumerable/has.rb +0 -22
  351. data/src/core-uncommon/facets/enumerable/have.rb +0 -1
  352. data/src/core-uncommon/facets/integer/roman.rb +0 -77
  353. data/src/core-uncommon/facets/kernel/demo.rb +0 -27
  354. data/src/core-uncommon/facets/kernel/instance_exec.rb +0 -44
  355. data/src/core-uncommon/facets/kernel/memo.rb +0 -41
  356. data/src/core-uncommon/facets/kernel/y.rb +0 -20
  357. data/src/core-uncommon/facets/method/memoize.rb +0 -13
  358. data/src/core-uncommon/facets/module/attr_inheritor.rb +0 -15
  359. data/src/core-uncommon/facets/module/attr_validator.rb +0 -40
  360. data/src/core-uncommon/facets/module/class_accessor.rb +0 -33
  361. data/src/core-uncommon/facets/module/class_extend.rb +0 -85
  362. data/src/core-uncommon/facets/module/copy_inheritor.rb +0 -42
  363. data/src/core-uncommon/facets/module/enclosures.rb +0 -1
  364. data/src/core-uncommon/facets/module/include_as.rb +0 -1
  365. data/src/core-uncommon/facets/module/let.rb +0 -27
  366. data/src/core-uncommon/facets/module/method_clash.rb +0 -59
  367. data/src/core-uncommon/facets/module/method_space.rb +0 -99
  368. data/src/core-uncommon/facets/module/preextend.rb +0 -29
  369. data/src/core-uncommon/facets/module/prepend.rb +0 -61
  370. data/src/core-uncommon/facets/regexp/op_or.rb +0 -13
  371. data/src/core-uncommon/facets/string/roman.rb +0 -1
  372. data/src/core/facets.rb +0 -70
  373. data/src/core/facets.yml +0 -57
  374. data/src/core/facets/applique/file_helpers.rb +0 -33
  375. data/src/core/facets/array.rb +0 -28
  376. data/src/core/facets/array/after.rb +0 -1
  377. data/src/core/facets/array/before.rb +0 -39
  378. data/src/core/facets/array/collapse.rb +0 -12
  379. data/src/core/facets/array/collisions.rb +0 -1
  380. data/src/core/facets/array/combination.rb +0 -43
  381. data/src/core/facets/array/commonality.rb +0 -37
  382. data/src/core/facets/array/conjoin.rb +0 -89
  383. data/src/core/facets/array/contains.rb +0 -7
  384. data/src/core/facets/array/delete.rb +0 -4
  385. data/src/core/facets/array/delete_unless.rb +0 -15
  386. data/src/core/facets/array/delete_values.rb +0 -50
  387. data/src/core/facets/array/divide.rb +0 -20
  388. data/src/core/facets/array/entropy.rb +0 -39
  389. data/src/core/facets/array/extract_options.rb +0 -31
  390. data/src/core/facets/array/from.rb +0 -33
  391. data/src/core/facets/array/index.rb +0 -23
  392. data/src/core/facets/array/indexable.rb +0 -31
  393. data/src/core/facets/array/merge.rb +0 -22
  394. data/src/core/facets/array/mode.rb +0 -22
  395. data/src/core/facets/array/nonuniq.rb +0 -37
  396. data/src/core/facets/array/not_empty.rb +0 -13
  397. data/src/core/facets/array/only.rb +0 -26
  398. data/src/core/facets/array/pad.rb +0 -41
  399. data/src/core/facets/array/peek.rb +0 -1
  400. data/src/core/facets/array/permutation.rb +0 -32
  401. data/src/core/facets/array/poke.rb +0 -1
  402. data/src/core/facets/array/probability.rb +0 -39
  403. data/src/core/facets/array/product.rb +0 -30
  404. data/src/core/facets/array/pull.rb +0 -30
  405. data/src/core/facets/array/recurse.rb +0 -29
  406. data/src/core/facets/array/recursively.rb +0 -47
  407. data/src/core/facets/array/rotate.rb +0 -48
  408. data/src/core/facets/array/select.rb +0 -20
  409. data/src/core/facets/array/splice.rb +0 -27
  410. data/src/core/facets/array/split.rb +0 -27
  411. data/src/core/facets/array/store.rb +0 -12
  412. data/src/core/facets/array/thru.rb +0 -1
  413. data/src/core/facets/array/traverse.rb +0 -44
  414. data/src/core/facets/array/uniq_by.rb +0 -16
  415. data/src/core/facets/binding.rb +0 -32
  416. data/src/core/facets/binding/__callee__.rb +0 -1
  417. data/src/core/facets/binding/__method__.rb +0 -1
  418. data/src/core/facets/binding/call_stack.rb +0 -1
  419. data/src/core/facets/binding/caller.rb +0 -44
  420. data/src/core/facets/binding/callstack.rb +0 -1
  421. data/src/core/facets/binding/defined.rb +0 -12
  422. data/src/core/facets/binding/eval.rb +0 -14
  423. data/src/core/facets/binding/local_variables.rb +0 -17
  424. data/src/core/facets/binding/self.rb +0 -12
  425. data/src/core/facets/boolean.rb +0 -121
  426. data/src/core/facets/class.rb +0 -20
  427. data/src/core/facets/class/descendants.rb +0 -35
  428. data/src/core/facets/class/methodize.rb +0 -19
  429. data/src/core/facets/class/pathize.rb +0 -19
  430. data/src/core/facets/class/subclasses.rb +0 -28
  431. data/src/core/facets/class/to_proc.rb +0 -25
  432. data/src/core/facets/comparable.rb +0 -20
  433. data/src/core/facets/comparable/at_least.rb +0 -1
  434. data/src/core/facets/comparable/at_most.rb +0 -1
  435. data/src/core/facets/comparable/bound.rb +0 -1
  436. data/src/core/facets/comparable/cap.rb +0 -34
  437. data/src/core/facets/comparable/clip.rb +0 -38
  438. data/src/core/facets/comparable/cmp.rb +0 -41
  439. data/src/core/facets/comparable/op_get.rb +0 -45
  440. data/src/core/facets/denumerable.rb +0 -76
  441. data/src/core/facets/dir.rb +0 -20
  442. data/src/core/facets/dir/ascend.rb +0 -56
  443. data/src/core/facets/dir/descend.rb +0 -1
  444. data/src/core/facets/dir/each_child.rb +0 -16
  445. data/src/core/facets/dir/multiglob.rb +0 -78
  446. data/src/core/facets/dir/parent.rb +0 -16
  447. data/src/core/facets/dir/recurse.rb +0 -35
  448. data/src/core/facets/enumerable.rb +0 -20
  449. data/src/core/facets/enumerable/accumulate.rb +0 -61
  450. data/src/core/facets/enumerable/cluster_by.rb +0 -18
  451. data/src/core/facets/enumerable/collect_with_index.rb +0 -2
  452. data/src/core/facets/enumerable/compact_map.rb +0 -36
  453. data/src/core/facets/enumerable/count.rb +0 -53
  454. data/src/core/facets/enumerable/defer.rb +0 -73
  455. data/src/core/facets/enumerable/each_by.rb +0 -33
  456. data/src/core/facets/enumerable/each_with_object.rb +0 -38
  457. data/src/core/facets/enumerable/every.rb +0 -40
  458. data/src/core/facets/enumerable/ewise.rb +0 -59
  459. data/src/core/facets/enumerable/exclude.rb +0 -16
  460. data/src/core/facets/enumerable/expand.rb +0 -15
  461. data/src/core/facets/enumerable/filter.rb +0 -33
  462. data/src/core/facets/enumerable/find_yield.rb +0 -42
  463. data/src/core/facets/enumerable/frequency.rb +0 -24
  464. data/src/core/facets/enumerable/graph.rb +0 -37
  465. data/src/core/facets/enumerable/group_by.rb +0 -33
  466. data/src/core/facets/enumerable/map_by.rb +0 -35
  467. data/src/core/facets/enumerable/map_detect.rb +0 -1
  468. data/src/core/facets/enumerable/map_send.rb +0 -26
  469. data/src/core/facets/enumerable/map_with.rb +0 -18
  470. data/src/core/facets/enumerable/map_with_index.rb +0 -23
  471. data/src/core/facets/enumerable/mash.rb +0 -1
  472. data/src/core/facets/enumerable/modulate.rb +0 -22
  473. data/src/core/facets/enumerable/none.rb +0 -32
  474. data/src/core/facets/enumerable/occur.rb +0 -38
  475. data/src/core/facets/enumerable/one.rb +0 -39
  476. data/src/core/facets/enumerable/per.rb +0 -85
  477. data/src/core/facets/enumerable/purge.rb +0 -43
  478. data/src/core/facets/enumerable/recursively.rb +0 -66
  479. data/src/core/facets/enumerable/sum.rb +0 -16
  480. data/src/core/facets/enumerable/take.rb +0 -16
  481. data/src/core/facets/enumerable/uniq_by.rb +0 -13
  482. data/src/core/facets/enumerable/visit.rb +0 -30
  483. data/src/core/facets/enumerable/zip_map.rb +0 -1
  484. data/src/core/facets/enumerator.rb +0 -75
  485. data/src/core/facets/enumerator/fx.rb +0 -36
  486. data/src/core/facets/exception.rb +0 -21
  487. data/src/core/facets/exception/detail.rb +0 -23
  488. data/src/core/facets/exception/raised.rb +0 -14
  489. data/src/core/facets/exception/suppress.rb +0 -22
  490. data/src/core/facets/file.rb +0 -20
  491. data/src/core/facets/file/append.rb +0 -14
  492. data/src/core/facets/file/create.rb +0 -21
  493. data/src/core/facets/file/ext.rb +0 -36
  494. data/src/core/facets/file/null.rb +0 -21
  495. data/src/core/facets/file/read_binary.rb +0 -18
  496. data/src/core/facets/file/read_list.rb +0 -34
  497. data/src/core/facets/file/rewrite.rb +0 -90
  498. data/src/core/facets/file/rootname.rb +0 -23
  499. data/src/core/facets/file/sanitize.rb +0 -18
  500. data/src/core/facets/file/split_all.rb +0 -19
  501. data/src/core/facets/file/split_root.rb +0 -13
  502. data/src/core/facets/file/write.rb +0 -24
  503. data/src/core/facets/file/writelines.rb +0 -27
  504. data/src/core/facets/filetest.rb +0 -20
  505. data/src/core/facets/filetest/absolute.rb +0 -1
  506. data/src/core/facets/filetest/contains.rb +0 -12
  507. data/src/core/facets/filetest/relative.rb +0 -38
  508. data/src/core/facets/filetest/root.rb +0 -17
  509. data/src/core/facets/filetest/safe.rb +0 -20
  510. data/src/core/facets/filetest/separator_pattern.rb +0 -19
  511. data/src/core/facets/float.rb +0 -20
  512. data/src/core/facets/float/round.rb +0 -2
  513. data/src/core/facets/functor.rb +0 -78
  514. data/src/core/facets/hash.rb +0 -20
  515. data/src/core/facets/hash/alias.rb +0 -31
  516. data/src/core/facets/hash/argumentize.rb +0 -28
  517. data/src/core/facets/hash/at.rb +0 -8
  518. data/src/core/facets/hash/autonew.rb +0 -24
  519. data/src/core/facets/hash/collate.rb +0 -62
  520. data/src/core/facets/hash/count.rb +0 -12
  521. data/src/core/facets/hash/data.rb +0 -41
  522. data/src/core/facets/hash/dearray_values.rb +0 -46
  523. data/src/core/facets/hash/deep_merge.rb +0 -33
  524. data/src/core/facets/hash/delete.rb +0 -4
  525. data/src/core/facets/hash/delete_at.rb +0 -7
  526. data/src/core/facets/hash/delete_unless.rb +0 -17
  527. data/src/core/facets/hash/delete_values.rb +0 -41
  528. data/src/core/facets/hash/diff.rb +0 -17
  529. data/src/core/facets/hash/except.rb +0 -25
  530. data/src/core/facets/hash/graph.rb +0 -18
  531. data/src/core/facets/hash/insert.rb +0 -19
  532. data/src/core/facets/hash/inverse.rb +0 -30
  533. data/src/core/facets/hash/join.rb +0 -17
  534. data/src/core/facets/hash/keys.rb +0 -45
  535. data/src/core/facets/hash/mash.rb +0 -1
  536. data/src/core/facets/hash/new_with.rb +0 -15
  537. data/src/core/facets/hash/op.rb +0 -7
  538. data/src/core/facets/hash/op_add.rb +0 -12
  539. data/src/core/facets/hash/op_and.rb +0 -33
  540. data/src/core/facets/hash/op_mul.rb +0 -18
  541. data/src/core/facets/hash/op_or.rb +0 -12
  542. data/src/core/facets/hash/op_push.rb +0 -17
  543. data/src/core/facets/hash/op_sub.rb +0 -26
  544. data/src/core/facets/hash/recurse.rb +0 -29
  545. data/src/core/facets/hash/recursively.rb +0 -61
  546. data/src/core/facets/hash/rekey.rb +0 -79
  547. data/src/core/facets/hash/replace_each.rb +0 -16
  548. data/src/core/facets/hash/reverse_merge.rb +0 -30
  549. data/src/core/facets/hash/select.rb +0 -17
  550. data/src/core/facets/hash/slice.rb +0 -37
  551. data/src/core/facets/hash/stringify_keys.rb +0 -1
  552. data/src/core/facets/hash/subset.rb +0 -24
  553. data/src/core/facets/hash/swap.rb +0 -17
  554. data/src/core/facets/hash/symbolize_keys.rb +0 -92
  555. data/src/core/facets/hash/to_h.rb +0 -1
  556. data/src/core/facets/hash/to_mod.rb +0 -33
  557. data/src/core/facets/hash/to_options.rb +0 -1
  558. data/src/core/facets/hash/to_proc.rb +0 -39
  559. data/src/core/facets/hash/to_struct.rb +0 -17
  560. data/src/core/facets/hash/traverse.rb +0 -47
  561. data/src/core/facets/hash/update.rb +0 -6
  562. data/src/core/facets/hash/update_each.rb +0 -18
  563. data/src/core/facets/hash/update_keys.rb +0 -20
  564. data/src/core/facets/hash/update_values.rb +0 -20
  565. data/src/core/facets/hash/weave.rb +0 -76
  566. data/src/core/facets/hash/zip.rb +0 -18
  567. data/src/core/facets/indexable.rb +0 -270
  568. data/src/core/facets/instance.rb +0 -157
  569. data/src/core/facets/integer.rb +0 -20
  570. data/src/core/facets/integer/bit.rb +0 -1
  571. data/src/core/facets/integer/bitmask.rb +0 -99
  572. data/src/core/facets/integer/even.rb +0 -1
  573. data/src/core/facets/integer/factorial.rb +0 -21
  574. data/src/core/facets/integer/multiple.rb +0 -19
  575. data/src/core/facets/integer/odd.rb +0 -37
  576. data/src/core/facets/integer/of.rb +0 -18
  577. data/src/core/facets/integer/ordinal.rb +0 -24
  578. data/src/core/facets/kernel.rb +0 -20
  579. data/src/core/facets/kernel/__callee__.rb +0 -1
  580. data/src/core/facets/kernel/__class__.rb +0 -9
  581. data/src/core/facets/kernel/__dir__.rb +0 -26
  582. data/src/core/facets/kernel/__get__.rb +0 -15
  583. data/src/core/facets/kernel/__method__.rb +0 -48
  584. data/src/core/facets/kernel/__set__.rb +0 -1
  585. data/src/core/facets/kernel/as.rb +0 -115
  586. data/src/core/facets/kernel/ask.rb +0 -28
  587. data/src/core/facets/kernel/assign.rb +0 -76
  588. data/src/core/facets/kernel/assign_from.rb +0 -1
  589. data/src/core/facets/kernel/attr_singleton.rb +0 -59
  590. data/src/core/facets/kernel/blank.rb +0 -84
  591. data/src/core/facets/kernel/call_stack.rb +0 -56
  592. data/src/core/facets/kernel/callstack.rb +0 -1
  593. data/src/core/facets/kernel/case.rb +0 -8
  594. data/src/core/facets/kernel/complete.rb +0 -26
  595. data/src/core/facets/kernel/constant.rb +0 -20
  596. data/src/core/facets/kernel/d.rb +0 -27
  597. data/src/core/facets/kernel/deep_clone.rb +0 -1
  598. data/src/core/facets/kernel/deep_copy.rb +0 -38
  599. data/src/core/facets/kernel/disable_warnings.rb +0 -26
  600. data/src/core/facets/kernel/enable_warnings.rb +0 -1
  601. data/src/core/facets/kernel/equate.rb +0 -16
  602. data/src/core/facets/kernel/ergo.rb +0 -43
  603. data/src/core/facets/kernel/extend.rb +0 -27
  604. data/src/core/facets/kernel/extension.rb +0 -12
  605. data/src/core/facets/kernel/false.rb +0 -2
  606. data/src/core/facets/kernel/here.rb +0 -11
  607. data/src/core/facets/kernel/identical.rb +0 -4
  608. data/src/core/facets/kernel/in.rb +0 -13
  609. data/src/core/facets/kernel/instance_assign.rb +0 -20
  610. data/src/core/facets/kernel/instance_class.rb +0 -26
  611. data/src/core/facets/kernel/instance_send.rb +0 -7
  612. data/src/core/facets/kernel/load_all.rb +0 -1
  613. data/src/core/facets/kernel/load_relative.rb +0 -1
  614. data/src/core/facets/kernel/maybe.rb +0 -19
  615. data/src/core/facets/kernel/meta_alias.rb +0 -23
  616. data/src/core/facets/kernel/meta_class.rb +0 -17
  617. data/src/core/facets/kernel/meta_def.rb +0 -20
  618. data/src/core/facets/kernel/meta_eval.rb +0 -20
  619. data/src/core/facets/kernel/method.rb +0 -50
  620. data/src/core/facets/kernel/no.rb +0 -1
  621. data/src/core/facets/kernel/not.rb +0 -37
  622. data/src/core/facets/kernel/not_nil.rb +0 -18
  623. data/src/core/facets/kernel/object_class.rb +0 -10
  624. data/src/core/facets/kernel/object_hexid.rb +0 -31
  625. data/src/core/facets/kernel/object_send.rb +0 -33
  626. data/src/core/facets/kernel/p.rb +0 -24
  627. data/src/core/facets/kernel/presence.rb +0 -1
  628. data/src/core/facets/kernel/present.rb +0 -1
  629. data/src/core/facets/kernel/qua_class.rb +0 -31
  630. data/src/core/facets/kernel/require_all.rb +0 -42
  631. data/src/core/facets/kernel/require_relative.rb +0 -52
  632. data/src/core/facets/kernel/respond.rb +0 -42
  633. data/src/core/facets/kernel/returning.rb +0 -27
  634. data/src/core/facets/kernel/silence.rb +0 -73
  635. data/src/core/facets/kernel/silence_warnings.rb +0 -1
  636. data/src/core/facets/kernel/singleton_class.rb +0 -9
  637. data/src/core/facets/kernel/source_location.rb +0 -13
  638. data/src/core/facets/kernel/super_method.rb +0 -11
  639. data/src/core/facets/kernel/tap.rb +0 -48
  640. data/src/core/facets/kernel/temporarily.rb +0 -23
  641. data/src/core/facets/kernel/true.rb +0 -26
  642. data/src/core/facets/kernel/try.rb +0 -58
  643. data/src/core/facets/kernel/val.rb +0 -19
  644. data/src/core/facets/kernel/with.rb +0 -20
  645. data/src/core/facets/kernel/writers.rb +0 -91
  646. data/src/core/facets/kernel/yes.rb +0 -25
  647. data/src/core/facets/lazy.rb +0 -238
  648. data/src/core/facets/matchdata.rb +0 -20
  649. data/src/core/facets/matchdata/match.rb +0 -15
  650. data/src/core/facets/matchdata/matchset.rb +0 -44
  651. data/src/core/facets/method.rb +0 -20
  652. data/src/core/facets/module.rb +0 -20
  653. data/src/core/facets/module/abstract.rb +0 -24
  654. data/src/core/facets/module/alias_accessor.rb +0 -45
  655. data/src/core/facets/module/alias_method_chain.rb +0 -67
  656. data/src/core/facets/module/alias_module_function.rb +0 -30
  657. data/src/core/facets/module/all_instance_methods.rb +0 -19
  658. data/src/core/facets/module/ancestor.rb +0 -16
  659. data/src/core/facets/module/anonymous.rb +0 -25
  660. data/src/core/facets/module/attr_setter.rb +0 -52
  661. data/src/core/facets/module/basename.rb +0 -31
  662. data/src/core/facets/module/can.rb +0 -20
  663. data/src/core/facets/module/class.rb +0 -12
  664. data/src/core/facets/module/class_def.rb +0 -2
  665. data/src/core/facets/module/class_method_defined.rb +0 -1
  666. data/src/core/facets/module/extend.rb +0 -1
  667. data/src/core/facets/module/home.rb +0 -90
  668. data/src/core/facets/module/homename.rb +0 -1
  669. data/src/core/facets/module/housing.rb +0 -1
  670. data/src/core/facets/module/include_function_module.rb +0 -25
  671. data/src/core/facets/module/instance_method.rb +0 -25
  672. data/src/core/facets/module/instance_method_defined.rb +0 -23
  673. data/src/core/facets/module/integrate.rb +0 -49
  674. data/src/core/facets/module/is.rb +0 -57
  675. data/src/core/facets/module/methodize.rb +0 -20
  676. data/src/core/facets/module/modname.rb +0 -1
  677. data/src/core/facets/module/module_def.rb +0 -31
  678. data/src/core/facets/module/nodef.rb +0 -13
  679. data/src/core/facets/module/op.rb +0 -107
  680. data/src/core/facets/module/op_add.rb +0 -1
  681. data/src/core/facets/module/op_mul.rb +0 -1
  682. data/src/core/facets/module/op_sub.rb +0 -1
  683. data/src/core/facets/module/pathize.rb +0 -20
  684. data/src/core/facets/module/redefine_method.rb +0 -37
  685. data/src/core/facets/module/redirect_method.rb +0 -46
  686. data/src/core/facets/module/remove.rb +0 -1
  687. data/src/core/facets/module/rename_method.rb +0 -30
  688. data/src/core/facets/module/revise.rb +0 -41
  689. data/src/core/facets/module/set.rb +0 -36
  690. data/src/core/facets/module/singleton_method_defined.rb +0 -1
  691. data/src/core/facets/module/spacename.rb +0 -25
  692. data/src/core/facets/module/to_obj.rb +0 -20
  693. data/src/core/facets/module/wrap_method.rb +0 -35
  694. data/src/core/facets/na.rb +0 -21
  695. data/src/core/facets/nilclass.rb +0 -20
  696. data/src/core/facets/nilclass/ergo.rb +0 -1
  697. data/src/core/facets/nilclass/to_f.rb +0 -17
  698. data/src/core/facets/numeric.rb +0 -20
  699. data/src/core/facets/numeric/approx.rb +0 -15
  700. data/src/core/facets/numeric/distance.rb +0 -14
  701. data/src/core/facets/numeric/length.rb +0 -10
  702. data/src/core/facets/numeric/round.rb +0 -69
  703. data/src/core/facets/numeric/round_at.rb +0 -1
  704. data/src/core/facets/numeric/round_to.rb +0 -1
  705. data/src/core/facets/numeric/spacing.rb +0 -20
  706. data/src/core/facets/object.rb +0 -20
  707. data/src/core/facets/object/clone.rb +0 -1
  708. data/src/core/facets/object/dup.rb +0 -79
  709. data/src/core/facets/object/object_state.rb +0 -77
  710. data/src/core/facets/object/replace.rb +0 -43
  711. data/src/core/facets/object/try_dup.rb +0 -1
  712. data/src/core/facets/objectspace.rb +0 -20
  713. data/src/core/facets/objectspace/classes.rb +0 -11
  714. data/src/core/facets/objectspace/op_fetch.rb +0 -3
  715. data/src/core/facets/objectspace/reflect.rb +0 -62
  716. data/src/core/facets/proc.rb +0 -20
  717. data/src/core/facets/proc/bind.rb +0 -24
  718. data/src/core/facets/proc/bind_to.rb +0 -17
  719. data/src/core/facets/proc/compose.rb +0 -42
  720. data/src/core/facets/proc/curry.rb +0 -32
  721. data/src/core/facets/proc/partial.rb +0 -33
  722. data/src/core/facets/proc/to_method.rb +0 -38
  723. data/src/core/facets/proc/update.rb +0 -9
  724. data/src/core/facets/process.rb +0 -20
  725. data/src/core/facets/process/daemon.rb +0 -32
  726. data/src/core/facets/range.rb +0 -20
  727. data/src/core/facets/range/combine.rb +0 -47
  728. data/src/core/facets/range/overlap.rb +0 -12
  729. data/src/core/facets/range/to_r.rb +0 -26
  730. data/src/core/facets/range/umbrella.rb +0 -1
  731. data/src/core/facets/range/within.rb +0 -64
  732. data/src/core/facets/regexp.rb +0 -20
  733. data/src/core/facets/regexp/arity.rb +0 -17
  734. data/src/core/facets/regexp/multiline.rb +0 -13
  735. data/src/core/facets/regexp/op_add.rb +0 -18
  736. data/src/core/facets/regexp/op_or.rb +0 -18
  737. data/src/core/facets/regexp/to_re.rb +0 -28
  738. data/src/core/facets/string.rb +0 -20
  739. data/src/core/facets/string/align.rb +0 -125
  740. data/src/core/facets/string/bracket.rb +0 -64
  741. data/src/core/facets/string/bytes.rb +0 -21
  742. data/src/core/facets/string/camelcase.rb +0 -62
  743. data/src/core/facets/string/capitalized.rb +0 -49
  744. data/src/core/facets/string/characters.rb +0 -13
  745. data/src/core/facets/string/cleanlines.rb +0 -27
  746. data/src/core/facets/string/cleave.rb +0 -36
  747. data/src/core/facets/string/cmp.rb +0 -1
  748. data/src/core/facets/string/compress_lines.rb +0 -17
  749. data/src/core/facets/string/divide.rb +0 -18
  750. data/src/core/facets/string/each_char.rb +0 -31
  751. data/src/core/facets/string/each_word.rb +0 -17
  752. data/src/core/facets/string/edit_distance.rb +0 -124
  753. data/src/core/facets/string/end_with.rb +0 -1
  754. data/src/core/facets/string/exclude.rb +0 -10
  755. data/src/core/facets/string/expand_tab.rb +0 -35
  756. data/src/core/facets/string/file.rb +0 -35
  757. data/src/core/facets/string/fold.rb +0 -39
  758. data/src/core/facets/string/indent.rb +0 -67
  759. data/src/core/facets/string/index_all.rb +0 -24
  760. data/src/core/facets/string/interpolate.rb +0 -19
  761. data/src/core/facets/string/lchomp.rb +0 -33
  762. data/src/core/facets/string/line_wrap.rb +0 -18
  763. data/src/core/facets/string/lines.rb +0 -19
  764. data/src/core/facets/string/lowercase.rb +0 -1
  765. data/src/core/facets/string/margin.rb +0 -31
  766. data/src/core/facets/string/methodize.rb +0 -27
  767. data/src/core/facets/string/modulize.rb +0 -31
  768. data/src/core/facets/string/mscan.rb +0 -19
  769. data/src/core/facets/string/natcmp.rb +0 -86
  770. data/src/core/facets/string/nchar.rb +0 -32
  771. data/src/core/facets/string/newlines.rb +0 -32
  772. data/src/core/facets/string/op_div.rb +0 -14
  773. data/src/core/facets/string/op_sub.rb +0 -14
  774. data/src/core/facets/string/outdent.rb +0 -1
  775. data/src/core/facets/string/pathize.rb +0 -28
  776. data/src/core/facets/string/quote.rb +0 -93
  777. data/src/core/facets/string/random_binary.rb +0 -10
  778. data/src/core/facets/string/range.rb +0 -60
  779. data/src/core/facets/string/range_all.rb +0 -1
  780. data/src/core/facets/string/range_of_line.rb +0 -1
  781. data/src/core/facets/string/rewrite.rb +0 -24
  782. data/src/core/facets/string/shatter.rb +0 -22
  783. data/src/core/facets/string/similarity.rb +0 -89
  784. data/src/core/facets/string/snakecase.rb +0 -21
  785. data/src/core/facets/string/splice.rb +0 -33
  786. data/src/core/facets/string/squish.rb +0 -22
  787. data/src/core/facets/string/start_with.rb +0 -60
  788. data/src/core/facets/string/store.rb +0 -7
  789. data/src/core/facets/string/subtract.rb +0 -4
  790. data/src/core/facets/string/tab.rb +0 -17
  791. data/src/core/facets/string/tabto.rb +0 -19
  792. data/src/core/facets/string/titlecase.rb +0 -15
  793. data/src/core/facets/string/to_re.rb +0 -26
  794. data/src/core/facets/string/unbracket.rb +0 -1
  795. data/src/core/facets/string/underscore.rb +0 -22
  796. data/src/core/facets/string/unfold.rb +0 -27
  797. data/src/core/facets/string/unindent.rb +0 -1
  798. data/src/core/facets/string/unquote.rb +0 -1
  799. data/src/core/facets/string/uppercase.rb +0 -23
  800. data/src/core/facets/string/variablize.rb +0 -13
  801. data/src/core/facets/string/word_wrap.rb +0 -32
  802. data/src/core/facets/string/words.rb +0 -12
  803. data/src/core/facets/string/xor.rb +0 -26
  804. data/src/core/facets/struct.rb +0 -20
  805. data/src/core/facets/struct/attributes.rb +0 -15
  806. data/src/core/facets/symbol.rb +0 -20
  807. data/src/core/facets/symbol/as_s.rb +0 -17
  808. data/src/core/facets/symbol/chomp.rb +0 -24
  809. data/src/core/facets/symbol/generate.rb +0 -24
  810. data/src/core/facets/symbol/not.rb +0 -29
  811. data/src/core/facets/symbol/op_div.rb +0 -21
  812. data/src/core/facets/symbol/plain.rb +0 -43
  813. data/src/core/facets/symbol/setter.rb +0 -1
  814. data/src/core/facets/symbol/succ.rb +0 -23
  815. data/src/core/facets/symbol/thrown.rb +0 -18
  816. data/src/core/facets/symbol/to_proc.rb +0 -33
  817. data/src/core/facets/symbol/variablize.rb +0 -14
  818. data/src/core/facets/time.rb +0 -20
  819. data/src/core/facets/time/ago.rb +0 -1
  820. data/src/core/facets/time/change.rb +0 -46
  821. data/src/core/facets/time/dst_adjustment.rb +0 -24
  822. data/src/core/facets/time/elapse.rb +0 -18
  823. data/src/core/facets/time/future.rb +0 -14
  824. data/src/core/facets/time/hence.rb +0 -1
  825. data/src/core/facets/time/in.rb +0 -1
  826. data/src/core/facets/time/less.rb +0 -1
  827. data/src/core/facets/time/past.rb +0 -1
  828. data/src/core/facets/time/round_to.rb +0 -21
  829. data/src/core/facets/time/set.rb +0 -27
  830. data/src/core/facets/time/shift.rb +0 -95
  831. data/src/core/facets/time/stamp.rb +0 -45
  832. data/src/core/facets/time/to_time.rb +0 -21
  833. data/src/core/facets/time/trunc.rb +0 -15
  834. data/src/core/facets/to_hash.rb +0 -336
  835. data/src/core/facets/unboundmethod.rb +0 -20
  836. data/src/core/facets/unboundmethod/arguments.rb +0 -44
  837. data/src/core/facets/unboundmethod/name.rb +0 -28
  838. data/src/standard/facets/basicobject.rb +0 -75
  839. data/src/standard/facets/cgi.rb +0 -44
  840. data/src/standard/facets/continuation.rb +0 -56
  841. data/src/standard/facets/date.rb +0 -433
  842. data/src/standard/facets/digest.rb +0 -2
  843. data/src/standard/facets/digest/base64digest.rb +0 -45
  844. data/src/standard/facets/digest/salted_digest.rb +0 -44
  845. data/src/standard/facets/erb.rb +0 -66
  846. data/src/standard/facets/fileutils.rb +0 -13
  847. data/src/standard/facets/fileutils/amass.rb +0 -33
  848. data/src/standard/facets/fileutils/cp_rx.rb +0 -44
  849. data/src/standard/facets/fileutils/head.rb +0 -1
  850. data/src/standard/facets/fileutils/ln_r.rb +0 -99
  851. data/src/standard/facets/fileutils/outofdate.rb +0 -38
  852. data/src/standard/facets/fileutils/safe_ln.rb +0 -27
  853. data/src/standard/facets/fileutils/slice.rb +0 -55
  854. data/src/standard/facets/fileutils/stage.rb +0 -66
  855. data/src/standard/facets/fileutils/tail.rb +0 -1
  856. data/src/standard/facets/fileutils/wc.rb +0 -63
  857. data/src/standard/facets/fileutils/whereis.rb +0 -66
  858. data/src/standard/facets/fileutils/which.rb +0 -60
  859. data/src/standard/facets/find.rb +0 -16
  860. data/src/standard/facets/getoptlong.rb +0 -59
  861. data/src/standard/facets/math.rb +0 -6
  862. data/src/standard/facets/math/abs.rb +0 -8
  863. data/src/standard/facets/math/acot.rb +0 -8
  864. data/src/standard/facets/math/acoth.rb +0 -8
  865. data/src/standard/facets/math/acsc.rb +0 -8
  866. data/src/standard/facets/math/acsch.rb +0 -8
  867. data/src/standard/facets/math/amd.rb +0 -17
  868. data/src/standard/facets/math/approx_equal.rb +0 -15
  869. data/src/standard/facets/math/asec.rb +0 -8
  870. data/src/standard/facets/math/asech.rb +0 -8
  871. data/src/standard/facets/math/atkinson_index.rb +0 -16
  872. data/src/standard/facets/math/beta.rb +0 -9
  873. data/src/standard/facets/math/cdf.rb +0 -10
  874. data/src/standard/facets/math/ceil.rb +0 -8
  875. data/src/standard/facets/math/cot.rb +0 -8
  876. data/src/standard/facets/math/coth.rb +0 -8
  877. data/src/standard/facets/math/csc.rb +0 -8
  878. data/src/standard/facets/math/csch.rb +0 -8
  879. data/src/standard/facets/math/delta.rb +0 -9
  880. data/src/standard/facets/math/epsilon.rb +0 -21
  881. data/src/standard/facets/math/exp10.rb +0 -8
  882. data/src/standard/facets/math/exp2.rb +0 -8
  883. data/src/standard/facets/math/factorial.rb +0 -37
  884. data/src/standard/facets/math/floor.rb +0 -8
  885. data/src/standard/facets/math/gamma.rb +0 -12
  886. data/src/standard/facets/math/gcd.rb +0 -23
  887. data/src/standard/facets/math/gini_coefficient.rb +0 -33
  888. data/src/standard/facets/math/kldivergence.rb +0 -19
  889. data/src/standard/facets/math/lcm.rb +0 -15
  890. data/src/standard/facets/math/lgamma.rb +0 -21
  891. data/src/standard/facets/math/linsolve.rb +0 -10
  892. data/src/standard/facets/math/log2.rb +0 -14
  893. data/src/standard/facets/math/max.rb +0 -1
  894. data/src/standard/facets/math/mean.rb +0 -16
  895. data/src/standard/facets/math/median.rb +0 -15
  896. data/src/standard/facets/math/min.rb +0 -35
  897. data/src/standard/facets/math/pow.rb +0 -8
  898. data/src/standard/facets/math/pstd.rb +0 -1
  899. data/src/standard/facets/math/pvariance.rb +0 -1
  900. data/src/standard/facets/math/rmd.rb +0 -16
  901. data/src/standard/facets/math/root.rb +0 -8
  902. data/src/standard/facets/math/sec.rb +0 -8
  903. data/src/standard/facets/math/sech.rb +0 -8
  904. data/src/standard/facets/math/sign.rb +0 -9
  905. data/src/standard/facets/math/sinc.rb +0 -8
  906. data/src/standard/facets/math/sqr.rb +0 -8
  907. data/src/standard/facets/math/sqsolve.rb +0 -53
  908. data/src/standard/facets/math/std.rb +0 -27
  909. data/src/standard/facets/math/stderr.rb +0 -1
  910. data/src/standard/facets/math/sum.rb +0 -16
  911. data/src/standard/facets/math/summed_sqdevs.rb +0 -14
  912. data/src/standard/facets/math/theil_index.rb +0 -24
  913. data/src/standard/facets/math/variance.rb +0 -31
  914. data/src/standard/facets/net/http.rb +0 -32
  915. data/src/standard/facets/ostruct.rb +0 -210
  916. data/src/standard/facets/pathname.rb +0 -240
  917. data/src/standard/facets/random.rb +0 -446
  918. data/src/standard/facets/rbconfig.rb +0 -78
  919. data/src/standard/facets/set.rb +0 -32
  920. data/src/standard/facets/shellwords.rb +0 -112
  921. data/src/standard/facets/strscan.rb +0 -16
  922. data/src/standard/facets/thread.rb +0 -98
  923. data/src/standard/facets/uri.rb +0 -211
  924. data/src/standard/facets/yaml.rb +0 -59
  925. data/src/standard/facets/zlib.rb +0 -38
  926. data/src/supplemental/facets/argvector.rb +0 -343
  927. data/src/supplemental/facets/atomicfile.rb +0 -51
  928. data/src/supplemental/facets/enumargs.rb +0 -195
  929. data/src/supplemental/facets/interval.rb +0 -284
  930. data/src/supplemental/facets/main.rb +0 -62
  931. data/src/supplemental/facets/memoizable.rb +0 -141
  932. data/src/supplemental/facets/metaid.rb +0 -7
  933. data/src/supplemental/facets/multipliers.rb +0 -65
  934. data/src/supplemental/facets/multiton.rb +0 -387
  935. data/src/supplemental/facets/nullclass.rb +0 -38
  936. data/src/supplemental/facets/opesc.rb +0 -79
  937. data/src/supplemental/facets/platform.rb +0 -377
  938. data/src/supplemental/facets/reference.rb +0 -83
  939. data/src/supplemental/facets/tuple.rb +0 -282
  940. data/test/core-uncommon/array/test_median.rb +0 -12
  941. data/test/core-uncommon/array/test_percentile.rb +0 -12
  942. data/test/core-uncommon/module/test_cattr.rb +0 -53
  943. data/test/core-uncommon/module/test_prepend.rb +0 -26
  944. data/work/CHANGES +0 -2529
  945. data/work/NOTES.rdoc +0 -143
  946. data/work/bench/bench_load.rb +0 -56
  947. data/work/bench/enumerable/bench_collect.rb +0 -84
  948. data/work/bench/enumerable/bench_count.rb +0 -58
  949. data/work/bench/general/bench_calls.rb +0 -74
  950. data/work/bench/general/bench_includes.rb +0 -25
  951. data/work/bench/general/bench_methods.rb +0 -17
  952. data/work/bench/general/bench_pathname.rb +0 -24
  953. data/work/bench/general/bench_range.rb +0 -64
  954. data/work/bench/general/bench_return.rb +0 -56
  955. data/work/bench/general/bench_yeild.rb +0 -75
  956. data/work/bench/general/comment_loading/bench.rb +0 -46
  957. data/work/bench/general/comment_loading/comments_begin.rb +0 -109
  958. data/work/bench/general/comment_loading/comments_end.rb +0 -127
  959. data/work/bench/general/comment_loading/comments_none.rb +0 -1
  960. data/work/bench/general/comment_loading/comments_sharp.rb +0 -125
  961. data/work/bench/hash/bench_slice.rb +0 -62
  962. data/work/bench/integer/bench_factorial.rb +0 -31
  963. data/work/consider/aspects.rb +0 -254
  964. data/work/consider/attr.rb +0 -82
  965. data/work/consider/bin.rb +0 -26
  966. data/work/consider/blackmagic.rb +0 -103
  967. data/work/consider/bool_attr_accessor.rb +0 -414
  968. data/work/consider/duration.rb +0 -286
  969. data/work/consider/forwardable_chain.patch +0 -448
  970. data/work/consider/knowself.rb +0 -42
  971. data/work/consider/lib/core/facets.rb +0 -37
  972. data/work/consider/lib/core/facets/array/fetch.rb +0 -37
  973. data/work/consider/lib/core/facets/array/op_div.rb +0 -23
  974. data/work/consider/lib/core/facets/hash/having.rb +0 -75
  975. data/work/consider/lib/core/facets/string/trim.rb +0 -70
  976. data/work/consider/lib/more/facets/argv.rb +0 -47
  977. data/work/consider/lib/more/facets/extension.rb +0 -30
  978. data/work/consider/lib/more/facets/fixnum.rb +0 -55
  979. data/work/consider/lib/more/facets/forwardable_chain.patch +0 -448
  980. data/work/consider/lib/more/facets/gem.rb +0 -23
  981. data/work/consider/lib/more/facets/interface.rb +0 -230
  982. data/work/consider/lib/more/facets/plugin.rb +0 -153
  983. data/work/consider/lib/more/facets/recorder.rb +0 -54
  984. data/work/consider/lib/more/facets/tasksystem.rb +0 -350
  985. data/work/consider/mapcar.rb +0 -74
  986. data/work/consider/require_directory.rb +0 -4
  987. data/work/consider/set.rb +0 -47
  988. data/work/consider/succ.rb +0 -44
  989. data/work/consider/succ_case.rb +0 -39
  990. data/work/defunct/core/facets/array/combinations.rb +0 -33
  991. data/work/defunct/core/facets/array/combos.rb +0 -47
  992. data/work/defunct/core/facets/array/each_uniq_pair.rb +0 -43
  993. data/work/defunct/core/facets/array/permutation.rb +0 -75
  994. data/work/defunct/core/facets/array/to_path.rb +0 -14
  995. data/work/defunct/core/facets/class/initializer.rb +0 -60
  996. data/work/defunct/core/facets/class/prepend.rb +0 -52
  997. data/work/defunct/core/facets/class/remove_descendents.rb +0 -42
  998. data/work/defunct/core/facets/enumerable/cascade.rb +0 -28
  999. data/work/defunct/core/facets/enumerable/each.rb +0 -89
  1000. data/work/defunct/core/facets/enumerable/to_hash.rb +0 -30
  1001. data/work/defunct/core/facets/hash/access.rb +0 -146
  1002. data/work/defunct/core/facets/hash/group_by_value.rb +0 -66
  1003. data/work/defunct/core/facets/hash/normalize_keys.rb +0 -134
  1004. data/work/defunct/core/facets/hash/op_div.rb +0 -11
  1005. data/work/defunct/core/facets/hash/variablize_keys.rb +0 -48
  1006. data/work/defunct/core/facets/kernel/__assign__.rb +0 -28
  1007. data/work/defunct/core/facets/kernel/__real__.rb +0 -48
  1008. data/work/defunct/core/facets/kernel/deep_clone.rb +0 -48
  1009. data/work/defunct/core/facets/kernel/instance_assume.rb +0 -66
  1010. data/work/defunct/core/facets/kernel/once.rb +0 -54
  1011. data/work/defunct/core/facets/kernel/warn_with_line.rb +0 -29
  1012. data/work/defunct/core/facets/method/curry.rb +0 -10
  1013. data/work/defunct/core/facets/method/partial.rb +0 -10
  1014. data/work/defunct/core/facets/module/attr_toggler.rb +0 -59
  1015. data/work/defunct/core/facets/module/by_name.rb +0 -56
  1016. data/work/defunct/core/facets/module/compare_on.rb +0 -35
  1017. data/work/defunct/core/facets/module/equate_on.rb +0 -36
  1018. data/work/defunct/core/facets/module/methodize.rb +0 -19
  1019. data/work/defunct/core/facets/module/module_method.rb +0 -14
  1020. data/work/defunct/core/facets/module/on_included.rb +0 -80
  1021. data/work/defunct/core/facets/proc/bind.rb +0 -38
  1022. data/work/defunct/core/facets/proc/to_h.rb +0 -22
  1023. data/work/defunct/core/facets/string/camelcase.rb +0 -25
  1024. data/work/defunct/core/facets/string/indexable.rb +0 -144
  1025. data/work/defunct/core/facets/string/stackable.rb +0 -181
  1026. data/work/defunct/core/facets/string/to_const.rb +0 -31
  1027. data/work/defunct/core/facets/string/to_proc.rb +0 -52
  1028. data/work/defunct/core/facets/symbol/pad.rb +0 -1
  1029. data/work/defunct/core/facets/symbol/shadow.rb +0 -37
  1030. data/work/defunct/core/facets/symbol/to_const.rb +0 -31
  1031. data/work/defunct/more/facets/annotations.rb +0 -302
  1032. data/work/defunct/more/facets/duration.rb +0 -540
  1033. data/work/defunct/more/facets/logger.rb +0 -158
  1034. data/work/defunct/more/facets/multiton.rb +0 -390
  1035. data/work/defunct/more/facets/multiton2.rb +0 -237
  1036. data/work/defunct/more/facets/uploadutils.rb +0 -466
  1037. data/work/defunct/script/conflicts +0 -63
  1038. data/work/defunct/script/methods +0 -49
  1039. data/work/defunct/test/string/test_crypt.rb +0 -17
  1040. data/work/defunct/test/string/test_indexable.rb +0 -68
  1041. data/work/defunct/test/string/test_stackable.rb +0 -94
  1042. data/work/defunct/test/string/test_stylize.rb +0 -52
  1043. data/work/defunct/test/test_continuation.rb +0 -15
  1044. data/work/defunct/test/test_instance_exec.rb +0 -44
  1045. data/work/defunct/test/test_ioredirect.rb +0 -23
  1046. data/work/defunct/test/test_prepend.rb +0 -19
  1047. data/work/defunct/test/test_succ.rb +0 -35
  1048. data/work/defunct/yard.assembly +0 -44
  1049. data/work/sandbox/component.rb +0 -120
  1050. data/work/sandbox/enumerator.rb +0 -12
  1051. data/work/sandbox/enumx.rb +0 -116
  1052. data/work/sandbox/express.rb +0 -48
  1053. data/work/sandbox/multidispatch.rb +0 -236
  1054. data/work/sandbox/multidispatch0.rb +0 -224
  1055. data/work/sandbox/multiton2.rb +0 -590
  1056. data/work/sandbox/namespace.rb +0 -169
  1057. data/work/sandbox/safe-study/safe_extension.rb +0 -17
  1058. data/work/sandbox/safe-study/safe_study.rb +0 -16
  1059. data/work/sandbox/to_data.rb +0 -141
  1060. data/work/sandbox/visit.rb +0 -62
  1061. data/work/site/endorse.page +0 -65
  1062. data/work/site/posts/2010-01-25-test_rails_with_facets.post +0 -151
  1063. data/work/site/posts/enumargs.md +0 -30
  1064. data/work/site/posts/tomslib.rb +0 -47
  1065. data/work/site/posts/weblog.xml +0 -78
  1066. data/work/site/sidebar.txt +0 -19
  1067. data/work/todo/more/test_basicobject.rb +0 -34
  1068. data/work/todo/more/test_fileutils_slice.rb +0 -88
  1069. data/work/todo/more/test_fileutils_wc.rb +0 -53
  1070. data/work/todo/more/test_fileutils_which.rb +0 -45
  1071. data/work/todo/more/test_getoptlong.rb +0 -26
  1072. data/work/todo/more/test_multiton.rb +0 -184
  1073. data/work/trash/hook.rdoc +0 -49
  1074. data/work/trash/menu.html +0 -71
  1075. data/work/trash/site-jekyll/.htaccess +0 -1
  1076. data/work/trash/site-jekyll/.rsync-filter +0 -7
  1077. data/work/trash/site-jekyll/.till +0 -1
  1078. data/work/trash/site-jekyll/_config.yml +0 -6
  1079. data/work/trash/site-jekyll/_layouts/default.html +0 -101
  1080. data/work/trash/site-jekyll/_layouts/post.html +0 -23
  1081. data/work/trash/site-jekyll/_posts/2008-01-01-how-facets-was-born.markdown +0 -25
  1082. data/work/trash/site-jekyll/_posts/2008-04-04-times-collect.markdown +0 -33
  1083. data/work/trash/site-jekyll/_posts/2008-10-10-string-margin.markdown +0 -52
  1084. data/work/trash/site-jekyll/_posts/2009-07-21-new-website.markdown +0 -16
  1085. data/work/trash/site-jekyll/_posts/2009-08-22-release-2-7.markdown +0 -127
  1086. data/work/trash/site-jekyll/_posts/2009-11-09-release-2-8.markdown +0 -58
  1087. data/work/trash/site-jekyll/about.html +0 -79
  1088. data/work/trash/site-jekyll/assets/scripts/hover.js +0 -14
  1089. data/work/trash/site-jekyll/assets/scripts/rdocs.js +0 -28
  1090. data/work/trash/site-jekyll/assets/styles/site.css +0 -317
  1091. data/work/trash/site-jekyll/assets/styles/syntax.css +0 -60
  1092. data/work/trash/site-jekyll/atom.xml +0 -23
  1093. data/work/trash/site-jekyll/community.html +0 -72
  1094. data/work/trash/site-jekyll/download.html +0 -84
  1095. data/work/trash/site-jekyll/endorse.html +0 -64
  1096. data/work/trash/site-jekyll/index.html +0 -17
  1097. data/work/trash/site-jekyll/learn.html +0 -221
  1098. data/work/trash/site-jekyll/source.html +0 -74
  1099. data/work/trash/site/.htaccess +0 -1
  1100. data/work/trash/site/.rsync-filter +0 -10
  1101. data/work/trash/site/js/hover.js +0 -14
  1102. data/work/trash/site/js/rdocs.js +0 -28
  1103. data/work/trash/site/quick.html +0 -250
  1104. data/work/trash/site/splash.html +0 -44
  1105. data/work/trash/task/count +0 -48
  1106. data/work/trash/task/load +0 -40
  1107. data/work/trash/task/publish +0 -83
  1108. data/work/trash/task/tag +0 -26
  1109. data/work/trash/test_inject.rb +0 -17
@@ -1,62 +0,0 @@
1
- # = Main as Module
2
- #
3
- # Main, ie. the top-level object, is not fully in-sync with
4
- # Module. So, certain methods like #define_method do not work.
5
- # This library fixes this.
6
- #
7
- # Techinally it is this authors opinion that the top-level object
8
- # most likely would be better-off as a self-extended module, and
9
- # methods defined in it do not automatically get added to the
10
- # Object class.
11
- #
12
- # On the other hand. It is probably best to never use the toplevel
13
- # except as a jumping in point to youre own namespace.
14
- #
15
- # Note that none of this would be needed if Main were just a self extended
16
- # module.
17
-
18
- def_meth = Proc.new do |m|
19
- if /=$/ =~ m.to_s
20
- eval <<-END
21
- def self.#{m}(arg)
22
- Object.class_eval do
23
- #{m}(arg)
24
- end
25
- end
26
- END
27
- else
28
- eval <<-END
29
- def self.#{m}( *args, &block )
30
- Object.class_eval do
31
- #{m}( *args, &block )
32
- end
33
- end
34
- END
35
- end
36
- end
37
-
38
- public
39
-
40
- (Module.public_instance_methods - public_methods).each do |m|
41
- next if m == "initialize"
42
- next if m =~ /^\W+$/
43
- def_meth[m]
44
- end
45
-
46
- private
47
-
48
- (Module.private_instance_methods - private_methods).each do |m|
49
- next if m == "initialize"
50
- next if m =~ /^\W+$/
51
- def_meth[m]
52
- end
53
-
54
- protected
55
-
56
- (Module.protected_instance_methods - protected_methods).each do |m|
57
- next if m == "initialize"
58
- next if m =~ /^\W+$/
59
- def_meth[m]
60
- end
61
-
62
- # Copyright (c) 2006 Thomas Sawyer (Ruby License)
@@ -1,141 +0,0 @@
1
- # Memoization is an optimization technique used primarily to speed up
2
- # programs by having function calls avoid repeating the calculation
3
- # of results for previously-processed inputs.
4
- #
5
- # When you "memoize" a method/function using Memoizable its results are cached
6
- # so that later calls return results from the cache instead of recalculating
7
- # them.
8
- #
9
- # class T
10
- # include Memoizable
11
- #
12
- # def initialize(a)
13
- # @a = a
14
- # end
15
- #
16
- # def a
17
- # "#{@a ^ 3 + 4}"
18
- # end
19
- #
20
- # memoize :a
21
- # end
22
- #
23
- # t = T.new(10)
24
- # (t.a.__id__ == t.a.__id__) #=> true
25
- #
26
- # This method can also be used at the instance level to cache singleton
27
- # (qua class) methods by including it in the singleton class.
28
- #
29
- #--
30
- # TODO: It would be very cool if Memoizable could set-up default parameters
31
- # via #[] method, e.g. `include Memoizable[:freeze=>true]`.
32
- #++
33
-
34
- module Memoizable
35
-
36
- @cache = Hash.new{|h,k|h[k]=Hash.new{|h,k|h[k]={}}}
37
-
38
- #
39
- def self.cache
40
- @cache
41
- end
42
-
43
- #
44
- def self.append_features(base)
45
- Module == base ? super(base) : base.extend(self)
46
- end
47
-
48
- # Directive for making your functions faster by trading space for time.
49
- # When you "memoize" a method/function using #memoize its results are
50
- # cached so that later calls with the same arguments return results from
51
- # the cache instead of recalculating them.
52
- #
53
- # The #memoize method also handles a few options to alter
54
- # behavior of the memoization:
55
- #
56
- # :class => true cache per-class not per-object
57
- # :freeze => true freeze the memoized return values
58
- # :arguments => false do not index cache by arguments
59
- #
60
- def memoize(*method_names)
61
- options = Hash === method_names.last ? method_names.pop : {}
62
-
63
- options[:arguments] = true if options[:arguments].nil? # default to true
64
-
65
- ref = options[:class] ? 'self.class.name' : 'self'
66
- frz = options[:freeze] ? '.freeze' : ''
67
- arg = options[:arguments] ? '[__a__, block_given?]' : 'nil'
68
-
69
- code = ""
70
- method_names.each do |m|
71
- code << <<-code
72
- alias_method '#{ m }:memo', '#{ m }'
73
- private '#{ m }:memo'
74
- def #{ m }(*__a__,&__b__)
75
- c = Memoizable.cache[#{ref}][:'#{ m }']
76
- k = #{arg}
77
- if c.has_key?(k)
78
- c[k]
79
- else
80
- c[k] = __send__('#{ m }:memo',*__a__,&__b__)#{frz}
81
- end
82
- end
83
- code
84
- end
85
- module_eval(code)
86
- end
87
-
88
- # Remove the memoized value from the memoization cache.
89
- # The next time a memoized methos is called if will be
90
- # remomoized.
91
- def rememoize(*method_names)
92
- if Memoizable.cache[self]
93
- if method_names.empty?
94
- Memoizable.cache.delete(self)
95
- else
96
- method_names.each do |m|
97
- Memoizable.cache[self].delete(m.to_sym)
98
- end
99
- end
100
- end
101
- if Memoizable.cache[self.class.name]
102
- if method_names.empty?
103
- Memoizable.cache.delete(self.class.name)
104
- else
105
- method_names.each do |m|
106
- Memoizable.cache[self.class.name].delete(m.to_sym)
107
- end
108
- end
109
- end
110
- end
111
-
112
- #
113
- def unmemoize(*method_names)
114
- rememoize(*method_names)
115
- method_names.each do |m|
116
- alias_method name, "#{ m }:memo"
117
- end
118
- end
119
-
120
- # Include Memoizable alone with an #initialize_copy method that
121
- # will copy the memoization cache when #dup or #clone is used.
122
- #
123
- # TODO: Is this best approach? Perhaps a method to easily create
124
- # the #initialize_copy method would suffice?
125
- module Copy
126
-
127
- #
128
- def self.included(base)
129
- base.extend(Memoizable)
130
- end
131
-
132
- #
133
- def initialize_copy(original)
134
- if Memoizable.cache.key?(original)
135
- Memoizable.cache[self] = Memoizable.cache[original].dup
136
- end
137
- end
138
-
139
- end
140
-
141
- end
@@ -1,7 +0,0 @@
1
- require 'facets/kernel/meta_alias'
2
- require 'facets/kernel/meta_class'
3
- require 'facets/kernel/meta_def'
4
- require 'facets/kernel/meta_eval'
5
-
6
- # in remberence of _why
7
- require 'facets/kernel/eigenclass'
@@ -1,65 +0,0 @@
1
- class Numeric
2
-
3
- # = Numeric::Multipliers
4
- #
5
- # Adds methods to Numeric to make working with
6
- # magnitudes (kilo, mega, giga, milli, micro, etc.)
7
- #
8
- # 1.kilo #=> 1000
9
- # 1.milli #=> 0.001
10
- # 1.kibi #=> 1024
11
- #
12
- # To display a value in a certain denomination, simply
13
- # perform the inverse operation by placing the
14
- # multiplier called on unit (1) in the denominator.
15
- #
16
- # (1000 / 1.kilo) #=> 1
17
- # (1024 / 1.kibi) #=> 1
18
- #
19
- # Thanks to Rich Kilmer and bytes.rb which inspired this library.
20
-
21
- module Multipliers
22
-
23
- # SI Multipliers
24
-
25
- def deka ; self * 10 ; end
26
- def hecto ; self * 100 ; end
27
- def kilo ; self * 1000 ; end
28
- def mega ; self * 1000000 ; end
29
- def giga ; self * 1000000000 ; end
30
- def tera ; self * 1000000000000 ; end
31
- def peta ; self * 1000000000000000 ; end
32
- def exa ; self * 1000000000000000000 ; end
33
-
34
- # SI Fractional
35
-
36
- def deci ; self.to_f / 10 ; end
37
- def centi ; self.to_f / 100 ; end
38
- def milli ; self.to_f / 1000 ; end
39
- def micro ; self.to_f / 1000000 ; end
40
- def nano ; self.to_f / 1000000000 ; end
41
- def pico ; self.to_f / 1000000000000 ; end
42
- def femto ; self.to_f / 1000000000000000 ; end
43
- def atto ; self.to_f / 1000000000000000000 ; end
44
-
45
- # SI Binary
46
-
47
- def kibi ; self * 1024 ; end
48
- def mebi ; self * 1024**2 ; end
49
- def gibi ; self * 1024**3 ; end
50
- def tebi ; self * 1024**4 ; end
51
- def pebi ; self * 1024**5 ; end
52
- def exbi ; self * 1024**6 ; end
53
-
54
- # Bits and Bytes
55
-
56
- #def bit ; self ; end
57
- #def bits ; self ; end
58
- #def byte ; self * 8 ; end
59
- #def bytes ; self * 8 ; end
60
- end
61
-
62
- include Multipliers
63
- end
64
-
65
- # Copyright (c) 2005 Thomas Sawyer
@@ -1,387 +0,0 @@
1
- # = Multiton
2
- #
3
- # == Synopsis
4
- #
5
- # Multiton design pattern ensures only one object is allocated for a given state.
6
- #
7
- # The 'multiton' pattern is similar to a singleton, but instead of only one
8
- # instance, there are several similar instances. It is useful when you want to
9
- # avoid constructing objects many times because of some huge expense (connecting
10
- # to a database for example), require a set of similar but not identical
11
- # objects, and cannot easily control how many times a contructor may be called.
12
- #
13
- # class SomeMultitonClass
14
- # include Multiton
15
- # attr :arg
16
- # def initialize(arg)
17
- # @arg = arg
18
- # end
19
- # end
20
- #
21
- # a = SomeMultitonClass.new(4)
22
- # b = SomeMultitonClass.new(4) # a and b are same object
23
- # c = SomeMultitonClass.new(2) # c is a different object
24
- #
25
- # == Previous Behavior
26
- #
27
- # In previous versions of Multiton the #new method was made
28
- # private and #instance had to be used in its stay --just like Singleton.
29
- # But this is less desirable for Multiton since Multitions can
30
- # have multiple instances, not just one.
31
- #
32
- # So instead Multiton now defines #create as a private alias of
33
- # the original #new method (just in case it is needed) and then
34
- # defines #new to handle the multiton; #instance is provided
35
- # as an alias for it.
36
- #
37
- #--
38
- # So if you must have the old behavior, all you need do is re-alias
39
- # #new to #create and privatize it.
40
- #
41
- # class SomeMultitonClass
42
- # include Multiton
43
- # alias_method :new, :create
44
- # private :new
45
- # ...
46
- # end
47
- #
48
- # Then only #instance will be available for creating the Multiton.
49
- #++
50
- #
51
- # == How It Works
52
- #
53
- # A pool of objects is searched for a previously cached object,
54
- # if one is not found we construct one and cache it in the pool
55
- # based on class and the args given to the contructor.
56
- #
57
- # A limitation of this approach is that it is impossible to
58
- # detect if different blocks were given to a contructor (if it takes a
59
- # block). So it is the constructor arguments _only_ which determine
60
- # the uniqueness of an object. To workaround this, define the _class_
61
- # method ::multiton_id.
62
- #
63
- # def SomeMultitonClass.multiton_id(*args, &block)
64
- # # ...
65
- # end
66
- #
67
- # Which should return a hash key used to identify the object being
68
- # constructed as (not) unique.
69
- #
70
- # == Authors
71
- #
72
- # * Christoph Rippel
73
- # * Thomas Sawyer
74
- #
75
- # = Copying
76
- #
77
- # Copyright (c) 2007 Christoph Rippel, Thomas Sawyer
78
- #
79
- # Ruby License
80
- #
81
- # This module is free software. You may use, modify, and/or redistribute this
82
- # software under the same terms as Ruby.
83
- #
84
- # This program is distributed in the hope that it will be useful, but WITHOUT
85
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
86
- # FOR A PARTICULAR PURPOSE.
87
-
88
- require 'thread'
89
-
90
- # = Multiton
91
- #
92
- # Multiton design pattern ensures only one object is allocated for a given state.
93
- #
94
- # The 'multiton' pattern is similar to a singleton, but instead of only one
95
- # instance, there are several similar instances. It is useful when you want to
96
- # avoid constructing objects many times because of some huge expense (connecting
97
- # to a database for example), require a set of similar but not identical
98
- # objects, and cannot easily control how many times a contructor may be called.
99
- #
100
- # class SomeMultitonClass
101
- # include Multiton
102
- # attr :arg
103
- # def initialize(arg)
104
- # @arg = arg
105
- # end
106
- # end
107
- #
108
- # a = SomeMultitonClass.new(4)
109
- # b = SomeMultitonClass.new(4) # a and b are same object
110
- # c = SomeMultitonClass.new(2) # c is a different object
111
- #
112
- # == How It Works
113
- #
114
- # A pool of objects is searched for a previously cached object,
115
- # if one is not found we construct one and cache it in the pool
116
- # based on class and the args given to the contructor.
117
- #
118
- # A limitation of this approach is that it is impossible to
119
- # detect if different blocks were given to a contructor (if it takes a
120
- # block). So it is the constructor arguments _only_ which determine
121
- # the uniqueness of an object. To workaround this, define the _class_
122
- # method ::multiton_id.
123
- #
124
- # def SomeMultitonClass.multiton_id(*args, &block)
125
- # # ...
126
- # end
127
- #
128
- # Which should return a hash key used to identify the object being
129
- # constructed as (not) unique.
130
-
131
- module Multiton
132
-
133
- # Disable build-in copying methods.
134
-
135
- def clone
136
- raise TypeError, "can't clone Multiton #{self}"
137
- ##self
138
- end
139
-
140
- def dup
141
- raise TypeError, "can't dup Multiton #{self}"
142
- ##self
143
- end
144
-
145
- # Default marshalling strategy.
146
-
147
- protected
148
-
149
- def _dump(depth=-1)
150
- Marshal.dump(@multiton_initializer)
151
- end
152
-
153
- # Mutex to safely store multiton instances.
154
-
155
- class InstanceMutex < Hash #:nodoc:
156
- def initialize
157
- @global = Mutex.new
158
- end
159
-
160
- def initialized(arg)
161
- store(arg, DummyMutex)
162
- end
163
-
164
- def (DummyMutex = Object.new).synchronize
165
- yield
166
- end
167
-
168
- def default(arg)
169
- @global.synchronize{ fetch(arg){ store(arg, Mutex.new) } }
170
- end
171
- end
172
-
173
- # Multiton can be included in another module, in which case that module
174
- # effectively becomes a multiton behavior distributor too. This is why we
175
- # propogate #included to the base module by putting it in another module.
176
- #
177
- #--
178
- # def append_features(mod)
179
- # # help out people counting on transitive mixins
180
- # unless mod.instance_of?(Class)
181
- # raise TypeError, "Inclusion of Multiton in module #{mod}"
182
- # end
183
- # super
184
- # end
185
- #++
186
-
187
- module Inclusive
188
- private
189
- def included(base)
190
- class << base
191
- ##alias_method(:new!, :new) unless method_defined?(:new!)
192
- ## gracefully handle multiple inclusions of Multiton
193
- unless include?(Multiton::MetaMethods)
194
- alias_method :new!, :new
195
- private :allocate #, :new
196
- include Multiton::MetaMethods
197
-
198
- if method_defined?(:marshal_dump)
199
- undef_method :marshal_dump
200
- warn "warning: marshal_dump was undefined since it is incompatible with the Multiton pattern"
201
- end
202
- end
203
- end
204
- end
205
- end
206
-
207
- extend Inclusive
208
-
209
- #
210
-
211
- module MetaMethods
212
-
213
- include Inclusive
214
-
215
- def instance(*e, &b)
216
- arg = multiton_id(*e, &b)
217
- multiton_instance.fetch(arg) do
218
- multiton_mutex[arg].synchronize do
219
- multiton_instance.fetch(arg) do
220
- val = multiton_instance[arg] = new!(*e, &b) #new(*e, &b)
221
- val.instance_variable_set(:@multiton_initializer, e, &b)
222
- multiton_mutex.initialized(arg)
223
- val
224
- end
225
- end
226
- end
227
- end
228
- alias_method :new, :instance
229
-
230
- def initialized?(*e, &b)
231
- multiton_instance.key?(multiton_id(*e, &b))
232
- end
233
-
234
- protected
235
-
236
- def multiton_instance
237
- @multiton_instance ||= Hash.new
238
- end
239
-
240
- def multiton_mutex
241
- @multiton_mutex ||= InstanceMutex.new
242
- end
243
-
244
- def reinitialize
245
- multiton_instance.clear
246
- multiton_mutex.clear
247
- end
248
-
249
- def _load(str)
250
- instance(*Marshal.load(str))
251
- end
252
-
253
- private
254
-
255
- # Default method to to create a key to cache already constructed
256
- # instances. In the use case MultitonClass.new(e), MultiClass.new(f)
257
- # must be semantically equal if multiton_id(e).eql?(multiton_id(f))
258
- # evaluates to true.
259
- def multiton_id(*e, &b)
260
- e
261
- end
262
-
263
- def singleton_method_added(sym)
264
- super
265
- if (sym == :marshal_dump) & singleton_methods.include?('marshal_dump')
266
- raise TypeError, "Don't use marshal_dump - rely on _dump and _load instead"
267
- end
268
- end
269
-
270
- end
271
-
272
- end
273
-
274
-
275
-
276
-
277
- =begin
278
- # TODO: Convert this into a real test and/or benchmark.
279
-
280
- if $0 == __FILE__
281
-
282
- ### Simple marshalling test #######
283
- class A
284
- def initialize(a,*e)
285
- @e = a
286
- end
287
-
288
- include Multiton
289
- begin
290
- def self.marshal_dump(depth = -1)
291
- end
292
- rescue => mes
293
- p mes
294
- class << self; undef marshal_dump end
295
- end
296
- end
297
-
298
- C = Class.new(A.clone)
299
- s = C.instance('a','b')
300
-
301
- raise unless Marshal.load(Marshal.dump(s)) == s
302
-
303
-
304
- ### Interdependent initialization example and threading benchmark ###
305
-
306
- class Regular_SymPlane
307
- def self.multiton_id(*e)
308
- a,b = e
309
- (a+b - 1)*(a+b )/2 + (a > b ? a : b)
310
- end
311
-
312
- def initialize(a,b)
313
- klass = self.class
314
- if a < b
315
- @l = b > 0 ? klass.instance(a,b-1) : nil
316
- @r = a > 0 ? klass.instance(a-1,b) : nil
317
- else
318
- @l = a > 0 ? klass.instance(a-1,b) : nil
319
- @r = b > 0 ? klass.instance(a,b-1) : nil
320
- end
321
- end
322
-
323
- include Multiton
324
- end
325
-
326
-
327
-
328
- def nap
329
- # Thread.pass
330
- sleep(rand(0.01))
331
- end
332
-
333
- class SymPlane < Regular_SymPlane
334
- @m = Mutex.new
335
- @count = 0
336
- end
337
-
338
- class << SymPlane
339
- attr_reader :count
340
- def reinitialize
341
- super
342
- @m = Mutex.new
343
- @count = 0
344
- end
345
- def inherited(sub_class)
346
- super
347
- sub_class.instance_eval { @m = Mutex.new; @count = 0 }
348
- end
349
-
350
- def multiton_id(*e)
351
- nap()
352
- super
353
- end
354
-
355
- def new!(*e) # NOTICE!!!
356
- super
357
- ensure
358
- nap()
359
- @m.synchronize { p @count if (@count += 1) % 15 == 0 }
360
- end
361
-
362
- def run(k)
363
- threads = 0
364
- max = k * (k+1) / 2
365
- puts ""
366
- while count() < max
367
- Thread.new { threads+= 1; instance(rand(30),rand(30)) }
368
- end
369
- puts "\nThe simulation created #{threads} threads"
370
- end
371
- end
372
-
373
-
374
- require 'benchmark'
375
- include Benchmark
376
-
377
- bmbm do |x|
378
- x.report('Initialize 465 SymPlane instances') { SymPlane.run(30) }
379
- x.report('Reinitialize ') do
380
- sleep 3
381
- SymPlane.reinitialize
382
- end
383
- end
384
-
385
- end
386
- =end
387
-