facets 0.6.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 (861) hide show
  1. data/ANN +53 -0
  2. data/ChangeLog +50 -0
  3. data/LICENSE-GPL +341 -0
  4. data/LICENSE-RUBY +60 -0
  5. data/README +130 -0
  6. data/Reapfile +74 -0
  7. data/TODO +42 -0
  8. data/VERSION +7 -0
  9. data/doc/classes/Array.html +1267 -0
  10. data/doc/classes/Array.src/M000027.html +19 -0
  11. data/doc/classes/Array.src/M000028.html +23 -0
  12. data/doc/classes/Array.src/M000029.html +18 -0
  13. data/doc/classes/Array.src/M000030.html +18 -0
  14. data/doc/classes/Array.src/M000031.html +18 -0
  15. data/doc/classes/Array.src/M000032.html +18 -0
  16. data/doc/classes/Array.src/M000033.html +18 -0
  17. data/doc/classes/Array.src/M000034.html +18 -0
  18. data/doc/classes/Array.src/M000035.html +18 -0
  19. data/doc/classes/Array.src/M000036.html +20 -0
  20. data/doc/classes/Array.src/M000037.html +31 -0
  21. data/doc/classes/Array.src/M000038.html +19 -0
  22. data/doc/classes/Array.src/M000039.html +24 -0
  23. data/doc/classes/Array.src/M000040.html +23 -0
  24. data/doc/classes/Array.src/M000041.html +31 -0
  25. data/doc/classes/Array.src/M000042.html +27 -0
  26. data/doc/classes/Array.src/M000044.html +22 -0
  27. data/doc/classes/Array.src/M000046.html +20 -0
  28. data/doc/classes/Array.src/M000047.html +18 -0
  29. data/doc/classes/Array.src/M000048.html +24 -0
  30. data/doc/classes/Array.src/M000049.html +19 -0
  31. data/doc/classes/Array.src/M000050.html +24 -0
  32. data/doc/classes/Array.src/M000051.html +22 -0
  33. data/doc/classes/Array.src/M000052.html +18 -0
  34. data/doc/classes/Array.src/M000053.html +25 -0
  35. data/doc/classes/Array.src/M000054.html +19 -0
  36. data/doc/classes/Array.src/M000055.html +26 -0
  37. data/doc/classes/Array.src/M000056.html +19 -0
  38. data/doc/classes/Array.src/M000057.html +28 -0
  39. data/doc/classes/Array.src/M000058.html +21 -0
  40. data/doc/classes/Array.src/M000059.html +18 -0
  41. data/doc/classes/Array.src/M000061.html +23 -0
  42. data/doc/classes/Binding.html +420 -0
  43. data/doc/classes/Binding.src/M000202.html +19 -0
  44. data/doc/classes/Binding.src/M000203.html +22 -0
  45. data/doc/classes/Binding.src/M000204.html +19 -0
  46. data/doc/classes/Binding.src/M000205.html +19 -0
  47. data/doc/classes/Binding.src/M000206.html +18 -0
  48. data/doc/classes/Binding.src/M000207.html +18 -0
  49. data/doc/classes/Binding.src/M000208.html +18 -0
  50. data/doc/classes/Binding.src/M000209.html +18 -0
  51. data/doc/classes/Binding.src/M000210.html +18 -0
  52. data/doc/classes/Binding.src/M000211.html +18 -0
  53. data/doc/classes/Binding.src/M000212.html +18 -0
  54. data/doc/classes/Binding.src/M000213.html +27 -0
  55. data/doc/classes/Binding.src/M000214.html +22 -0
  56. data/doc/classes/Class.html +216 -0
  57. data/doc/classes/Class.src/M000184.html +20 -0
  58. data/doc/classes/Class.src/M000185.html +20 -0
  59. data/doc/classes/Class.src/M000186.html +19 -0
  60. data/doc/classes/Comparable.html +190 -0
  61. data/doc/classes/Comparable.src/M000366.html +20 -0
  62. data/doc/classes/Comparable.src/M000367.html +18 -0
  63. data/doc/classes/Comparable.src/M000368.html +18 -0
  64. data/doc/classes/Continuation.html +188 -0
  65. data/doc/classes/Continuation.src/M000126.html +21 -0
  66. data/doc/classes/Enumerable.html +648 -0
  67. data/doc/classes/Enumerable.src/M000345.html +22 -0
  68. data/doc/classes/Enumerable.src/M000346.html +18 -0
  69. data/doc/classes/Enumerable.src/M000347.html +26 -0
  70. data/doc/classes/Enumerable.src/M000349.html +18 -0
  71. data/doc/classes/Enumerable.src/M000351.html +23 -0
  72. data/doc/classes/Enumerable.src/M000352.html +22 -0
  73. data/doc/classes/Enumerable.src/M000356.html +31 -0
  74. data/doc/classes/Enumerable.src/M000359.html +29 -0
  75. data/doc/classes/Enumerable.src/M000360.html +34 -0
  76. data/doc/classes/Enumerable.src/M000362.html +20 -0
  77. data/doc/classes/Enumerable.src/M000363.html +18 -0
  78. data/doc/classes/Enumerable.src/M000364.html +48 -0
  79. data/doc/classes/Enumerable.src/M000365.html +18 -0
  80. data/doc/classes/File.html +149 -0
  81. data/doc/classes/File.src/M000326.html +21 -0
  82. data/doc/classes/FileUtils.html +332 -0
  83. data/doc/classes/FileUtils.src/M000327.html +59 -0
  84. data/doc/classes/FileUtils.src/M000328.html +28 -0
  85. data/doc/classes/FileUtils.src/M000329.html +18 -0
  86. data/doc/classes/FileUtils.src/M000330.html +18 -0
  87. data/doc/classes/FileUtils.src/M000331.html +46 -0
  88. data/doc/classes/FileUtils.src/M000332.html +27 -0
  89. data/doc/classes/FileUtils.src/M000333.html +55 -0
  90. data/doc/classes/Float.html +180 -0
  91. data/doc/classes/Float.src/M000181.html +18 -0
  92. data/doc/classes/Float.src/M000182.html +19 -0
  93. data/doc/classes/Float.src/M000183.html +19 -0
  94. data/doc/classes/Functor.html +190 -0
  95. data/doc/classes/Functor.src/M000195.html +16 -0
  96. data/doc/classes/Functor.src/M000196.html +16 -0
  97. data/doc/classes/Functor.src/M000197.html +16 -0
  98. data/doc/classes/Functor.src/M000198.html +16 -0
  99. data/doc/classes/Hash.html +1319 -0
  100. data/doc/classes/Hash.src/M000063.html +20 -0
  101. data/doc/classes/Hash.src/M000064.html +18 -0
  102. data/doc/classes/Hash.src/M000065.html +22 -0
  103. data/doc/classes/Hash.src/M000066.html +23 -0
  104. data/doc/classes/Hash.src/M000067.html +21 -0
  105. data/doc/classes/Hash.src/M000068.html +25 -0
  106. data/doc/classes/Hash.src/M000069.html +18 -0
  107. data/doc/classes/Hash.src/M000070.html +22 -0
  108. data/doc/classes/Hash.src/M000071.html +20 -0
  109. data/doc/classes/Hash.src/M000072.html +26 -0
  110. data/doc/classes/Hash.src/M000073.html +19 -0
  111. data/doc/classes/Hash.src/M000074.html +19 -0
  112. data/doc/classes/Hash.src/M000075.html +24 -0
  113. data/doc/classes/Hash.src/M000078.html +18 -0
  114. data/doc/classes/Hash.src/M000080.html +20 -0
  115. data/doc/classes/Hash.src/M000083.html +18 -0
  116. data/doc/classes/Hash.src/M000084.html +20 -0
  117. data/doc/classes/Hash.src/M000086.html +19 -0
  118. data/doc/classes/Hash.src/M000087.html +20 -0
  119. data/doc/classes/Hash.src/M000089.html +16 -0
  120. data/doc/classes/Hash.src/M000090.html +19 -0
  121. data/doc/classes/Hash.src/M000091.html +22 -0
  122. data/doc/classes/Hash.src/M000092.html +18 -0
  123. data/doc/classes/Hash.src/M000093.html +18 -0
  124. data/doc/classes/Hash.src/M000094.html +20 -0
  125. data/doc/classes/Hash.src/M000095.html +19 -0
  126. data/doc/classes/Hash.src/M000096.html +19 -0
  127. data/doc/classes/Hash.src/M000097.html +19 -0
  128. data/doc/classes/Hash.src/M000098.html +18 -0
  129. data/doc/classes/Hash.src/M000099.html +18 -0
  130. data/doc/classes/Hash.src/M000100.html +19 -0
  131. data/doc/classes/Hash.src/M000101.html +24 -0
  132. data/doc/classes/Hash.src/M000104.html +55 -0
  133. data/doc/classes/Hash.src/M000105.html +19 -0
  134. data/doc/classes/Hash.src/M000106.html +19 -0
  135. data/doc/classes/Integer.html +248 -0
  136. data/doc/classes/Integer.src/M000007.html +19 -0
  137. data/doc/classes/Integer.src/M000008.html +18 -0
  138. data/doc/classes/Integer.src/M000009.html +18 -0
  139. data/doc/classes/Integer.src/M000010.html +21 -0
  140. data/doc/classes/Kernel.html +520 -0
  141. data/doc/classes/Kernel.src/M000334.html +27 -0
  142. data/doc/classes/Kernel.src/M000335.html +18 -0
  143. data/doc/classes/Kernel.src/M000336.html +18 -0
  144. data/doc/classes/Kernel.src/M000337.html +18 -0
  145. data/doc/classes/Kernel.src/M000338.html +24 -0
  146. data/doc/classes/Kernel.src/M000339.html +19 -0
  147. data/doc/classes/Kernel.src/M000340.html +22 -0
  148. data/doc/classes/Kernel.src/M000341.html +20 -0
  149. data/doc/classes/Kernel.src/M000342.html +19 -0
  150. data/doc/classes/Kernel.src/M000343.html +21 -0
  151. data/doc/classes/Kernel.src/M000344.html +18 -0
  152. data/doc/classes/MatchData.html +208 -0
  153. data/doc/classes/MatchData.src/M000107.html +21 -0
  154. data/doc/classes/MatchData.src/M000108.html +21 -0
  155. data/doc/classes/MatchData.src/M000109.html +18 -0
  156. data/doc/classes/Module.html +648 -0
  157. data/doc/classes/Module.src/M000112.html +32 -0
  158. data/doc/classes/Module.src/M000114.html +24 -0
  159. data/doc/classes/Module.src/M000115.html +41 -0
  160. data/doc/classes/Module.src/M000116.html +18 -0
  161. data/doc/classes/Module.src/M000117.html +20 -0
  162. data/doc/classes/Module.src/M000118.html +19 -0
  163. data/doc/classes/Module.src/M000119.html +20 -0
  164. data/doc/classes/Module.src/M000120.html +21 -0
  165. data/doc/classes/Module.src/M000122.html +23 -0
  166. data/doc/classes/Module.src/M000123.html +24 -0
  167. data/doc/classes/Module.src/M000124.html +20 -0
  168. data/doc/classes/Module.src/M000125.html +29 -0
  169. data/doc/classes/NilClass.html +336 -0
  170. data/doc/classes/NilClass.src/M000187.html +18 -0
  171. data/doc/classes/NilClass.src/M000188.html +16 -0
  172. data/doc/classes/NilClass.src/M000189.html +16 -0
  173. data/doc/classes/NilClass.src/M000190.html +16 -0
  174. data/doc/classes/NilClass.src/M000191.html +16 -0
  175. data/doc/classes/NilClass.src/M000192.html +16 -0
  176. data/doc/classes/NilClass.src/M000193.html +16 -0
  177. data/doc/classes/NilClass.src/M000194.html +16 -0
  178. data/doc/classes/Numeric.html +1122 -0
  179. data/doc/classes/Numeric.src/M000127.html +18 -0
  180. data/doc/classes/Numeric.src/M000128.html +18 -0
  181. data/doc/classes/Numeric.src/M000129.html +18 -0
  182. data/doc/classes/Numeric.src/M000130.html +29 -0
  183. data/doc/classes/Numeric.src/M000131.html +18 -0
  184. data/doc/classes/Numeric.src/M000132.html +18 -0
  185. data/doc/classes/Numeric.src/M000133.html +18 -0
  186. data/doc/classes/Numeric.src/M000135.html +18 -0
  187. data/doc/classes/Numeric.src/M000138.html +18 -0
  188. data/doc/classes/Numeric.src/M000141.html +18 -0
  189. data/doc/classes/Numeric.src/M000144.html +18 -0
  190. data/doc/classes/Numeric.src/M000147.html +19 -0
  191. data/doc/classes/Numeric.src/M000148.html +19 -0
  192. data/doc/classes/Numeric.src/M000149.html +18 -0
  193. data/doc/classes/Numeric.src/M000150.html +18 -0
  194. data/doc/classes/Numeric.src/M000151.html +18 -0
  195. data/doc/classes/Numeric.src/M000153.html +18 -0
  196. data/doc/classes/Numeric.src/M000155.html +18 -0
  197. data/doc/classes/Numeric.src/M000157.html +18 -0
  198. data/doc/classes/Numeric.src/M000159.html +18 -0
  199. data/doc/classes/Numeric.src/M000161.html +18 -0
  200. data/doc/classes/Numeric.src/M000163.html +18 -0
  201. data/doc/classes/Numeric.src/M000165.html +18 -0
  202. data/doc/classes/Numeric.src/M000167.html +18 -0
  203. data/doc/classes/Numeric.src/M000169.html +18 -0
  204. data/doc/classes/Numeric.src/M000171.html +18 -0
  205. data/doc/classes/Numeric.src/M000174.html +18 -0
  206. data/doc/classes/Numeric.src/M000178.html +20 -0
  207. data/doc/classes/Numeric.src/M000179.html +18 -0
  208. data/doc/classes/Numeric.src/M000180.html +18 -0
  209. data/doc/classes/Object.html +923 -0
  210. data/doc/classes/Object.src/M000215.html +21 -0
  211. data/doc/classes/Object.src/M000216.html +20 -0
  212. data/doc/classes/Object.src/M000217.html +18 -0
  213. data/doc/classes/Object.src/M000219.html +26 -0
  214. data/doc/classes/Object.src/M000220.html +20 -0
  215. data/doc/classes/Object.src/M000221.html +18 -0
  216. data/doc/classes/Object.src/M000222.html +18 -0
  217. data/doc/classes/Object.src/M000224.html +18 -0
  218. data/doc/classes/Object.src/M000226.html +18 -0
  219. data/doc/classes/Object.src/M000228.html +19 -0
  220. data/doc/classes/Object.src/M000229.html +19 -0
  221. data/doc/classes/Object.src/M000230.html +21 -0
  222. data/doc/classes/Object.src/M000232.html +18 -0
  223. data/doc/classes/Object.src/M000233.html +18 -0
  224. data/doc/classes/Object.src/M000234.html +19 -0
  225. data/doc/classes/Object.src/M000235.html +19 -0
  226. data/doc/classes/Object.src/M000236.html +19 -0
  227. data/doc/classes/Object.src/M000237.html +40 -0
  228. data/doc/classes/Object.src/M000238.html +27 -0
  229. data/doc/classes/Object.src/M000239.html +18 -0
  230. data/doc/classes/Object.src/M000240.html +18 -0
  231. data/doc/classes/Object.src/M000241.html +18 -0
  232. data/doc/classes/Object.src/M000242.html +18 -0
  233. data/doc/classes/OpenStruct.html +206 -0
  234. data/doc/classes/OpenStruct.src/M000199.html +22 -0
  235. data/doc/classes/OpenStruct.src/M000200.html +19 -0
  236. data/doc/classes/OpenStruct.src/M000201.html +20 -0
  237. data/doc/classes/Proc.html +184 -0
  238. data/doc/classes/Proc.src/M000110.html +20 -0
  239. data/doc/classes/Range.html +247 -0
  240. data/doc/classes/Range.src/M000003.html +23 -0
  241. data/doc/classes/Range.src/M000004.html +20 -0
  242. data/doc/classes/Range.src/M000005.html +18 -0
  243. data/doc/classes/Range.src/M000006.html +18 -0
  244. data/doc/classes/Regexp.html +205 -0
  245. data/doc/classes/Regexp.src/M000022.html +18 -0
  246. data/doc/classes/Regexp.src/M000023.html +18 -0
  247. data/doc/classes/Regexp.src/M000024.html +18 -0
  248. data/doc/classes/ScriptBug.html +111 -0
  249. data/doc/classes/String.html +1930 -0
  250. data/doc/classes/String.src/M000243.html +27 -0
  251. data/doc/classes/String.src/M000244.html +18 -0
  252. data/doc/classes/String.src/M000245.html +18 -0
  253. data/doc/classes/String.src/M000246.html +18 -0
  254. data/doc/classes/String.src/M000248.html +18 -0
  255. data/doc/classes/String.src/M000249.html +18 -0
  256. data/doc/classes/String.src/M000250.html +21 -0
  257. data/doc/classes/String.src/M000251.html +22 -0
  258. data/doc/classes/String.src/M000253.html +28 -0
  259. data/doc/classes/String.src/M000254.html +23 -0
  260. data/doc/classes/String.src/M000255.html +22 -0
  261. data/doc/classes/String.src/M000256.html +18 -0
  262. data/doc/classes/String.src/M000257.html +20 -0
  263. data/doc/classes/String.src/M000258.html +20 -0
  264. data/doc/classes/String.src/M000259.html +22 -0
  265. data/doc/classes/String.src/M000260.html +18 -0
  266. data/doc/classes/String.src/M000261.html +26 -0
  267. data/doc/classes/String.src/M000262.html +23 -0
  268. data/doc/classes/String.src/M000263.html +24 -0
  269. data/doc/classes/String.src/M000264.html +23 -0
  270. data/doc/classes/String.src/M000265.html +23 -0
  271. data/doc/classes/String.src/M000266.html +18 -0
  272. data/doc/classes/String.src/M000267.html +18 -0
  273. data/doc/classes/String.src/M000268.html +19 -0
  274. data/doc/classes/String.src/M000269.html +19 -0
  275. data/doc/classes/String.src/M000270.html +18 -0
  276. data/doc/classes/String.src/M000271.html +18 -0
  277. data/doc/classes/String.src/M000272.html +19 -0
  278. data/doc/classes/String.src/M000273.html +18 -0
  279. data/doc/classes/String.src/M000274.html +72 -0
  280. data/doc/classes/String.src/M000275.html +20 -0
  281. data/doc/classes/String.src/M000276.html +20 -0
  282. data/doc/classes/String.src/M000277.html +21 -0
  283. data/doc/classes/String.src/M000278.html +25 -0
  284. data/doc/classes/String.src/M000279.html +18 -0
  285. data/doc/classes/String.src/M000280.html +21 -0
  286. data/doc/classes/String.src/M000281.html +18 -0
  287. data/doc/classes/String.src/M000282.html +23 -0
  288. data/doc/classes/String.src/M000283.html +18 -0
  289. data/doc/classes/String.src/M000284.html +21 -0
  290. data/doc/classes/String.src/M000285.html +28 -0
  291. data/doc/classes/String.src/M000286.html +25 -0
  292. data/doc/classes/String.src/M000287.html +18 -0
  293. data/doc/classes/String.src/M000289.html +18 -0
  294. data/doc/classes/String.src/M000291.html +18 -0
  295. data/doc/classes/String.src/M000292.html +18 -0
  296. data/doc/classes/String.src/M000293.html +21 -0
  297. data/doc/classes/String.src/M000294.html +18 -0
  298. data/doc/classes/String.src/M000295.html +18 -0
  299. data/doc/classes/String.src/M000296.html +22 -0
  300. data/doc/classes/String.src/M000297.html +18 -0
  301. data/doc/classes/String.src/M000298.html +22 -0
  302. data/doc/classes/String.src/M000299.html +21 -0
  303. data/doc/classes/String.src/M000300.html +18 -0
  304. data/doc/classes/String.src/M000301.html +18 -0
  305. data/doc/classes/String.src/M000302.html +18 -0
  306. data/doc/classes/String.src/M000303.html +18 -0
  307. data/doc/classes/String.src/M000304.html +18 -0
  308. data/doc/classes/String.src/M000305.html +32 -0
  309. data/doc/classes/String.src/M000306.html +23 -0
  310. data/doc/classes/String.src/M000307.html +24 -0
  311. data/doc/classes/String.src/M000308.html +18 -0
  312. data/doc/classes/String.src/M000309.html +57 -0
  313. data/doc/classes/String/Format.html +279 -0
  314. data/doc/classes/String/Format.src/M000316.html +18 -0
  315. data/doc/classes/String/Format.src/M000317.html +18 -0
  316. data/doc/classes/String/Format.src/M000318.html +18 -0
  317. data/doc/classes/String/Format.src/M000320.html +18 -0
  318. data/doc/classes/String/Format.src/M000321.html +18 -0
  319. data/doc/classes/String/Format.src/M000322.html +18 -0
  320. data/doc/classes/String/Format.src/M000323.html +18 -0
  321. data/doc/classes/String/Format.src/M000324.html +18 -0
  322. data/doc/classes/String/Format.src/M000325.html +18 -0
  323. data/doc/classes/String/Inflect.html +221 -0
  324. data/doc/classes/String/Inflect.src/M000310.html +18 -0
  325. data/doc/classes/String/Inflect.src/M000311.html +18 -0
  326. data/doc/classes/String/Inflect.src/M000312.html +22 -0
  327. data/doc/classes/String/Inflect.src/M000313.html +22 -0
  328. data/doc/classes/String/Inflect.src/M000314.html +30 -0
  329. data/doc/classes/String/Inflect.src/M000315.html +31 -0
  330. data/doc/classes/Symbol.html +380 -0
  331. data/doc/classes/Symbol.src/M000012.html +18 -0
  332. data/doc/classes/Symbol.src/M000013.html +18 -0
  333. data/doc/classes/Symbol.src/M000014.html +22 -0
  334. data/doc/classes/Symbol.src/M000016.html +18 -0
  335. data/doc/classes/Symbol.src/M000017.html +18 -0
  336. data/doc/classes/Symbol.src/M000018.html +28 -0
  337. data/doc/classes/Symbol.src/M000019.html +26 -0
  338. data/doc/classes/Symbol.src/M000020.html +18 -0
  339. data/doc/classes/Symbol.src/M000021.html +18 -0
  340. data/doc/classes/Time.html +227 -0
  341. data/doc/classes/Time.src/M000025.html +51 -0
  342. data/doc/classes/Time.src/M000026.html +21 -0
  343. data/doc/created.rid +1 -0
  344. data/doc/files/LICENSE-GPL.html +537 -0
  345. data/doc/files/LICENSE-RUBY.html +166 -0
  346. data/doc/files/README.html +252 -0
  347. data/doc/files/lib/facet/all-base-common_rb.html +101 -0
  348. data/doc/files/lib/facet/all-base_rb.html +133 -0
  349. data/doc/files/lib/facet/array/[[]]_rb.html +108 -0
  350. data/doc/files/lib/facet/array/[]_rb.html +108 -0
  351. data/doc/files/lib/facet/array/at_rand_rb.html +101 -0
  352. data/doc/files/lib/facet/array/combinations_rb.html +101 -0
  353. data/doc/files/lib/facet/array/delete_values_rb.html +101 -0
  354. data/doc/files/lib/facet/array/first&last_rb.html +101 -0
  355. data/doc/files/lib/facet/array/get_rb.html +101 -0
  356. data/doc/files/lib/facet/array/head&tail_rb.html +101 -0
  357. data/doc/files/lib/facet/array/last_index_rb.html +101 -0
  358. data/doc/files/lib/facet/array/middle_rb.html +101 -0
  359. data/doc/files/lib/facet/array/pos_rb.html +101 -0
  360. data/doc/files/lib/facet/array/pull_rb.html +101 -0
  361. data/doc/files/lib/facet/array/range_rb.html +101 -0
  362. data/doc/files/lib/facet/array/rotate_rb.html +101 -0
  363. data/doc/files/lib/facet/array/select!_rb.html +101 -0
  364. data/doc/files/lib/facet/array/shuffle_rb.html +101 -0
  365. data/doc/files/lib/facet/array/store_rb.html +101 -0
  366. data/doc/files/lib/facet/array/thru_rb.html +101 -0
  367. data/doc/files/lib/facet/array/to_b_rb.html +101 -0
  368. data/doc/files/lib/facet/array/to_h_rb.html +101 -0
  369. data/doc/files/lib/facet/array_rb.html +120 -0
  370. data/doc/files/lib/facet/binding/called_rb.html +108 -0
  371. data/doc/files/lib/facet/binding/caller_rb.html +108 -0
  372. data/doc/files/lib/facet/binding/defined?_rb.html +108 -0
  373. data/doc/files/lib/facet/binding/delegate!_rb.html +101 -0
  374. data/doc/files/lib/facet/binding/eval_rb.html +101 -0
  375. data/doc/files/lib/facet/binding/lineno_rb.html +108 -0
  376. data/doc/files/lib/facet/binding/local_variables_rb.html +108 -0
  377. data/doc/files/lib/facet/binding/self_rb.html +108 -0
  378. data/doc/files/lib/facet/binding_rb.html +118 -0
  379. data/doc/files/lib/facet/class/cattr_rb.html +101 -0
  380. data/doc/files/lib/facet/class_rb.html +114 -0
  381. data/doc/files/lib/facet/comparable/bound_by_rb.html +101 -0
  382. data/doc/files/lib/facet/comparable_rb.html +114 -0
  383. data/doc/files/lib/facet/continuation/create_rb.html +101 -0
  384. data/doc/files/lib/facet/continuation_rb.html +114 -0
  385. data/doc/files/lib/facet/enumerable/**_rb.html +108 -0
  386. data/doc/files/lib/facet/enumerable/collect_with_counter_rb.html +101 -0
  387. data/doc/files/lib/facet/enumerable/cross_rb.html +108 -0
  388. data/doc/files/lib/facet/enumerable/each_slice_rb.html +101 -0
  389. data/doc/files/lib/facet/enumerable/every_rb.html +108 -0
  390. data/doc/files/lib/facet/enumerable/graph_rb.html +101 -0
  391. data/doc/files/lib/facet/enumerable/none?_rb.html +101 -0
  392. data/doc/files/lib/facet/enumerable/one?_rb.html +101 -0
  393. data/doc/files/lib/facet/enumerable/partition_by_rb.html +101 -0
  394. data/doc/files/lib/facet/enumerable/per_rb.html +108 -0
  395. data/doc/files/lib/facet/enumerable/to_hash_rb.html +101 -0
  396. data/doc/files/lib/facet/enumerable/uniq_by_rb.html +101 -0
  397. data/doc/files/lib/facet/enumerable_rb.html +118 -0
  398. data/doc/files/lib/facet/file/split_all_rb.html +101 -0
  399. data/doc/files/lib/facet/file_rb.html +114 -0
  400. data/doc/files/lib/facet/fileutils/head&tail_rb.html +108 -0
  401. data/doc/files/lib/facet/fileutils/safe_ln_rb.html +108 -0
  402. data/doc/files/lib/facet/fileutils/wc_rb.html +108 -0
  403. data/doc/files/lib/facet/fileutils/whereis_rb.html +108 -0
  404. data/doc/files/lib/facet/fileutils/which_rb.html +108 -0
  405. data/doc/files/lib/facet/fileutils_rb.html +115 -0
  406. data/doc/files/lib/facet/float/round_rb.html +101 -0
  407. data/doc/files/lib/facet/float_rb.html +114 -0
  408. data/doc/files/lib/facet/hash/<<_rb.html +101 -0
  409. data/doc/files/lib/facet/hash/[]_rb.html +101 -0
  410. data/doc/files/lib/facet/hash/alias!_rb.html +101 -0
  411. data/doc/files/lib/facet/hash/at_rand_rb.html +101 -0
  412. data/doc/files/lib/facet/hash/collate_rb.html +101 -0
  413. data/doc/files/lib/facet/hash/collect_rb.html +108 -0
  414. data/doc/files/lib/facet/hash/each_rb.html +101 -0
  415. data/doc/files/lib/facet/hash/has_keys?_rb.html +101 -0
  416. data/doc/files/lib/facet/hash/inverse_rb.html +101 -0
  417. data/doc/files/lib/facet/hash/keys_to_s_rb.html +101 -0
  418. data/doc/files/lib/facet/hash/keys_to_sym_rb.html +101 -0
  419. data/doc/files/lib/facet/hash/shuffle_rb.html +101 -0
  420. data/doc/files/lib/facet/hash/slice_rb.html +101 -0
  421. data/doc/files/lib/facet/hash/swap!_rb.html +101 -0
  422. data/doc/files/lib/facet/hash/swapkey!_rb.html +101 -0
  423. data/doc/files/lib/facet/hash/to_h_rb.html +101 -0
  424. data/doc/files/lib/facet/hash/to_ostruct_rb.html +108 -0
  425. data/doc/files/lib/facet/hash/traverse_rb.html +101 -0
  426. data/doc/files/lib/facet/hash/update_each_rb.html +101 -0
  427. data/doc/files/lib/facet/hash/weave_rb.html +101 -0
  428. data/doc/files/lib/facet/hash/zipnew_rb.html +101 -0
  429. data/doc/files/lib/facet/hash_rb.html +115 -0
  430. data/doc/files/lib/facet/integer/evenodd?_rb.html +101 -0
  431. data/doc/files/lib/facet/integer/factorial_rb.html +101 -0
  432. data/doc/files/lib/facet/integer/times_collect_rb.html +101 -0
  433. data/doc/files/lib/facet/integer_rb.html +116 -0
  434. data/doc/files/lib/facet/kernel/bug!_rb.html +101 -0
  435. data/doc/files/lib/facet/kernel/call_stack_rb.html +101 -0
  436. data/doc/files/lib/facet/kernel/called_rb.html +108 -0
  437. data/doc/files/lib/facet/kernel/demo_rb.html +101 -0
  438. data/doc/files/lib/facet/kernel/fn_rb.html +101 -0
  439. data/doc/files/lib/facet/kernel/get_by_id_rb.html +101 -0
  440. data/doc/files/lib/facet/kernel/here_rb.html +101 -0
  441. data/doc/files/lib/facet/kernel/maybe_rb.html +101 -0
  442. data/doc/files/lib/facet/kernel/method_name_rb.html +108 -0
  443. data/doc/files/lib/facet/kernel/require_all_rb.html +101 -0
  444. data/doc/files/lib/facet/kernel/require_local_rb.html +101 -0
  445. data/doc/files/lib/facet/kernel/resc_rb.html +101 -0
  446. data/doc/files/lib/facet/kernel/warn_with_line_rb.html +101 -0
  447. data/doc/files/lib/facet/kernel_rb.html +120 -0
  448. data/doc/files/lib/facet/matchdata/match_from_rb.html +108 -0
  449. data/doc/files/lib/facet/matchdata/match_rb.html +101 -0
  450. data/doc/files/lib/facet/matchdata_rb.html +115 -0
  451. data/doc/files/lib/facet/module/abstract_rb.html +118 -0
  452. data/doc/files/lib/facet/module/alias_module_function_rb.html +101 -0
  453. data/doc/files/lib/facet/module/basename_rb.html +101 -0
  454. data/doc/files/lib/facet/module/by_name_rb.html +108 -0
  455. data/doc/files/lib/facet/module/initializer_rb.html +101 -0
  456. data/doc/files/lib/facet/module/key_attributes_rb.html +101 -0
  457. data/doc/files/lib/facet/module/memoize_rb.html +130 -0
  458. data/doc/files/lib/facet/module/memoize_rb.src/M000002.html +18 -0
  459. data/doc/files/lib/facet/module/methods_rb.html +101 -0
  460. data/doc/files/lib/facet/module/redefine_method_rb.html +101 -0
  461. data/doc/files/lib/facet/module/redirect_rb.html +101 -0
  462. data/doc/files/lib/facet/module/sort_attributes_rb.html +101 -0
  463. data/doc/files/lib/facet/module/wrap_method_rb.html +101 -0
  464. data/doc/files/lib/facet/module_rb.html +116 -0
  465. data/doc/files/lib/facet/nil-as-emptiness_rb.html +130 -0
  466. data/doc/files/lib/facet/nil/[]_rb.html +101 -0
  467. data/doc/files/lib/facet/nil/empty?_rb.html +101 -0
  468. data/doc/files/lib/facet/nil/include?_rb.html +101 -0
  469. data/doc/files/lib/facet/nil/length_rb.html +101 -0
  470. data/doc/files/lib/facet/nil/to_f_rb.html +101 -0
  471. data/doc/files/lib/facet/nil/to_h_rb.html +101 -0
  472. data/doc/files/lib/facet/nil_rb.html +115 -0
  473. data/doc/files/lib/facet/numeric/bound_by_rb.html +101 -0
  474. data/doc/files/lib/facet/numeric/bytes_rb.html +101 -0
  475. data/doc/files/lib/facet/numeric/distance_rb.html +101 -0
  476. data/doc/files/lib/facet/numeric/octet_units_rb.html +108 -0
  477. data/doc/files/lib/facet/numeric/succ_rb.html +101 -0
  478. data/doc/files/lib/facet/numeric/times_rb.html +101 -0
  479. data/doc/files/lib/facet/numeric/to_b_rb.html +101 -0
  480. data/doc/files/lib/facet/numeric_rb.html +114 -0
  481. data/doc/files/lib/facet/object/__class___rb.html +101 -0
  482. data/doc/files/lib/facet/object/assign_with_rb.html +101 -0
  483. data/doc/files/lib/facet/object/bool?_rb.html +101 -0
  484. data/doc/files/lib/facet/object/constant_rb.html +101 -0
  485. data/doc/files/lib/facet/object/copy_rb.html +101 -0
  486. data/doc/files/lib/facet/object/in?_rb.html +101 -0
  487. data/doc/files/lib/facet/object/new_rb.html +101 -0
  488. data/doc/files/lib/facet/object/object_hexid_rb.html +101 -0
  489. data/doc/files/lib/facet/object/set_with_rb.html +101 -0
  490. data/doc/files/lib/facet/object/special_class_rb.html +101 -0
  491. data/doc/files/lib/facet/object/supers_rb.html +108 -0
  492. data/doc/files/lib/facet/object/to_b_rb.html +108 -0
  493. data/doc/files/lib/facet/object/to_bool_rb.html +101 -0
  494. data/doc/files/lib/facet/object/with_accessor_rb.html +101 -0
  495. data/doc/files/lib/facet/object_rb.html +120 -0
  496. data/doc/files/lib/facet/ostruct/[]_rb.html +108 -0
  497. data/doc/files/lib/facet/ostruct/ostruct_update_rb.html +108 -0
  498. data/doc/files/lib/facet/ostruct_rb.html +115 -0
  499. data/doc/files/lib/facet/proc/compose_rb.html +101 -0
  500. data/doc/files/lib/facet/proc/to_method_rb.html +138 -0
  501. data/doc/files/lib/facet/proc/to_method_rb.src/M000001.html +29 -0
  502. data/doc/files/lib/facet/proc_rb.html +115 -0
  503. data/doc/files/lib/facet/rand_rb.html +120 -0
  504. data/doc/files/lib/facet/range/to_r_rb.html +101 -0
  505. data/doc/files/lib/facet/range/umbrella_rb.html +101 -0
  506. data/doc/files/lib/facet/range/within?_rb.html +108 -0
  507. data/doc/files/lib/facet/range_rb.html +116 -0
  508. data/doc/files/lib/facet/regexp/arity_rb.html +101 -0
  509. data/doc/files/lib/facet/regexp/to_re_rb.html +101 -0
  510. data/doc/files/lib/facet/regexp_rb.html +115 -0
  511. data/doc/files/lib/facet/string/at_rand_rb.html +108 -0
  512. data/doc/files/lib/facet/string/blank?_rb.html +101 -0
  513. data/doc/files/lib/facet/string/braket_rb.html +101 -0
  514. data/doc/files/lib/facet/string/camelcase_rb.html +101 -0
  515. data/doc/files/lib/facet/string/case?_rb.html +101 -0
  516. data/doc/files/lib/facet/string/center_lines_rb.html +101 -0
  517. data/doc/files/lib/facet/string/chars_rb.html +101 -0
  518. data/doc/files/lib/facet/string/clump_rb.html +101 -0
  519. data/doc/files/lib/facet/string/cmp_rb.html +101 -0
  520. data/doc/files/lib/facet/string/dresner_rb.html +101 -0
  521. data/doc/files/lib/facet/string/each_word_rb.html +101 -0
  522. data/doc/files/lib/facet/string/first&last_rb.html +101 -0
  523. data/doc/files/lib/facet/string/format_rb.html +101 -0
  524. data/doc/files/lib/facet/string/fuzzy_match_rb.html +101 -0
  525. data/doc/files/lib/facet/string/index_all_rb.html +101 -0
  526. data/doc/files/lib/facet/string/inflect_rb.html +101 -0
  527. data/doc/files/lib/facet/string/line_to_char_map_rb.html +101 -0
  528. data/doc/files/lib/facet/string/line_wrap_rb.html +101 -0
  529. data/doc/files/lib/facet/string/margin_rb.html +101 -0
  530. data/doc/files/lib/facet/string/mscan_rb.html +101 -0
  531. data/doc/files/lib/facet/string/natcmp_rb.html +101 -0
  532. data/doc/files/lib/facet/string/rand_letter_rb.html +101 -0
  533. data/doc/files/lib/facet/string/range_rb.html +101 -0
  534. data/doc/files/lib/facet/string/shatter_rb.html +101 -0
  535. data/doc/files/lib/facet/string/shuffle_rb.html +101 -0
  536. data/doc/files/lib/facet/string/succ_rb.html +101 -0
  537. data/doc/files/lib/facet/string/tab_rb.html +101 -0
  538. data/doc/files/lib/facet/string/to_b_rb.html +101 -0
  539. data/doc/files/lib/facet/string/to_const_rb.html +108 -0
  540. data/doc/files/lib/facet/string/to_proc_rb.html +101 -0
  541. data/doc/files/lib/facet/string/to_re_rb.html +101 -0
  542. data/doc/files/lib/facet/string/unix_crypt_rb.html +108 -0
  543. data/doc/files/lib/facet/string/unpack_rb.html +101 -0
  544. data/doc/files/lib/facet/string/word_filter!_rb.html +101 -0
  545. data/doc/files/lib/facet/string/word_wrap_rb.html +101 -0
  546. data/doc/files/lib/facet/string_rb.html +122 -0
  547. data/doc/files/lib/facet/symbol/camelcase_rb.html +101 -0
  548. data/doc/files/lib/facet/symbol/gen_rb.html +101 -0
  549. data/doc/files/lib/facet/symbol/pad_rb.html +101 -0
  550. data/doc/files/lib/facet/symbol/succ_rb.html +101 -0
  551. data/doc/files/lib/facet/symbol/to_const_rb.html +108 -0
  552. data/doc/files/lib/facet/symbol/to_proc_rb.html +101 -0
  553. data/doc/files/lib/facet/symbol/to_str_rb.html +101 -0
  554. data/doc/files/lib/facet/symbol/~_rb.html +101 -0
  555. data/doc/files/lib/facet/symbol_rb.html +116 -0
  556. data/doc/files/lib/facet/time/custom_format_rb.html +108 -0
  557. data/doc/files/lib/facet/time/elapse_rb.html +101 -0
  558. data/doc/files/lib/facet/time_rb.html +107 -0
  559. data/doc/fr_class_index.html +54 -0
  560. data/doc/fr_file_index.html +239 -0
  561. data/doc/fr_method_index.html +394 -0
  562. data/doc/index.html +24 -0
  563. data/doc/rdoc-style.css +208 -0
  564. data/lib/facet-dev/README +11 -0
  565. data/lib/facet-dev/advice.rb +70 -0
  566. data/lib/facet-dev/array/**.rb +17 -0
  567. data/lib/facet-dev/array/at_rand.rb +95 -0
  568. data/lib/facet-dev/array/each_slice.rb +23 -0
  569. data/lib/facet-dev/array/pick_values.rb +32 -0
  570. data/lib/facet-dev/array/remove.rb +21 -0
  571. data/lib/facet-dev/arraysplit.tar.gz +0 -0
  572. data/lib/facet-dev/binding/class.rb +11 -0
  573. data/lib/facet-dev/binding/delegate.rb +15 -0
  574. data/lib/facet-dev/binding/proc.rb +6 -0
  575. data/lib/facet-dev/class_include.rb +13 -0
  576. data/lib/facet-dev/enumerable/[].rb +30 -0
  577. data/lib/facet-dev/enumerable/rand.rb +412 -0
  578. data/lib/facet-dev/fileutils/mv_f.rb +6 -0
  579. data/lib/facet-dev/fileutils/nl_convert.rb +69 -0
  580. data/lib/facet-dev/fileutils/tc_nlconvert.rb +60 -0
  581. data/lib/facet-dev/kernel/call_line.rb +15 -0
  582. data/lib/facet-dev/kernel/does.rb +7 -0
  583. data/lib/facet-dev/kernel/eval.rb +24 -0
  584. data/lib/facet-dev/kernel/message.rb +6 -0
  585. data/lib/facet-dev/module/preserved.rb +108 -0
  586. data/lib/facet-dev/object/==.rb +49 -0
  587. data/lib/facet-dev/object/>>.rb +50 -0
  588. data/lib/facet-dev/object/all.rb +11 -0
  589. data/lib/facet-dev/object/query.rb +15 -0
  590. data/lib/facet-dev/object/respond_with_value.rb +14 -0
  591. data/lib/facet-dev/rails/class_attribute_accessors.rb +57 -0
  592. data/lib/facet-dev/rails/class_inheritable_attributes.rb +117 -0
  593. data/lib/facet-dev/rails/clean_logger.rb +10 -0
  594. data/lib/facet-dev/rails/dependencies.rb +63 -0
  595. data/lib/facet-dev/rails/inflector.rb +84 -0
  596. data/lib/facet-dev/rails/misc.rb +8 -0
  597. data/lib/facet-dev/rails/module_attribute_accessors.rb +57 -0
  598. data/lib/facet-dev/rails/object_and_class.rb +24 -0
  599. data/lib/facet-dev/string/+.rb +19 -0
  600. data/lib/facet-dev/string/pred.rb +123 -0
  601. data/lib/facet-dev/string/slash.rb +15 -0
  602. data/lib/facet-dev/string/strip.rb +32 -0
  603. data/lib/facet-dev/string/succ_distance.rb +112 -0
  604. data/lib/facet-dev/string/tc_pred.rb +96 -0
  605. data/lib/facet-dev/string/word_wrap.rb +62 -0
  606. data/lib/facet-dev/taint.rb +10 -0
  607. data/lib/facet/all-base-common.rb +13 -0
  608. data/lib/facet/all-base.rb +27 -0
  609. data/lib/facet/array.rb +25 -0
  610. data/lib/facet/array/[[]].rb +42 -0
  611. data/lib/facet/array/[].rb +57 -0
  612. data/lib/facet/array/at_rand.rb +118 -0
  613. data/lib/facet/array/combinations.rb +122 -0
  614. data/lib/facet/array/delete_values.rb +46 -0
  615. data/lib/facet/array/first&last.rb +47 -0
  616. data/lib/facet/array/get.rb +15 -0
  617. data/lib/facet/array/head&tail.rb +33 -0
  618. data/lib/facet/array/last_index.rb +15 -0
  619. data/lib/facet/array/middle.rb +18 -0
  620. data/lib/facet/array/pos.rb +17 -0
  621. data/lib/facet/array/pull.rb +21 -0
  622. data/lib/facet/array/range.rb +22 -0
  623. data/lib/facet/array/rotate.rb +38 -0
  624. data/lib/facet/array/select!.rb +13 -0
  625. data/lib/facet/array/shuffle.rb +37 -0
  626. data/lib/facet/array/store.rb +4 -0
  627. data/lib/facet/array/thru.rb +18 -0
  628. data/lib/facet/array/to_b.rb +6 -0
  629. data/lib/facet/array/to_h.rb +30 -0
  630. data/lib/facet/binding.rb +15 -0
  631. data/lib/facet/binding/called.rb +29 -0
  632. data/lib/facet/binding/caller.rb +10 -0
  633. data/lib/facet/binding/defined?.rb +9 -0
  634. data/lib/facet/binding/delegate!.rb +19 -0
  635. data/lib/facet/binding/eval.rb +10 -0
  636. data/lib/facet/binding/lineno.rb +13 -0
  637. data/lib/facet/binding/local_variables.rb +39 -0
  638. data/lib/facet/binding/self.rb +10 -0
  639. data/lib/facet/class.rb +7 -0
  640. data/lib/facet/class/cattr.rb +82 -0
  641. data/lib/facet/comparable.rb +7 -0
  642. data/lib/facet/comparable/bound_by.rb +41 -0
  643. data/lib/facet/continuation.rb +8 -0
  644. data/lib/facet/continuation/create.rb +51 -0
  645. data/lib/facet/enumerable.rb +17 -0
  646. data/lib/facet/enumerable/**.rb +13 -0
  647. data/lib/facet/enumerable/collect_with_counter.rb +25 -0
  648. data/lib/facet/enumerable/cross.rb +79 -0
  649. data/lib/facet/enumerable/each_slice.rb +60 -0
  650. data/lib/facet/enumerable/every.rb +45 -0
  651. data/lib/facet/enumerable/graph.rb +48 -0
  652. data/lib/facet/enumerable/none?.rb +28 -0
  653. data/lib/facet/enumerable/one?.rb +35 -0
  654. data/lib/facet/enumerable/partition_by.rb +27 -0
  655. data/lib/facet/enumerable/per.rb +18 -0
  656. data/lib/facet/enumerable/to_hash.rb +17 -0
  657. data/lib/facet/enumerable/uniq_by.rb +35 -0
  658. data/lib/facet/file.rb +7 -0
  659. data/lib/facet/file/split_all.rb +17 -0
  660. data/lib/facet/fileutils.rb +11 -0
  661. data/lib/facet/fileutils/head&tail.rb +65 -0
  662. data/lib/facet/fileutils/safe_ln.rb +18 -0
  663. data/lib/facet/fileutils/wc.rb +62 -0
  664. data/lib/facet/fileutils/whereis.rb +63 -0
  665. data/lib/facet/fileutils/which.rb +53 -0
  666. data/lib/facet/float.rb +7 -0
  667. data/lib/facet/float/round.rb +33 -0
  668. data/lib/facet/hash.rb +23 -0
  669. data/lib/facet/hash/<<.rb +5 -0
  670. data/lib/facet/hash/[].rb +44 -0
  671. data/lib/facet/hash/alias!.rb +24 -0
  672. data/lib/facet/hash/at_rand.rb +88 -0
  673. data/lib/facet/hash/collate.rb +25 -0
  674. data/lib/facet/hash/collect.rb +8 -0
  675. data/lib/facet/hash/each.rb +28 -0
  676. data/lib/facet/hash/has_keys?.rb +48 -0
  677. data/lib/facet/hash/inverse.rb +29 -0
  678. data/lib/facet/hash/keys_to_s.rb +50 -0
  679. data/lib/facet/hash/keys_to_sym.rb +59 -0
  680. data/lib/facet/hash/shuffle.rb +51 -0
  681. data/lib/facet/hash/slice.rb +11 -0
  682. data/lib/facet/hash/swap!.rb +14 -0
  683. data/lib/facet/hash/swapkey!.rb +22 -0
  684. data/lib/facet/hash/to_h.rb +13 -0
  685. data/lib/facet/hash/to_ostruct.rb +30 -0
  686. data/lib/facet/hash/traverse.rb +35 -0
  687. data/lib/facet/hash/update_each.rb +24 -0
  688. data/lib/facet/hash/weave.rb +64 -0
  689. data/lib/facet/hash/zipnew.rb +15 -0
  690. data/lib/facet/integer.rb +9 -0
  691. data/lib/facet/integer/evenodd?.rb +25 -0
  692. data/lib/facet/integer/factorial.rb +27 -0
  693. data/lib/facet/integer/times_collect.rb +13 -0
  694. data/lib/facet/kernel.rb +18 -0
  695. data/lib/facet/kernel/bug!.rb +25 -0
  696. data/lib/facet/kernel/call_stack.rb +35 -0
  697. data/lib/facet/kernel/called.rb +20 -0
  698. data/lib/facet/kernel/demo.rb +25 -0
  699. data/lib/facet/kernel/fn.rb +10 -0
  700. data/lib/facet/kernel/get_by_id.rb +7 -0
  701. data/lib/facet/kernel/here.rb +11 -0
  702. data/lib/facet/kernel/maybe.rb +17 -0
  703. data/lib/facet/kernel/method_name.rb +18 -0
  704. data/lib/facet/kernel/require_all.rb +21 -0
  705. data/lib/facet/kernel/require_local.rb +26 -0
  706. data/lib/facet/kernel/resc.rb +7 -0
  707. data/lib/facet/kernel/warn_with_line.rb +19 -0
  708. data/lib/facet/matchdata.rb +8 -0
  709. data/lib/facet/matchdata/match.rb +12 -0
  710. data/lib/facet/matchdata/match_from.rb +38 -0
  711. data/lib/facet/module.rb +14 -0
  712. data/lib/facet/module/abstract.rb +20 -0
  713. data/lib/facet/module/alias_module_function.rb +28 -0
  714. data/lib/facet/module/basename.rb +18 -0
  715. data/lib/facet/module/by_name.rb +42 -0
  716. data/lib/facet/module/initializer.rb +35 -0
  717. data/lib/facet/module/key_attributes.rb +13 -0
  718. data/lib/facet/module/memoize.rb +50 -0
  719. data/lib/facet/module/methods.rb +98 -0
  720. data/lib/facet/module/redefine_method.rb +37 -0
  721. data/lib/facet/module/redirect.rb +39 -0
  722. data/lib/facet/module/sort_attributes.rb +12 -0
  723. data/lib/facet/module/wrap_method.rb +27 -0
  724. data/lib/facet/nil-as-emptiness.rb +34 -0
  725. data/lib/facet/nil.rb +15 -0
  726. data/lib/facet/nil/[].rb +12 -0
  727. data/lib/facet/nil/empty?.rb +19 -0
  728. data/lib/facet/nil/include?.rb +11 -0
  729. data/lib/facet/nil/length.rb +19 -0
  730. data/lib/facet/nil/to_f.rb +10 -0
  731. data/lib/facet/nil/to_h.rb +10 -0
  732. data/lib/facet/numeric.rb +9 -0
  733. data/lib/facet/numeric/bound_by.rb +41 -0
  734. data/lib/facet/numeric/bytes.rb +51 -0
  735. data/lib/facet/numeric/distance.rb +13 -0
  736. data/lib/facet/numeric/octet_units.rb +32 -0
  737. data/lib/facet/numeric/succ.rb +41 -0
  738. data/lib/facet/numeric/times.rb +106 -0
  739. data/lib/facet/numeric/to_b.rb +15 -0
  740. data/lib/facet/object.rb +20 -0
  741. data/lib/facet/object/__class__.rb +17 -0
  742. data/lib/facet/object/assign_with.rb +80 -0
  743. data/lib/facet/object/bool?.rb +49 -0
  744. data/lib/facet/object/constant.rb +22 -0
  745. data/lib/facet/object/copy.rb +13 -0
  746. data/lib/facet/object/in?.rb +12 -0
  747. data/lib/facet/object/new.rb +32 -0
  748. data/lib/facet/object/object_hexid.rb +12 -0
  749. data/lib/facet/object/set_with.rb +29 -0
  750. data/lib/facet/object/special_class.rb +45 -0
  751. data/lib/facet/object/supers.rb +38 -0
  752. data/lib/facet/object/to_b.rb +15 -0
  753. data/lib/facet/object/to_bool.rb +14 -0
  754. data/lib/facet/object/with_accessor.rb +50 -0
  755. data/lib/facet/ostruct.rb +8 -0
  756. data/lib/facet/ostruct/[].rb +29 -0
  757. data/lib/facet/ostruct/ostruct_update.rb +18 -0
  758. data/lib/facet/proc.rb +8 -0
  759. data/lib/facet/proc/compose.rb +22 -0
  760. data/lib/facet/proc/to_method.rb +43 -0
  761. data/lib/facet/rand.rb +10 -0
  762. data/lib/facet/range.rb +9 -0
  763. data/lib/facet/range/to_r.rb +16 -0
  764. data/lib/facet/range/umbrella.rb +37 -0
  765. data/lib/facet/range/within?.rb +19 -0
  766. data/lib/facet/regexp.rb +9 -0
  767. data/lib/facet/regexp/arity.rb +14 -0
  768. data/lib/facet/regexp/to_re.rb +25 -0
  769. data/lib/facet/string.rb +38 -0
  770. data/lib/facet/string/at_rand.rb +99 -0
  771. data/lib/facet/string/blank?.rb +14 -0
  772. data/lib/facet/string/braket.rb +27 -0
  773. data/lib/facet/string/camelcase.rb +24 -0
  774. data/lib/facet/string/case?.rb +44 -0
  775. data/lib/facet/string/center_lines.rb +26 -0
  776. data/lib/facet/string/chars.rb +34 -0
  777. data/lib/facet/string/clump.rb +51 -0
  778. data/lib/facet/string/cmp.rb +17 -0
  779. data/lib/facet/string/dresner.rb +25 -0
  780. data/lib/facet/string/each_word.rb +25 -0
  781. data/lib/facet/string/first&last.rb +123 -0
  782. data/lib/facet/string/format.rb +64 -0
  783. data/lib/facet/string/fuzzy_match.rb +82 -0
  784. data/lib/facet/string/index_all.rb +19 -0
  785. data/lib/facet/string/inflect.rb +70 -0
  786. data/lib/facet/string/line_to_char_map.rb +18 -0
  787. data/lib/facet/string/line_wrap.rb +20 -0
  788. data/lib/facet/string/margin.rb +27 -0
  789. data/lib/facet/string/mscan.rb +16 -0
  790. data/lib/facet/string/natcmp.rb +84 -0
  791. data/lib/facet/string/rand_letter.rb +13 -0
  792. data/lib/facet/string/range.rb +39 -0
  793. data/lib/facet/string/shatter.rb +17 -0
  794. data/lib/facet/string/shuffle.rb +49 -0
  795. data/lib/facet/string/succ.rb +17 -0
  796. data/lib/facet/string/tab.rb +38 -0
  797. data/lib/facet/string/to_b.rb +27 -0
  798. data/lib/facet/string/to_const.rb +16 -0
  799. data/lib/facet/string/to_proc.rb +25 -0
  800. data/lib/facet/string/to_re.rb +13 -0
  801. data/lib/facet/string/unix_crypt.rb +12 -0
  802. data/lib/facet/string/unpack.rb +15 -0
  803. data/lib/facet/string/word_filter!.rb +20 -0
  804. data/lib/facet/string/word_wrap.rb +43 -0
  805. data/lib/facet/symbol.rb +14 -0
  806. data/lib/facet/symbol/camelcase.rb +24 -0
  807. data/lib/facet/symbol/gen.rb +23 -0
  808. data/lib/facet/symbol/pad.rb +20 -0
  809. data/lib/facet/symbol/succ.rb +17 -0
  810. data/lib/facet/symbol/to_const.rb +16 -0
  811. data/lib/facet/symbol/to_proc.rb +22 -0
  812. data/lib/facet/symbol/to_str.rb +12 -0
  813. data/lib/facet/symbol/~.rb +8 -0
  814. data/lib/facet/time.rb +7 -0
  815. data/lib/facet/time/custom_format.rb +111 -0
  816. data/lib/facet/time/elapse.rb +18 -0
  817. data/setup.rb +1361 -0
  818. data/test/array/tc_array.rb +234 -0
  819. data/test/array/tc_brackets.rb +16 -0
  820. data/test/binding/tc_binding.rb +77 -0
  821. data/test/class/tc_class.rb +48 -0
  822. data/test/comparable/tc_comparable.rb +23 -0
  823. data/test/enumerable/tc_enumerable.rb +166 -0
  824. data/test/file/tc_file.rb +14 -0
  825. data/test/fileutils/tc_head&tail.rb +72 -0
  826. data/test/fileutils/tc_wc.rb +46 -0
  827. data/test/fileutils/tc_whereis.rb +35 -0
  828. data/test/fileutils/tc_which.rb +35 -0
  829. data/test/fileutils/test_file.txt +25 -0
  830. data/test/fileutils/test_file2.txt +25 -0
  831. data/test/float/tc_float.rb +70 -0
  832. data/test/hash/tc_each.rb +23 -0
  833. data/test/hash/tc_hash.rb +182 -0
  834. data/test/hash/tc_slice.rb +98 -0
  835. data/test/integer/tc_integer.rb +50 -0
  836. data/test/kernel/tc_kernel.rb +89 -0
  837. data/test/kernel/tc_warn_with_line.rb +1 -0
  838. data/test/kernel/test_file.rb +3 -0
  839. data/test/matchdata/tc_matchdata.rb +47 -0
  840. data/test/module/tc_memoize.rb +2 -0
  841. data/test/module/tc_methods.rb +13 -0
  842. data/test/module/tc_module.rb +51 -0
  843. data/test/module/tc_redef.rb +47 -0
  844. data/test/nil/tc_nil.rb +57 -0
  845. data/test/numeric/tc_numeric.rb +145 -0
  846. data/test/object/tc_constant.rb +21 -0
  847. data/test/object/tc_object.rb +138 -0
  848. data/test/object/tc_supers.rb +63 -0
  849. data/test/object/tc_with_accessor.rb +31 -0
  850. data/test/ostruct/tc_ostruct.rb +16 -0
  851. data/test/proc/tc_proc.rb +32 -0
  852. data/test/range/tc_range.rb +46 -0
  853. data/test/regexp/tc_regexp.rb +35 -0
  854. data/test/string/tc_fuzzy_match.rb +2 -0
  855. data/test/string/tc_margin.rb +98 -0
  856. data/test/string/tc_string.rb +341 -0
  857. data/test/string/tc_unix_crypt.rb +2 -0
  858. data/test/symbol/tc_symbol.rb +60 -0
  859. data/test/t_require.rb +4 -0
  860. data/test/time/tc_time.rb +30 -0
  861. metadata +1013 -0
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>new (Functor)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/facet/object/supers.rb, line 5</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">func</span>) ; <span class="ruby-ivar">@func</span> = <span class="ruby-identifier">func</span> ; <span class="ruby-keyword kw">end</span></pre>
15
+ </body>
16
+ </html>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>method_missing (Functor)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/facet/object/supers.rb, line 6</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">op</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>) ; <span class="ruby-ivar">@func</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">op</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>) ; <span class="ruby-keyword kw">end</span></pre>
15
+ </body>
16
+ </html>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>new (Functor)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/facet/enumerable/every.rb, line 8</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">func</span>) ; <span class="ruby-ivar">@func</span> = <span class="ruby-identifier">func</span> ; <span class="ruby-keyword kw">end</span></pre>
15
+ </body>
16
+ </html>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>method_missing (Functor)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/facet/enumerable/every.rb, line 9</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">op</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>) ; <span class="ruby-ivar">@func</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">op</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>) ; <span class="ruby-keyword kw">end</span></pre>
15
+ </body>
16
+ </html>
@@ -0,0 +1,1319 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Hash</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Hash</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/facet/hash/collate_rb.html">
59
+ lib/facet/hash/collate.rb
60
+ </a>
61
+ <br />
62
+ <a href="../files/lib/facet/hash/collect_rb.html">
63
+ lib/facet/hash/collect.rb
64
+ </a>
65
+ <br />
66
+ <a href="../files/lib/facet/hash/<<_rb.html">
67
+ lib/facet/hash/&lt;&lt;.rb
68
+ </a>
69
+ <br />
70
+ <a href="../files/lib/facet/hash/[]_rb.html">
71
+ lib/facet/hash/[].rb
72
+ </a>
73
+ <br />
74
+ <a href="../files/lib/facet/hash/swap!_rb.html">
75
+ lib/facet/hash/swap!.rb
76
+ </a>
77
+ <br />
78
+ <a href="../files/lib/facet/hash/each_rb.html">
79
+ lib/facet/hash/each.rb
80
+ </a>
81
+ <br />
82
+ <a href="../files/lib/facet/hash/to_ostruct_rb.html">
83
+ lib/facet/hash/to_ostruct.rb
84
+ </a>
85
+ <br />
86
+ <a href="../files/lib/facet/hash/zipnew_rb.html">
87
+ lib/facet/hash/zipnew.rb
88
+ </a>
89
+ <br />
90
+ <a href="../files/lib/facet/hash/inverse_rb.html">
91
+ lib/facet/hash/inverse.rb
92
+ </a>
93
+ <br />
94
+ <a href="../files/lib/facet/hash/swapkey!_rb.html">
95
+ lib/facet/hash/swapkey!.rb
96
+ </a>
97
+ <br />
98
+ <a href="../files/lib/facet/hash/keys_to_sym_rb.html">
99
+ lib/facet/hash/keys_to_sym.rb
100
+ </a>
101
+ <br />
102
+ <a href="../files/lib/facet/hash/at_rand_rb.html">
103
+ lib/facet/hash/at_rand.rb
104
+ </a>
105
+ <br />
106
+ <a href="../files/lib/facet/hash/to_h_rb.html">
107
+ lib/facet/hash/to_h.rb
108
+ </a>
109
+ <br />
110
+ <a href="../files/lib/facet/hash/alias!_rb.html">
111
+ lib/facet/hash/alias!.rb
112
+ </a>
113
+ <br />
114
+ <a href="../files/lib/facet/hash/slice_rb.html">
115
+ lib/facet/hash/slice.rb
116
+ </a>
117
+ <br />
118
+ <a href="../files/lib/facet/hash/traverse_rb.html">
119
+ lib/facet/hash/traverse.rb
120
+ </a>
121
+ <br />
122
+ <a href="../files/lib/facet/hash/shuffle_rb.html">
123
+ lib/facet/hash/shuffle.rb
124
+ </a>
125
+ <br />
126
+ <a href="../files/lib/facet/hash/has_keys?_rb.html">
127
+ lib/facet/hash/has_keys?.rb
128
+ </a>
129
+ <br />
130
+ <a href="../files/lib/facet/hash/keys_to_s_rb.html">
131
+ lib/facet/hash/keys_to_s.rb
132
+ </a>
133
+ <br />
134
+ <a href="../files/lib/facet/hash/weave_rb.html">
135
+ lib/facet/hash/weave.rb
136
+ </a>
137
+ <br />
138
+ <a href="../files/lib/facet/hash/update_each_rb.html">
139
+ lib/facet/hash/update_each.rb
140
+ </a>
141
+ <br />
142
+ </td>
143
+ </tr>
144
+
145
+ <tr class="top-aligned-row">
146
+ <td><strong>Parent:</strong></td>
147
+ <td>
148
+ <a href="Object.html">
149
+ Object
150
+ </a>
151
+ </td>
152
+ </tr>
153
+ </table>
154
+ </div>
155
+ <!-- banner header -->
156
+
157
+ <div id="bodyContent">
158
+
159
+
160
+
161
+ <div id="contextContent">
162
+
163
+
164
+
165
+ </div>
166
+
167
+ <div id="method-list">
168
+ <h3 class="section-bar">Methods</h3>
169
+
170
+ <div class="name-list">
171
+ <a href="#M000065">[]</a>&nbsp;&nbsp;
172
+ <a href="#M000066">[]=</a>&nbsp;&nbsp;
173
+ <a href="#M000090">alias!</a>&nbsp;&nbsp;
174
+ <a href="#M000098">assert_has_keys</a>&nbsp;&nbsp;
175
+ <a href="#M000099">assert_has_only_keys</a>&nbsp;&nbsp;
176
+ <a href="#M000079">at_rand</a>&nbsp;&nbsp;
177
+ <a href="#M000081">at_rand!</a>&nbsp;&nbsp;
178
+ <a href="#M000063">collate</a>&nbsp;&nbsp;
179
+ <a href="#M000064">collate!</a>&nbsp;&nbsp;
180
+ <a href="#M000102">convert_keys</a>&nbsp;&nbsp;
181
+ <a href="#M000103">convert_keys!</a>&nbsp;&nbsp;
182
+ <a href="#M000068">each</a>&nbsp;&nbsp;
183
+ <a href="#M000096">has_keys?</a>&nbsp;&nbsp;
184
+ <a href="#M000097">has_only_keys?</a>&nbsp;&nbsp;
185
+ <a href="#M000072">inverse</a>&nbsp;&nbsp;
186
+ <a href="#M000100">keys_to_s</a>&nbsp;&nbsp;
187
+ <a href="#M000101">keys_to_s!</a>&nbsp;&nbsp;
188
+ <a href="#M000074">keys_to_sym</a>&nbsp;&nbsp;
189
+ <a href="#M000075">keys_to_sym!</a>&nbsp;&nbsp;
190
+ <a href="#M000082">pick</a>&nbsp;&nbsp;
191
+ <a href="#M000085">pick_key</a>&nbsp;&nbsp;
192
+ <a href="#M000088">pick_pair</a>&nbsp;&nbsp;
193
+ <a href="#M000083">rand_key</a>&nbsp;&nbsp;
194
+ <a href="#M000084">rand_key!</a>&nbsp;&nbsp;
195
+ <a href="#M000086">rand_pair</a>&nbsp;&nbsp;
196
+ <a href="#M000087">rand_pair!</a>&nbsp;&nbsp;
197
+ <a href="#M000078">rand_value</a>&nbsp;&nbsp;
198
+ <a href="#M000080">rand_value!</a>&nbsp;&nbsp;
199
+ <a href="#M000106">replace_each</a>&nbsp;&nbsp;
200
+ <a href="#M000094">shuffle_hash</a>&nbsp;&nbsp;
201
+ <a href="#M000095">shuffle_hash!</a>&nbsp;&nbsp;
202
+ <a href="#M000093">shuffle_hash_pairs</a>&nbsp;&nbsp;
203
+ <a href="#M000067">swap!</a>&nbsp;&nbsp;
204
+ <a href="#M000073">swapkey!</a>&nbsp;&nbsp;
205
+ <a href="#M000076">symbolize_keys</a>&nbsp;&nbsp;
206
+ <a href="#M000077">symbolize_keys!</a>&nbsp;&nbsp;
207
+ <a href="#M000089">to_h</a>&nbsp;&nbsp;
208
+ <a href="#M000069">to_ostruct</a>&nbsp;&nbsp;
209
+ <a href="#M000070">to_ostruct_recurse</a>&nbsp;&nbsp;
210
+ <a href="#M000091">traverse</a>&nbsp;&nbsp;
211
+ <a href="#M000092">traverse!</a>&nbsp;&nbsp;
212
+ <a href="#M000105">update_each</a>&nbsp;&nbsp;
213
+ <a href="#M000104">weave</a>&nbsp;&nbsp;
214
+ <a href="#M000071">zipnew</a>&nbsp;&nbsp;
215
+ </div>
216
+ </div>
217
+
218
+ </div>
219
+
220
+
221
+ <!-- if includes -->
222
+
223
+ <div id="section">
224
+
225
+
226
+
227
+ <div id="aliases-list">
228
+ <h3 class="section-bar">External Aliases</h3>
229
+
230
+ <div class="name-list">
231
+ <table summary="aliases">
232
+ <tr class="top-aligned-row context-row">
233
+ <td class="context-item-name">graph</td>
234
+ <td>-></td>
235
+ <td class="context-item-value">collect</td>
236
+ </tr>
237
+ <tr class="top-aligned-row context-row">
238
+ <td>&nbsp;</td>
239
+ <td colspan="2" class="context-item-desc">
240
+ Hash#collect will return a hash rather then an array. It is simple an alias
241
+ to <a href="Enumerable.html#M000347">Enumerable#graph</a>.
242
+
243
+ </td>
244
+ </tr>
245
+ <tr class="top-aligned-row context-row">
246
+ <td class="context-item-name">graph!</td>
247
+ <td>-></td>
248
+ <td class="context-item-value">collect!</td>
249
+ </tr>
250
+ <tr class="top-aligned-row context-row">
251
+ <td class="context-item-name">update</td>
252
+ <td>-></td>
253
+ <td class="context-item-value"><<</td>
254
+ </tr>
255
+ <tr class="top-aligned-row context-row">
256
+ <td>&nbsp;</td>
257
+ <td colspan="2" class="context-item-desc">
258
+ Alias shorthand for update.
259
+
260
+ </td>
261
+ </tr>
262
+ <tr class="top-aligned-row context-row">
263
+ <td class="context-item-name">[]</td>
264
+ <td>-></td>
265
+ <td class="context-item-value">at</td>
266
+ </tr>
267
+ <tr class="top-aligned-row context-row">
268
+ <td class="context-item-name">values_at</td>
269
+ <td>-></td>
270
+ <td class="context-item-value">slice</td>
271
+ </tr>
272
+ <tr class="top-aligned-row context-row">
273
+ <td>&nbsp;</td>
274
+ <td colspan="2" class="context-item-desc">
275
+ Alias slice to values_at.
276
+
277
+ <pre>
278
+ require &quot;facet/hash/slice&quot;
279
+
280
+ h = { :a =&gt; 1, :b =&gt; 2, :c =&gt; 3 }
281
+ h.slice(:a) #=&gt; [1]
282
+ h.slice(:a, :b) #=&gt; [1,2]
283
+ </pre>
284
+ </td>
285
+ </tr>
286
+ </table>
287
+ </div>
288
+ </div>
289
+
290
+
291
+
292
+
293
+
294
+ <!-- if method_list -->
295
+ <div id="methods">
296
+ <h3 class="section-bar">Public Class methods</h3>
297
+
298
+ <div id="method-M000071" class="method-detail">
299
+ <a name="M000071"></a>
300
+
301
+ <div class="method-heading">
302
+ <a href="Hash.src/M000071.html" target="Code" class="method-signature"
303
+ onclick="popupCode('Hash.src/M000071.html');return false;">
304
+ <span class="method-name">zipnew</span><span class="method-args">(keys,values)</span>
305
+ </a>
306
+ </div>
307
+
308
+ <div class="method-description">
309
+ <p>
310
+ Creates a new hash from two arrays &#8212;a keys array and a values array.
311
+ </p>
312
+ <pre>
313
+ require 'facet/hash/zipnew'
314
+
315
+ Hah.zipnew([&quot;a&quot;,&quot;b&quot;,&quot;c&quot;], [1,2,3])
316
+ #=&gt; { &quot;a&quot;=&gt;1, &quot;b&quot;=&gt;2, &quot;c&quot;=&gt;3 }
317
+ </pre>
318
+ </div>
319
+ </div>
320
+
321
+ <h3 class="section-bar">Public Instance methods</h3>
322
+
323
+ <div id="method-M000065" class="method-detail">
324
+ <a name="M000065"></a>
325
+
326
+ <div class="method-heading">
327
+ <a href="Hash.src/M000065.html" target="Code" class="method-signature"
328
+ onclick="popupCode('Hash.src/M000065.html');return false;">
329
+ <span class="method-name">[]</span><span class="method-args">( *sliceKeys )</span>
330
+ </a>
331
+ </div>
332
+
333
+ <div class="method-description">
334
+ <p>
335
+ Adds slicing to <a href="Hash.html">Hash</a>#[]. If more than one key
336
+ arguments is given to <tt><a href="Hash.html">Hash</a>#[]</tt>, the return
337
+ value will be an array of the corresponding values.
338
+ </p>
339
+ <pre>
340
+ require &quot;facet/hash/[]&quot;
341
+
342
+ h = { :a =&gt; 1, :b =&gt; 2, :c =&gt; 3 }
343
+ h[:a] #=&gt; 1
344
+ h[:a, :b] #=&gt; [1,2]
345
+ </pre>
346
+ </div>
347
+ </div>
348
+
349
+ <div id="method-M000066" class="method-detail">
350
+ <a name="M000066"></a>
351
+
352
+ <div class="method-heading">
353
+ <a href="Hash.src/M000066.html" target="Code" class="method-signature"
354
+ onclick="popupCode('Hash.src/M000066.html');return false;">
355
+ <span class="method-name">[]=</span><span class="method-args">( *args )</span>
356
+ </a>
357
+ </div>
358
+
359
+ <div class="method-description">
360
+ <p>
361
+ Add slicing to element assignment operator.
362
+ </p>
363
+ <pre>
364
+ require &quot;facet/hash/[]&quot;
365
+
366
+ h = {:a=&gt;1, :b=&gt;2, :c=&gt;3}
367
+
368
+ h[:a] = 9 #=&gt; 9
369
+ h #=&gt; {:a=&gt;9, :b=&gt;2, :c=&gt;3}
370
+
371
+ h[:a, :c] = [10,11] #=&gt; [10,11]
372
+ h #=&gt; {:a=&gt;10, :b=&gt;2, :c=&gt;11}
373
+ </pre>
374
+ </div>
375
+ </div>
376
+
377
+ <div id="method-M000090" class="method-detail">
378
+ <a name="M000090"></a>
379
+
380
+ <div class="method-heading">
381
+ <a href="Hash.src/M000090.html" target="Code" class="method-signature"
382
+ onclick="popupCode('Hash.src/M000090.html');return false;">
383
+ <span class="method-name">alias!</span><span class="method-args">( newkey, oldkey )</span>
384
+ </a>
385
+ </div>
386
+
387
+ <div class="method-description">
388
+ <p>
389
+ Modifies the receiving <a href="Hash.html">Hash</a> so that the value
390
+ previously referred to by <em>oldkey</em> is also referenced by
391
+ <em>newkey</em>; <em>oldkey</em> is retained in the <a
392
+ href="Hash.html">Hash</a>. If <em>oldkey</em> does not exist as a key in
393
+ the <a href="Hash.html">Hash</a>, no change is effected.
394
+ </p>
395
+ <p>
396
+ Returns a reference to the <a href="Hash.html">Hash</a>.
397
+ </p>
398
+ <pre>
399
+ require 'facet/hash/alias!'
400
+
401
+ foo = { :name=&gt;'Gavin', 'wife'=&gt;:Lisa }
402
+ foo.alias!('name',:name) =&gt; { :name=&gt;'Gavin', 'name'=&gt;'Gavin', 'wife'=&gt;:Lisa }
403
+ foo.alias!('spouse','wife') =&gt; { :name=&gt;'Gavin', 'name'=&gt;'Gavin', 'wife'=&gt;:Lisa, 'spouse'=&gt;:Lisa }
404
+ foo.alias!('bar','foo') =&gt; { :name=&gt;'Gavin', 'name'=&gt;'Gavin', 'wife'=&gt;:Lisa, 'spouse'=&gt;:Lisa }
405
+ </pre>
406
+ <p>
407
+ Note that if the <em>oldkey</em> is reassigned, the reference will no
408
+ longer exist, and the <em>newkey</em> will remain as it was.
409
+ </p>
410
+ </div>
411
+ </div>
412
+
413
+ <div id="method-M000098" class="method-detail">
414
+ <a name="M000098"></a>
415
+
416
+ <div class="method-heading">
417
+ <a href="Hash.src/M000098.html" target="Code" class="method-signature"
418
+ onclick="popupCode('Hash.src/M000098.html');return false;">
419
+ <span class="method-name">assert_has_keys</span><span class="method-args">(*check_keys)</span>
420
+ </a>
421
+ </div>
422
+
423
+ <div class="method-description">
424
+ <p>
425
+ require &#8216;facet/hash/has_keys?&#8216;
426
+ </p>
427
+ <p>
428
+ h = { :a =&gt; 1, :b =&gt; 2 } h.assert_has_keys( :a ) #=&gt; true
429
+ h.assert_has_keys( :c ) #=&gt; ArgumentError
430
+ </p>
431
+ </div>
432
+ </div>
433
+
434
+ <div id="method-M000099" class="method-detail">
435
+ <a name="M000099"></a>
436
+
437
+ <div class="method-heading">
438
+ <a href="Hash.src/M000099.html" target="Code" class="method-signature"
439
+ onclick="popupCode('Hash.src/M000099.html');return false;">
440
+ <span class="method-name">assert_has_only_keys</span><span class="method-args">(*check_keys)</span>
441
+ </a>
442
+ </div>
443
+
444
+ <div class="method-description">
445
+ <p>
446
+ require &#8216;facet/hash/has_keys?&#8216;
447
+ </p>
448
+ <p>
449
+ h = { :a =&gt; 1, :b =&gt; 2 } h.assert_only_keys( :a, :b ) #=&gt; true
450
+ h.assert_only_keys( :a ) #=&gt; ArgumentError
451
+ </p>
452
+ </div>
453
+ </div>
454
+
455
+ <div id="method-M000079" class="method-detail">
456
+ <a name="M000079"></a>
457
+
458
+ <div class="method-heading">
459
+ <span class="method-name">at_rand</span><span class="method-args">()</span>
460
+ </div>
461
+
462
+ <div class="method-description">
463
+ <p>
464
+ Alias for <a href="Hash.html#M000078">rand_value</a>
465
+ </p>
466
+ </div>
467
+ </div>
468
+
469
+ <div id="method-M000081" class="method-detail">
470
+ <a name="M000081"></a>
471
+
472
+ <div class="method-heading">
473
+ <span class="method-name">at_rand!</span><span class="method-args">()</span>
474
+ </div>
475
+
476
+ <div class="method-description">
477
+ <p>
478
+ Alias for <a href="Hash.html#M000080">rand_value!</a>
479
+ </p>
480
+ </div>
481
+ </div>
482
+
483
+ <div id="method-M000063" class="method-detail">
484
+ <a name="M000063"></a>
485
+
486
+ <div class="method-heading">
487
+ <a href="Hash.src/M000063.html" target="Code" class="method-signature"
488
+ onclick="popupCode('Hash.src/M000063.html');return false;">
489
+ <span class="method-name">collate</span><span class="method-args">( {|| ...}</span>
490
+ </a>
491
+ </div>
492
+
493
+ <div class="method-description">
494
+ <p>
495
+ Returns a new hash built by iterating through each key,value pair and
496
+ updating the new hash.
497
+ </p>
498
+ <pre>
499
+ require 'facet/hash/collate'
500
+ </pre>
501
+ </div>
502
+ </div>
503
+
504
+ <div id="method-M000064" class="method-detail">
505
+ <a name="M000064"></a>
506
+
507
+ <div class="method-heading">
508
+ <a href="Hash.src/M000064.html" target="Code" class="method-signature"
509
+ onclick="popupCode('Hash.src/M000064.html');return false;">
510
+ <span class="method-name">collate!</span><span class="method-args">(&amp;yld)</span>
511
+ </a>
512
+ </div>
513
+
514
+ <div class="method-description">
515
+ <p>
516
+ In place version of <a href="Hash.html#M000063">collate</a>.
517
+ </p>
518
+ </div>
519
+ </div>
520
+
521
+ <div id="method-M000102" class="method-detail">
522
+ <a name="M000102"></a>
523
+
524
+ <div class="method-heading">
525
+ <span class="method-name">convert_keys</span><span class="method-args">( from_class=nil )</span>
526
+ </div>
527
+
528
+ <div class="method-description">
529
+ <p>
530
+ Alias for <a href="Hash.html#M000100">keys_to_s</a>
531
+ </p>
532
+ </div>
533
+ </div>
534
+
535
+ <div id="method-M000103" class="method-detail">
536
+ <a name="M000103"></a>
537
+
538
+ <div class="method-heading">
539
+ <span class="method-name">convert_keys!</span><span class="method-args">( from_class=nil )</span>
540
+ </div>
541
+
542
+ <div class="method-description">
543
+ <p>
544
+ Alias for <a href="Hash.html#M000101">keys_to_s!</a>
545
+ </p>
546
+ </div>
547
+ </div>
548
+
549
+ <div id="method-M000068" class="method-detail">
550
+ <a name="M000068"></a>
551
+
552
+ <div class="method-heading">
553
+ <a href="Hash.src/M000068.html" target="Code" class="method-signature"
554
+ onclick="popupCode('Hash.src/M000068.html');return false;">
555
+ <span class="method-name">each</span><span class="method-args">() {|v| ...}</span>
556
+ </a>
557
+ </div>
558
+
559
+ <div class="method-description">
560
+ <p>
561
+ A &quot;smarter&quot; hash<a href="Hash.html#M000068">each</a> which
562
+ iterates through each <em>value</em> if only one block parameter is given.
563
+ </p>
564
+ <pre>
565
+ require 'facet/hash/each'
566
+
567
+ {:a=&gt;&quot;a&quot;, 2=&gt;&quot;b&quot;, &quot;x&quot;=&gt;&quot;c&quot;}.each{ |v| puts v }
568
+ </pre>
569
+ <p>
570
+ <em>produces</em>
571
+ </p>
572
+ <pre>
573
+ a
574
+ b
575
+ c
576
+ </pre>
577
+ <p>
578
+ WARNING! Use with caution. Methods from other libraries may depend on the
579
+ old behavior, expecting a two element array to be passed into a single
580
+ block argument.
581
+ </p>
582
+ </div>
583
+ </div>
584
+
585
+ <div id="method-M000096" class="method-detail">
586
+ <a name="M000096"></a>
587
+
588
+ <div class="method-heading">
589
+ <a href="Hash.src/M000096.html" target="Code" class="method-signature"
590
+ onclick="popupCode('Hash.src/M000096.html');return false;">
591
+ <span class="method-name">has_keys?</span><span class="method-args">(*check_keys)</span>
592
+ </a>
593
+ </div>
594
+
595
+ <div class="method-description">
596
+ <p>
597
+ require &#8216;facet/hash/has_keys?&#8216;
598
+ </p>
599
+ <p>
600
+ h = { :a =&gt; 1, :b =&gt; 2 } h.has_keys?( :a ) #=&gt; true h.has_keys?(
601
+ :c ) #=&gt; false
602
+ </p>
603
+ </div>
604
+ </div>
605
+
606
+ <div id="method-M000097" class="method-detail">
607
+ <a name="M000097"></a>
608
+
609
+ <div class="method-heading">
610
+ <a href="Hash.src/M000097.html" target="Code" class="method-signature"
611
+ onclick="popupCode('Hash.src/M000097.html');return false;">
612
+ <span class="method-name">has_only_keys?</span><span class="method-args">(*check_keys)</span>
613
+ </a>
614
+ </div>
615
+
616
+ <div class="method-description">
617
+ <p>
618
+ require &#8216;facet/hash/has_keys?&#8216;
619
+ </p>
620
+ <p>
621
+ h = { :a =&gt; 1, :b =&gt; 2 } h.has_only_keys?( :a, :b ) #=&gt; true
622
+ h.has_only_keys?( :a ) #=&gt; false
623
+ </p>
624
+ </div>
625
+ </div>
626
+
627
+ <div id="method-M000072" class="method-detail">
628
+ <a name="M000072"></a>
629
+
630
+ <div class="method-heading">
631
+ <a href="Hash.src/M000072.html" target="Code" class="method-signature"
632
+ onclick="popupCode('Hash.src/M000072.html');return false;">
633
+ <span class="method-name">inverse</span><span class="method-args">()</span>
634
+ </a>
635
+ </div>
636
+
637
+ <div class="method-description">
638
+ <p>
639
+ Create a &quot;true&quot; inverse hash by storing mutliple values in
640
+ Arrays.
641
+ </p>
642
+ <pre>
643
+ require 'facet/hash/inverse'
644
+
645
+ h = {&quot;a&quot;=&gt;3, &quot;b&quot;=&gt;3, &quot;c&quot;=&gt;3, &quot;d&quot;=&gt;2, &quot;e&quot;=&gt;9, &quot;f&quot;=&gt;3, &quot;g&quot;=&gt;9}
646
+
647
+ h.invert #=&gt; {2=&gt;&quot;d&quot;, 3=&gt;&quot;f&quot;, 9=&gt;&quot;g&quot;}
648
+ h.inverse #=&gt; {2=&gt;&quot;d&quot;, 3=&gt;[&quot;f&quot;, &quot;c&quot;, &quot;b&quot;, &quot;a&quot;], 9=&gt;[&quot;g&quot;, &quot;e&quot;]}
649
+ h.inverse.inverse #=&gt; {&quot;a&quot;=&gt;3, &quot;b&quot;=&gt;3, &quot;c&quot;=&gt;3, &quot;d&quot;=&gt;2, &quot;e&quot;=&gt;9, &quot;f&quot;=&gt;3, &quot;g&quot;=&gt;9}
650
+ h.inverse.inverse == h #=&gt; true
651
+ </pre>
652
+ </div>
653
+ </div>
654
+
655
+ <div id="method-M000100" class="method-detail">
656
+ <a name="M000100"></a>
657
+
658
+ <div class="method-heading">
659
+ <a href="Hash.src/M000100.html" target="Code" class="method-signature"
660
+ onclick="popupCode('Hash.src/M000100.html');return false;">
661
+ <span class="method-name">keys_to_s</span><span class="method-args">( from_class=nil )</span>
662
+ </a>
663
+ </div>
664
+
665
+ <div class="method-description">
666
+ <p>
667
+ Converts all keys in the <a href="Hash.html">Hash</a> to be <a
668
+ href="String.html">String</a> values, returning a new <a
669
+ href="Hash.html">Hash</a>. With a from_class parameter, limits conversion
670
+ to only a certain class of keys. It defaults to nil which convert any key
671
+ class.
672
+ </p>
673
+ <pre>
674
+ require 'facet/hash/keys_to_string'
675
+
676
+ foo = { :name=&gt;'Gavin', :wife=&gt;:Lisa }
677
+ foo.to_s_keys #=&gt; { &quot;name&quot;=&gt;&quot;Gavin&quot;, &quot;wife&quot;=&gt;:Lisa }
678
+ foo.inspect #=&gt; { :name =&gt;&quot;Gavin&quot;, :wife=&gt;:Lisa }
679
+ </pre>
680
+ </div>
681
+ </div>
682
+
683
+ <div id="method-M000101" class="method-detail">
684
+ <a name="M000101"></a>
685
+
686
+ <div class="method-heading">
687
+ <a href="Hash.src/M000101.html" target="Code" class="method-signature"
688
+ onclick="popupCode('Hash.src/M000101.html');return false;">
689
+ <span class="method-name">keys_to_s!</span><span class="method-args">( from_class=nil )</span>
690
+ </a>
691
+ </div>
692
+
693
+ <div class="method-description">
694
+ <p>
695
+ Synonym for Hash#keys_to_string, but modifies the receiver in place (and
696
+ returns it). With a from_class parameter, limits conversion to only a
697
+ certain class of keys. It defaults to nil which convert any key class.
698
+ </p>
699
+ <pre>
700
+ require 'facet/hash/keys_to_string'
701
+
702
+ foo = { :name=&gt;'Gavin', :wife=&gt;:Lisa }
703
+ foo.to_s_keys! #=&gt; { &quot;name&quot;=&gt;&quot;Gavin&quot;, &quot;wife&quot;=&gt;:Lisa }
704
+ foo.inspect #=&gt; { &quot;name&quot;=&gt;&quot;Gavin&quot;, &quot;wife&quot;=&gt;:Lisa }
705
+ </pre>
706
+ </div>
707
+ </div>
708
+
709
+ <div id="method-M000074" class="method-detail">
710
+ <a name="M000074"></a>
711
+
712
+ <div class="method-heading">
713
+ <a href="Hash.src/M000074.html" target="Code" class="method-signature"
714
+ onclick="popupCode('Hash.src/M000074.html');return false;">
715
+ <span class="method-name">keys_to_sym</span><span class="method-args">( from_class=String )</span>
716
+ </a>
717
+ </div>
718
+
719
+ <div class="method-description">
720
+ <p>
721
+ Converts all keys in the <a href="Hash.html">Hash</a> to be <a
722
+ href="Symbol.html">Symbol</a> values, returning a new <a
723
+ href="Hash.html">Hash</a>. With a from_class parameter, limits conversion
724
+ to only a certain class of keys. It defaults to <a
725
+ href="String.html">String</a> &#8212;use nil to convert any key class.
726
+ </p>
727
+ <pre>
728
+ require 'facet/hash/keys_to_symbol'
729
+
730
+ foo = { :name=&gt;'Gavin', 'wife'=&gt;:Lisa }
731
+ foo.keys_to_sym #=&gt; { :name=&gt;&quot;Gavin&quot;, :wife=&gt;:Lisa }
732
+ foo.inspect #=&gt; { &quot;name&quot; =&gt;&quot;Gavin&quot;, &quot;wife&quot;=&gt;:Lisa }
733
+ </pre>
734
+ </div>
735
+ </div>
736
+
737
+ <div id="method-M000075" class="method-detail">
738
+ <a name="M000075"></a>
739
+
740
+ <div class="method-heading">
741
+ <a href="Hash.src/M000075.html" target="Code" class="method-signature"
742
+ onclick="popupCode('Hash.src/M000075.html');return false;">
743
+ <span class="method-name">keys_to_sym!</span><span class="method-args">( from_class=String )</span>
744
+ </a>
745
+ </div>
746
+
747
+ <div class="method-description">
748
+ <p>
749
+ Synonym for Hash#keys_to_symbol, but modifies the receiver in place (and
750
+ returns it). With a from_class parameter, limits conversion to only a
751
+ certain class of keys. It defaults to <a href="String.html">String</a>
752
+ &#8212;use nil to convert any key class.
753
+ </p>
754
+ <pre>
755
+ require 'facet/hash/keys_to_symbol'
756
+
757
+ foo = { 'name'=&gt;'Gavin', 'wife'=&gt;:Lisa }
758
+ foo.keys_to_sym! #=&gt; { :name=&gt;&quot;Gavin&quot;, :wife=&gt;:Lisa }
759
+ foo.inspect #=&gt; { :name=&gt;&quot;Gavin&quot;, :wife=&gt;:Lisa }
760
+ </pre>
761
+ </div>
762
+ </div>
763
+
764
+ <div id="method-M000082" class="method-detail">
765
+ <a name="M000082"></a>
766
+
767
+ <div class="method-heading">
768
+ <span class="method-name">pick</span><span class="method-args">()</span>
769
+ </div>
770
+
771
+ <div class="method-description">
772
+ <p>
773
+ Alias for <a href="Hash.html#M000081">at_rand!</a>
774
+ </p>
775
+ </div>
776
+ </div>
777
+
778
+ <div id="method-M000085" class="method-detail">
779
+ <a name="M000085"></a>
780
+
781
+ <div class="method-heading">
782
+ <span class="method-name">pick_key</span><span class="method-args">()</span>
783
+ </div>
784
+
785
+ <div class="method-description">
786
+ <p>
787
+ Alias for <a href="Hash.html#M000084">rand_key!</a>
788
+ </p>
789
+ </div>
790
+ </div>
791
+
792
+ <div id="method-M000088" class="method-detail">
793
+ <a name="M000088"></a>
794
+
795
+ <div class="method-heading">
796
+ <span class="method-name">pick_pair</span><span class="method-args">()</span>
797
+ </div>
798
+
799
+ <div class="method-description">
800
+ <p>
801
+ Alias for <a href="Hash.html#M000087">rand_pair!</a>
802
+ </p>
803
+ </div>
804
+ </div>
805
+
806
+ <div id="method-M000083" class="method-detail">
807
+ <a name="M000083"></a>
808
+
809
+ <div class="method-heading">
810
+ <a href="Hash.src/M000083.html" target="Code" class="method-signature"
811
+ onclick="popupCode('Hash.src/M000083.html');return false;">
812
+ <span class="method-name">rand_key</span><span class="method-args">()</span>
813
+ </a>
814
+ </div>
815
+
816
+ <div class="method-description">
817
+ <p>
818
+ Returns a random key.
819
+ </p>
820
+ <pre>
821
+ require 'facet/hash/at_rand'
822
+
823
+ {:one =&gt; 1, :two =&gt; 2, :three =&gt; 3}.pick_key #=&gt; :three
824
+ </pre>
825
+ </div>
826
+ </div>
827
+
828
+ <div id="method-M000084" class="method-detail">
829
+ <a name="M000084"></a>
830
+
831
+ <div class="method-heading">
832
+ <a href="Hash.src/M000084.html" target="Code" class="method-signature"
833
+ onclick="popupCode('Hash.src/M000084.html');return false;">
834
+ <span class="method-name">rand_key!</span><span class="method-args">()</span>
835
+ </a>
836
+ </div>
837
+
838
+ <div class="method-description">
839
+ <p>
840
+ Delete a random key-value pair, returning the key.
841
+ </p>
842
+ <pre>
843
+ require 'facet/hash/at_rand'
844
+
845
+ a = {:one =&gt; 1, :two =&gt; 2, :three =&gt; 3}
846
+ a.pick_key! #=&gt; :two
847
+ a #=&gt; {:one =&gt; 1, :three =&gt; 3}
848
+ </pre>
849
+ </div>
850
+ </div>
851
+
852
+ <div id="method-M000086" class="method-detail">
853
+ <a name="M000086"></a>
854
+
855
+ <div class="method-heading">
856
+ <a href="Hash.src/M000086.html" target="Code" class="method-signature"
857
+ onclick="popupCode('Hash.src/M000086.html');return false;">
858
+ <span class="method-name">rand_pair</span><span class="method-args">()</span>
859
+ </a>
860
+ </div>
861
+
862
+ <div class="method-description">
863
+ <p>
864
+ Returns a random key-value pair.
865
+ </p>
866
+ <pre>
867
+ require 'facet/hash/at_rand'
868
+
869
+ {:one =&gt; 1, :two =&gt; 2, :three =&gt; 3}.pick #=&gt; [:one, 1]
870
+ </pre>
871
+ </div>
872
+ </div>
873
+
874
+ <div id="method-M000087" class="method-detail">
875
+ <a name="M000087"></a>
876
+
877
+ <div class="method-heading">
878
+ <a href="Hash.src/M000087.html" target="Code" class="method-signature"
879
+ onclick="popupCode('Hash.src/M000087.html');return false;">
880
+ <span class="method-name">rand_pair!</span><span class="method-args">()</span>
881
+ </a>
882
+ </div>
883
+
884
+ <div class="method-description">
885
+ <p>
886
+ Deletes a random key-value pair and returns that pair.
887
+ </p>
888
+ <pre>
889
+ require 'facet/hash/at_rand'
890
+
891
+ a = {:one =&gt; 1, :two =&gt; 2, :three =&gt; 3}
892
+ a.rand_pair! #=&gt; [:two, 2]
893
+ a #=&gt; {:one =&gt; 1, :three =&gt; 3}
894
+ </pre>
895
+ </div>
896
+ </div>
897
+
898
+ <div id="method-M000078" class="method-detail">
899
+ <a name="M000078"></a>
900
+
901
+ <div class="method-heading">
902
+ <a href="Hash.src/M000078.html" target="Code" class="method-signature"
903
+ onclick="popupCode('Hash.src/M000078.html');return false;">
904
+ <span class="method-name">rand_value</span><span class="method-args">()</span>
905
+ </a>
906
+ </div>
907
+
908
+ <div class="method-description">
909
+ <p>
910
+ Returns a random key-value pair.
911
+ </p>
912
+ <pre>
913
+ require 'facet/hash/at_rand'
914
+
915
+ {:one =&gt; 1, :two =&gt; 2, :three =&gt; 3}.at_rand #=&gt; [:one, 1]
916
+ </pre>
917
+ </div>
918
+ </div>
919
+
920
+ <div id="method-M000080" class="method-detail">
921
+ <a name="M000080"></a>
922
+
923
+ <div class="method-heading">
924
+ <a href="Hash.src/M000080.html" target="Code" class="method-signature"
925
+ onclick="popupCode('Hash.src/M000080.html');return false;">
926
+ <span class="method-name">rand_value!</span><span class="method-args">()</span>
927
+ </a>
928
+ </div>
929
+
930
+ <div class="method-description">
931
+ <p>
932
+ Deletes a random key-value pair and returns the value.
933
+ </p>
934
+ <pre>
935
+ require 'facet/hash/at_rand'
936
+
937
+ a = {:one =&gt; 1, :two =&gt; 2, :three =&gt; 3}
938
+ a.at_rand! #=&gt; 2
939
+ a #=&gt; {:one =&gt; 1, :three =&gt; 3}
940
+ </pre>
941
+ </div>
942
+ </div>
943
+
944
+ <div id="method-M000106" class="method-detail">
945
+ <a name="M000106"></a>
946
+
947
+ <div class="method-heading">
948
+ <a href="Hash.src/M000106.html" target="Code" class="method-signature"
949
+ onclick="popupCode('Hash.src/M000106.html');return false;">
950
+ <span class="method-name">replace_each</span><span class="method-args">( {|| ...}</span>
951
+ </a>
952
+ </div>
953
+
954
+ <div class="method-description">
955
+ <p>
956
+ Same as <a href="Hash.html#M000105">update_each</a>, but deletes the key
957
+ element first.
958
+ </p>
959
+ </div>
960
+ </div>
961
+
962
+ <div id="method-M000094" class="method-detail">
963
+ <a name="M000094"></a>
964
+
965
+ <div class="method-heading">
966
+ <a href="Hash.src/M000094.html" target="Code" class="method-signature"
967
+ onclick="popupCode('Hash.src/M000094.html');return false;">
968
+ <span class="method-name">shuffle_hash</span><span class="method-args">()</span>
969
+ </a>
970
+ </div>
971
+
972
+ <div class="method-description">
973
+ <p>
974
+ Returns a copy of the hash with <em>values</em> arranged in new random
975
+ order.
976
+ </p>
977
+ <pre>
978
+ require 'facet/hash/shuffle'
979
+
980
+ h = {:a=&gt;1, :b=&gt;2, :c=&gt;3}
981
+ h.shuffle_hash #=&gt; {:b=&gt;2, :c=&gt;1, :a&gt;3}
982
+ </pre>
983
+ </div>
984
+ </div>
985
+
986
+ <div id="method-M000095" class="method-detail">
987
+ <a name="M000095"></a>
988
+
989
+ <div class="method-heading">
990
+ <a href="Hash.src/M000095.html" target="Code" class="method-signature"
991
+ onclick="popupCode('Hash.src/M000095.html');return false;">
992
+ <span class="method-name">shuffle_hash!</span><span class="method-args">()</span>
993
+ </a>
994
+ </div>
995
+
996
+ <div class="method-description">
997
+ <p>
998
+ Destructive <a href="Hash.html#M000094">shuffle_hash</a>. Arrange the
999
+ values in a new random order.
1000
+ </p>
1001
+ <pre>
1002
+ require 'facet/hash/shuffle'
1003
+
1004
+ h = {:a =&gt; 1, :b =&gt; 2, :c =&gt; 3}
1005
+ h.shuffle_hash!
1006
+ h #=&gt; {:b=&gt;2, :c=&gt;1, :a=&gt;3}
1007
+ </pre>
1008
+ </div>
1009
+ </div>
1010
+
1011
+ <div id="method-M000093" class="method-detail">
1012
+ <a name="M000093"></a>
1013
+
1014
+ <div class="method-heading">
1015
+ <a href="Hash.src/M000093.html" target="Code" class="method-signature"
1016
+ onclick="popupCode('Hash.src/M000093.html');return false;">
1017
+ <span class="method-name">shuffle_hash_pairs</span><span class="method-args">()</span>
1018
+ </a>
1019
+ </div>
1020
+
1021
+ <div class="method-description">
1022
+ <p>
1023
+ Return the key-value pairs with <em>keys</em> and <em>values</em> shuffled
1024
+ independedly.
1025
+ </p>
1026
+ <pre>
1027
+ require 'facet/hash/shuffle'
1028
+
1029
+ {:a=&gt;1, :b=&gt;2, :c=&gt;3}.shuffle_hash_pairs
1030
+ </pre>
1031
+ <p>
1032
+ produces
1033
+ </p>
1034
+ <pre>
1035
+ [[:a, 3], [:b, 1], [:c, 2]]
1036
+ </pre>
1037
+ </div>
1038
+ </div>
1039
+
1040
+ <div id="method-M000067" class="method-detail">
1041
+ <a name="M000067"></a>
1042
+
1043
+ <div class="method-heading">
1044
+ <a href="Hash.src/M000067.html" target="Code" class="method-signature"
1045
+ onclick="popupCode('Hash.src/M000067.html');return false;">
1046
+ <span class="method-name">swap!</span><span class="method-args">( key1, key2 )</span>
1047
+ </a>
1048
+ </div>
1049
+
1050
+ <div class="method-description">
1051
+ <p>
1052
+ Swap the values of a pair of keys.
1053
+ </p>
1054
+ <pre>
1055
+ require 'facet/hash/swap!'
1056
+
1057
+ {:a=&gt;1,:b=&gt;2}.swap! #=&gt; {:a=&gt;2,:b=&gt;1}
1058
+ </pre>
1059
+ </div>
1060
+ </div>
1061
+
1062
+ <div id="method-M000073" class="method-detail">
1063
+ <a name="M000073"></a>
1064
+
1065
+ <div class="method-heading">
1066
+ <a href="Hash.src/M000073.html" target="Code" class="method-signature"
1067
+ onclick="popupCode('Hash.src/M000073.html');return false;">
1068
+ <span class="method-name">swapkey!</span><span class="method-args">( newkey, oldkey )</span>
1069
+ </a>
1070
+ </div>
1071
+
1072
+ <div class="method-description">
1073
+ <p>
1074
+ Modifies the receiving <a href="Hash.html">Hash</a> so that the value
1075
+ previously referred to by <em>oldkey</em> is referenced by <em>newkey</em>;
1076
+ <em>oldkey</em> is removed from the <a href="Hash.html">Hash</a>. If
1077
+ <em>oldkey</em> does not exist as a key in the <a
1078
+ href="Hash.html">Hash</a>, no change is effected.
1079
+ </p>
1080
+ <p>
1081
+ Returns a reference to the <a href="Hash.html">Hash</a>.
1082
+ </p>
1083
+ <pre>
1084
+ require 'facet/hash/swapkey!'
1085
+
1086
+ foo = { :a=&gt;1, :b=&gt;2 }
1087
+ foo.swapkey!('a',:a) #=&gt; { 'a'=&gt;1, :b=&gt;2 }
1088
+ foo.swapkey!('b',:b) #=&gt; { 'a'=&gt;1, 'b'=&gt;2 }
1089
+ foo.swapkey!('foo','bar') #=&gt; { 'a'=&gt;1, 'b'=&gt;2 }
1090
+ </pre>
1091
+ </div>
1092
+ </div>
1093
+
1094
+ <div id="method-M000076" class="method-detail">
1095
+ <a name="M000076"></a>
1096
+
1097
+ <div class="method-heading">
1098
+ <span class="method-name">symbolize_keys</span><span class="method-args">( from_class=String )</span>
1099
+ </div>
1100
+
1101
+ <div class="method-description">
1102
+ <p>
1103
+ Alias for <a href="Hash.html#M000074">keys_to_sym</a>
1104
+ </p>
1105
+ </div>
1106
+ </div>
1107
+
1108
+ <div id="method-M000077" class="method-detail">
1109
+ <a name="M000077"></a>
1110
+
1111
+ <div class="method-heading">
1112
+ <span class="method-name">symbolize_keys!</span><span class="method-args">( from_class=String )</span>
1113
+ </div>
1114
+
1115
+ <div class="method-description">
1116
+ <p>
1117
+ Alias for <a href="Hash.html#M000075">keys_to_sym!</a>
1118
+ </p>
1119
+ </div>
1120
+ </div>
1121
+
1122
+ <div id="method-M000089" class="method-detail">
1123
+ <a name="M000089"></a>
1124
+
1125
+ <div class="method-heading">
1126
+ <a href="Hash.src/M000089.html" target="Code" class="method-signature"
1127
+ onclick="popupCode('Hash.src/M000089.html');return false;">
1128
+ <span class="method-name">to_h</span><span class="method-args">()</span>
1129
+ </a>
1130
+ </div>
1131
+
1132
+ <div class="method-description">
1133
+ <p>
1134
+ Return a rehashing of <em>self</em>.
1135
+ </p>
1136
+ <pre>
1137
+ require 'facet/hash/to_h'
1138
+
1139
+ {&quot;a&quot;=&gt;1,&quot;b&quot;=&gt;2}.to_h #=&gt; {&quot;b&quot;=&gt;2,&quot;a&quot;=&gt;1}
1140
+ </pre>
1141
+ </div>
1142
+ </div>
1143
+
1144
+ <div id="method-M000069" class="method-detail">
1145
+ <a name="M000069"></a>
1146
+
1147
+ <div class="method-heading">
1148
+ <a href="Hash.src/M000069.html" target="Code" class="method-signature"
1149
+ onclick="popupCode('Hash.src/M000069.html');return false;">
1150
+ <span class="method-name">to_ostruct</span><span class="method-args">()</span>
1151
+ </a>
1152
+ </div>
1153
+
1154
+ <div class="method-description">
1155
+ <p>
1156
+ Turns a hash into a generic object using an <a
1157
+ href="OpenStruct.html">OpenStruct</a>.
1158
+ </p>
1159
+ <pre>
1160
+ require 'facet/hash/to_ostruct'
1161
+
1162
+ o = { 'a' =&gt; 1 }.to_ostruct
1163
+ o.a #=&gt; 1
1164
+ </pre>
1165
+ </div>
1166
+ </div>
1167
+
1168
+ <div id="method-M000070" class="method-detail">
1169
+ <a name="M000070"></a>
1170
+
1171
+ <div class="method-heading">
1172
+ <a href="Hash.src/M000070.html" target="Code" class="method-signature"
1173
+ onclick="popupCode('Hash.src/M000070.html');return false;">
1174
+ <span class="method-name">to_ostruct_recurse</span><span class="method-args">()</span>
1175
+ </a>
1176
+ </div>
1177
+
1178
+ <div class="method-description">
1179
+ <p>
1180
+ Like <a href="Hash.html#M000069">to_ostruct</a> but recusively objectifies
1181
+ all hash elements as well.
1182
+ </p>
1183
+ <pre>
1184
+ require 'facet/hash/to_ostruct'
1185
+
1186
+ o = { 'a' =&gt; { 'b' =&gt; 1 } }.to_ostruct_recurse
1187
+ o.a.b #=&gt; 1
1188
+ </pre>
1189
+ </div>
1190
+ </div>
1191
+
1192
+ <div id="method-M000091" class="method-detail">
1193
+ <a name="M000091"></a>
1194
+
1195
+ <div class="method-heading">
1196
+ <a href="Hash.src/M000091.html" target="Code" class="method-signature"
1197
+ onclick="popupCode('Hash.src/M000091.html');return false;">
1198
+ <span class="method-name">traverse</span><span class="method-args">(&amp;b)</span>
1199
+ </a>
1200
+ </div>
1201
+
1202
+ <div class="method-description">
1203
+ <p>
1204
+ Returns a new hash created by traversing the hash and its subhashes,
1205
+ executing the given block on the key and value. The block should return a
1206
+ 2-element array of the form +[key, value]+.
1207
+ </p>
1208
+ <pre>
1209
+ require 'facet/hash/traverse'
1210
+
1211
+ h = { &quot;A&quot;=&gt;&quot;A&quot;, &quot;B&quot;=&gt;&quot;B&quot; }
1212
+ h.traverse { |k,v| [k.downcase, v] }
1213
+ h #=&gt; { &quot;a&quot;=&gt;&quot;A&quot;, &quot;b&quot;=&gt;&quot;B&quot; }
1214
+ </pre>
1215
+ </div>
1216
+ </div>
1217
+
1218
+ <div id="method-M000092" class="method-detail">
1219
+ <a name="M000092"></a>
1220
+
1221
+ <div class="method-heading">
1222
+ <a href="Hash.src/M000092.html" target="Code" class="method-signature"
1223
+ onclick="popupCode('Hash.src/M000092.html');return false;">
1224
+ <span class="method-name">traverse!</span><span class="method-args">( &amp;yld )</span>
1225
+ </a>
1226
+ </div>
1227
+
1228
+ <div class="method-description">
1229
+ <p>
1230
+ In place version of traverse, which traverses the hash and its subhashes,
1231
+ executing the given block on the key and value.
1232
+ </p>
1233
+ <pre>
1234
+ require 'facet/hash/traverse'
1235
+
1236
+ h = { &quot;A&quot;=&gt;&quot;A&quot;, &quot;B&quot;=&gt;&quot;B&quot; }
1237
+ h.traverse! { |k,v| [k.downcase, v] }
1238
+ h #=&gt; { &quot;a&quot;=&gt;&quot;A&quot;, &quot;b&quot;=&gt;&quot;B&quot; }
1239
+ </pre>
1240
+ </div>
1241
+ </div>
1242
+
1243
+ <div id="method-M000105" class="method-detail">
1244
+ <a name="M000105"></a>
1245
+
1246
+ <div class="method-heading">
1247
+ <a href="Hash.src/M000105.html" target="Code" class="method-signature"
1248
+ onclick="popupCode('Hash.src/M000105.html');return false;">
1249
+ <span class="method-name">update_each</span><span class="method-args">( {|| ...}</span>
1250
+ </a>
1251
+ </div>
1252
+
1253
+ <div class="method-description">
1254
+ <p>
1255
+ Iterates through each pair and updates a the hash in place. This is
1256
+ formally equivalent to <a href="Hash.html#M000064">collate!</a> But does
1257
+ not use <a href="Hash.html#M000063">collate</a> to accomplish the task.
1258
+ Hence <a href="Hash.html#M000105">update_each</a> is probably a bit faster.
1259
+ </p>
1260
+ <pre>
1261
+ require 'facet/hash/update_each'
1262
+
1263
+ # example to do
1264
+ </pre>
1265
+ </div>
1266
+ </div>
1267
+
1268
+ <div id="method-M000104" class="method-detail">
1269
+ <a name="M000104"></a>
1270
+
1271
+ <div class="method-heading">
1272
+ <a href="Hash.src/M000104.html" target="Code" class="method-signature"
1273
+ onclick="popupCode('Hash.src/M000104.html');return false;">
1274
+ <span class="method-name">weave</span><span class="method-args">(h)</span>
1275
+ </a>
1276
+ </div>
1277
+
1278
+ <div class="method-description">
1279
+ <p>
1280
+ Weaves two hashes producing a new hash. The two hashes need to be
1281
+ compatible according to the following rules for each node:
1282
+ </p>
1283
+ <pre>
1284
+ &lt;tt&gt;
1285
+ hash, hash =&gt; hash (recursive +)
1286
+ hash, array =&gt; error
1287
+ hash, value =&gt; error
1288
+ array, hash =&gt; error
1289
+ array, array =&gt; array + array
1290
+ array, value =&gt; array &lt;&lt; value
1291
+ value, hash =&gt; error
1292
+ value, array =&gt; array.unshift(valueB)
1293
+ valueA, valueB =&gt; valueB
1294
+ &lt;/tt&gt;
1295
+ </pre>
1296
+ <p>
1297
+ Example:
1298
+ </p>
1299
+ <pre>
1300
+ require 'facet/hash/weave'
1301
+
1302
+ # to do
1303
+ </pre>
1304
+ </div>
1305
+ </div>
1306
+
1307
+
1308
+ </div>
1309
+
1310
+
1311
+ </div>
1312
+
1313
+
1314
+ <div id="validator-badges">
1315
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
1316
+ </div>
1317
+
1318
+ </body>
1319
+ </html>