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,18 @@
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>to_re (Regexp)</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/regexp/to_re.rb, line 13</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_re</span>( <span class="ruby-identifier">esc</span>=<span class="ruby-keyword kw">false</span> )
15
+ <span class="ruby-keyword kw">self</span> <span class="ruby-comment cmt"># Of course, things really should know how to say &quot;I&quot; ;)</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,18 @@
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>to_regexp (Regexp)</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/regexp/to_re.rb, line 21</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_regexp</span>
15
+ <span class="ruby-keyword kw">self</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,18 @@
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>arity (Regexp)</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/regexp/arity.rb, line 11</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">arity</span>
15
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">scan</span>( <span class="ruby-regexp re">/(?!\\)[(](?!\?[#=:!&gt;-imx])/</span> ).<span class="ruby-identifier">length</span>
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,111 @@
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: ScriptBug</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">ScriptBug</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/facet/kernel/bug!_rb.html">
59
+ lib/facet/kernel/bug!.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Exception
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+
82
+
83
+ </div>
84
+
85
+
86
+ </div>
87
+
88
+
89
+ <!-- if includes -->
90
+
91
+ <div id="section">
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+ <!-- if method_list -->
101
+
102
+
103
+ </div>
104
+
105
+
106
+ <div id="validator-badges">
107
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
108
+ </div>
109
+
110
+ </body>
111
+ </html>
@@ -0,0 +1,1930 @@
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: String</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">String</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/facet/string/word_filter!_rb.html">
59
+ lib/facet/string/word_filter!.rb
60
+ </a>
61
+ <br />
62
+ <a href="../files/lib/facet/string/dresner_rb.html">
63
+ lib/facet/string/dresner.rb
64
+ </a>
65
+ <br />
66
+ <a href="../files/lib/facet/string/blank?_rb.html">
67
+ lib/facet/string/blank?.rb
68
+ </a>
69
+ <br />
70
+ <a href="../files/lib/facet/string/unix_crypt_rb.html">
71
+ lib/facet/string/unix_crypt.rb
72
+ </a>
73
+ <br />
74
+ <a href="../files/lib/facet/string/center_lines_rb.html">
75
+ lib/facet/string/center_lines.rb
76
+ </a>
77
+ <br />
78
+ <a href="../files/lib/facet/string/camelcase_rb.html">
79
+ lib/facet/string/camelcase.rb
80
+ </a>
81
+ <br />
82
+ <a href="../files/lib/facet/string/clump_rb.html">
83
+ lib/facet/string/clump.rb
84
+ </a>
85
+ <br />
86
+ <a href="../files/lib/facet/string/line_to_char_map_rb.html">
87
+ lib/facet/string/line_to_char_map.rb
88
+ </a>
89
+ <br />
90
+ <a href="../files/lib/facet/string/margin_rb.html">
91
+ lib/facet/string/margin.rb
92
+ </a>
93
+ <br />
94
+ <a href="../files/lib/facet/string/word_wrap_rb.html">
95
+ lib/facet/string/word_wrap.rb
96
+ </a>
97
+ <br />
98
+ <a href="../files/lib/facet/string/unpack_rb.html">
99
+ lib/facet/string/unpack.rb
100
+ </a>
101
+ <br />
102
+ <a href="../files/lib/facet/string/rand_letter_rb.html">
103
+ lib/facet/string/rand_letter.rb
104
+ </a>
105
+ <br />
106
+ <a href="../files/lib/facet/string/to_proc_rb.html">
107
+ lib/facet/string/to_proc.rb
108
+ </a>
109
+ <br />
110
+ <a href="../files/lib/facet/string/first&last_rb.html">
111
+ lib/facet/string/first&amp;last.rb
112
+ </a>
113
+ <br />
114
+ <a href="../files/lib/facet/string/chars_rb.html">
115
+ lib/facet/string/chars.rb
116
+ </a>
117
+ <br />
118
+ <a href="../files/lib/facet/string/inflect_rb.html">
119
+ lib/facet/string/inflect.rb
120
+ </a>
121
+ <br />
122
+ <a href="../files/lib/facet/string/fuzzy_match_rb.html">
123
+ lib/facet/string/fuzzy_match.rb
124
+ </a>
125
+ <br />
126
+ <a href="../files/lib/facet/string/succ_rb.html">
127
+ lib/facet/string/succ.rb
128
+ </a>
129
+ <br />
130
+ <a href="../files/lib/facet/string/cmp_rb.html">
131
+ lib/facet/string/cmp.rb
132
+ </a>
133
+ <br />
134
+ <a href="../files/lib/facet/string/at_rand_rb.html">
135
+ lib/facet/string/at_rand.rb
136
+ </a>
137
+ <br />
138
+ <a href="../files/lib/facet/string/range_rb.html">
139
+ lib/facet/string/range.rb
140
+ </a>
141
+ <br />
142
+ <a href="../files/lib/facet/string/to_b_rb.html">
143
+ lib/facet/string/to_b.rb
144
+ </a>
145
+ <br />
146
+ <a href="../files/lib/facet/string/case?_rb.html">
147
+ lib/facet/string/case?.rb
148
+ </a>
149
+ <br />
150
+ <a href="../files/lib/facet/string/to_re_rb.html">
151
+ lib/facet/string/to_re.rb
152
+ </a>
153
+ <br />
154
+ <a href="../files/lib/facet/string/line_wrap_rb.html">
155
+ lib/facet/string/line_wrap.rb
156
+ </a>
157
+ <br />
158
+ <a href="../files/lib/facet/string/format_rb.html">
159
+ lib/facet/string/format.rb
160
+ </a>
161
+ <br />
162
+ <a href="../files/lib/facet/string/to_const_rb.html">
163
+ lib/facet/string/to_const.rb
164
+ </a>
165
+ <br />
166
+ <a href="../files/lib/facet/string/tab_rb.html">
167
+ lib/facet/string/tab.rb
168
+ </a>
169
+ <br />
170
+ <a href="../files/lib/facet/string/braket_rb.html">
171
+ lib/facet/string/braket.rb
172
+ </a>
173
+ <br />
174
+ <a href="../files/lib/facet/string/shuffle_rb.html">
175
+ lib/facet/string/shuffle.rb
176
+ </a>
177
+ <br />
178
+ <a href="../files/lib/facet/string/each_word_rb.html">
179
+ lib/facet/string/each_word.rb
180
+ </a>
181
+ <br />
182
+ <a href="../files/lib/facet/string/index_all_rb.html">
183
+ lib/facet/string/index_all.rb
184
+ </a>
185
+ <br />
186
+ <a href="../files/lib/facet/string/mscan_rb.html">
187
+ lib/facet/string/mscan.rb
188
+ </a>
189
+ <br />
190
+ <a href="../files/lib/facet/string/shatter_rb.html">
191
+ lib/facet/string/shatter.rb
192
+ </a>
193
+ <br />
194
+ <a href="../files/lib/facet/string/natcmp_rb.html">
195
+ lib/facet/string/natcmp.rb
196
+ </a>
197
+ <br />
198
+ </td>
199
+ </tr>
200
+
201
+ <tr class="top-aligned-row">
202
+ <td><strong>Parent:</strong></td>
203
+ <td>
204
+ <a href="Object.html">
205
+ Object
206
+ </a>
207
+ </td>
208
+ </tr>
209
+ </table>
210
+ </div>
211
+ <!-- banner header -->
212
+
213
+ <div id="bodyContent">
214
+
215
+
216
+
217
+ <div id="contextContent">
218
+
219
+
220
+
221
+ </div>
222
+
223
+ <div id="method-list">
224
+ <h3 class="section-bar">Methods</h3>
225
+
226
+ <div class="name-list">
227
+ <a href="#M000277">at_rand</a>&nbsp;&nbsp;
228
+ <a href="#M000278">at_rand!</a>&nbsp;&nbsp;
229
+ <a href="#M000246">blank?</a>&nbsp;&nbsp;
230
+ <a href="#M000299">braket</a>&nbsp;&nbsp;
231
+ <a href="#M000300">braket!</a>&nbsp;&nbsp;
232
+ <a href="#M000252">camelCase</a>&nbsp;&nbsp;
233
+ <a href="#M000251">camelcase</a>&nbsp;&nbsp;
234
+ <a href="#M000291">capitalized?</a>&nbsp;&nbsp;
235
+ <a href="#M000250">center_lines</a>&nbsp;&nbsp;
236
+ <a href="#M000270">chars</a>&nbsp;&nbsp;
237
+ <a href="#M000253">clump</a>&nbsp;&nbsp;
238
+ <a href="#M000276">cmp</a>&nbsp;&nbsp;
239
+ <a href="#M000289">downcase?</a>&nbsp;&nbsp;
240
+ <a href="#M000244">dresner</a>&nbsp;&nbsp;
241
+ <a href="#M000245">dresner!</a>&nbsp;&nbsp;
242
+ <a href="#M000305">each_word</a>&nbsp;&nbsp;
243
+ <a href="#M000262">first</a>&nbsp;&nbsp;
244
+ <a href="#M000266">first!</a>&nbsp;&nbsp;
245
+ <a href="#M000264">first=</a>&nbsp;&nbsp;
246
+ <a href="#M000268">first_char</a>&nbsp;&nbsp;
247
+ <a href="#M000271">first_chars</a>&nbsp;&nbsp;
248
+ <a href="#M000294">format</a>&nbsp;&nbsp;
249
+ <a href="#M000274">fuzzy_match</a>&nbsp;&nbsp;
250
+ <a href="#M000296">indent</a>&nbsp;&nbsp;
251
+ <a href="#M000306">index_all</a>&nbsp;&nbsp;
252
+ <a href="#M000273">inflect</a>&nbsp;&nbsp;
253
+ <a href="#M000263">last</a>&nbsp;&nbsp;
254
+ <a href="#M000267">last!</a>&nbsp;&nbsp;
255
+ <a href="#M000265">last=</a>&nbsp;&nbsp;
256
+ <a href="#M000269">last_char</a>&nbsp;&nbsp;
257
+ <a href="#M000272">last_chars</a>&nbsp;&nbsp;
258
+ <a href="#M000254">line_to_char_map</a>&nbsp;&nbsp;
259
+ <a href="#M000293">line_wrap</a>&nbsp;&nbsp;
260
+ <a href="#M000290">lowercase?</a>&nbsp;&nbsp;
261
+ <a href="#M000255">margin</a>&nbsp;&nbsp;
262
+ <a href="#M000307">mscan</a>&nbsp;&nbsp;
263
+ <a href="#M000309">natcmp</a>&nbsp;&nbsp;
264
+ <a href="#M000279">rand_byte</a>&nbsp;&nbsp;
265
+ <a href="#M000280">rand_byte!</a>&nbsp;&nbsp;
266
+ <a href="#M000281">rand_char</a>&nbsp;&nbsp;
267
+ <a href="#M000282">rand_char!</a>&nbsp;&nbsp;
268
+ <a href="#M000283">rand_index</a>&nbsp;&nbsp;
269
+ <a href="#M000260">rand_letter</a>&nbsp;&nbsp;
270
+ <a href="#M000284">range</a>&nbsp;&nbsp;
271
+ <a href="#M000285">range_all</a>&nbsp;&nbsp;
272
+ <a href="#M000308">shatter</a>&nbsp;&nbsp;
273
+ <a href="#M000301">shuffle</a>&nbsp;&nbsp;
274
+ <a href="#M000302">shuffle!</a>&nbsp;&nbsp;
275
+ <a href="#M000303">shuffle_chars</a>&nbsp;&nbsp;
276
+ <a href="#M000304">shuffle_chars!</a>&nbsp;&nbsp;
277
+ <a href="#M000275">succ</a>&nbsp;&nbsp;
278
+ <a href="#M000297">tab</a>&nbsp;&nbsp;
279
+ <a href="#M000298">tabto</a>&nbsp;&nbsp;
280
+ <a href="#M000286">to_b</a>&nbsp;&nbsp;
281
+ <a href="#M000295">to_const</a>&nbsp;&nbsp;
282
+ <a href="#M000261">to_proc</a>&nbsp;&nbsp;
283
+ <a href="#M000292">to_re</a>&nbsp;&nbsp;
284
+ <a href="#M000256">trim</a>&nbsp;&nbsp;
285
+ <a href="#M000248">unix_crypt</a>&nbsp;&nbsp;
286
+ <a href="#M000249">unix_crypt!</a>&nbsp;&nbsp;
287
+ <a href="#M000259">unpack</a>&nbsp;&nbsp;
288
+ <a href="#M000287">upcase?</a>&nbsp;&nbsp;
289
+ <a href="#M000288">uppercase?</a>&nbsp;&nbsp;
290
+ <a href="#M000247">whitespace?</a>&nbsp;&nbsp;
291
+ <a href="#M000243">word_filter!</a>&nbsp;&nbsp;
292
+ <a href="#M000257">word_wrap</a>&nbsp;&nbsp;
293
+ <a href="#M000258">word_wrap!</a>&nbsp;&nbsp;
294
+ </div>
295
+ </div>
296
+
297
+ </div>
298
+
299
+
300
+ <!-- if includes -->
301
+
302
+ <div id="section">
303
+
304
+ <div id="class-list">
305
+ <h3 class="section-bar">Classes and Modules</h3>
306
+
307
+ Class <a href="String/Format.html" class="link">String::Format</a><br />
308
+ Class <a href="String/Inflect.html" class="link">String::Inflect</a><br />
309
+
310
+ </div>
311
+
312
+ <div id="constants-list">
313
+ <h3 class="section-bar">Constants</h3>
314
+
315
+ <div class="name-list">
316
+ <table summary="Constants">
317
+ <tr class="top-aligned-row context-row">
318
+ <td class="context-item-name">BRA_KET</td>
319
+ <td>=</td>
320
+ <td class="context-item-value">{ '['=&gt;']', '('=&gt;')', '{'=&gt;'}', '&lt;'=&gt;'&gt;' }</td>
321
+ </tr>
322
+ </table>
323
+ </div>
324
+ </div>
325
+
326
+ <div id="aliases-list">
327
+ <h3 class="section-bar">External Aliases</h3>
328
+
329
+ <div class="name-list">
330
+ <table summary="aliases">
331
+ <tr class="top-aligned-row context-row">
332
+ <td class="context-item-name">unpack</td>
333
+ <td>-></td>
334
+ <td class="context-item-value">unpack_from_orgin</td>
335
+ </tr>
336
+ <tr class="top-aligned-row context-row">
337
+ <td class="context-item-name">succ</td>
338
+ <td>-></td>
339
+ <td class="context-item-value">succ_once</td>
340
+ </tr>
341
+ </table>
342
+ </div>
343
+ </div>
344
+
345
+
346
+
347
+
348
+
349
+ <!-- if method_list -->
350
+ <div id="methods">
351
+ <h3 class="section-bar">Public Class methods</h3>
352
+
353
+ <div id="method-M000260" class="method-detail">
354
+ <a name="M000260"></a>
355
+
356
+ <div class="method-heading">
357
+ <a href="String.src/M000260.html" target="Code" class="method-signature"
358
+ onclick="popupCode('String.src/M000260.html');return false;">
359
+ <span class="method-name">rand_letter</span><span class="method-args">()</span>
360
+ </a>
361
+ </div>
362
+
363
+ <div class="method-description">
364
+ <p>
365
+ Generate a random letter.
366
+ </p>
367
+ <pre>
368
+ require 'facet/string/rand_letter'
369
+
370
+ String.rand_letter #=&gt; &quot;q&quot;
371
+ String.rand_letter #=&gt; &quot;r&quot;
372
+ String.rand_letter #=&gt; &quot;a&quot;
373
+ </pre>
374
+ </div>
375
+ </div>
376
+
377
+ <h3 class="section-bar">Public Instance methods</h3>
378
+
379
+ <div id="method-M000277" class="method-detail">
380
+ <a name="M000277"></a>
381
+
382
+ <div class="method-heading">
383
+ <a href="String.src/M000277.html" target="Code" class="method-signature"
384
+ onclick="popupCode('String.src/M000277.html');return false;">
385
+ <span class="method-name">at_rand</span><span class="method-args">(n=nil, separator=$/)</span>
386
+ </a>
387
+ </div>
388
+
389
+ <div class="method-description">
390
+ <p>
391
+ Return a random separation of the string. Default separator is <tt>$/</tt>.
392
+ </p>
393
+ <pre>
394
+ require 'facet/string/at_rand'
395
+
396
+ &quot;Ruby rules&quot;.at_rand(1, ' ') #=&gt; [&quot;Ruby&quot;]
397
+ </pre>
398
+ </div>
399
+ </div>
400
+
401
+ <div id="method-M000278" class="method-detail">
402
+ <a name="M000278"></a>
403
+
404
+ <div class="method-heading">
405
+ <a href="String.src/M000278.html" target="Code" class="method-signature"
406
+ onclick="popupCode('String.src/M000278.html');return false;">
407
+ <span class="method-name">at_rand!</span><span class="method-args">(n=nil)</span>
408
+ </a>
409
+ </div>
410
+
411
+ <div class="method-description">
412
+ <p>
413
+ Return a random separation while removing it from the string. Default
414
+ separator is <tt>$/</tt>.
415
+ </p>
416
+ <pre>
417
+ require 'facet/string/at_rand'
418
+
419
+ &quot;Ruby rules&quot;.at_rand(1, ' ') #=&gt; [&quot;Ruby&quot;]
420
+ </pre>
421
+ </div>
422
+ </div>
423
+
424
+ <div id="method-M000246" class="method-detail">
425
+ <a name="M000246"></a>
426
+
427
+ <div class="method-heading">
428
+ <a href="String.src/M000246.html" target="Code" class="method-signature"
429
+ onclick="popupCode('String.src/M000246.html');return false;">
430
+ <span class="method-name">blank?</span><span class="method-args">()</span>
431
+ </a>
432
+ </div>
433
+
434
+ <div class="method-description">
435
+ <p>
436
+ Is this string just whitespace?
437
+ </p>
438
+ <pre>
439
+ require 'facet/string/blank?'
440
+
441
+ &quot;abc&quot;.blank? #=&gt; false
442
+ &quot; &quot;.blank? #=&gt; true
443
+ </pre>
444
+ </div>
445
+ </div>
446
+
447
+ <div id="method-M000299" class="method-detail">
448
+ <a name="M000299"></a>
449
+
450
+ <div class="method-heading">
451
+ <a href="String.src/M000299.html" target="Code" class="method-signature"
452
+ onclick="popupCode('String.src/M000299.html');return false;">
453
+ <span class="method-name">braket</span><span class="method-args">(bra, ket=nil)</span>
454
+ </a>
455
+ </div>
456
+
457
+ <div class="method-description">
458
+ <p>
459
+ Return a new string embraced by given brakets. If only one bracket char is
460
+ given it will be placed on either side.
461
+ </p>
462
+ <pre>
463
+ require 'facet/string/braket'
464
+
465
+ &quot;wrap me&quot;.braket('{') #=&gt; &quot;{wrap me}&quot;
466
+ &quot;wrap me&quot;.braket('--','!') #=&gt; &quot;--wrap me!&quot;
467
+ </pre>
468
+ <p>
469
+ And yes, I know, it&#8217;s spelled &quot;wrong&quot;! ;)
470
+ </p>
471
+ </div>
472
+ </div>
473
+
474
+ <div id="method-M000300" class="method-detail">
475
+ <a name="M000300"></a>
476
+
477
+ <div class="method-heading">
478
+ <a href="String.src/M000300.html" target="Code" class="method-signature"
479
+ onclick="popupCode('String.src/M000300.html');return false;">
480
+ <span class="method-name">braket!</span><span class="method-args">(bra, ket=nil)</span>
481
+ </a>
482
+ </div>
483
+
484
+ <div class="method-description">
485
+ <p>
486
+ Inplace version of <a href="String.html#M000299">braket</a>.
487
+ </p>
488
+ </div>
489
+ </div>
490
+
491
+ <div id="method-M000252" class="method-detail">
492
+ <a name="M000252"></a>
493
+
494
+ <div class="method-heading">
495
+ <span class="method-name">camelCase</span><span class="method-args">(first=false, on='_\s')</span>
496
+ </div>
497
+
498
+ <div class="method-description">
499
+ <p>
500
+ Alias for <a href="String.html#M000251">camelcase</a>
501
+ </p>
502
+ </div>
503
+ </div>
504
+
505
+ <div id="method-M000251" class="method-detail">
506
+ <a name="M000251"></a>
507
+
508
+ <div class="method-heading">
509
+ <a href="String.src/M000251.html" target="Code" class="method-signature"
510
+ onclick="popupCode('String.src/M000251.html');return false;">
511
+ <span class="method-name">camelcase</span><span class="method-args">(first=false, on='_\s')</span>
512
+ </a>
513
+ </div>
514
+
515
+ <div class="method-description">
516
+ <p>
517
+ Converts a string to camelcase. By default capitalization occurs on
518
+ whitespace and underscores. By setting the first parameter to <tt>true</tt>
519
+ the first character can also be captizlized. The second parameter can be
520
+ assigned a valid Regualr Expression characeter set to determine which
521
+ characters to match for capitalizing subsequent parts of the string.
522
+ </p>
523
+ <pre>
524
+ require 'facet/string/camelcase'
525
+
526
+ &quot;this_is a test&quot;.camelCase #=&gt; &quot;thisIsATest&quot;
527
+ &quot;this_is a test&quot;.camelCase(true) #=&gt; &quot;ThisIsATest&quot;
528
+ &quot;this_is a test&quot;.camelCase(true, ' ') #=&gt; &quot;This_isATest&quot;
529
+ </pre>
530
+ </div>
531
+ </div>
532
+
533
+ <div id="method-M000291" class="method-detail">
534
+ <a name="M000291"></a>
535
+
536
+ <div class="method-heading">
537
+ <a href="String.src/M000291.html" target="Code" class="method-signature"
538
+ onclick="popupCode('String.src/M000291.html');return false;">
539
+ <span class="method-name">capitalized?</span><span class="method-args">()</span>
540
+ </a>
541
+ </div>
542
+
543
+ <div class="method-description">
544
+ <p>
545
+ Is the string capitalized?
546
+ </p>
547
+ <pre>
548
+ require 'facet/string/case?'
549
+
550
+ &quot;THIS&quot;.capitalized? #=&gt; true
551
+ &quot;This&quot;.capitalized? #=&gt; true
552
+ &quot;this&quot;.capitalized? #=&gt; false
553
+ </pre>
554
+ </div>
555
+ </div>
556
+
557
+ <div id="method-M000250" class="method-detail">
558
+ <a name="M000250"></a>
559
+
560
+ <div class="method-heading">
561
+ <a href="String.src/M000250.html" target="Code" class="method-signature"
562
+ onclick="popupCode('String.src/M000250.html');return false;">
563
+ <span class="method-name">center_lines</span><span class="method-args">(n)</span>
564
+ </a>
565
+ </div>
566
+
567
+ <div class="method-description">
568
+ <p>
569
+ Centers each newline of a string. (This is probably how center itself
570
+ should work.)
571
+ </p>
572
+ <pre>
573
+ require 'facet/string/center_lines'
574
+
575
+ s = &lt;&lt;-EOS
576
+ This is a test
577
+ and
578
+ so on
579
+ EOS
580
+ puts s.center_lines(14)
581
+ </pre>
582
+ <p>
583
+ <em>produces</em>
584
+ </p>
585
+ <pre>
586
+ This is a test
587
+ and
588
+ so on
589
+ </pre>
590
+ </div>
591
+ </div>
592
+
593
+ <div id="method-M000270" class="method-detail">
594
+ <a name="M000270"></a>
595
+
596
+ <div class="method-heading">
597
+ <a href="String.src/M000270.html" target="Code" class="method-signature"
598
+ onclick="popupCode('String.src/M000270.html');return false;">
599
+ <span class="method-name">chars</span><span class="method-args">()</span>
600
+ </a>
601
+ </div>
602
+
603
+ <div class="method-description">
604
+ <p>
605
+ Returns an array of characters.
606
+ </p>
607
+ <pre>
608
+ require 'facet/string/chars'
609
+
610
+ &quot;abc&quot;.chars #=&gt; [&quot;a&quot;,&quot;b&quot;,&quot;c&quot;]
611
+ </pre>
612
+ </div>
613
+ </div>
614
+
615
+ <div id="method-M000253" class="method-detail">
616
+ <a name="M000253"></a>
617
+
618
+ <div class="method-heading">
619
+ <a href="String.src/M000253.html" target="Code" class="method-signature"
620
+ onclick="popupCode('String.src/M000253.html');return false;">
621
+ <span class="method-name">clump</span><span class="method-args">()</span>
622
+ </a>
623
+ </div>
624
+
625
+ <div class="method-description">
626
+ <p>
627
+ Returns a new string with all new lines removed from adjacent lines of
628
+ text.
629
+ </p>
630
+ <pre>
631
+ require 'facet/string/clump'
632
+
633
+ s = &quot;This is\na test.\n\nIt clumps\nlines of text.&quot;
634
+ s.clump
635
+ </pre>
636
+ <p>
637
+ <em>produces</em>
638
+ </p>
639
+ <pre>
640
+ &quot;This is a test.\n\nIt clumps lines of text. &quot;
641
+ </pre>
642
+ </div>
643
+ </div>
644
+
645
+ <div id="method-M000276" class="method-detail">
646
+ <a name="M000276"></a>
647
+
648
+ <div class="method-heading">
649
+ <a href="String.src/M000276.html" target="Code" class="method-signature"
650
+ onclick="popupCode('String.src/M000276.html');return false;">
651
+ <span class="method-name">cmp</span><span class="method-args">(other)</span>
652
+ </a>
653
+ </div>
654
+
655
+ <div class="method-description">
656
+ <p>
657
+ Compare method that takes length into account. Unlike #&lt;=&gt;, this is
658
+ compatible with <a href="String.html#M000275">succ</a>.
659
+ </p>
660
+ <pre>
661
+ require 'facet/string/cmp'
662
+
663
+ &quot;abc&quot;.cmp(&quot;abc&quot;) #=&gt; 0
664
+ &quot;abcd&quot;.cmp(&quot;abc&quot;) #=&gt; 1
665
+ &quot;abc&quot;.cmp(&quot;abcd&quot;) #=&gt; -1
666
+ &quot;xyz&quot;.cmp(&quot;abc&quot;) #=&gt; 1
667
+ </pre>
668
+ </div>
669
+ </div>
670
+
671
+ <div id="method-M000289" class="method-detail">
672
+ <a name="M000289"></a>
673
+
674
+ <div class="method-heading">
675
+ <a href="String.src/M000289.html" target="Code" class="method-signature"
676
+ onclick="popupCode('String.src/M000289.html');return false;">
677
+ <span class="method-name">downcase?</span><span class="method-args">()</span>
678
+ </a>
679
+ </div>
680
+
681
+ <div class="method-description">
682
+ <p>
683
+ Is the string downcase/lowercase?
684
+ </p>
685
+ <pre>
686
+ require 'facet/string/case?'
687
+
688
+ &quot;THIS&quot;.downcase? #=&gt; false
689
+ &quot;This&quot;.downcase? #=&gt; false
690
+ &quot;this&quot;.downcase? #=&gt; true
691
+ </pre>
692
+ </div>
693
+ </div>
694
+
695
+ <div id="method-M000244" class="method-detail">
696
+ <a name="M000244"></a>
697
+
698
+ <div class="method-heading">
699
+ <a href="String.src/M000244.html" target="Code" class="method-signature"
700
+ onclick="popupCode('String.src/M000244.html');return false;">
701
+ <span class="method-name">dresner</span><span class="method-args">()</span>
702
+ </a>
703
+ </div>
704
+
705
+ <div class="method-description">
706
+ <p>
707
+ Scramble the inner characters of words leaving the text still readable
708
+ (research at Cambridge University, code by KurtDresner). For example:
709
+ </p>
710
+ <pre>
711
+ Srblamce the iennr cchrteaars of wodrs lvenaig the txet stlil rbeaadle
712
+ (rreceash at Cbamigdre Uverintisy, cdoe by KrneruestDr?)
713
+ </pre>
714
+ <p>
715
+ Usage:
716
+ </p>
717
+ <pre>
718
+ require 'facet/string/dresner'
719
+
720
+ &quot;this&quot;.dresner #=&gt; &quot;tihs&quot;
721
+ </pre>
722
+ </div>
723
+ </div>
724
+
725
+ <div id="method-M000245" class="method-detail">
726
+ <a name="M000245"></a>
727
+
728
+ <div class="method-heading">
729
+ <a href="String.src/M000245.html" target="Code" class="method-signature"
730
+ onclick="popupCode('String.src/M000245.html');return false;">
731
+ <span class="method-name">dresner!</span><span class="method-args">()</span>
732
+ </a>
733
+ </div>
734
+
735
+ <div class="method-description">
736
+ <p>
737
+ Inplace version of <a href="String.html#M000244">dresner</a> method.
738
+ </p>
739
+ </div>
740
+ </div>
741
+
742
+ <div id="method-M000305" class="method-detail">
743
+ <a name="M000305"></a>
744
+
745
+ <div class="method-heading">
746
+ <a href="String.src/M000305.html" target="Code" class="method-signature"
747
+ onclick="popupCode('String.src/M000305.html');return false;">
748
+ <span class="method-name">each_word</span><span class="method-args">( &amp;yld )</span>
749
+ </a>
750
+ </div>
751
+
752
+ <div class="method-description">
753
+ <p>
754
+ Iterate through each word of a string.
755
+ </p>
756
+ <pre>
757
+ require 'facet/string/each_word'
758
+
759
+ &quot;a string&quot;.each_word { |word, range| ... }
760
+ </pre>
761
+ </div>
762
+ </div>
763
+
764
+ <div id="method-M000262" class="method-detail">
765
+ <a name="M000262"></a>
766
+
767
+ <div class="method-heading">
768
+ <a href="String.src/M000262.html" target="Code" class="method-signature"
769
+ onclick="popupCode('String.src/M000262.html');return false;">
770
+ <span class="method-name">first</span><span class="method-args">(n=1, separator=$/)</span>
771
+ </a>
772
+ </div>
773
+
774
+ <div class="method-description">
775
+ <p>
776
+ Returns first <em>n</em> separations. The default separator is <tt>$/</tt>.
777
+ If a zero-length record separator is supplied, the string is split on
778
+ /\n+/. If the record separator is set to <tt>nil</tt>, then the string is
779
+ split on /\s+/.
780
+ </p>
781
+ <pre>
782
+ require 'facet/string/first&amp;last'
783
+
784
+ &quot;Hello World&quot;.first(3) #=&gt; &quot;Hel&quot;
785
+ </pre>
786
+ </div>
787
+ </div>
788
+
789
+ <div id="method-M000266" class="method-detail">
790
+ <a name="M000266"></a>
791
+
792
+ <div class="method-heading">
793
+ <a href="String.src/M000266.html" target="Code" class="method-signature"
794
+ onclick="popupCode('String.src/M000266.html');return false;">
795
+ <span class="method-name">first!</span><span class="method-args">(str)</span>
796
+ </a>
797
+ </div>
798
+
799
+ <div class="method-description">
800
+ <p>
801
+ Prepends a string to front of the string.
802
+ </p>
803
+ <pre>
804
+ require 'facet/string/first&amp;last'
805
+
806
+ &quot;Hello World&quot;.first = &quot;Hello,&quot; #=&gt; &quot;Hello, Hello World&quot;
807
+ </pre>
808
+ </div>
809
+ </div>
810
+
811
+ <div id="method-M000264" class="method-detail">
812
+ <a name="M000264"></a>
813
+
814
+ <div class="method-heading">
815
+ <a href="String.src/M000264.html" target="Code" class="method-signature"
816
+ onclick="popupCode('String.src/M000264.html');return false;">
817
+ <span class="method-name">first=</span><span class="method-args">(str, separator=$/)</span>
818
+ </a>
819
+ </div>
820
+
821
+ <div class="method-description">
822
+ <p>
823
+ Replaces the first seperation with a new string. If a zero-length record
824
+ separator is supplied, the string is split on /\n+/. If the record
825
+ separator is set to <tt>nil</tt>, then the string is split on characters.
826
+ </p>
827
+ <pre>
828
+ require 'facet/string/first&amp;last'
829
+
830
+ $/ = nil
831
+ &quot;Hello World&quot;.first = &quot;Hello,&quot; #=&gt; &quot;Hello, Hello World&quot;
832
+ </pre>
833
+ </div>
834
+ </div>
835
+
836
+ <div id="method-M000268" class="method-detail">
837
+ <a name="M000268"></a>
838
+
839
+ <div class="method-heading">
840
+ <a href="String.src/M000268.html" target="Code" class="method-signature"
841
+ onclick="popupCode('String.src/M000268.html');return false;">
842
+ <span class="method-name">first_char</span><span class="method-args">(n=nil)</span>
843
+ </a>
844
+ </div>
845
+
846
+ <div class="method-description">
847
+ <p>
848
+ Returns first <em>n</em> characters.
849
+ </p>
850
+ <pre>
851
+ require 'facet/string/first&amp;last'
852
+
853
+ &quot;Hello World&quot;.first(3) #=&gt; &quot;Hel&quot;
854
+ </pre>
855
+ </div>
856
+ </div>
857
+
858
+ <div id="method-M000271" class="method-detail">
859
+ <a name="M000271"></a>
860
+
861
+ <div class="method-heading">
862
+ <a href="String.src/M000271.html" target="Code" class="method-signature"
863
+ onclick="popupCode('String.src/M000271.html');return false;">
864
+ <span class="method-name">first_chars</span><span class="method-args">(n=1)</span>
865
+ </a>
866
+ </div>
867
+
868
+ <div class="method-description">
869
+ <p>
870
+ Returns first n characters.
871
+ </p>
872
+ <pre>
873
+ require 'facet/string/first&amp;last'
874
+
875
+ &quot;Hello World&quot;.first(3) #=&gt; &quot;Hel&quot;
876
+ </pre>
877
+ </div>
878
+ </div>
879
+
880
+ <div id="method-M000294" class="method-detail">
881
+ <a name="M000294"></a>
882
+
883
+ <div class="method-heading">
884
+ <a href="String.src/M000294.html" target="Code" class="method-signature"
885
+ onclick="popupCode('String.src/M000294.html');return false;">
886
+ <span class="method-name">format</span><span class="method-args">()</span>
887
+ </a>
888
+ </div>
889
+
890
+ <div class="method-description">
891
+ <p>
892
+ The <a href="String.html#M000294">format</a> mehtod is a special toolbox
893
+ method, or methodbox. Within it are a collection of finer methods.
894
+ </p>
895
+ <pre>
896
+ require 'facet/string/format'
897
+
898
+ &quot;dogthispony&quot;.format.camelcase #=&gt; &quot;DogThisPony&quot;
899
+ </pre>
900
+ </div>
901
+ </div>
902
+
903
+ <div id="method-M000274" class="method-detail">
904
+ <a name="M000274"></a>
905
+
906
+ <div class="method-heading">
907
+ <a href="String.src/M000274.html" target="Code" class="method-signature"
908
+ onclick="popupCode('String.src/M000274.html');return false;">
909
+ <span class="method-name">fuzzy_match</span><span class="method-args">( str_in )</span>
910
+ </a>
911
+ </div>
912
+
913
+ <div class="method-description">
914
+ <p>
915
+ A fuzzy matching mechanism. Returns a score from 0-1, based on the number
916
+ of shared edges. (matches of a sequence of characters of length 2 or more)
917
+ </p>
918
+ <pre>
919
+ &quot;Alexsander&quot;.fuzzy_match( &quot;Aleksander&quot; ) #=&gt; 0.9
920
+ </pre>
921
+ <p>
922
+ The way it works:
923
+ </p>
924
+ <ul>
925
+ <li>Converts each string into a &quot;graph like&quot; object, with edges
926
+
927
+ <pre>
928
+ &quot;alexsander&quot; - &gt; [ alexsander, alexsand, alexsan ... lexsand ... san ... an, etc ]
929
+ &quot;aleksander&quot; - &gt; [ aleksander, aleksand ... etc. ]
930
+ </pre>
931
+ </li>
932
+ <li>Perform match, then remove any subsets from this matched set (i.e. a hit on
933
+ &quot;san&quot; is a subset of a hit on &quot;sander&quot;)
934
+
935
+ <pre>
936
+ Above example, once reduced -&gt; [ ale, sander ]
937
+ </pre>
938
+ </li>
939
+ <li>See&#8217;s how many of the matches remain, and calculates a score based on
940
+ how many matches, their length, and compare to the length of the larger of
941
+ the two words.
942
+
943
+ </li>
944
+ </ul>
945
+ </div>
946
+ </div>
947
+
948
+ <div id="method-M000296" class="method-detail">
949
+ <a name="M000296"></a>
950
+
951
+ <div class="method-heading">
952
+ <a href="String.src/M000296.html" target="Code" class="method-signature"
953
+ onclick="popupCode('String.src/M000296.html');return false;">
954
+ <span class="method-name">indent</span><span class="method-args">(n)</span>
955
+ </a>
956
+ </div>
957
+
958
+ <div class="method-description">
959
+ <p>
960
+ Indent left or right by n spaces. (This used to be called <a
961
+ href="String.html#M000297">tab</a> and aliased as <a
962
+ href="String.html#M000296">indent</a>.)
963
+ </p>
964
+ <pre>
965
+ require 'facet/string/tab'
966
+ </pre>
967
+ </div>
968
+ </div>
969
+
970
+ <div id="method-M000306" class="method-detail">
971
+ <a name="M000306"></a>
972
+
973
+ <div class="method-heading">
974
+ <a href="String.src/M000306.html" target="Code" class="method-signature"
975
+ onclick="popupCode('String.src/M000306.html');return false;">
976
+ <span class="method-name">index_all</span><span class="method-args">(s, reuse=false)</span>
977
+ </a>
978
+ </div>
979
+
980
+ <div class="method-description">
981
+ <p>
982
+ Like index but returns an array of all index locations. The reuse flag
983
+ allows the trailing portion of a match to be reused for subsquent matches.
984
+ </p>
985
+ <pre>
986
+ require 'facet/string/index_all'
987
+
988
+ &quot;abcabcabc&quot;.index_all('a') #=&gt; [0,3,6]
989
+ </pre>
990
+ </div>
991
+ </div>
992
+
993
+ <div id="method-M000273" class="method-detail">
994
+ <a name="M000273"></a>
995
+
996
+ <div class="method-heading">
997
+ <a href="String.src/M000273.html" target="Code" class="method-signature"
998
+ onclick="popupCode('String.src/M000273.html');return false;">
999
+ <span class="method-name">inflect</span><span class="method-args">()</span>
1000
+ </a>
1001
+ </div>
1002
+
1003
+ <div class="method-description">
1004
+ </div>
1005
+ </div>
1006
+
1007
+ <div id="method-M000263" class="method-detail">
1008
+ <a name="M000263"></a>
1009
+
1010
+ <div class="method-heading">
1011
+ <a href="String.src/M000263.html" target="Code" class="method-signature"
1012
+ onclick="popupCode('String.src/M000263.html');return false;">
1013
+ <span class="method-name">last</span><span class="method-args">(n=1, separator=$/)</span>
1014
+ </a>
1015
+ </div>
1016
+
1017
+ <div class="method-description">
1018
+ <p>
1019
+ Returns last <em>n</em> separations. If a zero-length record separator is
1020
+ supplied, the string is split on /\n+/. If the record separator is set to
1021
+ <tt>nil</tt>, then the string is split on /\s+/.
1022
+ </p>
1023
+ <pre>
1024
+ require 'facet/string/first&amp;last'
1025
+
1026
+ &quot;Hello World&quot;.last(1,nil) #=&gt; &quot;World&quot;
1027
+ </pre>
1028
+ </div>
1029
+ </div>
1030
+
1031
+ <div id="method-M000267" class="method-detail">
1032
+ <a name="M000267"></a>
1033
+
1034
+ <div class="method-heading">
1035
+ <a href="String.src/M000267.html" target="Code" class="method-signature"
1036
+ onclick="popupCode('String.src/M000267.html');return false;">
1037
+ <span class="method-name">last!</span><span class="method-args">(str)</span>
1038
+ </a>
1039
+ </div>
1040
+
1041
+ <div class="method-description">
1042
+ <p>
1043
+ Appends a string to end of the string.
1044
+ </p>
1045
+ <pre>
1046
+ require 'facet/string/first&amp;last'
1047
+
1048
+ &quot;Hello World&quot;.last = &quot;. Bye.&quot; #=&gt; &quot;Hello World. Bye.&quot;
1049
+ </pre>
1050
+ </div>
1051
+ </div>
1052
+
1053
+ <div id="method-M000265" class="method-detail">
1054
+ <a name="M000265"></a>
1055
+
1056
+ <div class="method-heading">
1057
+ <a href="String.src/M000265.html" target="Code" class="method-signature"
1058
+ onclick="popupCode('String.src/M000265.html');return false;">
1059
+ <span class="method-name">last=</span><span class="method-args">(str, separator=$/)</span>
1060
+ </a>
1061
+ </div>
1062
+
1063
+ <div class="method-description">
1064
+ <p>
1065
+ Replaces the last separation with a new string. If a zero-length record
1066
+ separator is supplied, the string is split on /\n+/. If the record
1067
+ separator is set to <tt>nil</tt>, then the string is split on characters. #
1068
+ </p>
1069
+ <pre>
1070
+ require 'facet/string/first&amp;last'
1071
+
1072
+ $/ = ''
1073
+ &quot;Hello World&quot;.last = &quot;, Bye.&quot; #=&gt; &quot;Hello World, Bye.&quot;
1074
+ </pre>
1075
+ </div>
1076
+ </div>
1077
+
1078
+ <div id="method-M000269" class="method-detail">
1079
+ <a name="M000269"></a>
1080
+
1081
+ <div class="method-heading">
1082
+ <a href="String.src/M000269.html" target="Code" class="method-signature"
1083
+ onclick="popupCode('String.src/M000269.html');return false;">
1084
+ <span class="method-name">last_char</span><span class="method-args">(n=nil)</span>
1085
+ </a>
1086
+ </div>
1087
+
1088
+ <div class="method-description">
1089
+ <p>
1090
+ Returns last <em>n</em> characters.
1091
+ </p>
1092
+ <pre>
1093
+ require 'facet/string/first&amp;last'
1094
+
1095
+ &quot;Hello World&quot;.last(3) #=&gt; &quot;rld&quot;
1096
+ </pre>
1097
+ </div>
1098
+ </div>
1099
+
1100
+ <div id="method-M000272" class="method-detail">
1101
+ <a name="M000272"></a>
1102
+
1103
+ <div class="method-heading">
1104
+ <a href="String.src/M000272.html" target="Code" class="method-signature"
1105
+ onclick="popupCode('String.src/M000272.html');return false;">
1106
+ <span class="method-name">last_chars</span><span class="method-args">(n=1)</span>
1107
+ </a>
1108
+ </div>
1109
+
1110
+ <div class="method-description">
1111
+ <p>
1112
+ Returns last n characters.
1113
+ </p>
1114
+ <pre>
1115
+ require 'facet/string/first&amp;last'
1116
+
1117
+ &quot;Hello World&quot;.last(3) #=&gt; &quot;rld&quot;
1118
+ </pre>
1119
+ </div>
1120
+ </div>
1121
+
1122
+ <div id="method-M000254" class="method-detail">
1123
+ <a name="M000254"></a>
1124
+
1125
+ <div class="method-heading">
1126
+ <a href="String.src/M000254.html" target="Code" class="method-signature"
1127
+ onclick="popupCode('String.src/M000254.html');return false;">
1128
+ <span class="method-name">line_to_char_map</span><span class="method-args">()</span>
1129
+ </a>
1130
+ </div>
1131
+
1132
+ <div class="method-description">
1133
+ <p>
1134
+ Returns an array of ranges mapping the characters per line.
1135
+ </p>
1136
+ <pre>
1137
+ require 'facet/string/line_to_char_map'
1138
+
1139
+ &quot;this\nis\na\ntest&quot;.line_to_char_map
1140
+ #=&gt; [0..4, 5..7, 8..9, 10..13]
1141
+ </pre>
1142
+ </div>
1143
+ </div>
1144
+
1145
+ <div id="method-M000293" class="method-detail">
1146
+ <a name="M000293"></a>
1147
+
1148
+ <div class="method-heading">
1149
+ <a href="String.src/M000293.html" target="Code" class="method-signature"
1150
+ onclick="popupCode('String.src/M000293.html');return false;">
1151
+ <span class="method-name">line_wrap</span><span class="method-args">(width)</span>
1152
+ </a>
1153
+ </div>
1154
+
1155
+ <div class="method-description">
1156
+ <p>
1157
+ Line wrap at width.
1158
+ </p>
1159
+ <pre>
1160
+ require 'facet/string/line_wrap'
1161
+
1162
+ puts &quot;Here and there&quot;.line_wrap(5)
1163
+ </pre>
1164
+ <p>
1165
+ <em>produces</em>
1166
+ </p>
1167
+ <pre>
1168
+ Here
1169
+ and t
1170
+ here
1171
+ </pre>
1172
+ </div>
1173
+ </div>
1174
+
1175
+ <div id="method-M000290" class="method-detail">
1176
+ <a name="M000290"></a>
1177
+
1178
+ <div class="method-heading">
1179
+ <span class="method-name">lowercase?</span><span class="method-args">()</span>
1180
+ </div>
1181
+
1182
+ <div class="method-description">
1183
+ <p>
1184
+ Alias for <a href="String.html#M000289">downcase?</a>
1185
+ </p>
1186
+ </div>
1187
+ </div>
1188
+
1189
+ <div id="method-M000255" class="method-detail">
1190
+ <a name="M000255"></a>
1191
+
1192
+ <div class="method-heading">
1193
+ <a href="String.src/M000255.html" target="Code" class="method-signature"
1194
+ onclick="popupCode('String.src/M000255.html');return false;">
1195
+ <span class="method-name">margin</span><span class="method-args">(n=0,d='|')</span>
1196
+ </a>
1197
+ </div>
1198
+
1199
+ <div class="method-description">
1200
+ <p>
1201
+ Provides a margin controlled string.
1202
+ </p>
1203
+ <pre>
1204
+ require 'facet/string/margin'
1205
+
1206
+ x = %Q{
1207
+ | This
1208
+ | is
1209
+ | margin controlled!
1210
+ }.margin
1211
+ </pre>
1212
+ </div>
1213
+ </div>
1214
+
1215
+ <div id="method-M000307" class="method-detail">
1216
+ <a name="M000307"></a>
1217
+
1218
+ <div class="method-heading">
1219
+ <a href="String.src/M000307.html" target="Code" class="method-signature"
1220
+ onclick="popupCode('String.src/M000307.html');return false;">
1221
+ <span class="method-name">mscan</span><span class="method-args">(re) {|| ...}</span>
1222
+ </a>
1223
+ </div>
1224
+
1225
+ <div class="method-description">
1226
+ <p>
1227
+ Like scan but returns <a href="MatchData.html">MatchData</a> ($~) rather
1228
+ then matched string ($&amp;).
1229
+ </p>
1230
+ <pre>
1231
+ require 'facet/string/mscan'
1232
+ </pre>
1233
+ </div>
1234
+ </div>
1235
+
1236
+ <div id="method-M000309" class="method-detail">
1237
+ <a name="M000309"></a>
1238
+
1239
+ <div class="method-heading">
1240
+ <a href="String.src/M000309.html" target="Code" class="method-signature"
1241
+ onclick="popupCode('String.src/M000309.html');return false;">
1242
+ <span class="method-name">natcmp</span><span class="method-args">(str2, caseInsensitive=false)</span>
1243
+ </a>
1244
+ </div>
1245
+
1246
+ <div class="method-description">
1247
+ <p>
1248
+ &#8216;Natural order&#8217; comparison of two strings, e.g.
1249
+ </p>
1250
+ <pre>
1251
+ &quot;my_prog_v1.1.0&quot; &lt; &quot;my_prog_v1.2.0&quot; &lt; &quot;my_prog_v1.10.0&quot;
1252
+ </pre>
1253
+ <p>
1254
+ which does not follow alphabetically. A secondary parameter, if set to
1255
+ <em>true</em>, makes the comparison case insensitive.
1256
+ </p>
1257
+ <pre>
1258
+ require 'facet/string/natcmp'
1259
+
1260
+ &quot;Hello.10&quot;.natcmp(&quot;Hello.1&quot;) #=&gt; -1
1261
+ </pre>
1262
+ </div>
1263
+ </div>
1264
+
1265
+ <div id="method-M000279" class="method-detail">
1266
+ <a name="M000279"></a>
1267
+
1268
+ <div class="method-heading">
1269
+ <a href="String.src/M000279.html" target="Code" class="method-signature"
1270
+ onclick="popupCode('String.src/M000279.html');return false;">
1271
+ <span class="method-name">rand_byte</span><span class="method-args">()</span>
1272
+ </a>
1273
+ </div>
1274
+
1275
+ <div class="method-description">
1276
+ <p>
1277
+ Return a random byte of <em>self</em>.
1278
+ </p>
1279
+ <pre>
1280
+ require 'facet/string/at_rand'
1281
+
1282
+ &quot;Ruby rules&quot;.rand_byte #=&gt; 121
1283
+ </pre>
1284
+ </div>
1285
+ </div>
1286
+
1287
+ <div id="method-M000280" class="method-detail">
1288
+ <a name="M000280"></a>
1289
+
1290
+ <div class="method-heading">
1291
+ <a href="String.src/M000280.html" target="Code" class="method-signature"
1292
+ onclick="popupCode('String.src/M000280.html');return false;">
1293
+ <span class="method-name">rand_byte!</span><span class="method-args">()</span>
1294
+ </a>
1295
+ </div>
1296
+
1297
+ <div class="method-description">
1298
+ <p>
1299
+ Destructive pick_byte. Delete a random byte of <em>self</em> and return it.
1300
+ </p>
1301
+ <pre>
1302
+ require 'facet/string/at_rand'
1303
+
1304
+ s = &quot;Ruby rules&quot;
1305
+ s.pick_byte! #=&gt; 121
1306
+ s #=&gt; &quot;Rub rules&quot;
1307
+ </pre>
1308
+ </div>
1309
+ </div>
1310
+
1311
+ <div id="method-M000281" class="method-detail">
1312
+ <a name="M000281"></a>
1313
+
1314
+ <div class="method-heading">
1315
+ <a href="String.src/M000281.html" target="Code" class="method-signature"
1316
+ onclick="popupCode('String.src/M000281.html');return false;">
1317
+ <span class="method-name">rand_char</span><span class="method-args">()</span>
1318
+ </a>
1319
+ </div>
1320
+
1321
+ <div class="method-description">
1322
+ <p>
1323
+ Return a single-character string of a random character in <em>self</em>.
1324
+ </p>
1325
+ <pre>
1326
+ require 'facet/string/at_rand'
1327
+
1328
+ &quot;Ruby rules&quot;.rand_char #=&gt; &quot;y&quot;
1329
+ </pre>
1330
+ </div>
1331
+ </div>
1332
+
1333
+ <div id="method-M000282" class="method-detail">
1334
+ <a name="M000282"></a>
1335
+
1336
+ <div class="method-heading">
1337
+ <a href="String.src/M000282.html" target="Code" class="method-signature"
1338
+ onclick="popupCode('String.src/M000282.html');return false;">
1339
+ <span class="method-name">rand_char!</span><span class="method-args">()</span>
1340
+ </a>
1341
+ </div>
1342
+
1343
+ <div class="method-description">
1344
+ <p>
1345
+ Destructive pick_char. Delete a random character of the string and return
1346
+ it as a single-character string.
1347
+ </p>
1348
+ <pre>
1349
+ require 'facet/string/at_rand'
1350
+
1351
+ s = &quot;Ruby rules&quot;
1352
+ s.pick_char! #=&gt; &quot;y&quot;
1353
+ s #=&gt; &quot;Rub rules&quot;
1354
+ </pre>
1355
+ </div>
1356
+ </div>
1357
+
1358
+ <div id="method-M000283" class="method-detail">
1359
+ <a name="M000283"></a>
1360
+
1361
+ <div class="method-heading">
1362
+ <a href="String.src/M000283.html" target="Code" class="method-signature"
1363
+ onclick="popupCode('String.src/M000283.html');return false;">
1364
+ <span class="method-name">rand_index</span><span class="method-args">()</span>
1365
+ </a>
1366
+ </div>
1367
+
1368
+ <div class="method-description">
1369
+ <p>
1370
+ Return a random string index.
1371
+ </p>
1372
+ <pre>
1373
+ require 'facet/string/at_rand'
1374
+
1375
+ &quot;Ruby rules&quot;.rand_index #=&gt; 3
1376
+ </pre>
1377
+ </div>
1378
+ </div>
1379
+
1380
+ <div id="method-M000284" class="method-detail">
1381
+ <a name="M000284"></a>
1382
+
1383
+ <div class="method-heading">
1384
+ <a href="String.src/M000284.html" target="Code" class="method-signature"
1385
+ onclick="popupCode('String.src/M000284.html');return false;">
1386
+ <span class="method-name">range</span><span class="method-args">(s, offset=0)</span>
1387
+ </a>
1388
+ </div>
1389
+
1390
+ <div class="method-description">
1391
+ <p>
1392
+ Like index but returns a <a href="Range.html">Range</a>.
1393
+ </p>
1394
+ <pre>
1395
+ require 'facet/string/range'
1396
+
1397
+ &quot;This is a test!&quot;.rand('test') #=&gt; 10..13
1398
+ </pre>
1399
+ </div>
1400
+ </div>
1401
+
1402
+ <div id="method-M000285" class="method-detail">
1403
+ <a name="M000285"></a>
1404
+
1405
+ <div class="method-heading">
1406
+ <a href="String.src/M000285.html" target="Code" class="method-signature"
1407
+ onclick="popupCode('String.src/M000285.html');return false;">
1408
+ <span class="method-name">range_all</span><span class="method-args">(s, reuse=false)</span>
1409
+ </a>
1410
+ </div>
1411
+
1412
+ <div class="method-description">
1413
+ <p>
1414
+ Like <a href="String.html#M000306">index_all</a> but returns an array of
1415
+ Ranges.
1416
+ </p>
1417
+ <pre>
1418
+ require 'facet/string/range'
1419
+
1420
+ &quot;abc123abc123&quot;.range_all('abc') #=&gt; [0..2, 6..8]
1421
+ </pre>
1422
+ </div>
1423
+ </div>
1424
+
1425
+ <div id="method-M000308" class="method-detail">
1426
+ <a name="M000308"></a>
1427
+
1428
+ <div class="method-heading">
1429
+ <a href="String.src/M000308.html" target="Code" class="method-signature"
1430
+ onclick="popupCode('String.src/M000308.html');return false;">
1431
+ <span class="method-name">shatter</span><span class="method-args">( re )</span>
1432
+ </a>
1433
+ </div>
1434
+
1435
+ <div class="method-description">
1436
+ <p>
1437
+ Breaks a string up into an array based on a regular expression. Similar to
1438
+ scan, but includes the matches.
1439
+ </p>
1440
+ <pre>
1441
+ require 'facet/string/shatter'
1442
+
1443
+ s = &quot;&lt;p&gt;This&lt;b&gt;is&lt;/b&gt;a test.&lt;/p&gt;&quot;
1444
+ s.shatter( // )
1445
+ </pre>
1446
+ <p>
1447
+ <em>produces</em>
1448
+ </p>
1449
+ <pre>
1450
+ [&quot;&quot;, &quot;&lt;p&gt;&quot;, &quot;This&quot;, &quot;&lt;b&gt;&quot;, &quot;is&quot;, &quot;&lt;/b&gt;&quot;, &quot;a test.&quot;, &quot;&lt;/p&gt;&quot;]
1451
+ </pre>
1452
+ </div>
1453
+ </div>
1454
+
1455
+ <div id="method-M000301" class="method-detail">
1456
+ <a name="M000301"></a>
1457
+
1458
+ <div class="method-heading">
1459
+ <a href="String.src/M000301.html" target="Code" class="method-signature"
1460
+ onclick="popupCode('String.src/M000301.html');return false;">
1461
+ <span class="method-name">shuffle</span><span class="method-args">(separator=$/)</span>
1462
+ </a>
1463
+ </div>
1464
+
1465
+ <div class="method-description">
1466
+ <p>
1467
+ Return the string with characters arranged in random order.
1468
+ </p>
1469
+ <pre>
1470
+ require 'facet/string/pick'
1471
+
1472
+ &quot;Ruby rules&quot;.shuffle_chars #=&gt; &quot;e lybRsuur&quot;
1473
+ </pre>
1474
+ </div>
1475
+ </div>
1476
+
1477
+ <div id="method-M000302" class="method-detail">
1478
+ <a name="M000302"></a>
1479
+
1480
+ <div class="method-heading">
1481
+ <a href="String.src/M000302.html" target="Code" class="method-signature"
1482
+ onclick="popupCode('String.src/M000302.html');return false;">
1483
+ <span class="method-name">shuffle!</span><span class="method-args">(separator=$/)</span>
1484
+ </a>
1485
+ </div>
1486
+
1487
+ <div class="method-description">
1488
+ <p>
1489
+ Destructive <a href="String.html#M000303">shuffle_chars</a>. Arrange the
1490
+ characters of the string in a new random order.
1491
+ </p>
1492
+ <pre>
1493
+ require 'facet/string/pick'
1494
+
1495
+ s = &quot;Ruby rules&quot;.shuffle_chars
1496
+ s.shuffle_chars!
1497
+ s #=&gt; &quot;e lybRsuur&quot;
1498
+ </pre>
1499
+ </div>
1500
+ </div>
1501
+
1502
+ <div id="method-M000303" class="method-detail">
1503
+ <a name="M000303"></a>
1504
+
1505
+ <div class="method-heading">
1506
+ <a href="String.src/M000303.html" target="Code" class="method-signature"
1507
+ onclick="popupCode('String.src/M000303.html');return false;">
1508
+ <span class="method-name">shuffle_chars</span><span class="method-args">()</span>
1509
+ </a>
1510
+ </div>
1511
+
1512
+ <div class="method-description">
1513
+ <p>
1514
+ Return the string with characters arranged in random order.
1515
+ </p>
1516
+ <pre>
1517
+ require 'facet/string/pick'
1518
+
1519
+ &quot;Ruby rules&quot;.shuffle_chars #=&gt; &quot;e lybRsuur&quot;
1520
+ </pre>
1521
+ </div>
1522
+ </div>
1523
+
1524
+ <div id="method-M000304" class="method-detail">
1525
+ <a name="M000304"></a>
1526
+
1527
+ <div class="method-heading">
1528
+ <a href="String.src/M000304.html" target="Code" class="method-signature"
1529
+ onclick="popupCode('String.src/M000304.html');return false;">
1530
+ <span class="method-name">shuffle_chars!</span><span class="method-args">()</span>
1531
+ </a>
1532
+ </div>
1533
+
1534
+ <div class="method-description">
1535
+ <p>
1536
+ Destructive <a href="String.html#M000303">shuffle_chars</a>. Arrange the
1537
+ characters of the string in a new random order.
1538
+ </p>
1539
+ <pre>
1540
+ require 'facet/string/pick'
1541
+
1542
+ s = &quot;Ruby rules&quot;.shuffle_chars
1543
+ s.shuffle_chars!
1544
+ s #=&gt; &quot;e lybRsuur&quot;
1545
+ </pre>
1546
+ </div>
1547
+ </div>
1548
+
1549
+ <div id="method-M000275" class="method-detail">
1550
+ <a name="M000275"></a>
1551
+
1552
+ <div class="method-heading">
1553
+ <a href="String.src/M000275.html" target="Code" class="method-signature"
1554
+ onclick="popupCode('String.src/M000275.html');return false;">
1555
+ <span class="method-name">succ</span><span class="method-args">(n=1)</span>
1556
+ </a>
1557
+ </div>
1558
+
1559
+ <div class="method-description">
1560
+ <p>
1561
+ Allows <a href="String.html#M000275">succ</a> to take <em>n</em> step
1562
+ increments.
1563
+ </p>
1564
+ <pre>
1565
+ require 'facet/string/succ'
1566
+
1567
+ &quot;abc&quot;.succ #=&gt; &quot;abd&quot;
1568
+ &quot;abc&quot;.succ(4) #=&gt; &quot;abg&quot;
1569
+ &quot;abc&quot;.succ(24) #=&gt; &quot;aca&quot;
1570
+ </pre>
1571
+ </div>
1572
+ </div>
1573
+
1574
+ <div id="method-M000297" class="method-detail">
1575
+ <a name="M000297"></a>
1576
+
1577
+ <div class="method-heading">
1578
+ <a href="String.src/M000297.html" target="Code" class="method-signature"
1579
+ onclick="popupCode('String.src/M000297.html');return false;">
1580
+ <span class="method-name">tab</span><span class="method-args">(n)</span>
1581
+ </a>
1582
+ </div>
1583
+
1584
+ <div class="method-description">
1585
+ <p>
1586
+ Aligns each line n spaces this used to be taballto.
1587
+ </p>
1588
+ <pre>
1589
+ require 'facet/string/tab'
1590
+ </pre>
1591
+ </div>
1592
+ </div>
1593
+
1594
+ <div id="method-M000298" class="method-detail">
1595
+ <a name="M000298"></a>
1596
+
1597
+ <div class="method-heading">
1598
+ <a href="String.src/M000298.html" target="Code" class="method-signature"
1599
+ onclick="popupCode('String.src/M000298.html');return false;">
1600
+ <span class="method-name">tabto</span><span class="method-args">(n)</span>
1601
+ </a>
1602
+ </div>
1603
+
1604
+ <div class="method-description">
1605
+ <p>
1606
+ Preserves relative tabbing. The first non-empty line ends up with n spaces
1607
+ before nonspace.
1608
+ </p>
1609
+ <pre>
1610
+ require 'facet/string/tab'
1611
+ </pre>
1612
+ </div>
1613
+ </div>
1614
+
1615
+ <div id="method-M000286" class="method-detail">
1616
+ <a name="M000286"></a>
1617
+
1618
+ <div class="method-heading">
1619
+ <a href="String.src/M000286.html" target="Code" class="method-signature"
1620
+ onclick="popupCode('String.src/M000286.html');return false;">
1621
+ <span class="method-name">to_b</span><span class="method-args">()</span>
1622
+ </a>
1623
+ </div>
1624
+
1625
+ <div class="method-description">
1626
+ <p>
1627
+ Interpret common affirmative string meanings as true, otherwise false.
1628
+ Balnk sapce and case are ignored. The following strings that will return
1629
+ true:
1630
+ </p>
1631
+ <pre>
1632
+ &lt;tt&gt;true&lt;/tt&gt;,&lt;tt&gt;yes&lt;/tt&gt;,&lt;tt&gt;on&lt;/tt&gt;,&lt;tt&gt;t&lt;/tt&gt;,&lt;tt&gt;1&lt;/tt&gt;,&lt;tt&gt;y&lt;/tt&gt;,&lt;tt&gt;==&lt;/tt&gt;
1633
+ </pre>
1634
+ <p>
1635
+ Examples:
1636
+ </p>
1637
+ <pre>
1638
+ require 'facet/string/to_b'
1639
+
1640
+ &quot;true&quot;.to_b #=&gt; true
1641
+ &quot;yes&quot;.to_b #=&gt; true
1642
+ &quot;no&quot;.to_b #=&gt; false
1643
+ &quot;123&quot;.to_b #=&gt; false
1644
+ </pre>
1645
+ </div>
1646
+ </div>
1647
+
1648
+ <div id="method-M000295" class="method-detail">
1649
+ <a name="M000295"></a>
1650
+
1651
+ <div class="method-heading">
1652
+ <a href="String.src/M000295.html" target="Code" class="method-signature"
1653
+ onclick="popupCode('String.src/M000295.html');return false;">
1654
+ <span class="method-name">to_const</span><span class="method-args">()</span>
1655
+ </a>
1656
+ </div>
1657
+
1658
+ <div class="method-description">
1659
+ <p>
1660
+ Get a constant by a given string name.
1661
+ </p>
1662
+ <pre>
1663
+ require 'facet/string/to_const'
1664
+
1665
+ &quot;Class&quot;.to_const #=&gt; Class
1666
+ </pre>
1667
+ <p>
1668
+ Note this method is not as verstile as it should be, since it can not
1669
+ access contants relative to the current execution context. But without a
1670
+ binding_of_caller that does not seem possible.
1671
+ </p>
1672
+ </div>
1673
+ </div>
1674
+
1675
+ <div id="method-M000261" class="method-detail">
1676
+ <a name="M000261"></a>
1677
+
1678
+ <div class="method-heading">
1679
+ <a href="String.src/M000261.html" target="Code" class="method-signature"
1680
+ onclick="popupCode('String.src/M000261.html');return false;">
1681
+ <span class="method-name">to_proc</span><span class="method-args">(context=nil)</span>
1682
+ </a>
1683
+ </div>
1684
+
1685
+ <div class="method-description">
1686
+ <p>
1687
+ Evaluates a <a href="String.html">String</a> as a <a
1688
+ href="Proc.html">Proc</a>.
1689
+ </p>
1690
+ <pre>
1691
+ require 'facet/string/to_proc'
1692
+
1693
+ xyp = &quot;|x,y| x + y&quot;.to_proc
1694
+ xyp.class #=&gt; Proc
1695
+ xyp.call(1,2) #=&gt; 3
1696
+ </pre>
1697
+ </div>
1698
+ </div>
1699
+
1700
+ <div id="method-M000292" class="method-detail">
1701
+ <a name="M000292"></a>
1702
+
1703
+ <div class="method-heading">
1704
+ <a href="String.src/M000292.html" target="Code" class="method-signature"
1705
+ onclick="popupCode('String.src/M000292.html');return false;">
1706
+ <span class="method-name">to_re</span><span class="method-args">(esc=true)</span>
1707
+ </a>
1708
+ </div>
1709
+
1710
+ <div class="method-description">
1711
+ <p>
1712
+ Turns a string into a regular expression. By default it will escape all
1713
+ characters. Use <tt>false</tt> argument to turn off escaping.
1714
+ </p>
1715
+ <pre>
1716
+ require 'facet/string/to_re'
1717
+
1718
+ &quot;[&quot;.to_re #=&gt; /\[/
1719
+ </pre>
1720
+ </div>
1721
+ </div>
1722
+
1723
+ <div id="method-M000256" class="method-detail">
1724
+ <a name="M000256"></a>
1725
+
1726
+ <div class="method-heading">
1727
+ <a href="String.src/M000256.html" target="Code" class="method-signature"
1728
+ onclick="popupCode('String.src/M000256.html');return false;">
1729
+ <span class="method-name">trim</span><span class="method-args">(d='|',n=0)</span>
1730
+ </a>
1731
+ </div>
1732
+
1733
+ <div class="method-description">
1734
+ <p>
1735
+ Same as <a href="String.html#M000255">margin</a>, but the parameters are in
1736
+ reverse order.
1737
+ </p>
1738
+ </div>
1739
+ </div>
1740
+
1741
+ <div id="method-M000248" class="method-detail">
1742
+ <a name="M000248"></a>
1743
+
1744
+ <div class="method-heading">
1745
+ <a href="String.src/M000248.html" target="Code" class="method-signature"
1746
+ onclick="popupCode('String.src/M000248.html');return false;">
1747
+ <span class="method-name">unix_crypt</span><span class="method-args">()</span>
1748
+ </a>
1749
+ </div>
1750
+
1751
+ <div class="method-description">
1752
+ <p>
1753
+ Common Unix cryptography method.
1754
+ </p>
1755
+ </div>
1756
+ </div>
1757
+
1758
+ <div id="method-M000249" class="method-detail">
1759
+ <a name="M000249"></a>
1760
+
1761
+ <div class="method-heading">
1762
+ <a href="String.src/M000249.html" target="Code" class="method-signature"
1763
+ onclick="popupCode('String.src/M000249.html');return false;">
1764
+ <span class="method-name">unix_crypt!</span><span class="method-args">()</span>
1765
+ </a>
1766
+ </div>
1767
+
1768
+ <div class="method-description">
1769
+ <p>
1770
+ Common Unix cryptography in-place method.
1771
+ </p>
1772
+ </div>
1773
+ </div>
1774
+
1775
+ <div id="method-M000259" class="method-detail">
1776
+ <a name="M000259"></a>
1777
+
1778
+ <div class="method-heading">
1779
+ <a href="String.src/M000259.html" target="Code" class="method-signature"
1780
+ onclick="popupCode('String.src/M000259.html');return false;">
1781
+ <span class="method-name">unpack</span><span class="method-args">(format, offset=nil)</span>
1782
+ </a>
1783
+ </div>
1784
+
1785
+ <div class="method-description">
1786
+ <p>
1787
+ Upack with offset. Extends <a href="String.html#M000259">unpack</a> to
1788
+ allow a string to be unpacked starting at an offset position within it.
1789
+ </p>
1790
+ <pre>
1791
+ require 'facet/string/unpack'
1792
+ </pre>
1793
+ </div>
1794
+ </div>
1795
+
1796
+ <div id="method-M000287" class="method-detail">
1797
+ <a name="M000287"></a>
1798
+
1799
+ <div class="method-heading">
1800
+ <a href="String.src/M000287.html" target="Code" class="method-signature"
1801
+ onclick="popupCode('String.src/M000287.html');return false;">
1802
+ <span class="method-name">upcase?</span><span class="method-args">()</span>
1803
+ </a>
1804
+ </div>
1805
+
1806
+ <div class="method-description">
1807
+ <p>
1808
+ Is the string upcase/uppercase?
1809
+ </p>
1810
+ <pre>
1811
+ require 'facet/string/case?'
1812
+
1813
+ &quot;THIS&quot;.upcase? #=&gt; true
1814
+ &quot;This&quot;.upcase? #=&gt; false
1815
+ &quot;this&quot;.upcase? #=&gt; false
1816
+ </pre>
1817
+ </div>
1818
+ </div>
1819
+
1820
+ <div id="method-M000288" class="method-detail">
1821
+ <a name="M000288"></a>
1822
+
1823
+ <div class="method-heading">
1824
+ <span class="method-name">uppercase?</span><span class="method-args">()</span>
1825
+ </div>
1826
+
1827
+ <div class="method-description">
1828
+ <p>
1829
+ Alias for <a href="String.html#M000287">upcase?</a>
1830
+ </p>
1831
+ </div>
1832
+ </div>
1833
+
1834
+ <div id="method-M000247" class="method-detail">
1835
+ <a name="M000247"></a>
1836
+
1837
+ <div class="method-heading">
1838
+ <span class="method-name">whitespace?</span><span class="method-args">()</span>
1839
+ </div>
1840
+
1841
+ <div class="method-description">
1842
+ <p>
1843
+ Alias for <a href="String.html#M000246">blank?</a>
1844
+ </p>
1845
+ </div>
1846
+ </div>
1847
+
1848
+ <div id="method-M000243" class="method-detail">
1849
+ <a name="M000243"></a>
1850
+
1851
+ <div class="method-heading">
1852
+ <a href="String.src/M000243.html" target="Code" class="method-signature"
1853
+ onclick="popupCode('String.src/M000243.html');return false;">
1854
+ <span class="method-name">word_filter!</span><span class="method-args">( {|| ...}</span>
1855
+ </a>
1856
+ </div>
1857
+
1858
+ <div class="method-description">
1859
+ <p>
1860
+ In place word filter.
1861
+ </p>
1862
+ <pre>
1863
+ require 'facet/string/word_filter!'
1864
+
1865
+ &quot;a string&quot;.word_filter! { |word| ... }
1866
+ </pre>
1867
+ </div>
1868
+ </div>
1869
+
1870
+ <div id="method-M000257" class="method-detail">
1871
+ <a name="M000257"></a>
1872
+
1873
+ <div class="method-heading">
1874
+ <a href="String.src/M000257.html" target="Code" class="method-signature"
1875
+ onclick="popupCode('String.src/M000257.html');return false;">
1876
+ <span class="method-name">word_wrap</span><span class="method-args">(max=80)</span>
1877
+ </a>
1878
+ </div>
1879
+
1880
+ <div class="method-description">
1881
+ <p>
1882
+ Word wrap a string not exceeding max width.
1883
+ </p>
1884
+ <pre>
1885
+ require 'facet/string/word_wrap'
1886
+
1887
+ puts &quot;this is a test&quot;.word_wrap(4)
1888
+ </pre>
1889
+ <p>
1890
+ <em>produces</em>
1891
+ </p>
1892
+ <pre>
1893
+ this
1894
+ is a
1895
+ test
1896
+ </pre>
1897
+ </div>
1898
+ </div>
1899
+
1900
+ <div id="method-M000258" class="method-detail">
1901
+ <a name="M000258"></a>
1902
+
1903
+ <div class="method-heading">
1904
+ <a href="String.src/M000258.html" target="Code" class="method-signature"
1905
+ onclick="popupCode('String.src/M000258.html');return false;">
1906
+ <span class="method-name">word_wrap!</span><span class="method-args">(max=80)</span>
1907
+ </a>
1908
+ </div>
1909
+
1910
+ <div class="method-description">
1911
+ <p>
1912
+ Like <a href="String.html#M000257">word_wrap</a>, but modifies the string
1913
+ in place.
1914
+ </p>
1915
+ </div>
1916
+ </div>
1917
+
1918
+
1919
+ </div>
1920
+
1921
+
1922
+ </div>
1923
+
1924
+
1925
+ <div id="validator-badges">
1926
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
1927
+ </div>
1928
+
1929
+ </body>
1930
+ </html>