facets 2.3.0 → 2.4.0

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 (1922) hide show
  1. data/AUTHORS +1 -1
  2. data/CHANGES +17 -3
  3. data/MANIFEST +1301 -0
  4. data/NOTES +42 -11
  5. data/README +16 -26
  6. data/doc/History.txt +73 -0
  7. data/doc/html/api.css +79 -0
  8. data/doc/html/api/core/classes/Array.html +894 -0
  9. data/doc/html/api/core/classes/Binding.html +419 -0
  10. data/doc/html/api/core/classes/Class.html +218 -0
  11. data/doc/html/api/core/classes/Comparable.html +261 -0
  12. data/doc/html/api/core/classes/Dir.html +397 -0
  13. data/doc/html/api/core/classes/Enumerable.html +1124 -0
  14. data/doc/html/api/core/classes/Exception.html +130 -0
  15. data/doc/html/api/core/classes/File.html +456 -0
  16. data/doc/html/api/core/classes/FileTest.html +118 -0
  17. data/doc/html/api/core/classes/Float.html +133 -0
  18. data/doc/html/api/core/classes/Functor.html +173 -0
  19. data/doc/html/api/core/classes/Hash.html +1992 -0
  20. data/doc/html/api/core/classes/Indexable.html +606 -0
  21. data/doc/html/api/core/classes/Integer.html +577 -0
  22. data/doc/html/api/core/classes/Kernel.html +2135 -0
  23. data/doc/html/api/core/classes/MatchData.html +203 -0
  24. data/doc/html/api/core/classes/MissingArgument.html +97 -0
  25. data/doc/html/api/core/classes/Module.html +1605 -0
  26. data/doc/html/api/core/classes/Module/CloneExtensions.html +188 -0
  27. data/doc/html/api/core/classes/Object.html +147 -0
  28. data/doc/html/api/core/classes/Proc.html +346 -0
  29. data/doc/html/api/core/classes/Range.html +360 -0
  30. data/doc/html/api/core/classes/Regexp.html +193 -0
  31. data/doc/html/api/core/classes/Stackable.html +264 -0
  32. data/doc/html/api/core/classes/String.html +2297 -0
  33. data/doc/html/api/core/classes/String/Words.html +330 -0
  34. data/doc/html/api/core/classes/Time.html +521 -0
  35. data/doc/html/api/core/classes/UnboundMethod.html +196 -0
  36. data/doc/html/api/core/created.rid +1 -0
  37. data/doc/html/api/core/files/AUTHORS.html +256 -0
  38. data/doc/html/api/core/files/CHANGES.html +259 -0
  39. data/doc/html/api/core/files/COPYING.html +462 -0
  40. data/doc/html/api/core/files/MANIFEST.html +597 -0
  41. data/doc/html/api/core/files/NOTES.html +135 -0
  42. data/doc/html/api/core/files/README.html +412 -0
  43. data/doc/html/api/core/files/lib/facets/array/conjoin_rb.html +92 -0
  44. data/doc/html/api/core/files/lib/facets/array/delete_rb.html +92 -0
  45. data/doc/html/api/core/files/lib/facets/array/indexable_rb.html +97 -0
  46. data/doc/html/api/core/files/lib/facets/array/merge_rb.html +92 -0
  47. data/doc/html/api/core/files/lib/facets/array/not_empty_rb.html +92 -0
  48. data/doc/html/api/core/files/lib/facets/array/only_rb.html +92 -0
  49. data/doc/html/api/core/files/lib/facets/array/pad_rb.html +92 -0
  50. data/doc/html/api/core/files/lib/facets/array/product_rb.html +96 -0
  51. data/doc/html/api/core/files/lib/facets/array/rotate_rb.html +92 -0
  52. data/doc/html/api/core/files/lib/facets/array/select_rb.html +92 -0
  53. data/doc/html/api/core/files/lib/facets/array/splice_rb.html +92 -0
  54. data/doc/html/api/core/files/lib/facets/array/stackable_rb.html +97 -0
  55. data/doc/html/api/core/files/lib/facets/array/traverse_rb.html +92 -0
  56. data/doc/html/api/core/files/lib/facets/array_rb.html +129 -0
  57. data/doc/html/api/core/files/lib/facets/binding/caller_rb.html +97 -0
  58. data/doc/html/api/core/files/lib/facets/binding/defined_rb.html +96 -0
  59. data/doc/html/api/core/files/lib/facets/binding/local_variables_rb.html +96 -0
  60. data/doc/html/api/core/files/lib/facets/binding/opvars_rb.html +96 -0
  61. data/doc/html/api/core/files/lib/facets/binding/self_rb.html +96 -0
  62. data/doc/html/api/core/files/lib/facets/binding_rb.html +99 -0
  63. data/doc/html/api/core/files/lib/facets/bitmask_rb.html +92 -0
  64. data/doc/html/api/core/files/lib/facets/blank_rb.html +97 -0
  65. data/doc/html/api/core/files/lib/facets/boolean_rb.html +126 -0
  66. data/doc/html/api/core/files/lib/facets/callstack_rb.html +92 -0
  67. data/doc/html/api/core/files/lib/facets/class/descendents_rb.html +92 -0
  68. data/doc/html/api/core/files/lib/facets/class/prepend_rb.html +92 -0
  69. data/doc/html/api/core/files/lib/facets/class/subclasses_rb.html +96 -0
  70. data/doc/html/api/core/files/lib/facets/class_rb.html +97 -0
  71. data/doc/html/api/core/files/lib/facets/comparable/bound_rb.html +92 -0
  72. data/doc/html/api/core/files/lib/facets/comparable/cmp_rb.html +92 -0
  73. data/doc/html/api/core/files/lib/facets/comparable/comparable_rb.html +109 -0
  74. data/doc/html/api/core/files/lib/facets/comparable_rb.html +99 -0
  75. data/doc/html/api/core/files/lib/facets/dir/ascend_rb.html +92 -0
  76. data/doc/html/api/core/files/lib/facets/dir/descend_rb.html +96 -0
  77. data/doc/html/api/core/files/lib/facets/dir/multiglob_rb.html +92 -0
  78. data/doc/html/api/core/files/lib/facets/dir/parent_rb.html +92 -0
  79. data/doc/html/api/core/files/lib/facets/dir/recurse_rb.html +92 -0
  80. data/doc/html/api/core/files/lib/facets/dir_rb.html +102 -0
  81. data/doc/html/api/core/files/lib/facets/duplicable_rb.html +100 -0
  82. data/doc/html/api/core/files/lib/facets/enumerable/accumulate_rb.html +96 -0
  83. data/doc/html/api/core/files/lib/facets/enumerable/cluster_by_rb.html +96 -0
  84. data/doc/html/api/core/files/lib/facets/enumerable/collect_rb.html +92 -0
  85. data/doc/html/api/core/files/lib/facets/enumerable/divide_rb.html +92 -0
  86. data/doc/html/api/core/files/lib/facets/enumerable/duplicates_rb.html +92 -0
  87. data/doc/html/api/core/files/lib/facets/enumerable/each_by_rb.html +96 -0
  88. data/doc/html/api/core/files/lib/facets/enumerable/inject_rb.html +92 -0
  89. data/doc/html/api/core/files/lib/facets/enumerable/map_send_rb.html +92 -0
  90. data/doc/html/api/core/files/lib/facets/enumerable/mash_rb.html +92 -0
  91. data/doc/html/api/core/files/lib/facets/enumerable/mode_rb.html +92 -0
  92. data/doc/html/api/core/files/lib/facets/enumerable/modulate_rb.html +92 -0
  93. data/doc/html/api/core/files/lib/facets/enumerable/occur_rb.html +92 -0
  94. data/doc/html/api/core/files/lib/facets/enumerable/probability_rb.html +92 -0
  95. data/doc/html/api/core/files/lib/facets/enumerable/split_rb.html +92 -0
  96. data/doc/html/api/core/files/lib/facets/enumerable/sum_rb.html +92 -0
  97. data/doc/html/api/core/files/lib/facets/enumerable/uniq_by_rb.html +92 -0
  98. data/doc/html/api/core/files/lib/facets/enumerable_rb.html +111 -0
  99. data/doc/html/api/core/files/lib/facets/exception/detail_rb.html +92 -0
  100. data/doc/html/api/core/files/lib/facets/exception_rb.html +96 -0
  101. data/doc/html/api/core/files/lib/facets/file/null_rb.html +92 -0
  102. data/doc/html/api/core/files/lib/facets/file/read_rb.html +92 -0
  103. data/doc/html/api/core/files/lib/facets/file/rewrite_rb.html +92 -0
  104. data/doc/html/api/core/files/lib/facets/file/rootname_rb.html +92 -0
  105. data/doc/html/api/core/files/lib/facets/file/write_rb.html +92 -0
  106. data/doc/html/api/core/files/lib/facets/file_rb.html +100 -0
  107. data/doc/html/api/core/files/lib/facets/filetest/root_rb.html +92 -0
  108. data/doc/html/api/core/files/lib/facets/filetest_rb.html +97 -0
  109. data/doc/html/api/core/files/lib/facets/functor_rb.html +151 -0
  110. data/doc/html/api/core/files/lib/facets/hash/alias_rb.html +92 -0
  111. data/doc/html/api/core/files/lib/facets/hash/argumentize_rb.html +92 -0
  112. data/doc/html/api/core/files/lib/facets/hash/at_rb.html +92 -0
  113. data/doc/html/api/core/files/lib/facets/hash/autonew_rb.html +92 -0
  114. data/doc/html/api/core/files/lib/facets/hash/collate_rb.html +92 -0
  115. data/doc/html/api/core/files/lib/facets/hash/delete_rb.html +92 -0
  116. data/doc/html/api/core/files/lib/facets/hash/diff_rb.html +92 -0
  117. data/doc/html/api/core/files/lib/facets/hash/except_rb.html +92 -0
  118. data/doc/html/api/core/files/lib/facets/hash/insert_rb.html +92 -0
  119. data/doc/html/api/core/files/lib/facets/hash/inverse_rb.html +92 -0
  120. data/doc/html/api/core/files/lib/facets/hash/join_rb.html +92 -0
  121. data/doc/html/api/core/files/lib/facets/hash/keys_rb.html +92 -0
  122. data/doc/html/api/core/files/lib/facets/hash/mash_rb.html +96 -0
  123. data/doc/html/api/core/files/lib/facets/hash/merge_rb.html +92 -0
  124. data/doc/html/api/core/files/lib/facets/hash/op_rb.html +92 -0
  125. data/doc/html/api/core/files/lib/facets/hash/rekey_rb.html +96 -0
  126. data/doc/html/api/core/files/lib/facets/hash/select_rb.html +92 -0
  127. data/doc/html/api/core/files/lib/facets/hash/slice_rb.html +92 -0
  128. data/doc/html/api/core/files/lib/facets/hash/stringify_keys_rb.html +96 -0
  129. data/doc/html/api/core/files/lib/facets/hash/swap_rb.html +92 -0
  130. data/doc/html/api/core/files/lib/facets/hash/symbolize_keys_rb.html +96 -0
  131. data/doc/html/api/core/files/lib/facets/hash/to_h_rb.html +96 -0
  132. data/doc/html/api/core/files/lib/facets/hash/to_proc_rb.html +92 -0
  133. data/doc/html/api/core/files/lib/facets/hash/to_struct_rb.html +92 -0
  134. data/doc/html/api/core/files/lib/facets/hash/traverse_rb.html +92 -0
  135. data/doc/html/api/core/files/lib/facets/hash/update_rb.html +92 -0
  136. data/doc/html/api/core/files/lib/facets/hash/weave_rb.html +92 -0
  137. data/doc/html/api/core/files/lib/facets/hash/zipnew_rb.html +96 -0
  138. data/doc/html/api/core/files/lib/facets/hash_rb.html +118 -0
  139. data/doc/html/api/core/files/lib/facets/indexable_rb.html +113 -0
  140. data/doc/html/api/core/files/lib/facets/integer/factorial_rb.html +92 -0
  141. data/doc/html/api/core/files/lib/facets/integer/multiple_rb.html +92 -0
  142. data/doc/html/api/core/files/lib/facets/integer/of_rb.html +92 -0
  143. data/doc/html/api/core/files/lib/facets/integer/ordinal_rb.html +92 -0
  144. data/doc/html/api/core/files/lib/facets/integer_rb.html +100 -0
  145. data/doc/html/api/core/files/lib/facets/kernel/__dir___rb.html +92 -0
  146. data/doc/html/api/core/files/lib/facets/kernel/as_rb.html +96 -0
  147. data/doc/html/api/core/files/lib/facets/kernel/ask_rb.html +92 -0
  148. data/doc/html/api/core/files/lib/facets/kernel/attr_singleton_rb.html +92 -0
  149. data/doc/html/api/core/files/lib/facets/kernel/complete_rb.html +92 -0
  150. data/doc/html/api/core/files/lib/facets/kernel/constant_rb.html +92 -0
  151. data/doc/html/api/core/files/lib/facets/kernel/d_rb.html +92 -0
  152. data/doc/html/api/core/files/lib/facets/kernel/deep_copy_rb.html +92 -0
  153. data/doc/html/api/core/files/lib/facets/kernel/demo_rb.html +92 -0
  154. data/doc/html/api/core/files/lib/facets/kernel/ergo_rb.html +96 -0
  155. data/doc/html/api/core/files/lib/facets/kernel/here_rb.html +92 -0
  156. data/doc/html/api/core/files/lib/facets/kernel/in_rb.html +92 -0
  157. data/doc/html/api/core/files/lib/facets/kernel/instance_exec_rb.html +96 -0
  158. data/doc/html/api/core/files/lib/facets/kernel/instance_rb.html +92 -0
  159. data/doc/html/api/core/files/lib/facets/kernel/load_rb.html +92 -0
  160. data/doc/html/api/core/files/lib/facets/kernel/maybe_rb.html +92 -0
  161. data/doc/html/api/core/files/lib/facets/kernel/not_nil_rb.html +92 -0
  162. data/doc/html/api/core/files/lib/facets/kernel/object_rb.html +92 -0
  163. data/doc/html/api/core/files/lib/facets/kernel/p_rb.html +92 -0
  164. data/doc/html/api/core/files/lib/facets/kernel/populate_rb.html +92 -0
  165. data/doc/html/api/core/files/lib/facets/kernel/resc_rb.html +92 -0
  166. data/doc/html/api/core/files/lib/facets/kernel/respond_rb.html +92 -0
  167. data/doc/html/api/core/files/lib/facets/kernel/returning_rb.html +92 -0
  168. data/doc/html/api/core/files/lib/facets/kernel/silence_rb.html +92 -0
  169. data/doc/html/api/core/files/lib/facets/kernel/singleton_class_rb.html +92 -0
  170. data/doc/html/api/core/files/lib/facets/kernel/try_rb.html +92 -0
  171. data/doc/html/api/core/files/lib/facets/kernel/val_rb.html +92 -0
  172. data/doc/html/api/core/files/lib/facets/kernel/with_rb.html +92 -0
  173. data/doc/html/api/core/files/lib/facets/kernel_rb.html +115 -0
  174. data/doc/html/api/core/files/lib/facets/matchdata/match_rb.html +92 -0
  175. data/doc/html/api/core/files/lib/facets/matchdata/matchset_rb.html +92 -0
  176. data/doc/html/api/core/files/lib/facets/matchdata_rb.html +98 -0
  177. data/doc/html/api/core/files/lib/facets/metaid_rb.html +92 -0
  178. data/doc/html/api/core/files/lib/facets/module/abstract_rb.html +92 -0
  179. data/doc/html/api/core/files/lib/facets/module/alias_rb.html +92 -0
  180. data/doc/html/api/core/files/lib/facets/module/ancestor_rb.html +92 -0
  181. data/doc/html/api/core/files/lib/facets/module/can_rb.html +92 -0
  182. data/doc/html/api/core/files/lib/facets/module/class_rb.html +92 -0
  183. data/doc/html/api/core/files/lib/facets/module/clone_rb.html +92 -0
  184. data/doc/html/api/core/files/lib/facets/module/conflict_rb.html +92 -0
  185. data/doc/html/api/core/files/lib/facets/module/include_function_module_rb.html +92 -0
  186. data/doc/html/api/core/files/lib/facets/module/instance_methods_rb.html +92 -0
  187. data/doc/html/api/core/files/lib/facets/module/is_rb.html +92 -0
  188. data/doc/html/api/core/files/lib/facets/module/module_load_rb.html +92 -0
  189. data/doc/html/api/core/files/lib/facets/module/nesting_rb.html +92 -0
  190. data/doc/html/api/core/files/lib/facets/module/op_rb.html +92 -0
  191. data/doc/html/api/core/files/lib/facets/module/pathize_rb.html +92 -0
  192. data/doc/html/api/core/files/lib/facets/module/prepend_rb.html +92 -0
  193. data/doc/html/api/core/files/lib/facets/module/revise_rb.html +92 -0
  194. data/doc/html/api/core/files/lib/facets/module_rb.html +109 -0
  195. data/doc/html/api/core/files/lib/facets/nilclass_rb.html +96 -0
  196. data/doc/html/api/core/files/lib/facets/numeric/approx_rb.html +92 -0
  197. data/doc/html/api/core/files/lib/facets/numeric/distance_rb.html +92 -0
  198. data/doc/html/api/core/files/lib/facets/numeric/round_rb.html +92 -0
  199. data/doc/html/api/core/files/lib/facets/numeric_rb.html +98 -0
  200. data/doc/html/api/core/files/lib/facets/proc/bind_rb.html +92 -0
  201. data/doc/html/api/core/files/lib/facets/proc/compose_rb.html +92 -0
  202. data/doc/html/api/core/files/lib/facets/proc/curry_rb.html +92 -0
  203. data/doc/html/api/core/files/lib/facets/proc/partial_rb.html +125 -0
  204. data/doc/html/api/core/files/lib/facets/proc/to_method_rb.html +96 -0
  205. data/doc/html/api/core/files/lib/facets/proc/update_rb.html +92 -0
  206. data/doc/html/api/core/files/lib/facets/proc_rb.html +99 -0
  207. data/doc/html/api/core/files/lib/facets/range/combine_rb.html +92 -0
  208. data/doc/html/api/core/files/lib/facets/range/overlap_rb.html +92 -0
  209. data/doc/html/api/core/files/lib/facets/range/to_r_rb.html +92 -0
  210. data/doc/html/api/core/files/lib/facets/range/umbrella_rb.html +96 -0
  211. data/doc/html/api/core/files/lib/facets/range/within_rb.html +92 -0
  212. data/doc/html/api/core/files/lib/facets/range_rb.html +99 -0
  213. data/doc/html/api/core/files/lib/facets/regexp/arity_rb.html +92 -0
  214. data/doc/html/api/core/files/lib/facets/regexp/to_re_rb.html +92 -0
  215. data/doc/html/api/core/files/lib/facets/regexp_rb.html +98 -0
  216. data/doc/html/api/core/files/lib/facets/ruby_rb.html +110 -0
  217. data/doc/html/api/core/files/lib/facets/stackable_rb.html +120 -0
  218. data/doc/html/api/core/files/lib/facets/string/align_rb.html +92 -0
  219. data/doc/html/api/core/files/lib/facets/string/bracket_rb.html +92 -0
  220. data/doc/html/api/core/files/lib/facets/string/camelcase_rb.html +92 -0
  221. data/doc/html/api/core/files/lib/facets/string/capitalized_rb.html +92 -0
  222. data/doc/html/api/core/files/lib/facets/string/chomp_rb.html +92 -0
  223. data/doc/html/api/core/files/lib/facets/string/cleave_rb.html +92 -0
  224. data/doc/html/api/core/files/lib/facets/string/divide_rb.html +92 -0
  225. data/doc/html/api/core/files/lib/facets/string/fold_rb.html +92 -0
  226. data/doc/html/api/core/files/lib/facets/string/interpolate_rb.html +92 -0
  227. data/doc/html/api/core/files/lib/facets/string/line_wrap_rb.html +92 -0
  228. data/doc/html/api/core/files/lib/facets/string/mscan_rb.html +92 -0
  229. data/doc/html/api/core/files/lib/facets/string/natcmp_rb.html +92 -0
  230. data/doc/html/api/core/files/lib/facets/string/nchar_rb.html +92 -0
  231. data/doc/html/api/core/files/lib/facets/string/range_rb.html +92 -0
  232. data/doc/html/api/core/files/lib/facets/string/rewrite_rb.html +92 -0
  233. data/doc/html/api/core/files/lib/facets/string/shatter_rb.html +92 -0
  234. data/doc/html/api/core/files/lib/facets/string/snakecase_rb.html +92 -0
  235. data/doc/html/api/core/files/lib/facets/string/splice_rb.html +92 -0
  236. data/doc/html/api/core/files/lib/facets/string/stylize_rb.html +92 -0
  237. data/doc/html/api/core/files/lib/facets/string/subtract_rb.html +92 -0
  238. data/doc/html/api/core/files/lib/facets/string/tab_rb.html +92 -0
  239. data/doc/html/api/core/files/lib/facets/string/titlecase_rb.html +92 -0
  240. data/doc/html/api/core/files/lib/facets/string/to_re_rb.html +92 -0
  241. data/doc/html/api/core/files/lib/facets/string/to_time_rb.html +98 -0
  242. data/doc/html/api/core/files/lib/facets/string/underscore_rb.html +92 -0
  243. data/doc/html/api/core/files/lib/facets/string/words_rb.html +96 -0
  244. data/doc/html/api/core/files/lib/facets/string/xor_rb.html +92 -0
  245. data/doc/html/api/core/files/lib/facets/string_rb.html +109 -0
  246. data/doc/html/api/core/files/lib/facets/symbol/chomp_rb.html +92 -0
  247. data/doc/html/api/core/files/lib/facets/symbol/generate_rb.html +92 -0
  248. data/doc/html/api/core/files/lib/facets/symbol/not_rb.html +92 -0
  249. data/doc/html/api/core/files/lib/facets/symbol_rb.html +98 -0
  250. data/doc/html/api/core/files/lib/facets/time/ago_rb.html +96 -0
  251. data/doc/html/api/core/files/lib/facets/time/change_rb.html +92 -0
  252. data/doc/html/api/core/files/lib/facets/time/elapse_rb.html +92 -0
  253. data/doc/html/api/core/files/lib/facets/time/hence_rb.html +92 -0
  254. data/doc/html/api/core/files/lib/facets/time/set_rb.html +96 -0
  255. data/doc/html/api/core/files/lib/facets/time/stamp_rb.html +92 -0
  256. data/doc/html/api/core/files/lib/facets/time_rb.html +99 -0
  257. data/doc/html/api/core/files/lib/facets/to_hash_rb.html +92 -0
  258. data/doc/html/api/core/files/lib/facets/unboundmethod/arguments_rb.html +92 -0
  259. data/doc/html/api/core/files/lib/facets/unboundmethod_rb.html +97 -0
  260. data/doc/html/api/core/fr_class_index.html +74 -0
  261. data/doc/html/api/core/fr_file_index.html +269 -0
  262. data/doc/html/api/core/fr_method_index.html +463 -0
  263. data/doc/html/api/core/index.html +26 -0
  264. data/doc/html/api/core/rdoc-style.css +175 -0
  265. data/doc/html/api/more/classes/ANSICode.html +495 -0
  266. data/doc/html/api/more/classes/Advisable.html +271 -0
  267. data/doc/html/api/more/classes/Advisable/Method.html +251 -0
  268. data/doc/html/api/more/classes/Archive.html +89 -0
  269. data/doc/html/api/more/classes/Archive/Tar.html +89 -0
  270. data/doc/html/api/more/classes/Archive/Tar/Minitar.html +470 -0
  271. data/doc/html/api/more/classes/Archive/Tar/Minitar/Input.html +380 -0
  272. data/doc/html/api/more/classes/Archive/Tar/Minitar/Output.html +218 -0
  273. data/doc/html/api/more/classes/Archive/Tar/Minitar/Reader.html +285 -0
  274. data/doc/html/api/more/classes/Archive/Tar/Minitar/Writer.html +419 -0
  275. data/doc/html/api/more/classes/Association.html +307 -0
  276. data/doc/html/api/more/classes/Association/Kernel.html +134 -0
  277. data/doc/html/api/more/classes/Autoarray.html +168 -0
  278. data/doc/html/api/more/classes/BBCode.html +534 -0
  279. data/doc/html/api/more/classes/BasicObject.html +260 -0
  280. data/doc/html/api/more/classes/Behavior.html +145 -0
  281. data/doc/html/api/more/classes/BiCrypt.html +543 -0
  282. data/doc/html/api/more/classes/BigDuration.html +327 -0
  283. data/doc/html/api/more/classes/BinReadable.html +536 -0
  284. data/doc/html/api/more/classes/BinReadable/ByteOrder.html +225 -0
  285. data/doc/html/api/more/classes/Buildable.html +154 -0
  286. data/doc/html/api/more/classes/BuildingBlock.html +362 -0
  287. data/doc/html/api/more/classes/CGI.html +187 -0
  288. data/doc/html/api/more/classes/CLI.html +108 -0
  289. data/doc/html/api/more/classes/CLI/Arguments.html +709 -0
  290. data/doc/html/api/more/classes/CLI/Command.html +436 -0
  291. data/doc/html/api/more/classes/CLI/Command/UniversalOptions.html +91 -0
  292. data/doc/html/api/more/classes/CLI/NoCommandError.html +113 -0
  293. data/doc/html/api/more/classes/CLI/NoOptionError.html +120 -0
  294. data/doc/html/api/more/classes/CacheDecorator.html +224 -0
  295. data/doc/html/api/more/classes/Capsule.html +410 -0
  296. data/doc/html/api/more/classes/Capsule/MissingFile.html +96 -0
  297. data/doc/html/api/more/classes/Chain.html +208 -0
  298. data/doc/html/api/more/classes/Cloneable.html +131 -0
  299. data/doc/html/api/more/classes/Config.html +137 -0
  300. data/doc/html/api/more/classes/ConsoleUtils.html +240 -0
  301. data/doc/html/api/more/classes/Continuation.html +115 -0
  302. data/doc/html/api/more/classes/Coroutine.html +286 -0
  303. data/doc/html/api/more/classes/Crypt.html +277 -0
  304. data/doc/html/api/more/classes/CssFilter.html +473 -0
  305. data/doc/html/api/more/classes/CssTree.html +149 -0
  306. data/doc/html/api/more/classes/Date.html +252 -0
  307. data/doc/html/api/more/classes/Dictionary.html +1247 -0
  308. data/doc/html/api/more/classes/Downloader.html +514 -0
  309. data/doc/html/api/more/classes/Duration.html +769 -0
  310. data/doc/html/api/more/classes/Enumerable.html +340 -0
  311. data/doc/html/api/more/classes/Enumerable/Elementor.html +172 -0
  312. data/doc/html/api/more/classes/Enumerable/Enumerator.html +118 -0
  313. data/doc/html/api/more/classes/EnumerablePass.html +216 -0
  314. data/doc/html/api/more/classes/Equatable.html +190 -0
  315. data/doc/html/api/more/classes/EventHook.html +176 -0
  316. data/doc/html/api/more/classes/Expirable.html +197 -0
  317. data/doc/html/api/more/classes/File.html +130 -0
  318. data/doc/html/api/more/classes/FileList.html +982 -0
  319. data/doc/html/api/more/classes/FileShell.html +774 -0
  320. data/doc/html/api/more/classes/FileUtils.html +454 -0
  321. data/doc/html/api/more/classes/Fileable.html +181 -0
  322. data/doc/html/api/more/classes/Fileable/DSL.html +306 -0
  323. data/doc/html/api/more/classes/GetoptLong.html +120 -0
  324. data/doc/html/api/more/classes/GetoptLong/DSL.html +210 -0
  325. data/doc/html/api/more/classes/Hash2Xml.html +177 -0
  326. data/doc/html/api/more/classes/HtmlFilter.html +850 -0
  327. data/doc/html/api/more/classes/IORedirect.html +222 -0
  328. data/doc/html/api/more/classes/InfinityClass.html +452 -0
  329. data/doc/html/api/more/classes/InfinityClass/Numeric.html +197 -0
  330. data/doc/html/api/more/classes/InstanceReflection.html +129 -0
  331. data/doc/html/api/more/classes/Instantiable.html +142 -0
  332. data/doc/html/api/more/classes/Instantise.html +162 -0
  333. data/doc/html/api/more/classes/Interval.html +879 -0
  334. data/doc/html/api/more/classes/It.html +207 -0
  335. data/doc/html/api/more/classes/LRUCache.html +464 -0
  336. data/doc/html/api/more/classes/LRUCache/Item.html +114 -0
  337. data/doc/html/api/more/classes/LRUCache/Sentinel.html +100 -0
  338. data/doc/html/api/more/classes/Lazy.html +96 -0
  339. data/doc/html/api/more/classes/Lazy/Future.html +100 -0
  340. data/doc/html/api/more/classes/Lazy/Promise.html +112 -0
  341. data/doc/html/api/more/classes/Lazy/PromiseSafe.html +99 -0
  342. data/doc/html/api/more/classes/LinkedList.html +494 -0
  343. data/doc/html/api/more/classes/LinkedList/Node.html +151 -0
  344. data/doc/html/api/more/classes/Logger.html +231 -0
  345. data/doc/html/api/more/classes/Logger/Ansicolor.html +279 -0
  346. data/doc/html/api/more/classes/Logger/LogDevice.html +123 -0
  347. data/doc/html/api/more/classes/Module.html +1410 -0
  348. data/doc/html/api/more/classes/Multiton.html +207 -0
  349. data/doc/html/api/more/classes/Multiton/Inclusive.html +128 -0
  350. data/doc/html/api/more/classes/Multiton/MetaMethods.html +270 -0
  351. data/doc/html/api/more/classes/NackClass.html +99 -0
  352. data/doc/html/api/more/classes/Net.html +88 -0
  353. data/doc/html/api/more/classes/Net/SMTP.html +259 -0
  354. data/doc/html/api/more/classes/NilClass.html +227 -0
  355. data/doc/html/api/more/classes/NullClass.html +204 -0
  356. data/doc/html/api/more/classes/Numeric.html +1188 -0
  357. data/doc/html/api/more/classes/ObjectReflection.html +145 -0
  358. data/doc/html/api/more/classes/OpEsc.html +138 -0
  359. data/doc/html/api/more/classes/OpenCascade.html +144 -0
  360. data/doc/html/api/more/classes/OpenCollection.html +140 -0
  361. data/doc/html/api/more/classes/OpenHash.html +158 -0
  362. data/doc/html/api/more/classes/OpenObject.html +604 -0
  363. data/doc/html/api/more/classes/OpenStruct.html +413 -0
  364. data/doc/html/api/more/classes/PQueue.html +734 -0
  365. data/doc/html/api/more/classes/PathList.html +161 -0
  366. data/doc/html/api/more/classes/PathList/Finder.html +137 -0
  367. data/doc/html/api/more/classes/Pathname.html +178 -0
  368. data/doc/html/api/more/classes/Pool.html +206 -0
  369. data/doc/html/api/more/classes/Proc.html +138 -0
  370. data/doc/html/api/more/classes/ProgressBar.html +683 -0
  371. data/doc/html/api/more/classes/Prototype.html +245 -0
  372. data/doc/html/api/more/classes/RWDelegator.html +196 -0
  373. data/doc/html/api/more/classes/Random.html +164 -0
  374. data/doc/html/api/more/classes/Random/Array.html +341 -0
  375. data/doc/html/api/more/classes/Random/Hash.html +380 -0
  376. data/doc/html/api/more/classes/Random/Object.html +121 -0
  377. data/doc/html/api/more/classes/Random/String.html +301 -0
  378. data/doc/html/api/more/classes/Random/String/Self.html +155 -0
  379. data/doc/html/api/more/classes/Recorder.html +205 -0
  380. data/doc/html/api/more/classes/RecursiveDependency.html +92 -0
  381. data/doc/html/api/more/classes/Reference.html +198 -0
  382. data/doc/html/api/more/classes/Registerable.html +159 -0
  383. data/doc/html/api/more/classes/Semaphore.html +262 -0
  384. data/doc/html/api/more/classes/Set.html +119 -0
  385. data/doc/html/api/more/classes/Settings.html +290 -0
  386. data/doc/html/api/more/classes/Settings/Setting.html +225 -0
  387. data/doc/html/api/more/classes/Settings/SettingCollection.html +144 -0
  388. data/doc/html/api/more/classes/Shellwords.html +113 -0
  389. data/doc/html/api/more/classes/SimpleStringIO.html +137 -0
  390. data/doc/html/api/more/classes/Snapshot.html +196 -0
  391. data/doc/html/api/more/classes/Snapshot/ValueHolder.html +165 -0
  392. data/doc/html/api/more/classes/String/Style.html +695 -0
  393. data/doc/html/api/more/classes/Struct.html +132 -0
  394. data/doc/html/api/more/classes/SyncArray.html +129 -0
  395. data/doc/html/api/more/classes/SyncHash.html +158 -0
  396. data/doc/html/api/more/classes/SyncHash/Delegator.html +213 -0
  397. data/doc/html/api/more/classes/SyncHash/Inheritor.html +213 -0
  398. data/doc/html/api/more/classes/System.html +1119 -0
  399. data/doc/html/api/more/classes/Timer.html +466 -0
  400. data/doc/html/api/more/classes/Timer/Dummy.html +141 -0
  401. data/doc/html/api/more/classes/TracePoint.html +455 -0
  402. data/doc/html/api/more/classes/Tuple.html +902 -0
  403. data/doc/html/api/more/classes/TypeCast.html +158 -0
  404. data/doc/html/api/more/classes/TypeCast/Class.html +129 -0
  405. data/doc/html/api/more/classes/TypeCast/Object.html +119 -0
  406. data/doc/html/api/more/classes/TypeCastException.html +96 -0
  407. data/doc/html/api/more/classes/URI.html +455 -0
  408. data/doc/html/api/more/classes/URI/Hash.html +107 -0
  409. data/doc/html/api/more/classes/URI/Kernel.html +124 -0
  410. data/doc/html/api/more/classes/Uninheritable.html +122 -0
  411. data/doc/html/api/more/classes/UploadUtils.html +499 -0
  412. data/doc/html/api/more/classes/VersionNumber.html +384 -0
  413. data/doc/html/api/more/classes/Weekdays.html +248 -0
  414. data/doc/html/api/more/classes/XOXO.html +252 -0
  415. data/doc/html/api/more/classes/ZipUtils.html +437 -0
  416. data/doc/html/api/more/classes/ZipUtils/DryRun.html +225 -0
  417. data/doc/html/api/more/classes/ZipUtils/NoWrite.html +225 -0
  418. data/doc/html/api/more/classes/ZipUtils/Verbose.html +225 -0
  419. data/doc/html/api/more/created.rid +1 -0
  420. data/doc/html/api/more/files/AUTHORS.html +257 -0
  421. data/doc/html/api/more/files/CHANGES.html +258 -0
  422. data/doc/html/api/more/files/COPYING.html +462 -0
  423. data/doc/html/api/more/files/MANIFEST.html +597 -0
  424. data/doc/html/api/more/files/NOTES.html +135 -0
  425. data/doc/html/api/more/files/README.html +411 -0
  426. data/doc/html/api/more/files/lib/facets/1stclassmethod_rb.html +181 -0
  427. data/doc/html/api/more/files/lib/facets/advisable_rb.html +124 -0
  428. data/doc/html/api/more/files/lib/facets/annotations_rb.html +179 -0
  429. data/doc/html/api/more/files/lib/facets/ansicode_rb.html +199 -0
  430. data/doc/html/api/more/files/lib/facets/arguments_rb.html +142 -0
  431. data/doc/html/api/more/files/lib/facets/association_rb.html +158 -0
  432. data/doc/html/api/more/files/lib/facets/attr_rb.html +92 -0
  433. data/doc/html/api/more/files/lib/facets/autoarray_rb.html +125 -0
  434. data/doc/html/api/more/files/lib/facets/autoreload_rb.html +134 -0
  435. data/doc/html/api/more/files/lib/facets/basicobject_rb.html +190 -0
  436. data/doc/html/api/more/files/lib/facets/bbcode_rb.html +138 -0
  437. data/doc/html/api/more/files/lib/facets/behavior_rb.html +125 -0
  438. data/doc/html/api/more/files/lib/facets/bicrypt_rb.html +124 -0
  439. data/doc/html/api/more/files/lib/facets/binreadable_rb.html +141 -0
  440. data/doc/html/api/more/files/lib/facets/buildable_rb.html +228 -0
  441. data/doc/html/api/more/files/lib/facets/bytes_rb.html +170 -0
  442. data/doc/html/api/more/files/lib/facets/cachedecorator_rb.html +178 -0
  443. data/doc/html/api/more/files/lib/facets/capsule_rb.html +143 -0
  444. data/doc/html/api/more/files/lib/facets/cattr_rb.html +125 -0
  445. data/doc/html/api/more/files/lib/facets/cgi_rb.html +111 -0
  446. data/doc/html/api/more/files/lib/facets/chain_rb.html +114 -0
  447. data/doc/html/api/more/files/lib/facets/class_extension_rb.html +155 -0
  448. data/doc/html/api/more/files/lib/facets/classmethods_rb.html +213 -0
  449. data/doc/html/api/more/files/lib/facets/cloneable_rb.html +134 -0
  450. data/doc/html/api/more/files/lib/facets/command_rb.html +170 -0
  451. data/doc/html/api/more/files/lib/facets/consoleutils_rb.html +109 -0
  452. data/doc/html/api/more/files/lib/facets/continuation_rb.html +145 -0
  453. data/doc/html/api/more/files/lib/facets/core_rb.html +133 -0
  454. data/doc/html/api/more/files/lib/facets/coroutine_rb.html +163 -0
  455. data/doc/html/api/more/files/lib/facets/crypt_rb.html +141 -0
  456. data/doc/html/api/more/files/lib/facets/cssfilter_rb.html +120 -0
  457. data/doc/html/api/more/files/lib/facets/daemonize_rb.html +118 -0
  458. data/doc/html/api/more/files/lib/facets/date_rb.html +121 -0
  459. data/doc/html/api/more/files/lib/facets/dependency_rb.html +158 -0
  460. data/doc/html/api/more/files/lib/facets/dictionary_rb.html +198 -0
  461. data/doc/html/api/more/files/lib/facets/downloader_rb.html +137 -0
  462. data/doc/html/api/more/files/lib/facets/duration_rb.html +132 -0
  463. data/doc/html/api/more/files/lib/facets/elementor_rb.html +148 -0
  464. data/doc/html/api/more/files/lib/facets/elementwise_rb.html +96 -0
  465. data/doc/html/api/more/files/lib/facets/enumerablepass_rb.html +153 -0
  466. data/doc/html/api/more/files/lib/facets/equatable_rb.html +145 -0
  467. data/doc/html/api/more/files/lib/facets/eventhook_rb.html +141 -0
  468. data/doc/html/api/more/files/lib/facets/expirable_rb.html +116 -0
  469. data/doc/html/api/more/files/lib/facets/fileable_rb.html +138 -0
  470. data/doc/html/api/more/files/lib/facets/filelist_rb.html +164 -0
  471. data/doc/html/api/more/files/lib/facets/fileshell_rb.html +124 -0
  472. data/doc/html/api/more/files/lib/facets/fileutils/head_rb.html +96 -0
  473. data/doc/html/api/more/files/lib/facets/fileutils/safe_ln_rb.html +96 -0
  474. data/doc/html/api/more/files/lib/facets/fileutils/slice_rb.html +96 -0
  475. data/doc/html/api/more/files/lib/facets/fileutils/tail_rb.html +96 -0
  476. data/doc/html/api/more/files/lib/facets/fileutils/wc_rb.html +96 -0
  477. data/doc/html/api/more/files/lib/facets/fileutils/whereis_rb.html +96 -0
  478. data/doc/html/api/more/files/lib/facets/fileutils/which_rb.html +96 -0
  479. data/doc/html/api/more/files/lib/facets/fileutils_rb.html +131 -0
  480. data/doc/html/api/more/files/lib/facets/float/round_rb.html +96 -0
  481. data/doc/html/api/more/files/lib/facets/getoptlong_rb.html +135 -0
  482. data/doc/html/api/more/files/lib/facets/heap_rb.html +132 -0
  483. data/doc/html/api/more/files/lib/facets/htmlfilter_rb.html +153 -0
  484. data/doc/html/api/more/files/lib/facets/infinity_rb.html +153 -0
  485. data/doc/html/api/more/files/lib/facets/inheritor_rb.html +149 -0
  486. data/doc/html/api/more/files/lib/facets/instantiable_rb.html +119 -0
  487. data/doc/html/api/more/files/lib/facets/instantise_rb.html +145 -0
  488. data/doc/html/api/more/files/lib/facets/interval_rb.html +163 -0
  489. data/doc/html/api/more/files/lib/facets/ioredirect_rb.html +133 -0
  490. data/doc/html/api/more/files/lib/facets/iteration_rb.html +94 -0
  491. data/doc/html/api/more/files/lib/facets/lazy_rb.html +120 -0
  492. data/doc/html/api/more/files/lib/facets/linkedlist_rb.html +159 -0
  493. data/doc/html/api/more/files/lib/facets/logger_rb.html +142 -0
  494. data/doc/html/api/more/files/lib/facets/lrucache_rb.html +129 -0
  495. data/doc/html/api/more/files/lib/facets/main_rb.html +126 -0
  496. data/doc/html/api/more/files/lib/facets/memoize_rb.html +163 -0
  497. data/doc/html/api/more/files/lib/facets/meta_rb.html +96 -0
  498. data/doc/html/api/more/files/lib/facets/methodspace_rb.html +138 -0
  499. data/doc/html/api/more/files/lib/facets/minitar_rb.html +203 -0
  500. data/doc/html/api/more/files/lib/facets/multipliers_rb.html +149 -0
  501. data/doc/html/api/more/files/lib/facets/multiton_rb.html +187 -0
  502. data/doc/html/api/more/files/lib/facets/nackclass_rb.html +121 -0
  503. data/doc/html/api/more/files/lib/facets/net/smtp_tls_rb.html +143 -0
  504. data/doc/html/api/more/files/lib/facets/nilstatus_rb.html +92 -0
  505. data/doc/html/api/more/files/lib/facets/nullclass_rb.html +122 -0
  506. data/doc/html/api/more/files/lib/facets/opencascade_rb.html +156 -0
  507. data/doc/html/api/more/files/lib/facets/opencollection_rb.html +123 -0
  508. data/doc/html/api/more/files/lib/facets/openhash_rb.html +107 -0
  509. data/doc/html/api/more/files/lib/facets/openobject_rb.html +167 -0
  510. data/doc/html/api/more/files/lib/facets/opesc_rb.html +94 -0
  511. data/doc/html/api/more/files/lib/facets/orderedhash_rb.html +142 -0
  512. data/doc/html/api/more/files/lib/facets/ostruct_rb.html +135 -0
  513. data/doc/html/api/more/files/lib/facets/overload_rb.html +119 -0
  514. data/doc/html/api/more/files/lib/facets/pathlist_rb.html +133 -0
  515. data/doc/html/api/more/files/lib/facets/pathname_rb.html +155 -0
  516. data/doc/html/api/more/files/lib/facets/pool_rb.html +131 -0
  517. data/doc/html/api/more/files/lib/facets/pqueue_rb.html +129 -0
  518. data/doc/html/api/more/files/lib/facets/progressbar_rb.html +126 -0
  519. data/doc/html/api/more/files/lib/facets/prototype_rb.html +102 -0
  520. data/doc/html/api/more/files/lib/facets/random_rb.html +148 -0
  521. data/doc/html/api/more/files/lib/facets/rbconfig_rb.html +124 -0
  522. data/doc/html/api/more/files/lib/facets/rbsystem_rb.html +143 -0
  523. data/doc/html/api/more/files/lib/facets/recorder_rb.html +154 -0
  524. data/doc/html/api/more/files/lib/facets/reference_rb.html +130 -0
  525. data/doc/html/api/more/files/lib/facets/reflection_rb.html +119 -0
  526. data/doc/html/api/more/files/lib/facets/registerable_rb.html +98 -0
  527. data/doc/html/api/more/files/lib/facets/rwdelegator_rb.html +122 -0
  528. data/doc/html/api/more/files/lib/facets/semaphore_rb.html +120 -0
  529. data/doc/html/api/more/files/lib/facets/set_rb.html +96 -0
  530. data/doc/html/api/more/files/lib/facets/settings_rb.html +141 -0
  531. data/doc/html/api/more/files/lib/facets/shellwords_rb.html +124 -0
  532. data/doc/html/api/more/files/lib/facets/snapshot_rb.html +177 -0
  533. data/doc/html/api/more/files/lib/facets/style_rb.html +96 -0
  534. data/doc/html/api/more/files/lib/facets/succ_rb.html +92 -0
  535. data/doc/html/api/more/files/lib/facets/syncarray_rb.html +125 -0
  536. data/doc/html/api/more/files/lib/facets/synchash_rb.html +138 -0
  537. data/doc/html/api/more/files/lib/facets/thread_rb.html +132 -0
  538. data/doc/html/api/more/files/lib/facets/timer_rb.html +174 -0
  539. data/doc/html/api/more/files/lib/facets/times_rb.html +163 -0
  540. data/doc/html/api/more/files/lib/facets/tracepoint_rb.html +167 -0
  541. data/doc/html/api/more/files/lib/facets/tuple_rb.html +160 -0
  542. data/doc/html/api/more/files/lib/facets/typecast_rb.html +214 -0
  543. data/doc/html/api/more/files/lib/facets/uninheritable_rb.html +129 -0
  544. data/doc/html/api/more/files/lib/facets/uploadutils_rb.html +176 -0
  545. data/doc/html/api/more/files/lib/facets/uri_rb.html +125 -0
  546. data/doc/html/api/more/files/lib/facets/version_rb.html +132 -0
  547. data/doc/html/api/more/files/lib/facets/xmlhash_rb.html +97 -0
  548. data/doc/html/api/more/files/lib/facets/xoxo_rb.html +136 -0
  549. data/doc/html/api/more/files/lib/facets/yaml_rb.html +145 -0
  550. data/doc/html/api/more/files/lib/facets/ziputils_rb.html +133 -0
  551. data/doc/html/api/more/fr_class_index.html +200 -0
  552. data/doc/html/api/more/fr_file_index.html +177 -0
  553. data/doc/html/api/more/fr_method_index.html +1181 -0
  554. data/doc/html/api/more/index.html +26 -0
  555. data/doc/html/api/more/rdoc-style.css +175 -0
  556. data/doc/html/authors.html +178 -0
  557. data/doc/html/changes.html +177 -0
  558. data/doc/html/copying.html +384 -0
  559. data/doc/html/img/APIdocs.png +0 -0
  560. data/doc/html/img/RubyFacets.png +0 -0
  561. data/doc/html/img/bomb.gif +0 -0
  562. data/doc/html/img/develop.gif +0 -0
  563. data/doc/html/img/email.gif +0 -0
  564. data/doc/html/img/fade_blue_down.gif +0 -0
  565. data/doc/html/img/fade_red_down.png +0 -0
  566. data/doc/html/img/folder.gif +0 -0
  567. data/doc/html/img/home.gif +0 -0
  568. data/doc/html/img/menu_bkg.png +0 -0
  569. data/doc/html/img/quill.gif +0 -0
  570. data/doc/html/img/ruby-h.png +0 -0
  571. data/doc/html/img/ruby.gif +0 -0
  572. data/doc/html/img/ruby.png +0 -0
  573. data/doc/html/img/source.gif +0 -0
  574. data/doc/html/index.html +16 -0
  575. data/doc/html/js/doclist.js +20 -0
  576. data/doc/html/js/jquery.js +3408 -0
  577. data/doc/html/list.json +1 -0
  578. data/doc/html/manifest.html +519 -0
  579. data/doc/html/menu.html +70 -0
  580. data/doc/html/notes.html +57 -0
  581. data/doc/html/rakefile.html +45 -0
  582. data/doc/html/readme.html +327 -0
  583. data/doc/html/style-rdoc.css +208 -0
  584. data/lib/facets.rb +2 -0
  585. data/lib/facets/1stclassmethod.rb +140 -0
  586. data/lib/facets/advisable.rb +162 -0
  587. data/lib/facets/annotations.rb +300 -0
  588. data/lib/facets/ansicode.rb +320 -0
  589. data/lib/facets/arguments.rb +349 -0
  590. data/lib/facets/array.rb +24 -0
  591. data/lib/facets/array/conjoin.rb +58 -0
  592. data/lib/facets/array/delete.rb +61 -0
  593. data/lib/facets/array/indexable.rb +73 -0
  594. data/lib/facets/array/merge.rb +21 -0
  595. data/lib/facets/array/not_empty.rb +13 -0
  596. data/lib/facets/array/only.rb +21 -0
  597. data/lib/facets/array/pad.rb +41 -0
  598. data/lib/facets/array/product.rb +15 -0
  599. data/lib/facets/array/rotate.rb +42 -0
  600. data/lib/facets/array/select.rb +16 -0
  601. data/lib/facets/array/splice.rb +30 -0
  602. data/lib/facets/array/stackable.rb +33 -0
  603. data/lib/facets/array/traverse.rb +22 -0
  604. data/lib/facets/association.rb +194 -0
  605. data/lib/{core/facets/module → facets}/attr.rb +0 -0
  606. data/lib/facets/autoarray.rb +62 -0
  607. data/lib/facets/autoreload.rb +150 -0
  608. data/lib/facets/basicobject.rb +263 -0
  609. data/lib/facets/bbcode.rb +397 -0
  610. data/lib/facets/behavior.rb +104 -0
  611. data/lib/facets/bicrypt.rb +265 -0
  612. data/lib/facets/binding.rb +6 -0
  613. data/lib/facets/binding/caller.rb +54 -0
  614. data/lib/facets/binding/defined.rb +13 -0
  615. data/lib/facets/binding/local_variables.rb +15 -0
  616. data/lib/facets/binding/opvars.rb +24 -0
  617. data/lib/facets/binding/self.rb +12 -0
  618. data/lib/facets/binreadable.rb +221 -0
  619. data/lib/{core/facets/integer → facets}/bitmask.rb +0 -0
  620. data/lib/facets/blank.rb +60 -0
  621. data/lib/facets/boolean.rb +156 -0
  622. data/lib/facets/buildable.rb +344 -0
  623. data/lib/facets/bytes.rb +173 -0
  624. data/lib/facets/cachedecorator.rb +117 -0
  625. data/lib/facets/callstack.rb +52 -0
  626. data/lib/facets/capsule.rb +258 -0
  627. data/lib/facets/cattr.rb +141 -0
  628. data/lib/facets/cgi.rb +50 -0
  629. data/lib/facets/chain.rb +58 -0
  630. data/lib/facets/class.rb +4 -0
  631. data/lib/facets/class/descendents.rb +28 -0
  632. data/lib/facets/class/prepend.rb +50 -0
  633. data/lib/facets/class/subclasses.rb +2 -0
  634. data/lib/facets/class_extension.rb +114 -0
  635. data/lib/facets/classmethods.rb +199 -0
  636. data/lib/facets/cloneable.rb +76 -0
  637. data/lib/facets/command.rb +422 -0
  638. data/lib/facets/comparable.rb +6 -0
  639. data/lib/facets/comparable/bound.rb +65 -0
  640. data/lib/facets/comparable/cmp.rb +38 -0
  641. data/lib/facets/comparable/comparable.rb +42 -0
  642. data/lib/facets/consoleutils.rb +113 -0
  643. data/lib/facets/continuation.rb +57 -0
  644. data/lib/facets/core.rb +50 -0
  645. data/lib/facets/coroutine.rb +158 -0
  646. data/lib/facets/crypt.rb +166 -0
  647. data/lib/facets/cssfilter.rb +254 -0
  648. data/lib/facets/daemonize.rb +44 -0
  649. data/lib/facets/date.rb +78 -0
  650. data/lib/facets/dependency.rb +151 -0
  651. data/lib/facets/dictionary.rb +474 -0
  652. data/lib/facets/dir.rb +9 -0
  653. data/lib/facets/dir/ascend.rb +59 -0
  654. data/lib/facets/dir/descend.rb +1 -0
  655. data/lib/{core/facets → facets}/dir/multiglob.rb +0 -0
  656. data/lib/facets/dir/parent.rb +13 -0
  657. data/lib/facets/dir/recurse.rb +29 -0
  658. data/lib/facets/downloader.rb +281 -0
  659. data/lib/facets/duplicable.rb +43 -0
  660. data/lib/facets/duration.rb +540 -0
  661. data/lib/facets/elementor.rb +133 -0
  662. data/lib/facets/elementwise.rb +61 -0
  663. data/lib/facets/enumerable.rb +19 -0
  664. data/lib/facets/enumerable/accumulate.rb +21 -0
  665. data/lib/facets/enumerable/cluster_by.rb +21 -0
  666. data/lib/facets/enumerable/collect.rb +54 -0
  667. data/lib/facets/enumerable/divide.rb +33 -0
  668. data/lib/facets/enumerable/duplicates.rb +38 -0
  669. data/lib/facets/enumerable/each_by.rb +33 -0
  670. data/lib/facets/enumerable/inject.rb +31 -0
  671. data/lib/facets/enumerable/map_send.rb +12 -0
  672. data/lib/facets/enumerable/mash.rb +32 -0
  673. data/lib/facets/enumerable/mode.rb +15 -0
  674. data/lib/facets/enumerable/modulate.rb +22 -0
  675. data/lib/facets/enumerable/occur.rb +38 -0
  676. data/lib/facets/enumerable/probability.rb +133 -0
  677. data/lib/facets/enumerable/split.rb +23 -0
  678. data/lib/facets/enumerable/sum.rb +16 -0
  679. data/lib/facets/enumerable/uniq_by.rb +18 -0
  680. data/lib/facets/enumerablepass.rb +217 -0
  681. data/lib/facets/equatable.rb +120 -0
  682. data/lib/facets/eventhook.rb +132 -0
  683. data/lib/{core/facets → facets}/exception.rb +0 -0
  684. data/lib/facets/exception/detail.rb +19 -0
  685. data/lib/facets/expirable.rb +82 -0
  686. data/lib/facets/file.rb +7 -0
  687. data/lib/facets/file/null.rb +21 -0
  688. data/lib/facets/file/read.rb +41 -0
  689. data/lib/facets/file/rewrite.rb +54 -0
  690. data/lib/facets/file/rootname.rb +23 -0
  691. data/lib/facets/file/write.rb +64 -0
  692. data/lib/facets/fileable.rb +162 -0
  693. data/lib/facets/filelist.rb +499 -0
  694. data/lib/facets/fileshell.rb +200 -0
  695. data/lib/facets/filetest.rb +3 -0
  696. data/lib/facets/filetest/root.rb +17 -0
  697. data/lib/facets/fileutils.rb +27 -0
  698. data/lib/facets/fileutils/head.rb +1 -0
  699. data/lib/facets/fileutils/safe_ln.rb +28 -0
  700. data/lib/facets/fileutils/slice.rb +141 -0
  701. data/lib/facets/fileutils/tail.rb +1 -0
  702. data/lib/facets/fileutils/wc.rb +114 -0
  703. data/lib/facets/fileutils/whereis.rb +63 -0
  704. data/lib/facets/fileutils/which.rb +101 -0
  705. data/lib/facets/float/round.rb +36 -0
  706. data/lib/facets/functor.rb +77 -0
  707. data/lib/facets/getoptlong.rb +71 -0
  708. data/lib/facets/hash.rb +25 -0
  709. data/lib/facets/hash/alias.rb +31 -0
  710. data/lib/facets/hash/argumentize.rb +21 -0
  711. data/lib/facets/hash/at.rb +8 -0
  712. data/lib/facets/hash/autonew.rb +42 -0
  713. data/lib/facets/hash/collate.rb +45 -0
  714. data/lib/facets/hash/delete.rb +47 -0
  715. data/lib/facets/hash/diff.rb +11 -0
  716. data/lib/{core/facets → facets}/hash/except.rb +0 -0
  717. data/lib/facets/hash/insert.rb +19 -0
  718. data/lib/facets/hash/inverse.rb +27 -0
  719. data/lib/facets/hash/join.rb +14 -0
  720. data/lib/facets/hash/keys.rb +45 -0
  721. data/lib/facets/hash/mash.rb +18 -0
  722. data/lib/facets/hash/merge.rb +74 -0
  723. data/lib/facets/hash/op.rb +85 -0
  724. data/lib/facets/hash/rekey.rb +59 -0
  725. data/lib/{core/facets → facets}/hash/select.rb +0 -0
  726. data/lib/{core/facets → facets}/hash/slice.rb +0 -0
  727. data/lib/facets/hash/stringify_keys.rb +1 -0
  728. data/lib/facets/hash/swap.rb +17 -0
  729. data/lib/facets/hash/symbolize_keys.rb +95 -0
  730. data/lib/facets/hash/to_h.rb +1 -0
  731. data/lib/facets/hash/to_proc.rb +41 -0
  732. data/lib/facets/hash/to_struct.rb +17 -0
  733. data/lib/facets/hash/traverse.rb +41 -0
  734. data/lib/facets/hash/update.rb +75 -0
  735. data/lib/{core/facets → facets}/hash/weave.rb +0 -0
  736. data/lib/facets/hash/zipnew.rb +2 -0
  737. data/lib/facets/heap.rb +22 -0
  738. data/lib/facets/htmlfilter.rb +595 -0
  739. data/lib/facets/indexable.rb +242 -0
  740. data/lib/facets/infinity.rb +193 -0
  741. data/lib/facets/inheritor.rb +126 -0
  742. data/lib/facets/instantiable.rb +47 -0
  743. data/lib/facets/instantise.rb +92 -0
  744. data/lib/facets/integer.rb +7 -0
  745. data/lib/facets/integer/factorial.rb +30 -0
  746. data/lib/facets/integer/multiple.rb +15 -0
  747. data/lib/facets/integer/of.rb +18 -0
  748. data/lib/facets/integer/ordinal.rb +24 -0
  749. data/lib/facets/interval.rb +282 -0
  750. data/lib/facets/ioredirect.rb +130 -0
  751. data/lib/facets/iteration.rb +65 -0
  752. data/lib/facets/kernel.rb +22 -0
  753. data/lib/facets/kernel/__dir__.rb +12 -0
  754. data/lib/facets/kernel/as.rb +100 -0
  755. data/lib/facets/kernel/ask.rb +27 -0
  756. data/lib/facets/kernel/attr_singleton.rb +62 -0
  757. data/lib/facets/kernel/complete.rb +18 -0
  758. data/lib/{core/facets → facets}/kernel/constant.rb +0 -0
  759. data/lib/facets/kernel/d.rb +26 -0
  760. data/lib/facets/kernel/deep_copy.rb +13 -0
  761. data/lib/facets/kernel/demo.rb +23 -0
  762. data/lib/facets/kernel/ergo.rb +42 -0
  763. data/lib/facets/kernel/here.rb +12 -0
  764. data/lib/facets/kernel/in.rb +13 -0
  765. data/lib/facets/kernel/instance.rb +73 -0
  766. data/lib/facets/kernel/instance_exec.rb +19 -0
  767. data/lib/facets/kernel/load.rb +41 -0
  768. data/lib/facets/kernel/maybe.rb +18 -0
  769. data/lib/facets/kernel/not_nil.rb +17 -0
  770. data/lib/facets/kernel/object.rb +53 -0
  771. data/lib/facets/kernel/p.rb +24 -0
  772. data/lib/facets/kernel/populate.rb +73 -0
  773. data/lib/facets/kernel/resc.rb +16 -0
  774. data/lib/facets/kernel/respond.rb +23 -0
  775. data/lib/facets/kernel/returning.rb +23 -0
  776. data/lib/facets/kernel/silence.rb +69 -0
  777. data/lib/facets/kernel/singleton_class.rb +14 -0
  778. data/lib/facets/kernel/try.rb +23 -0
  779. data/lib/facets/kernel/val.rb +19 -0
  780. data/lib/facets/kernel/with.rb +20 -0
  781. data/lib/facets/lazy.rb +238 -0
  782. data/lib/facets/linkedlist.rb +222 -0
  783. data/lib/facets/logger.rb +291 -0
  784. data/lib/facets/lrucache.rb +157 -0
  785. data/lib/facets/main.rb +70 -0
  786. data/lib/facets/matchdata.rb +6 -0
  787. data/lib/facets/matchdata/match.rb +15 -0
  788. data/lib/facets/matchdata/matchset.rb +44 -0
  789. data/lib/facets/memoize.rb +116 -0
  790. data/lib/facets/meta.rb +23 -0
  791. data/lib/facets/metaid.rb +145 -0
  792. data/lib/facets/methodspace.rb +141 -0
  793. data/lib/facets/minitar.rb +1063 -0
  794. data/lib/facets/module.rb +19 -0
  795. data/lib/facets/module/abstract.rb +21 -0
  796. data/lib/facets/module/alias.rb +115 -0
  797. data/lib/facets/module/ancestor.rb +16 -0
  798. data/lib/facets/module/can.rb +14 -0
  799. data/lib/facets/module/class.rb +14 -0
  800. data/lib/facets/module/clone.rb +57 -0
  801. data/lib/facets/module/conflict.rb +56 -0
  802. data/lib/facets/module/include_function_module.rb +25 -0
  803. data/lib/facets/module/instance_methods.rb +40 -0
  804. data/lib/facets/module/is.rb +57 -0
  805. data/lib/facets/module/module_load.rb +56 -0
  806. data/lib/facets/module/nesting.rb +84 -0
  807. data/lib/facets/module/op.rb +95 -0
  808. data/lib/facets/module/pathize.rb +19 -0
  809. data/lib/facets/module/prepend.rb +25 -0
  810. data/lib/facets/module/revise.rb +168 -0
  811. data/lib/facets/multipliers.rb +109 -0
  812. data/lib/facets/multiton.rb +386 -0
  813. data/lib/facets/nackclass.rb +41 -0
  814. data/lib/{more/facets → facets/net}/smtp_tls.rb +0 -0
  815. data/lib/facets/nilclass.rb +3 -0
  816. data/lib/facets/nilstatus.rb +47 -0
  817. data/lib/facets/nullclass.rb +74 -0
  818. data/lib/facets/numeric.rb +5 -0
  819. data/lib/facets/numeric/approx.rb +15 -0
  820. data/lib/facets/numeric/distance.rb +14 -0
  821. data/lib/facets/numeric/round.rb +51 -0
  822. data/lib/facets/opencascade.rb +92 -0
  823. data/lib/facets/opencollection.rb +43 -0
  824. data/lib/facets/openhash.rb +38 -0
  825. data/lib/facets/openobject.rb +261 -0
  826. data/lib/facets/opesc.rb +60 -0
  827. data/lib/facets/orderedhash.rb +37 -0
  828. data/lib/facets/ostruct.rb +222 -0
  829. data/lib/facets/overload.rb +94 -0
  830. data/lib/facets/pathlist.rb +112 -0
  831. data/lib/facets/pathname.rb +112 -0
  832. data/lib/facets/pool.rb +91 -0
  833. data/lib/facets/pqueue.rb +449 -0
  834. data/lib/facets/proc.rb +6 -0
  835. data/lib/facets/proc/bind.rb +22 -0
  836. data/lib/facets/proc/compose.rb +42 -0
  837. data/lib/facets/proc/curry.rb +31 -0
  838. data/lib/facets/proc/partial.rb +37 -0
  839. data/lib/facets/proc/to_method.rb +33 -0
  840. data/lib/facets/proc/update.rb +9 -0
  841. data/lib/facets/progressbar.rb +253 -0
  842. data/lib/facets/prototype.rb +88 -0
  843. data/lib/facets/random.rb +448 -0
  844. data/lib/facets/range.rb +6 -0
  845. data/lib/facets/range/combine.rb +47 -0
  846. data/lib/facets/range/overlap.rb +13 -0
  847. data/lib/facets/range/to_r.rb +26 -0
  848. data/lib/facets/range/umbrella.rb +1 -0
  849. data/lib/facets/range/within.rb +66 -0
  850. data/lib/facets/rbconfig.rb +45 -0
  851. data/lib/facets/rbsystem.rb +222 -0
  852. data/lib/facets/recorder.rb +109 -0
  853. data/lib/facets/reference.rb +99 -0
  854. data/lib/facets/reflection.rb +98 -0
  855. data/lib/facets/regexp.rb +5 -0
  856. data/lib/facets/regexp/arity.rb +17 -0
  857. data/lib/facets/regexp/to_re.rb +28 -0
  858. data/lib/facets/registerable.rb +35 -0
  859. data/lib/facets/ruby.rb +485 -0
  860. data/lib/facets/rwdelegator.rb +74 -0
  861. data/lib/facets/semaphore.rb +92 -0
  862. data/lib/{more/facets → facets}/set.rb +0 -0
  863. data/lib/facets/settings.rb +248 -0
  864. data/lib/facets/shellwords.rb +89 -0
  865. data/lib/facets/snapshot.rb +209 -0
  866. data/lib/facets/stackable.rb +86 -0
  867. data/lib/facets/string.rb +16 -0
  868. data/lib/facets/string/align.rb +106 -0
  869. data/lib/facets/string/bracket.rb +105 -0
  870. data/lib/facets/string/camelcase.rb +26 -0
  871. data/lib/facets/string/capitalized.rb +46 -0
  872. data/lib/facets/string/chomp.rb +33 -0
  873. data/lib/facets/string/cleave.rb +36 -0
  874. data/lib/facets/string/divide.rb +21 -0
  875. data/lib/facets/string/fold.rb +39 -0
  876. data/lib/facets/string/interpolate.rb +20 -0
  877. data/lib/facets/string/line_wrap.rb +21 -0
  878. data/lib/facets/string/mscan.rb +19 -0
  879. data/lib/{core/facets → facets}/string/natcmp.rb +0 -0
  880. data/lib/facets/string/nchar.rb +28 -0
  881. data/lib/facets/string/range.rb +77 -0
  882. data/lib/facets/string/rewrite.rb +28 -0
  883. data/lib/facets/string/shatter.rb +22 -0
  884. data/lib/facets/string/snakecase.rb +21 -0
  885. data/lib/facets/string/splice.rb +25 -0
  886. data/lib/facets/string/stylize.rb +73 -0
  887. data/lib/facets/string/subtract.rb +14 -0
  888. data/lib/facets/string/tab.rb +103 -0
  889. data/lib/facets/string/titlecase.rb +15 -0
  890. data/lib/facets/string/to_re.rb +26 -0
  891. data/lib/facets/string/to_time.rb +23 -0
  892. data/lib/facets/string/underscore.rb +28 -0
  893. data/lib/facets/string/words.rb +173 -0
  894. data/lib/facets/string/xor.rb +22 -0
  895. data/lib/facets/style.rb +235 -0
  896. data/lib/facets/succ.rb +44 -0
  897. data/lib/facets/symbol.rb +5 -0
  898. data/lib/facets/symbol/chomp.rb +24 -0
  899. data/lib/facets/symbol/generate.rb +24 -0
  900. data/lib/facets/symbol/not.rb +29 -0
  901. data/lib/facets/syncarray.rb +114 -0
  902. data/lib/facets/synchash.rb +157 -0
  903. data/lib/facets/thread.rb +51 -0
  904. data/lib/facets/time.rb +6 -0
  905. data/lib/facets/time/ago.rb +1 -0
  906. data/lib/facets/time/change.rb +99 -0
  907. data/lib/{core/facets → facets}/time/elapse.rb +0 -0
  908. data/lib/facets/time/hence.rb +56 -0
  909. data/lib/facets/time/set.rb +1 -0
  910. data/lib/facets/time/stamp.rb +46 -0
  911. data/lib/facets/timer.rb +274 -0
  912. data/lib/facets/times.rb +431 -0
  913. data/lib/facets/to_hash.rb +87 -0
  914. data/lib/facets/tracepoint.rb +209 -0
  915. data/lib/facets/tuple.rb +325 -0
  916. data/lib/facets/typecast.rb +260 -0
  917. data/lib/facets/unboundmethod.rb +4 -0
  918. data/lib/{core/facets → facets}/unboundmethod/arguments.rb +0 -0
  919. data/lib/facets/uninheritable.rb +50 -0
  920. data/lib/facets/uploadutils.rb +464 -0
  921. data/lib/facets/uri.rb +249 -0
  922. data/lib/facets/version.rb +122 -0
  923. data/lib/facets/xmlhash.rb +112 -0
  924. data/lib/facets/xoxo.rb +259 -0
  925. data/lib/facets/yaml.rb +66 -0
  926. data/lib/facets/ziputils.rb +349 -0
  927. data/log/Changelog.txt +314 -0
  928. data/log/Fixme.txt +7 -13
  929. data/log/Testlog.txt +202 -185
  930. data/log/Todo.txt +177 -257
  931. data/meta/contact +1 -0
  932. data/meta/corelibs +49 -0
  933. data/meta/created +1 -0
  934. data/meta/download +1 -0
  935. data/meta/homepage +1 -0
  936. data/meta/mailinglist +1 -0
  937. data/meta/project.yaml +3 -14
  938. data/meta/slogan +1 -0
  939. data/meta/unixname +1 -0
  940. data/meta/version +1 -0
  941. data/script/conflicts +38 -0
  942. data/script/document +231 -0
  943. data/script/methods +60 -0
  944. data/script/test +37 -0
  945. data/setup.rb +1478 -0
  946. data/test/array/test_delete.rb +30 -0
  947. data/test/array/test_indexable.rb +118 -0
  948. data/test/array/test_merge.rb +22 -0
  949. data/test/{core/array → array}/test_only.rb +0 -0
  950. data/test/array/test_pad.rb +33 -0
  951. data/test/array/test_product.rb +25 -0
  952. data/test/array/test_rotate.rb +23 -0
  953. data/test/array/test_select.rb +17 -0
  954. data/test/{core/array → array}/test_stackable.rb +0 -0
  955. data/test/binding/test_caller.rb +44 -0
  956. data/test/binding/test_defined.rb +18 -0
  957. data/test/binding/test_local_variables.rb +18 -0
  958. data/test/binding/test_opvars.rb +24 -0
  959. data/test/binding/test_self.rb +18 -0
  960. data/test/class/test_descendents.rb +14 -0
  961. data/test/comparable/test_bound.rb +41 -0
  962. data/test/comparable/test_cmp.rb +35 -0
  963. data/test/comparable/test_comparable.rb +52 -0
  964. data/test/dir/test_ascend.rb +40 -0
  965. data/test/dir/test_descend.rb +25 -0
  966. data/test/dir/test_multiglob.rb +41 -0
  967. data/test/dir/test_parent.rb +11 -0
  968. data/test/dir/test_recurse.rb +41 -0
  969. data/test/enumerable/test_cluster_by.rb +22 -0
  970. data/test/enumerable/test_collect.rb +39 -0
  971. data/test/enumerable/test_each_by.rb +55 -0
  972. data/test/enumerable/test_inject.rb +18 -0
  973. data/test/enumerable/test_mash.rb +38 -0
  974. data/test/enumerable/test_occur.rb +15 -0
  975. data/test/{core/enumerable → enumerable}/test_probability.rb +0 -0
  976. data/test/enumerable/test_uniq_by.rb +13 -0
  977. data/test/exception/test_exception.rb +17 -0
  978. data/test/file/test_file.rb +161 -0
  979. data/test/filetest/test_filetest.rb +10 -0
  980. data/test/hash/test_alias.rb +16 -0
  981. data/test/hash/test_at.rb +13 -0
  982. data/test/hash/test_autonew.rb +11 -0
  983. data/test/hash/test_collate.rb +33 -0
  984. data/test/hash/test_delete.rb +28 -0
  985. data/test/hash/test_insert.rb +13 -0
  986. data/test/hash/test_inverse.rb +15 -0
  987. data/test/hash/test_keys.rb +24 -0
  988. data/test/hash/test_mash.rb +20 -0
  989. data/test/hash/test_merge.rb +14 -0
  990. data/test/hash/test_op.rb +42 -0
  991. data/test/hash/test_rekey.rb +41 -0
  992. data/test/hash/test_rekey2.rb +37 -0
  993. data/test/hash/test_select.rb +35 -0
  994. data/test/hash/test_stringify_keys.rb +21 -0
  995. data/test/hash/test_swap.rb +11 -0
  996. data/test/hash/test_symbolize_keys.rb +20 -0
  997. data/test/hash/test_traverse.rb +22 -0
  998. data/test/hash/test_update.rb +40 -0
  999. data/test/{core/hash → hash}/test_weave.rb +0 -0
  1000. data/test/hash/test_zipnew.rb +13 -0
  1001. data/test/integer/test_bitmask.rb +53 -0
  1002. data/test/integer/test_factorial.rb +15 -0
  1003. data/test/integer/test_multiple.rb +14 -0
  1004. data/test/integer/test_of.rb +19 -0
  1005. data/test/integer/test_ordinal.rb +14 -0
  1006. data/test/kernel/test_as.rb +50 -0
  1007. data/test/kernel/test_attr_singleton.rb +41 -0
  1008. data/test/kernel/test_callstack.rb +10 -0
  1009. data/test/kernel/test_constant.rb +18 -0
  1010. data/test/kernel/test_deepcopy.rb +27 -0
  1011. data/test/kernel/test_here.rb +15 -0
  1012. data/test/kernel/test_in.rb +11 -0
  1013. data/test/kernel/test_instance.rb +24 -0
  1014. data/test/kernel/test_not_nil.rb +13 -0
  1015. data/test/{core/kernel → kernel}/test_object.rb +0 -0
  1016. data/test/kernel/test_populate.rb +46 -0
  1017. data/test/kernel/test_resc.rb +12 -0
  1018. data/test/{core/kernel → kernel}/test_returning.rb +0 -0
  1019. data/test/{core/kernel → kernel}/test_silence.rb +0 -0
  1020. data/test/kernel/test_val.rb +27 -0
  1021. data/test/{core/matchdata → matchdata}/test_match.rb +0 -0
  1022. data/test/matchdata/test_matchset.rb +21 -0
  1023. data/test/{core/module → module}/test_abstract.rb +0 -0
  1024. data/test/module/test_alias.rb +44 -0
  1025. data/test/module/test_ancestor.rb +11 -0
  1026. data/test/{core/module → module}/test_clone.rb +0 -0
  1027. data/test/module/test_nesting.rb +38 -0
  1028. data/test/module/test_op.rb +44 -0
  1029. data/test/module/test_pathize.rb +15 -0
  1030. data/test/module/test_revise.rb +174 -0
  1031. data/test/numeric/test_approx.rb +13 -0
  1032. data/test/numeric/test_distance.rb +13 -0
  1033. data/test/numeric/test_round.rb +49 -0
  1034. data/test/proc/test_bind.rb +26 -0
  1035. data/test/proc/test_compose.rb +20 -0
  1036. data/test/proc/test_curry.rb +25 -0
  1037. data/test/proc/test_partial.rb +27 -0
  1038. data/test/proc/test_to_method.rb +26 -0
  1039. data/test/range/test_combine.rb +18 -0
  1040. data/test/range/test_overlap.rb +15 -0
  1041. data/test/range/test_to_r.rb +17 -0
  1042. data/test/range/test_within.rb +36 -0
  1043. data/test/regexp/test_arity.rb +17 -0
  1044. data/test/regexp/test_to_re.rb +17 -0
  1045. data/test/{core/string → string}/test_align.rb +0 -0
  1046. data/test/{core/string → string}/test_bracket.rb +0 -0
  1047. data/test/string/test_camelcase.rb +42 -0
  1048. data/test/string/test_capitalized.rb +27 -0
  1049. data/test/string/test_cleave.rb +32 -0
  1050. data/test/string/test_divide.rb +14 -0
  1051. data/test/string/test_fold.rb +18 -0
  1052. data/test/{core/string → string}/test_interpolate.rb +0 -0
  1053. data/test/string/test_line_wrap.rb +12 -0
  1054. data/test/string/test_mscan.rb +15 -0
  1055. data/test/{core/string → string}/test_natcmp.rb +0 -0
  1056. data/test/string/test_nchar.rb +14 -0
  1057. data/test/string/test_range.rb +23 -0
  1058. data/test/string/test_shatter.rb +14 -0
  1059. data/test/string/test_snakecase.rb +14 -0
  1060. data/test/string/test_stylize.rb +52 -0
  1061. data/test/string/test_subtract.rb +13 -0
  1062. data/test/string/test_tab.rb +234 -0
  1063. data/test/string/test_titlecase.rb +13 -0
  1064. data/test/string/test_to_re.rb +27 -0
  1065. data/test/string/test_to_time.rb +24 -0
  1066. data/test/string/test_underscore.rb +13 -0
  1067. data/test/string/test_words.rb +82 -0
  1068. data/test/string/test_xor.rb +13 -0
  1069. data/test/symbol/test_chomp.rb +15 -0
  1070. data/test/symbol/test_generate.rb +20 -0
  1071. data/test/symbol/test_not.rb +13 -0
  1072. data/test/{core/test_1stclassmethod.rb → test_1stclassmethod.rb} +0 -0
  1073. data/test/test_advisable.rb +71 -0
  1074. data/test/test_annotations.rb +120 -0
  1075. data/test/{more/test_ansicode.rb → test_ansicode.rb} +0 -0
  1076. data/test/test_arguments.rb +56 -0
  1077. data/test/{class/test_association.rb → test_association.rb} +0 -0
  1078. data/test/{class/test_autoarray.rb → test_autoarray.rb} +0 -0
  1079. data/test/{class/test_basicobject.rb → test_basicobject.rb} +0 -0
  1080. data/test/{more/test_bbcode.rb → test_bbcode.rb} +0 -0
  1081. data/test/{mixin/test_binreadable.rb → test_binreadable.rb} +0 -0
  1082. data/test/test_blank.rb +12 -0
  1083. data/test/{core/test_boolean.rb → test_boolean.rb} +0 -0
  1084. data/test/test_buildable.rb +73 -0
  1085. data/test/{more/test_bytes.rb → test_bytes.rb} +0 -0
  1086. data/test/test_cattr.rb +47 -0
  1087. data/test/{more/test_class_extension.rb → test_class_extension.rb} +0 -0
  1088. data/test/{more/test_classmethods.rb → test_classmethods.rb} +0 -0
  1089. data/test/{mixin/test_cloneable.rb → test_cloneable.rb} +0 -0
  1090. data/test/test_command.rb +71 -0
  1091. data/test/{more/test_continuation.rb → test_continuation.rb} +0 -0
  1092. data/test/{class/test_coroutine.rb → test_coroutine.rb} +0 -0
  1093. data/test/{more/test_crypt.rb → test_crypt.rb} +0 -0
  1094. data/test/{more/test_date.rb → test_date.rb} +0 -0
  1095. data/test/{more/test_dependency.rb → test_dependency.rb} +0 -0
  1096. data/test/{class/test_dictionary.rb → test_dictionary.rb} +0 -0
  1097. data/test/test_elementor.rb +39 -0
  1098. data/test/test_elementwise.rb +25 -0
  1099. data/test/{mixin/test_enumerablepass.rb → test_enumerablepass.rb} +0 -0
  1100. data/test/test_equatable.rb +42 -0
  1101. data/test/{core/test_functor.rb → test_functor.rb} +0 -0
  1102. data/test/{more/test_getoptlong.rb → test_getoptlong.rb} +0 -0
  1103. data/test/{class/test_infinity.rb → test_infinity.rb} +0 -0
  1104. data/test/{more/test_inheritor.rb → test_inheritor.rb} +0 -0
  1105. data/test/test_instantiable.rb +37 -0
  1106. data/test/{more/test_instantise.rb → test_instantise.rb} +0 -0
  1107. data/test/{class/test_interval.rb → test_interval.rb} +0 -0
  1108. data/test/{class/test_linkedlist.rb → test_linkedlist.rb} +0 -0
  1109. data/test/{class/test_lrucache.rb → test_lrucache.rb} +0 -0
  1110. data/test/{more/test_memoize.rb → test_memoize.rb} +0 -0
  1111. data/test/test_metaid.rb +39 -0
  1112. data/test/test_methodspace.rb +78 -0
  1113. data/test/{more/test_multipliers.rb → test_multipliers.rb} +0 -0
  1114. data/test/{mixin/test_multiton.rb → test_multiton.rb} +0 -0
  1115. data/test/{class/test_opencascade.rb → test_opencascade.rb} +0 -0
  1116. data/test/{class/test_openobject.rb → test_openobject.rb} +0 -0
  1117. data/test/{more/test_ostruct.rb → test_ostruct.rb} +0 -0
  1118. data/test/test_overload.rb +120 -0
  1119. data/test/{more/test_prototype.rb → test_prototype.rb} +0 -0
  1120. data/test/{more/test_random.rb → test_random.rb} +0 -0
  1121. data/test/{class/test_recorder.rb → test_recorder.rb} +0 -0
  1122. data/test/test_ruby.rb +198 -0
  1123. data/test/test_ruby/array/test_combination.rb +29 -0
  1124. data/test/test_ruby/array/test_permutation.rb +14 -0
  1125. data/test/test_ruby/array/test_product.rb +23 -0
  1126. data/test/test_ruby/kernel/test_tap.rb +19 -0
  1127. data/test/test_ruby/symbol/test_succ.rb +13 -0
  1128. data/test/{more/test_snapshot.rb → test_snapshot.rb} +0 -0
  1129. data/test/test_style.rb +50 -0
  1130. data/test/test_succ.rb +35 -0
  1131. data/test/{class/test_syncarray.rb → test_syncarray.rb} +0 -0
  1132. data/test/{class/test_synchash.rb → test_synchash.rb} +0 -0
  1133. data/test/test_thread.rb +22 -0
  1134. data/test/{class/test_timer.rb → test_timer.rb} +0 -0
  1135. data/test/{more/test_times.rb → test_times.rb} +0 -0
  1136. data/test/test_to_hash.rb +58 -0
  1137. data/test/{class/test_tuple.rb → test_tuple.rb} +0 -0
  1138. data/test/test_typecast.rb +54 -0
  1139. data/test/{mixin/test_uninheritable.rb → test_uninheritable.rb} +0 -0
  1140. data/test/test_uri.rb +36 -0
  1141. data/test/test_xoxo.rb +274 -0
  1142. data/test/time/test_change.rb +15 -0
  1143. data/test/time/test_elapse.rb +13 -0
  1144. data/test/time/test_stamp.rb +28 -0
  1145. metadata +1503 -1127
  1146. data/Rakefile +0 -26
  1147. data/lib/class/facets/association.rb +0 -157
  1148. data/lib/class/facets/autoarray.rb +0 -59
  1149. data/lib/class/facets/basicobject.rb +0 -234
  1150. data/lib/class/facets/buildingblock.rb +0 -219
  1151. data/lib/class/facets/cachedelegator.rb +0 -93
  1152. data/lib/class/facets/coroutine.rb +0 -120
  1153. data/lib/class/facets/dictionary.rb +0 -435
  1154. data/lib/class/facets/downloader.rb +0 -279
  1155. data/lib/class/facets/filelist.rb +0 -493
  1156. data/lib/class/facets/fileshell.rb +0 -198
  1157. data/lib/class/facets/hashbuilder.rb +0 -97
  1158. data/lib/class/facets/heap.rb +0 -27
  1159. data/lib/class/facets/infinity.rb +0 -183
  1160. data/lib/class/facets/interval.rb +0 -266
  1161. data/lib/class/facets/ioredirect.rb +0 -133
  1162. data/lib/class/facets/linkedlist.rb +0 -214
  1163. data/lib/class/facets/lrucache.rb +0 -156
  1164. data/lib/class/facets/minitar.rb +0 -999
  1165. data/lib/class/facets/nackclass.rb +0 -43
  1166. data/lib/class/facets/nullclass.rb +0 -79
  1167. data/lib/class/facets/opencascade.rb +0 -92
  1168. data/lib/class/facets/opencollection.rb +0 -46
  1169. data/lib/class/facets/openhash.rb +0 -41
  1170. data/lib/class/facets/openobject.rb +0 -241
  1171. data/lib/class/facets/orderedhash.rb +0 -42
  1172. data/lib/class/facets/pathlist.rb +0 -106
  1173. data/lib/class/facets/pool.rb +0 -97
  1174. data/lib/class/facets/pqueue.rb +0 -468
  1175. data/lib/class/facets/progressbar.rb +0 -245
  1176. data/lib/class/facets/recorder.rb +0 -97
  1177. data/lib/class/facets/reference.rb +0 -100
  1178. data/lib/class/facets/rwdelegator.rb +0 -79
  1179. data/lib/class/facets/semaphore.rb +0 -97
  1180. data/lib/class/facets/syncarray.rb +0 -122
  1181. data/lib/class/facets/synchash.rb +0 -149
  1182. data/lib/class/facets/timer.rb +0 -247
  1183. data/lib/class/facets/tuple.rb +0 -310
  1184. data/lib/class/facets/version.rb +0 -127
  1185. data/lib/core/facets.rb +0 -1
  1186. data/lib/core/facets/1stclassmethod.rb +0 -117
  1187. data/lib/core/facets/array.rb +0 -12
  1188. data/lib/core/facets/array/conjoin.rb +0 -47
  1189. data/lib/core/facets/array/contains.rb +0 -1
  1190. data/lib/core/facets/array/delete.rb +0 -57
  1191. data/lib/core/facets/array/delete_unless.rb +0 -1
  1192. data/lib/core/facets/array/delete_values.rb +0 -1
  1193. data/lib/core/facets/array/delete_values_at.rb +0 -1
  1194. data/lib/core/facets/array/each_iteration.rb +0 -1
  1195. data/lib/core/facets/array/first.rb +0 -1
  1196. data/lib/core/facets/array/indexable.rb +0 -132
  1197. data/lib/core/facets/array/join_sentence.rb +0 -1
  1198. data/lib/core/facets/array/last.rb +0 -1
  1199. data/lib/core/facets/array/merge.rb +0 -23
  1200. data/lib/core/facets/array/only.rb +0 -20
  1201. data/lib/core/facets/array/pad.rb +0 -45
  1202. data/lib/core/facets/array/poke.rb +0 -1
  1203. data/lib/core/facets/array/pull.rb +0 -1
  1204. data/lib/core/facets/array/rotate.rb +0 -41
  1205. data/lib/core/facets/array/select.rb +0 -15
  1206. data/lib/core/facets/array/splice.rb +0 -30
  1207. data/lib/core/facets/array/stackable.rb +0 -30
  1208. data/lib/core/facets/array/store.rb +0 -1
  1209. data/lib/core/facets/array/to_b.rb +0 -1
  1210. data/lib/core/facets/array/to_h.rb +0 -1
  1211. data/lib/core/facets/array/to_path.rb +0 -1
  1212. data/lib/core/facets/binding.rb +0 -7
  1213. data/lib/core/facets/binding/__DIR__.rb +0 -1
  1214. data/lib/core/facets/binding/__FILE__.rb +0 -1
  1215. data/lib/core/facets/binding/__LINE__.rb +0 -1
  1216. data/lib/core/facets/binding/__callee__.rb +0 -1
  1217. data/lib/core/facets/binding/__method__.rb +0 -1
  1218. data/lib/core/facets/binding/call_stack.rb +0 -1
  1219. data/lib/core/facets/binding/called.rb +0 -1
  1220. data/lib/core/facets/binding/caller.rb +0 -72
  1221. data/lib/core/facets/binding/defined.rb +0 -10
  1222. data/lib/core/facets/binding/eval.rb +0 -17
  1223. data/lib/core/facets/binding/here.rb +0 -1
  1224. data/lib/core/facets/binding/included.rb +0 -1
  1225. data/lib/core/facets/binding/local_variables.rb +0 -1
  1226. data/lib/core/facets/binding/methodname.rb +0 -1
  1227. data/lib/core/facets/binding/op_fetch.rb +0 -1
  1228. data/lib/core/facets/binding/self.rb +0 -12
  1229. data/lib/core/facets/binding/vars.rb +0 -41
  1230. data/lib/core/facets/boolean.rb +0 -161
  1231. data/lib/core/facets/class.rb +0 -6
  1232. data/lib/core/facets/class/cattr.rb +0 -1
  1233. data/lib/core/facets/class/cattr_accessor.rb +0 -1
  1234. data/lib/core/facets/class/cattr_reader.rb +0 -1
  1235. data/lib/core/facets/class/cattr_writer.rb +0 -1
  1236. data/lib/core/facets/class/class_load.rb +0 -1
  1237. data/lib/core/facets/class/class_require.rb +0 -1
  1238. data/lib/core/facets/class/descendents.rb +0 -41
  1239. data/lib/core/facets/class/initializer.rb +0 -36
  1240. data/lib/core/facets/class/mattr.rb +0 -1
  1241. data/lib/core/facets/class/mattr_accessor.rb +0 -1
  1242. data/lib/core/facets/class/mattr_reader.rb +0 -1
  1243. data/lib/core/facets/class/mattr_writer.rb +0 -1
  1244. data/lib/core/facets/class/remove_descendents.rb +0 -19
  1245. data/lib/core/facets/class/remove_subclasses.rb +0 -1
  1246. data/lib/core/facets/class/subclasses.rb +0 -1
  1247. data/lib/core/facets/class/to_proc.rb +0 -1
  1248. data/lib/core/facets/comparable.rb +0 -2
  1249. data/lib/core/facets/comparable/at_least.rb +0 -1
  1250. data/lib/core/facets/comparable/at_most.rb +0 -1
  1251. data/lib/core/facets/comparable/bound.rb +0 -58
  1252. data/lib/core/facets/comparable/cap.rb +0 -1
  1253. data/lib/core/facets/comparable/clip.rb +0 -1
  1254. data/lib/core/facets/comparable/cmp.rb +0 -92
  1255. data/lib/core/facets/conversion.rb +0 -495
  1256. data/lib/core/facets/dir.rb +0 -4
  1257. data/lib/core/facets/dir/ancestor.rb +0 -1
  1258. data/lib/core/facets/dir/ascend.rb +0 -1
  1259. data/lib/core/facets/dir/descend.rb +0 -1
  1260. data/lib/core/facets/dir/ls_r.rb +0 -1
  1261. data/lib/core/facets/dir/multiglob_r.rb +0 -1
  1262. data/lib/core/facets/dir/parent.rb +0 -12
  1263. data/lib/core/facets/dir/recurse.rb +0 -28
  1264. data/lib/core/facets/dir/traverse.rb +0 -56
  1265. data/lib/core/facets/enumerable.rb +0 -9
  1266. data/lib/core/facets/enumerable/cart.rb +0 -1
  1267. data/lib/core/facets/enumerable/cartesian.rb +0 -62
  1268. data/lib/core/facets/enumerable/cartesian_product.rb +0 -1
  1269. data/lib/core/facets/enumerable/cluster_by.rb +0 -1
  1270. data/lib/core/facets/enumerable/collate.rb +0 -0
  1271. data/lib/core/facets/enumerable/collect.rb +0 -164
  1272. data/lib/core/facets/enumerable/collect_if.rb +0 -1
  1273. data/lib/core/facets/enumerable/collect_with_index.rb +0 -1
  1274. data/lib/core/facets/enumerable/combination.rb +0 -114
  1275. data/lib/core/facets/enumerable/combinations.rb +0 -1
  1276. data/lib/core/facets/enumerable/combos.rb +0 -48
  1277. data/lib/core/facets/enumerable/commonality.rb +0 -1
  1278. data/lib/core/facets/enumerable/compact_collect.rb +0 -1
  1279. data/lib/core/facets/enumerable/compact_map.rb +0 -1
  1280. data/lib/core/facets/enumerable/count.rb +0 -175
  1281. data/lib/core/facets/enumerable/divide.rb +0 -1
  1282. data/lib/core/facets/enumerable/duplicates.rb +0 -1
  1283. data/lib/core/facets/enumerable/each.rb +0 -86
  1284. data/lib/core/facets/enumerable/each_by.rb +0 -1
  1285. data/lib/core/facets/enumerable/each_combination.rb +0 -1
  1286. data/lib/core/facets/enumerable/each_combo.rb +0 -1
  1287. data/lib/core/facets/enumerable/each_pair.rb +0 -1
  1288. data/lib/core/facets/enumerable/each_permutation.rb +0 -1
  1289. data/lib/core/facets/enumerable/each_unique_pair.rb +0 -1
  1290. data/lib/core/facets/enumerable/eachn.rb +0 -1
  1291. data/lib/core/facets/enumerable/entropy.rb +0 -1
  1292. data/lib/core/facets/enumerable/filter_collect.rb +0 -1
  1293. data/lib/core/facets/enumerable/filter_map.rb +0 -1
  1294. data/lib/core/facets/enumerable/frequency.rb +0 -1
  1295. data/lib/core/facets/enumerable/graph.rb +0 -1
  1296. data/lib/core/facets/enumerable/group_by.rb +0 -1
  1297. data/lib/core/facets/enumerable/ideal_entropy.rb +0 -1
  1298. data/lib/core/facets/enumerable/inject.rb +0 -1
  1299. data/lib/core/facets/enumerable/injecting.rb +0 -1
  1300. data/lib/core/facets/enumerable/map_if.rb +0 -1
  1301. data/lib/core/facets/enumerable/map_send.rb +0 -1
  1302. data/lib/core/facets/enumerable/map_with_index.rb +0 -1
  1303. data/lib/core/facets/enumerable/mash.rb +0 -50
  1304. data/lib/core/facets/enumerable/mode.rb +0 -1
  1305. data/lib/core/facets/enumerable/modulate.rb +0 -1
  1306. data/lib/core/facets/enumerable/none.rb +0 -1
  1307. data/lib/core/facets/enumerable/nonuniq.rb +0 -1
  1308. data/lib/core/facets/enumerable/occur.rb +0 -1
  1309. data/lib/core/facets/enumerable/one.rb +0 -1
  1310. data/lib/core/facets/enumerable/op_pow.rb +0 -1
  1311. data/lib/core/facets/enumerable/partition_by.rb +0 -1
  1312. data/lib/core/facets/enumerable/permutation.rb +0 -101
  1313. data/lib/core/facets/enumerable/permutation_number.rb +0 -1
  1314. data/lib/core/facets/enumerable/permute.rb +0 -1
  1315. data/lib/core/facets/enumerable/probability.rb +0 -144
  1316. data/lib/core/facets/enumerable/split.rb +0 -113
  1317. data/lib/core/facets/enumerable/sum.rb +0 -1
  1318. data/lib/core/facets/enumerable/to_h.rb +0 -1
  1319. data/lib/core/facets/enumerable/to_hash.rb +0 -1
  1320. data/lib/core/facets/enumerable/uniq_by.rb +0 -1
  1321. data/lib/core/facets/exception/detail.rb +0 -19
  1322. data/lib/core/facets/facets.rb +0 -49
  1323. data/lib/core/facets/file.rb +0 -6
  1324. data/lib/core/facets/file/append.rb +0 -1
  1325. data/lib/core/facets/file/create.rb +0 -1
  1326. data/lib/core/facets/file/null.rb +0 -20
  1327. data/lib/core/facets/file/read.rb +0 -29
  1328. data/lib/core/facets/file/read_binary.rb +0 -1
  1329. data/lib/core/facets/file/read_list.rb +0 -1
  1330. data/lib/core/facets/file/rewrite.rb +0 -1
  1331. data/lib/core/facets/file/rootname.rb +0 -22
  1332. data/lib/core/facets/file/sanitize.rb +0 -14
  1333. data/lib/core/facets/file/split_all.rb +0 -19
  1334. data/lib/core/facets/file/write.rb +0 -113
  1335. data/lib/core/facets/file/writelines.rb +0 -1
  1336. data/lib/core/facets/filetest.rb +0 -1
  1337. data/lib/core/facets/filetest/root.rb +0 -16
  1338. data/lib/core/facets/float.rb +0 -1
  1339. data/lib/core/facets/float/round.rb +0 -8
  1340. data/lib/core/facets/float/round_at.rb +0 -1
  1341. data/lib/core/facets/float/round_off.rb +0 -1
  1342. data/lib/core/facets/float/round_to.rb +0 -1
  1343. data/lib/core/facets/functor.rb +0 -64
  1344. data/lib/core/facets/hash.rb +0 -24
  1345. data/lib/core/facets/hash/alias.rb +0 -28
  1346. data/lib/core/facets/hash/at.rb +0 -7
  1347. data/lib/core/facets/hash/autonew.rb +0 -26
  1348. data/lib/core/facets/hash/collate.rb +0 -44
  1349. data/lib/core/facets/hash/delete.rb +0 -46
  1350. data/lib/core/facets/hash/delete_at.rb +0 -1
  1351. data/lib/core/facets/hash/delete_unless.rb +0 -1
  1352. data/lib/core/facets/hash/delete_values.rb +0 -1
  1353. data/lib/core/facets/hash/delete_values_at.rb +0 -1
  1354. data/lib/core/facets/hash/diff.rb +0 -15
  1355. data/lib/core/facets/hash/each_with_key.rb +0 -12
  1356. data/lib/core/facets/hash/graph.rb +0 -1
  1357. data/lib/core/facets/hash/has_keys.rb +0 -31
  1358. data/lib/core/facets/hash/has_only_keys.rb +0 -1
  1359. data/lib/core/facets/hash/insert.rb +0 -19
  1360. data/lib/core/facets/hash/inverse.rb +0 -27
  1361. data/lib/core/facets/hash/join.rb +0 -14
  1362. data/lib/core/facets/hash/mash.rb +0 -1
  1363. data/lib/core/facets/hash/op.rb +0 -97
  1364. data/lib/core/facets/hash/op_and.rb +0 -1
  1365. data/lib/core/facets/hash/op_div.rb +0 -10
  1366. data/lib/core/facets/hash/op_lshift.rb +0 -1
  1367. data/lib/core/facets/hash/op_minus.rb +0 -1
  1368. data/lib/core/facets/hash/op_mul.rb +0 -1
  1369. data/lib/core/facets/hash/op_or.rb +0 -1
  1370. data/lib/core/facets/hash/op_plus.rb +0 -1
  1371. data/lib/core/facets/hash/pairs_at.rb +0 -15
  1372. data/lib/core/facets/hash/rekey.rb +0 -58
  1373. data/lib/core/facets/hash/replace_each.rb +0 -1
  1374. data/lib/core/facets/hash/reverse_merge.rb +0 -29
  1375. data/lib/core/facets/hash/reverse_update.rb +0 -1
  1376. data/lib/core/facets/hash/swap.rb +0 -36
  1377. data/lib/core/facets/hash/to_h.rb +0 -1
  1378. data/lib/core/facets/hash/to_proc.rb +0 -1
  1379. data/lib/core/facets/hash/to_proc_with_reponse.rb +0 -1
  1380. data/lib/core/facets/hash/to_struct.rb +0 -1
  1381. data/lib/core/facets/hash/traverse.rb +0 -41
  1382. data/lib/core/facets/hash/update.rb +0 -63
  1383. data/lib/core/facets/hash/update_each.rb +0 -1
  1384. data/lib/core/facets/hash/update_keys.rb +0 -1
  1385. data/lib/core/facets/hash/update_values.rb +0 -1
  1386. data/lib/core/facets/hash/zipnew.rb +0 -18
  1387. data/lib/core/facets/indexable.rb +0 -241
  1388. data/lib/core/facets/integer.rb +0 -4
  1389. data/lib/core/facets/integer/bit.rb +0 -1
  1390. data/lib/core/facets/integer/clear_bit.rb +0 -1
  1391. data/lib/core/facets/integer/even.rb +0 -1
  1392. data/lib/core/facets/integer/fac.rb +0 -1
  1393. data/lib/core/facets/integer/factorial.rb +0 -29
  1394. data/lib/core/facets/integer/multiple.rb +0 -44
  1395. data/lib/core/facets/integer/odd.rb +0 -1
  1396. data/lib/core/facets/integer/of.rb +0 -22
  1397. data/lib/core/facets/integer/times_collect.rb +0 -1
  1398. data/lib/core/facets/integer/times_map.rb +0 -1
  1399. data/lib/core/facets/kernel.rb +0 -23
  1400. data/lib/core/facets/kernel/Bit.rb +0 -1
  1401. data/lib/core/facets/kernel/__DIR__.rb +0 -1
  1402. data/lib/core/facets/kernel/__assign__.rb +0 -1
  1403. data/lib/core/facets/kernel/__callee__.rb +0 -1
  1404. data/lib/core/facets/kernel/__class__.rb +0 -1
  1405. data/lib/core/facets/kernel/__get__.rb +0 -1
  1406. data/lib/core/facets/kernel/__method__.rb +0 -1
  1407. data/lib/core/facets/kernel/__real__.rb +0 -1
  1408. data/lib/core/facets/kernel/__set__.rb +0 -1
  1409. data/lib/core/facets/kernel/__singleton_class__.rb +0 -1
  1410. data/lib/core/facets/kernel/as.rb +0 -1
  1411. data/lib/core/facets/kernel/ask.rb +0 -26
  1412. data/lib/core/facets/kernel/assign_from.rb +0 -1
  1413. data/lib/core/facets/kernel/assign_with.rb +0 -1
  1414. data/lib/core/facets/kernel/bitmask.rb +0 -1
  1415. data/lib/core/facets/kernel/bool.rb +0 -1
  1416. data/lib/core/facets/kernel/call_stack.rb +0 -1
  1417. data/lib/core/facets/kernel/called.rb +0 -1
  1418. data/lib/core/facets/kernel/callee.rb +0 -1
  1419. data/lib/core/facets/kernel/callstack.rb +0 -88
  1420. data/lib/core/facets/kernel/class_def.rb +0 -1
  1421. data/lib/core/facets/kernel/complete.rb +0 -1
  1422. data/lib/core/facets/kernel/copy.rb +0 -1
  1423. data/lib/core/facets/kernel/d.rb +0 -1
  1424. data/lib/core/facets/kernel/deep_clone.rb +0 -1
  1425. data/lib/core/facets/kernel/deep_copy.rb +0 -1
  1426. data/lib/core/facets/kernel/deepcopy.rb +0 -59
  1427. data/lib/core/facets/kernel/demo.rb +0 -1
  1428. data/lib/core/facets/kernel/dir.rb +0 -14
  1429. data/lib/core/facets/kernel/eigenclass.rb +0 -1
  1430. data/lib/core/facets/kernel/enable_warnings.rb +0 -1
  1431. data/lib/core/facets/kernel/ergo.rb +0 -40
  1432. data/lib/core/facets/kernel/false.rb +0 -1
  1433. data/lib/core/facets/kernel/fn.rb +0 -1
  1434. data/lib/core/facets/kernel/here.rb +0 -9
  1435. data/lib/core/facets/kernel/in.rb +0 -1
  1436. data/lib/core/facets/kernel/instance.rb +0 -176
  1437. data/lib/core/facets/kernel/instance_assign.rb +0 -1
  1438. data/lib/core/facets/kernel/instance_assume.rb +0 -1
  1439. data/lib/core/facets/kernel/instance_class.rb +0 -1
  1440. data/lib/core/facets/kernel/instance_exec.rb +0 -1
  1441. data/lib/core/facets/kernel/instance_send.rb +0 -1
  1442. data/lib/core/facets/kernel/instance_values.rb +0 -1
  1443. data/lib/core/facets/kernel/is.rb +0 -1
  1444. data/lib/core/facets/kernel/load_local.rb +0 -1
  1445. data/lib/core/facets/kernel/meta.rb +0 -1
  1446. data/lib/core/facets/kernel/meta_alias.rb +0 -1
  1447. data/lib/core/facets/kernel/meta_class.rb +0 -1
  1448. data/lib/core/facets/kernel/meta_def.rb +0 -1
  1449. data/lib/core/facets/kernel/meta_eval.rb +0 -1
  1450. data/lib/core/facets/kernel/metaclass.rb +0 -1
  1451. data/lib/core/facets/kernel/metaid.rb +0 -160
  1452. data/lib/core/facets/kernel/method.rb +0 -1
  1453. data/lib/core/facets/kernel/non_nil.rb +0 -1
  1454. data/lib/core/facets/kernel/not_nil.rb +0 -1
  1455. data/lib/core/facets/kernel/object.rb +0 -68
  1456. data/lib/core/facets/kernel/object_class.rb +0 -1
  1457. data/lib/core/facets/kernel/object_clone.rb +0 -1
  1458. data/lib/core/facets/kernel/object_dup.rb +0 -1
  1459. data/lib/core/facets/kernel/object_hexid.rb +0 -1
  1460. data/lib/core/facets/kernel/object_send.rb +0 -1
  1461. data/lib/core/facets/kernel/op_esc.rb +0 -62
  1462. data/lib/core/facets/kernel/p.rb +0 -1
  1463. data/lib/core/facets/kernel/populate.rb +0 -136
  1464. data/lib/core/facets/kernel/pp_call_stack.rb +0 -1
  1465. data/lib/core/facets/kernel/pp_exception.rb +0 -1
  1466. data/lib/core/facets/kernel/qua_class.rb +0 -1
  1467. data/lib/core/facets/kernel/report.rb +0 -98
  1468. data/lib/core/facets/kernel/require.rb +0 -55
  1469. data/lib/core/facets/kernel/require_all.rb +0 -1
  1470. data/lib/core/facets/kernel/require_local.rb +0 -1
  1471. data/lib/core/facets/kernel/resc.rb +0 -1
  1472. data/lib/core/facets/kernel/respond.rb +0 -23
  1473. data/lib/core/facets/kernel/respond_with_value.rb +0 -1
  1474. data/lib/core/facets/kernel/returning.rb +0 -50
  1475. data/lib/core/facets/kernel/send_as.rb +0 -1
  1476. data/lib/core/facets/kernel/set_from.rb +0 -1
  1477. data/lib/core/facets/kernel/set_with.rb +0 -1
  1478. data/lib/core/facets/kernel/silence.rb +0 -79
  1479. data/lib/core/facets/kernel/silence_stderr.rb +0 -1
  1480. data/lib/core/facets/kernel/silence_stream.rb +0 -1
  1481. data/lib/core/facets/kernel/silence_warnings.rb +0 -1
  1482. data/lib/core/facets/kernel/singleton.rb +0 -1
  1483. data/lib/core/facets/kernel/singleton_class.rb +0 -1
  1484. data/lib/core/facets/kernel/super.rb +0 -158
  1485. data/lib/core/facets/kernel/super_at.rb +0 -1
  1486. data/lib/core/facets/kernel/super_method.rb +0 -1
  1487. data/lib/core/facets/kernel/superior.rb +0 -1
  1488. data/lib/core/facets/kernel/supermethod.rb +0 -1
  1489. data/lib/core/facets/kernel/suppress.rb +0 -1
  1490. data/lib/core/facets/kernel/tap.rb +0 -34
  1491. data/lib/core/facets/kernel/this.rb +0 -1
  1492. data/lib/core/facets/kernel/to_b.rb +0 -1
  1493. data/lib/core/facets/kernel/to_bool.rb +0 -1
  1494. data/lib/core/facets/kernel/true.rb +0 -1
  1495. data/lib/core/facets/kernel/val.rb +0 -40
  1496. data/lib/core/facets/kernel/warn_with_line.rb +0 -1
  1497. data/lib/core/facets/kernel/with.rb +0 -1
  1498. data/lib/core/facets/kernel/with_accessor.rb +0 -1
  1499. data/lib/core/facets/kernel/with_reader.rb +0 -1
  1500. data/lib/core/facets/kernel/with_writer.rb +0 -1
  1501. data/lib/core/facets/kernel/withattr.rb +0 -53
  1502. data/lib/core/facets/matchdata.rb +0 -2
  1503. data/lib/core/facets/matchdata/match.rb +0 -16
  1504. data/lib/core/facets/matchdata/matchset.rb +0 -43
  1505. data/lib/core/facets/matchdata/matchtree.rb +0 -1
  1506. data/lib/core/facets/module.rb +0 -13
  1507. data/lib/core/facets/module/abstract.rb +0 -21
  1508. data/lib/core/facets/module/alias.rb +0 -139
  1509. data/lib/core/facets/module/alias_accessor.rb +0 -1
  1510. data/lib/core/facets/module/alias_method_chain.rb +0 -1
  1511. data/lib/core/facets/module/alias_module_function.rb +0 -1
  1512. data/lib/core/facets/module/alias_reader.rb +0 -1
  1513. data/lib/core/facets/module/alias_setter.rb +0 -1
  1514. data/lib/core/facets/module/alias_switcher.rb +0 -1
  1515. data/lib/core/facets/module/alias_tester.rb +0 -1
  1516. data/lib/core/facets/module/alias_toggler.rb +0 -1
  1517. data/lib/core/facets/module/alias_validator.rb +0 -1
  1518. data/lib/core/facets/module/alias_writer.rb +0 -1
  1519. data/lib/core/facets/module/all_instance_methods.rb +0 -1
  1520. data/lib/core/facets/module/ancestor.rb +0 -1
  1521. data/lib/core/facets/module/attr_accessor.rb +0 -1
  1522. data/lib/core/facets/module/attr_reader.rb +0 -1
  1523. data/lib/core/facets/module/attr_setter.rb +0 -1
  1524. data/lib/core/facets/module/attr_switcher.rb +0 -1
  1525. data/lib/core/facets/module/attr_tester.rb +0 -1
  1526. data/lib/core/facets/module/attr_toggler.rb +0 -1
  1527. data/lib/core/facets/module/attr_validator.rb +0 -1
  1528. data/lib/core/facets/module/attr_writer.rb +0 -1
  1529. data/lib/core/facets/module/basename.rb +0 -1
  1530. data/lib/core/facets/module/by_name.rb +0 -1
  1531. data/lib/core/facets/module/can.rb +0 -1
  1532. data/lib/core/facets/module/cattr.rb +0 -110
  1533. data/lib/core/facets/module/class.rb +0 -1
  1534. data/lib/core/facets/module/class_def.rb +0 -1
  1535. data/lib/core/facets/module/clone.rb +0 -50
  1536. data/lib/core/facets/module/clone_removing.rb +0 -1
  1537. data/lib/core/facets/module/clone_renaming.rb +0 -1
  1538. data/lib/core/facets/module/clone_using.rb +0 -1
  1539. data/lib/core/facets/module/conflict.rb +0 -1
  1540. data/lib/core/facets/module/dirname.rb +0 -1
  1541. data/lib/core/facets/module/include.rb +0 -179
  1542. data/lib/core/facets/module/include_and_extend.rb +0 -1
  1543. data/lib/core/facets/module/include_as.rb +0 -1
  1544. data/lib/core/facets/module/include_function_module.rb +0 -1
  1545. data/lib/core/facets/module/instance_method.rb +0 -1
  1546. data/lib/core/facets/module/instance_method_defined.rb +0 -1
  1547. data/lib/core/facets/module/integrate.rb +0 -1
  1548. data/lib/core/facets/module/is.rb +0 -1
  1549. data/lib/core/facets/module/methods.rb +0 -36
  1550. data/lib/core/facets/module/modify.rb +0 -173
  1551. data/lib/core/facets/module/modspace.rb +0 -1
  1552. data/lib/core/facets/module/module_load.rb +0 -1
  1553. data/lib/core/facets/module/module_method.rb +0 -1
  1554. data/lib/core/facets/module/module_method_defined.rb +0 -1
  1555. data/lib/core/facets/module/module_require.rb +0 -1
  1556. data/lib/core/facets/module/name.rb +0 -122
  1557. data/lib/core/facets/module/nesting.rb +0 -1
  1558. data/lib/core/facets/module/nodef.rb +0 -1
  1559. data/lib/core/facets/module/on_included.rb +0 -1
  1560. data/lib/core/facets/module/op_minus.rb +0 -1
  1561. data/lib/core/facets/module/op_mul.rb +0 -1
  1562. data/lib/core/facets/module/op_plus.rb +0 -1
  1563. data/lib/core/facets/module/private_conflict.rb +0 -1
  1564. data/lib/core/facets/module/protected_conflict.rb +0 -1
  1565. data/lib/core/facets/module/public_conflict.rb +0 -1
  1566. data/lib/core/facets/module/redef.rb +0 -1
  1567. data/lib/core/facets/module/redefine_method.rb +0 -1
  1568. data/lib/core/facets/module/redirect.rb +0 -1
  1569. data/lib/core/facets/module/redirect_method.rb +0 -1
  1570. data/lib/core/facets/module/remove.rb +0 -1
  1571. data/lib/core/facets/module/rename.rb +0 -1
  1572. data/lib/core/facets/module/rename_method.rb +0 -1
  1573. data/lib/core/facets/module/require.rb +0 -57
  1574. data/lib/core/facets/module/revisal.rb +0 -1
  1575. data/lib/core/facets/module/traits.rb +0 -146
  1576. data/lib/core/facets/module/wrap.rb +0 -1
  1577. data/lib/core/facets/module/wrap_method.rb +0 -1
  1578. data/lib/core/facets/nilclass.rb +0 -2
  1579. data/lib/core/facets/nilclass/ergo.rb +0 -1
  1580. data/lib/core/facets/nilclass/status.rb +0 -47
  1581. data/lib/core/facets/nilclass/to_bool.rb +0 -1
  1582. data/lib/core/facets/nilclass/to_f.rb +0 -1
  1583. data/lib/core/facets/nilclass/to_h.rb +0 -1
  1584. data/lib/core/facets/numeric.rb +0 -2
  1585. data/lib/core/facets/numeric/approx.rb +0 -1
  1586. data/lib/core/facets/numeric/distance.rb +0 -1
  1587. data/lib/core/facets/numeric/pred.rb +0 -1
  1588. data/lib/core/facets/numeric/round.rb +0 -78
  1589. data/lib/core/facets/numeric/round_at.rb +0 -1
  1590. data/lib/core/facets/numeric/round_to.rb +0 -1
  1591. data/lib/core/facets/numeric/succ.rb +0 -1
  1592. data/lib/core/facets/numeric/to_b.rb +0 -1
  1593. data/lib/core/facets/proc.rb +0 -4
  1594. data/lib/core/facets/proc/bind.rb +0 -64
  1595. data/lib/core/facets/proc/compose.rb +0 -41
  1596. data/lib/core/facets/proc/fn.rb +0 -12
  1597. data/lib/core/facets/proc/op_mul.rb +0 -1
  1598. data/lib/core/facets/proc/to_h.rb +0 -1
  1599. data/lib/core/facets/proc/to_method.rb +0 -1
  1600. data/lib/core/facets/proc/update.rb +0 -9
  1601. data/lib/core/facets/range.rb +0 -2
  1602. data/lib/core/facets/range/combine.rb +0 -47
  1603. data/lib/core/facets/range/overlap.rb +0 -74
  1604. data/lib/core/facets/range/to_r.rb +0 -1
  1605. data/lib/core/facets/range/to_range.rb +0 -1
  1606. data/lib/core/facets/range/umbrella.rb +0 -1
  1607. data/lib/core/facets/range/within.rb +0 -1
  1608. data/lib/core/facets/regexp.rb +0 -1
  1609. data/lib/core/facets/regexp/arity.rb +0 -17
  1610. data/lib/core/facets/regexp/to_re.rb +0 -1
  1611. data/lib/core/facets/regexp/to_regexp.rb +0 -1
  1612. data/lib/core/facets/stackable.rb +0 -86
  1613. data/lib/core/facets/string.rb +0 -20
  1614. data/lib/core/facets/string/_crypt.rb +0 -1
  1615. data/lib/core/facets/string/align.rb +0 -92
  1616. data/lib/core/facets/string/align_center.rb +0 -1
  1617. data/lib/core/facets/string/align_left.rb +0 -1
  1618. data/lib/core/facets/string/align_right.rb +0 -1
  1619. data/lib/core/facets/string/at.rb +0 -1
  1620. data/lib/core/facets/string/blank.rb +0 -16
  1621. data/lib/core/facets/string/bracket.rb +0 -103
  1622. data/lib/core/facets/string/brief.rb +0 -1
  1623. data/lib/core/facets/string/bytes.rb +0 -1
  1624. data/lib/core/facets/string/camelcase.rb +0 -1
  1625. data/lib/core/facets/string/capitalized.rb +0 -1
  1626. data/lib/core/facets/string/case.rb +0 -84
  1627. data/lib/core/facets/string/chars.rb +0 -1
  1628. data/lib/core/facets/string/cleave.rb +0 -1
  1629. data/lib/core/facets/string/cmp.rb +0 -1
  1630. data/lib/core/facets/string/crypt.rb +0 -22
  1631. data/lib/core/facets/string/dequote.rb +0 -1
  1632. data/lib/core/facets/string/divide.rb +0 -1
  1633. data/lib/core/facets/string/downcase.rb +0 -1
  1634. data/lib/core/facets/string/each_char.rb +0 -1
  1635. data/lib/core/facets/string/each_character.rb +0 -1
  1636. data/lib/core/facets/string/each_word.rb +0 -1
  1637. data/lib/core/facets/string/ends_with.rb +0 -1
  1638. data/lib/core/facets/string/expand_tabs.rb +0 -1
  1639. data/lib/core/facets/string/filter.rb +0 -60
  1640. data/lib/core/facets/string/first.rb +0 -1
  1641. data/lib/core/facets/string/fold.rb +0 -1
  1642. data/lib/core/facets/string/format.rb +0 -1
  1643. data/lib/core/facets/string/indent.rb +0 -1
  1644. data/lib/core/facets/string/index_all.rb +0 -1
  1645. data/lib/core/facets/string/indexable.rb +0 -165
  1646. data/lib/core/facets/string/interpolate.rb +0 -35
  1647. data/lib/core/facets/string/last.rb +0 -1
  1648. data/lib/core/facets/string/lchomp.rb +0 -1
  1649. data/lib/core/facets/string/line_wrap.rb +0 -1
  1650. data/lib/core/facets/string/lines.rb +0 -1
  1651. data/lib/core/facets/string/lowercase.rb +0 -1
  1652. data/lib/core/facets/string/margin.rb +0 -1
  1653. data/lib/core/facets/string/mscan.rb +0 -1
  1654. data/lib/core/facets/string/nchar.rb +0 -80
  1655. data/lib/core/facets/string/op.rb +0 -13
  1656. data/lib/core/facets/string/op_minus.rb +0 -1
  1657. data/lib/core/facets/string/outdent.rb +0 -1
  1658. data/lib/core/facets/string/partitions.rb +0 -78
  1659. data/lib/core/facets/string/peek.rb +0 -1
  1660. data/lib/core/facets/string/poke.rb +0 -1
  1661. data/lib/core/facets/string/pop.rb +0 -1
  1662. data/lib/core/facets/string/pull.rb +0 -1
  1663. data/lib/core/facets/string/push.rb +0 -1
  1664. data/lib/core/facets/string/quote.rb +0 -1
  1665. data/lib/core/facets/string/range.rb +0 -54
  1666. data/lib/core/facets/string/range_all.rb +0 -1
  1667. data/lib/core/facets/string/range_of_line.rb +0 -1
  1668. data/lib/core/facets/string/regesc.rb +0 -30
  1669. data/lib/core/facets/string/rewrite.rb +0 -1
  1670. data/lib/core/facets/string/scan.rb +0 -54
  1671. data/lib/core/facets/string/shatter.rb +0 -1
  1672. data/lib/core/facets/string/shift.rb +0 -1
  1673. data/lib/core/facets/string/snakecase.rb +0 -1
  1674. data/lib/core/facets/string/splice.rb +0 -24
  1675. data/lib/core/facets/string/sprintf.rb +0 -1
  1676. data/lib/core/facets/string/stackable.rb +0 -181
  1677. data/lib/core/facets/string/starts_with.rb +0 -1
  1678. data/lib/core/facets/string/store.rb +0 -1
  1679. data/lib/core/facets/string/succ.rb +0 -1
  1680. data/lib/core/facets/string/tab.rb +0 -1
  1681. data/lib/core/facets/string/taballto.rb +0 -1
  1682. data/lib/core/facets/string/tabs.rb +0 -99
  1683. data/lib/core/facets/string/tabto.rb +0 -1
  1684. data/lib/core/facets/string/titlecase.rb +0 -1
  1685. data/lib/core/facets/string/to_b.rb +0 -1
  1686. data/lib/core/facets/string/to_const.rb +0 -1
  1687. data/lib/core/facets/string/to_date.rb +0 -1
  1688. data/lib/core/facets/string/to_proc.rb +0 -1
  1689. data/lib/core/facets/string/to_re.rb +0 -1
  1690. data/lib/core/facets/string/to_rx.rb +0 -1
  1691. data/lib/core/facets/string/to_time.rb +0 -1
  1692. data/lib/core/facets/string/unbracket.rb +0 -1
  1693. data/lib/core/facets/string/unshift.rb +0 -1
  1694. data/lib/core/facets/string/upcase.rb +0 -1
  1695. data/lib/core/facets/string/uppercase.rb +0 -1
  1696. data/lib/core/facets/string/whitespace.rb +0 -1
  1697. data/lib/core/facets/string/word_filter.rb +0 -1
  1698. data/lib/core/facets/string/word_wrap.rb +0 -1
  1699. data/lib/core/facets/string/words.rb +0 -1
  1700. data/lib/core/facets/string/wrap.rb +0 -189
  1701. data/lib/core/facets/symbol.rb +0 -8
  1702. data/lib/core/facets/symbol/chomp.rb +0 -23
  1703. data/lib/core/facets/symbol/generate.rb +0 -20
  1704. data/lib/core/facets/symbol/lchomp.rb +0 -1
  1705. data/lib/core/facets/symbol/not.rb +0 -28
  1706. data/lib/core/facets/symbol/op_tilde.rb +0 -1
  1707. data/lib/core/facets/symbol/pad.rb +0 -1
  1708. data/lib/core/facets/symbol/shadow.rb +0 -23
  1709. data/lib/core/facets/symbol/succ.rb +0 -20
  1710. data/lib/core/facets/symbol/to_const.rb +0 -1
  1711. data/lib/core/facets/symbol/to_proc.rb +0 -39
  1712. data/lib/core/facets/time.rb +0 -3
  1713. data/lib/core/facets/time/change.rb +0 -28
  1714. data/lib/core/facets/time/stamp.rb +0 -47
  1715. data/lib/core/facets/time/to_date.rb +0 -1
  1716. data/lib/core/facets/time/to_s.rb +0 -1
  1717. data/lib/core/facets/time/to_time.rb +0 -1
  1718. data/lib/core/facets/unboundmethod.rb +0 -5
  1719. data/lib/core/facets/unboundmethod/name.rb +0 -26
  1720. data/lib/mixin/facets/binreadable.rb +0 -224
  1721. data/lib/mixin/facets/buildable.rb +0 -82
  1722. data/lib/mixin/facets/cloneable.rb +0 -90
  1723. data/lib/mixin/facets/enumerablepass.rb +0 -204
  1724. data/lib/mixin/facets/expirable.rb +0 -89
  1725. data/lib/mixin/facets/fileable.rb +0 -155
  1726. data/lib/mixin/facets/instantiable.rb +0 -45
  1727. data/lib/mixin/facets/multiton.rb +0 -357
  1728. data/lib/mixin/facets/registerable.rb +0 -36
  1729. data/lib/mixin/facets/tasksystem.rb +0 -350
  1730. data/lib/mixin/facets/uninheritable.rb +0 -55
  1731. data/lib/mixin/facets/validation.rb +0 -445
  1732. data/lib/more/facets/advice.rb +0 -159
  1733. data/lib/more/facets/annotations.rb +0 -154
  1734. data/lib/more/facets/ansicode.rb +0 -268
  1735. data/lib/more/facets/aop.rb +0 -205
  1736. data/lib/more/facets/arguments.rb +0 -322
  1737. data/lib/more/facets/attributes.rb +0 -133
  1738. data/lib/more/facets/autoreload.rb +0 -150
  1739. data/lib/more/facets/bbcode.rb +0 -346
  1740. data/lib/more/facets/behavior.rb +0 -91
  1741. data/lib/more/facets/bytes.rb +0 -164
  1742. data/lib/more/facets/capsule.rb +0 -254
  1743. data/lib/more/facets/class_extension.rb +0 -94
  1744. data/lib/more/facets/classmethods.rb +0 -157
  1745. data/lib/more/facets/command.rb +0 -479
  1746. data/lib/more/facets/compare_on.rb +0 -91
  1747. data/lib/more/facets/console.rb +0 -107
  1748. data/lib/more/facets/continuation.rb +0 -54
  1749. data/lib/more/facets/crypt.rb +0 -428
  1750. data/lib/more/facets/curry.rb +0 -67
  1751. data/lib/more/facets/cut.rb +0 -190
  1752. data/lib/more/facets/daemonize.rb +0 -50
  1753. data/lib/more/facets/date.rb +0 -79
  1754. data/lib/more/facets/dependency.rb +0 -135
  1755. data/lib/more/facets/duration.rb +0 -534
  1756. data/lib/more/facets/elementor.rb +0 -221
  1757. data/lib/more/facets/eventhook.rb +0 -121
  1758. data/lib/more/facets/fileutils.rb +0 -443
  1759. data/lib/more/facets/getoptlong.rb +0 -83
  1760. data/lib/more/facets/hash/keyize.rb +0 -181
  1761. data/lib/more/facets/inheritor.rb +0 -108
  1762. data/lib/more/facets/instantise.rb +0 -85
  1763. data/lib/more/facets/interface.rb +0 -230
  1764. data/lib/more/facets/lazy.rb +0 -245
  1765. data/lib/more/facets/let.rb +0 -71
  1766. data/lib/more/facets/logger.rb +0 -202
  1767. data/lib/more/facets/main.rb +0 -77
  1768. data/lib/more/facets/memoize.rb +0 -110
  1769. data/lib/more/facets/multipliers.rb +0 -99
  1770. data/lib/more/facets/namespace.rb +0 -113
  1771. data/lib/more/facets/ostruct.rb +0 -226
  1772. data/lib/more/facets/overload.rb +0 -100
  1773. data/lib/more/facets/paramix.rb +0 -148
  1774. data/lib/more/facets/pathname.rb +0 -120
  1775. data/lib/more/facets/prepend.rb +0 -92
  1776. data/lib/more/facets/prototype.rb +0 -89
  1777. data/lib/more/facets/random.rb +0 -373
  1778. data/lib/more/facets/rbconfig.rb +0 -55
  1779. data/lib/more/facets/rbsystem.rb +0 -227
  1780. data/lib/more/facets/recursive.rb +0 -67
  1781. data/lib/more/facets/reflection.rb +0 -103
  1782. data/lib/more/facets/settings.rb +0 -250
  1783. data/lib/more/facets/shellwords.rb +0 -43
  1784. data/lib/more/facets/snapshot.rb +0 -183
  1785. data/lib/more/facets/stylize.rb +0 -213
  1786. data/lib/more/facets/thread.rb +0 -55
  1787. data/lib/more/facets/times.rb +0 -346
  1788. data/lib/more/facets/tracepoint.rb +0 -194
  1789. data/lib/more/facets/typecast.rb +0 -233
  1790. data/lib/more/facets/uploadutils.rb +0 -441
  1791. data/lib/more/facets/yaml.rb +0 -40
  1792. data/lib/more/facets/ziputils.rb +0 -357
  1793. data/meta/MANIFEST +0 -947
  1794. data/meta/VERSION +0 -1
  1795. data/task/install +0 -98
  1796. data/task/rdoc +0 -5
  1797. data/task/test +0 -40
  1798. data/test/class/test_buildingblock.rb +0 -36
  1799. data/test/core/array/test_delete.rb +0 -38
  1800. data/test/core/array/test_indexable.rb +0 -126
  1801. data/test/core/array/test_merge.rb +0 -29
  1802. data/test/core/array/test_pad.rb +0 -35
  1803. data/test/core/array/test_rotate.rb +0 -31
  1804. data/test/core/array/test_select.rb +0 -20
  1805. data/test/core/binding/test_caller.rb +0 -47
  1806. data/test/core/binding/test_defined.rb +0 -17
  1807. data/test/core/binding/test_eval.rb +0 -17
  1808. data/test/core/binding/test_here.rb +0 -17
  1809. data/test/core/binding/test_self.rb +0 -17
  1810. data/test/core/binding/test_vars.rb +0 -31
  1811. data/test/core/class/test_descendents.rb +0 -17
  1812. data/test/core/class/test_initializer.rb +0 -19
  1813. data/test/core/class/test_remove_descendents.rb +0 -19
  1814. data/test/core/comparable/test_bound.rb +0 -43
  1815. data/test/core/comparable/test_cmp.rb +0 -63
  1816. data/test/core/dir/test_parent.rb +0 -14
  1817. data/test/core/dir/test_recurse.rb +0 -32
  1818. data/test/core/dir/test_traverse.rb +0 -30
  1819. data/test/core/enumerable/test_cartesian.rb +0 -39
  1820. data/test/core/enumerable/test_collect.rb +0 -63
  1821. data/test/core/enumerable/test_combination.rb +0 -48
  1822. data/test/core/enumerable/test_count.rb +0 -63
  1823. data/test/core/enumerable/test_each.rb +0 -77
  1824. data/test/core/enumerable/test_mash.rb +0 -51
  1825. data/test/core/enumerable/test_permutation.rb +0 -16
  1826. data/test/core/enumerable/test_split.rb +0 -52
  1827. data/test/core/exception/test_detail.rb +0 -19
  1828. data/test/core/file/test_null.rb +0 -12
  1829. data/test/core/file/test_read.rb +0 -34
  1830. data/test/core/file/test_sanitize.rb +0 -52
  1831. data/test/core/file/test_split_all.rb +0 -32
  1832. data/test/core/file/test_write.rb +0 -76
  1833. data/test/core/filetest/test_root.rb +0 -14
  1834. data/test/core/hash/test_alias.rb +0 -18
  1835. data/test/core/hash/test_at.rb +0 -17
  1836. data/test/core/hash/test_autonew.rb +0 -13
  1837. data/test/core/hash/test_collate.rb +0 -33
  1838. data/test/core/hash/test_delete.rb +0 -30
  1839. data/test/core/hash/test_each_with_key.rb +0 -16
  1840. data/test/core/hash/test_has_keys.rb +0 -19
  1841. data/test/core/hash/test_insert.rb +0 -15
  1842. data/test/core/hash/test_inverse.rb +0 -17
  1843. data/test/core/hash/test_op.rb +0 -51
  1844. data/test/core/hash/test_rekey.rb +0 -39
  1845. data/test/core/hash/test_reverse_merge.rb +0 -16
  1846. data/test/core/hash/test_select.rb +0 -43
  1847. data/test/core/hash/test_swap.rb +0 -21
  1848. data/test/core/hash/test_traverse.rb +0 -24
  1849. data/test/core/hash/test_update.rb +0 -35
  1850. data/test/core/hash/test_zipnew.rb +0 -15
  1851. data/test/core/integer/test_bitmask.rb +0 -53
  1852. data/test/core/integer/test_factorial.rb +0 -17
  1853. data/test/core/integer/test_multiple.rb +0 -37
  1854. data/test/core/integer/test_of.rb +0 -21
  1855. data/test/core/kernel/test_callstack.rb +0 -21
  1856. data/test/core/kernel/test_constant.rb +0 -21
  1857. data/test/core/kernel/test_deepcopy.rb +0 -30
  1858. data/test/core/kernel/test_instance.rb +0 -63
  1859. data/test/core/kernel/test_metaid.rb +0 -47
  1860. data/test/core/kernel/test_populate.rb +0 -49
  1861. data/test/core/kernel/test_report.rb +0 -9
  1862. data/test/core/kernel/test_super.rb +0 -53
  1863. data/test/core/kernel/test_tap.rb +0 -21
  1864. data/test/core/kernel/test_val.rb +0 -42
  1865. data/test/core/kernel/test_withattr.rb +0 -38
  1866. data/test/core/matchdata/test_matchset.rb +0 -24
  1867. data/test/core/module/test_alias.rb +0 -47
  1868. data/test/core/module/test_cattr.rb +0 -50
  1869. data/test/core/module/test_include.rb +0 -43
  1870. data/test/core/module/test_modify.rb +0 -177
  1871. data/test/core/module/test_name.rb +0 -47
  1872. data/test/core/module/test_traits.rb +0 -51
  1873. data/test/core/numeric/test_round.rb +0 -59
  1874. data/test/core/proc/test_bind.rb +0 -38
  1875. data/test/core/proc/test_compose.rb +0 -28
  1876. data/test/core/range/test_combine.rb +0 -21
  1877. data/test/core/range/test_overlap.rb +0 -39
  1878. data/test/core/regexp/test_arity.rb +0 -20
  1879. data/test/core/string/test_blank.rb +0 -18
  1880. data/test/core/string/test_case.rb +0 -29
  1881. data/test/core/string/test_crypt.rb +0 -17
  1882. data/test/core/string/test_filter.rb +0 -21
  1883. data/test/core/string/test_indexable.rb +0 -68
  1884. data/test/core/string/test_nchar.rb +0 -16
  1885. data/test/core/string/test_op.rb +0 -14
  1886. data/test/core/string/test_partitions.rb +0 -52
  1887. data/test/core/string/test_range.rb +0 -25
  1888. data/test/core/string/test_regesc.rb +0 -21
  1889. data/test/core/string/test_scan.rb +0 -31
  1890. data/test/core/string/test_stackable.rb +0 -94
  1891. data/test/core/string/test_tabs.rb +0 -236
  1892. data/test/core/string/test_wrap.rb +0 -82
  1893. data/test/core/symbol/test_chomp.rb +0 -17
  1894. data/test/core/symbol/test_generate.rb +0 -13
  1895. data/test/core/symbol/test_not.rb +0 -16
  1896. data/test/core/symbol/test_shadow.rb +0 -14
  1897. data/test/core/symbol/test_succ.rb +0 -15
  1898. data/test/core/symbol/test_to_proc.rb +0 -35
  1899. data/test/core/test_conversion.rb +0 -207
  1900. data/test/core/time/test_change.rb +0 -17
  1901. data/test/core/time/test_elapse.rb +0 -16
  1902. data/test/core/time/test_stamp.rb +0 -28
  1903. data/test/mixin/test_buildable.rb +0 -40
  1904. data/test/mixin/test_instantiable.rb +0 -24
  1905. data/test/more/hash/test_keyize.rb +0 -45
  1906. data/test/more/test_advice.rb +0 -71
  1907. data/test/more/test_annotations.rb +0 -99
  1908. data/test/more/test_aop.rb +0 -49
  1909. data/test/more/test_arguments.rb +0 -56
  1910. data/test/more/test_attributes.rb +0 -26
  1911. data/test/more/test_compare_on.rb +0 -44
  1912. data/test/more/test_curry.rb +0 -28
  1913. data/test/more/test_cut.rb +0 -22
  1914. data/test/more/test_elementor.rb +0 -59
  1915. data/test/more/test_interface.rb +0 -84
  1916. data/test/more/test_let.rb +0 -18
  1917. data/test/more/test_namespace.rb +0 -78
  1918. data/test/more/test_overload.rb +0 -44
  1919. data/test/more/test_paramix.rb +0 -86
  1920. data/test/more/test_stylize.rb +0 -139
  1921. data/test/more/test_thread.rb +0 -23
  1922. data/test/more/test_typecast.rb +0 -56
@@ -0,0 +1,264 @@
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
+ <html>
6
+ <head>
7
+ <title>Module: Stackable</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "show source"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "hide source"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Module</span><br />Stackable</td>
55
+ <td align="right">
56
+ <table cellspacing="0" cellpadding="2">
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ <a href="../files/lib/facets/stackable_rb.html">lib/facets/stackable.rb</a>
61
+ </td>
62
+ </tr>
63
+ </table>
64
+ </td>
65
+ </tr>
66
+ </table>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+ <div id="content">
71
+
72
+ <div class="description"><h1><a href="Stackable.html">Stackable</a></h1>
73
+ <p>
74
+ <a href="Stackable.html">Stackable</a> mixin provides <a
75
+ href="Stackable.html#M000312">pop</a>, <a
76
+ href="Stackable.html#M000313">push</a>, <a
77
+ href="Stackable.html#M000314">pull</a>, etc. It depends on slice, splice
78
+ and insert.
79
+ </p>
80
+ </div>
81
+
82
+
83
+
84
+ <div class="sectiontitle">Methods</div>
85
+ <ul>
86
+ <li><a href="#M000318">peek</a></li>
87
+ <li><a href="#M000316">poke</a></li>
88
+ <li><a href="#M000312">pop</a></li>
89
+ <li><a href="#M000314">pull</a></li>
90
+ <li><a href="#M000313">push</a></li>
91
+ <li><a href="#M000315">shift</a></li>
92
+ <li><a href="#M000317">unshift</a></li>
93
+ </ul>
94
+
95
+
96
+
97
+
98
+
99
+
100
+ <div class="sectiontitle">Public Instance methods</div>
101
+ <div class="method">
102
+ <div class="title">
103
+ <a name="M000318"></a><b>peek</b>()
104
+ </div>
105
+ <div class="description">
106
+ <p>
107
+ Peek at the top of the stack.
108
+ </p>
109
+ <pre>
110
+ a = [1, 2, 3]
111
+ a.peek #=&gt; 3
112
+ a #=&gt; [1, 2, 3]
113
+ </pre>
114
+ </div>
115
+ <div class="sourcecode">
116
+ <p class="source-link">[ <a href="javascript:toggleSource('M000318_source')" id="l_M000318_source">show source</a> ]</p>
117
+ <div id="M000318_source" class="dyn-source">
118
+ <pre>
119
+ <span class="ruby-comment cmt"># File lib/facets/stackable.rb, line 81</span>
120
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">peek</span>
121
+ <span class="ruby-identifier">slice</span>(<span class="ruby-value">-1</span>)
122
+ <span class="ruby-keyword kw">end</span>
123
+ </pre>
124
+ </div>
125
+ </div>
126
+ </div>
127
+ <div class="method">
128
+ <div class="title">
129
+ <a name="M000316"></a><b>poke</b>(x)
130
+ </div>
131
+ <div class="description">
132
+ <p>
133
+ Poke item onto the stack.
134
+ </p>
135
+ <pre>
136
+ a = [2, 3]
137
+ a.poke(1) #=&gt; [1, 2, 3]
138
+
139
+ TODO: Better name (besides unshift)?
140
+ </pre>
141
+ </div>
142
+ <div class="aka">
143
+ This method is also aliased as
144
+ <a href="Stackable.html#M000317">unshift</a>
145
+ </div>
146
+ <div class="sourcecode">
147
+ <p class="source-link">[ <a href="javascript:toggleSource('M000316_source')" id="l_M000316_source">show source</a> ]</p>
148
+ <div id="M000316_source" class="dyn-source">
149
+ <pre>
150
+ <span class="ruby-comment cmt"># File lib/facets/stackable.rb, line 69</span>
151
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">poke</span>(<span class="ruby-identifier">x</span>)
152
+ <span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>,<span class="ruby-identifier">x</span>)
153
+ <span class="ruby-keyword kw">end</span>
154
+ </pre>
155
+ </div>
156
+ </div>
157
+ </div>
158
+ <div class="method">
159
+ <div class="title">
160
+ <a name="M000312"></a><b>pop</b>()
161
+ </div>
162
+ <div class="description">
163
+ <p>
164
+ Pop item off stack.
165
+ </p>
166
+ <pre>
167
+ a = [1, 2, 3]
168
+ a.pop #=&gt; 3
169
+ a #=&gt; [1, 2]
170
+ </pre>
171
+ </div>
172
+ <div class="sourcecode">
173
+ <p class="source-link">[ <a href="javascript:toggleSource('M000312_source')" id="l_M000312_source">show source</a> ]</p>
174
+ <div id="M000312_source" class="dyn-source">
175
+ <pre>
176
+ <span class="ruby-comment cmt"># File lib/facets/stackable.rb, line 37</span>
177
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pop</span>
178
+ <span class="ruby-identifier">splice</span>(<span class="ruby-value">-1</span>)
179
+ <span class="ruby-keyword kw">end</span>
180
+ </pre>
181
+ </div>
182
+ </div>
183
+ </div>
184
+ <div class="method">
185
+ <div class="title">
186
+ <a name="M000314"></a><b>pull</b>()
187
+ </div>
188
+ <div class="description">
189
+ <p>
190
+ Pull item off the stack.
191
+ </p>
192
+ <pre>
193
+ a = [1, 2, 3]
194
+ a.pull #=&gt; 1
195
+ a #=&gt; [2, 3]
196
+ </pre>
197
+ </div>
198
+ <div class="aka">
199
+ This method is also aliased as
200
+ <a href="Stackable.html#M000315">shift</a>
201
+ </div>
202
+ <div class="sourcecode">
203
+ <p class="source-link">[ <a href="javascript:toggleSource('M000314_source')" id="l_M000314_source">show source</a> ]</p>
204
+ <div id="M000314_source" class="dyn-source">
205
+ <pre>
206
+ <span class="ruby-comment cmt"># File lib/facets/stackable.rb, line 56</span>
207
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pull</span>
208
+ <span class="ruby-identifier">slice</span>(<span class="ruby-value">0</span>)
209
+ <span class="ruby-keyword kw">end</span>
210
+ </pre>
211
+ </div>
212
+ </div>
213
+ </div>
214
+ <div class="method">
215
+ <div class="title">
216
+ <a name="M000313"></a><b>push</b>(x)
217
+ </div>
218
+ <div class="description">
219
+ <p>
220
+ Push item onto the stack.
221
+ </p>
222
+ <pre>
223
+ a = [1, 2]
224
+ a.push(3) #=&gt; [1, 2, 3]
225
+ </pre>
226
+ </div>
227
+ <div class="sourcecode">
228
+ <p class="source-link">[ <a href="javascript:toggleSource('M000313_source')" id="l_M000313_source">show source</a> ]</p>
229
+ <div id="M000313_source" class="dyn-source">
230
+ <pre>
231
+ <span class="ruby-comment cmt"># File lib/facets/stackable.rb, line 46</span>
232
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">push</span>(<span class="ruby-identifier">x</span>)
233
+ <span class="ruby-identifier">insert</span>(<span class="ruby-value">-1</span>,<span class="ruby-identifier">x</span>)
234
+ <span class="ruby-keyword kw">end</span>
235
+ </pre>
236
+ </div>
237
+ </div>
238
+ </div>
239
+ <div class="method">
240
+ <div class="title">
241
+ <a name="M000315"></a><b>shift</b>()
242
+ </div>
243
+ <div class="description">
244
+ <p>
245
+ Alias for <a href="Stackable.html#M000314">pull</a>
246
+ </p>
247
+ </div>
248
+ </div>
249
+ <div class="method">
250
+ <div class="title">
251
+ <a name="M000317"></a><b>unshift</b>(x)
252
+ </div>
253
+ <div class="description">
254
+ <p>
255
+ Alias for <a href="Stackable.html#M000316">poke</a>
256
+ </p>
257
+ </div>
258
+ </div>
259
+ </div>
260
+
261
+ </div>
262
+
263
+ </body>
264
+ </html>
@@ -0,0 +1,2297 @@
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
+ <html>
6
+ <head>
7
+ <title>Class: String</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "show source"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "hide source"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Class</span><br />String</td>
55
+ <td align="right">
56
+ <table cellspacing="0" cellpadding="2">
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ <a href="../files/lib/facets/ruby_rb.html">lib/facets/ruby.rb</a>
61
+ <a href="../files/lib/facets/metaid_rb.html">lib/facets/metaid.rb</a>
62
+ <a href="../files/lib/facets/blank_rb.html">lib/facets/blank.rb</a>
63
+ <a href="../files/lib/facets/boolean_rb.html">lib/facets/boolean.rb</a>
64
+ <a href="../files/lib/facets/comparable/bound_rb.html">lib/facets/comparable/bound.rb</a>
65
+ <a href="../files/lib/facets/comparable/cmp_rb.html">lib/facets/comparable/cmp.rb</a>
66
+ <a href="../files/lib/facets/string/shatter_rb.html">lib/facets/string/shatter.rb</a>
67
+ <a href="../files/lib/facets/string/to_re_rb.html">lib/facets/string/to_re.rb</a>
68
+ <a href="../files/lib/facets/string/fold_rb.html">lib/facets/string/fold.rb</a>
69
+ <a href="../files/lib/facets/string/camelcase_rb.html">lib/facets/string/camelcase.rb</a>
70
+ <a href="../files/lib/facets/string/align_rb.html">lib/facets/string/align.rb</a>
71
+ <a href="../files/lib/facets/string/tab_rb.html">lib/facets/string/tab.rb</a>
72
+ <a href="../files/lib/facets/string/range_rb.html">lib/facets/string/range.rb</a>
73
+ <a href="../files/lib/facets/string/snakecase_rb.html">lib/facets/string/snakecase.rb</a>
74
+ <a href="../files/lib/facets/string/divide_rb.html">lib/facets/string/divide.rb</a>
75
+ <a href="../files/lib/facets/string/mscan_rb.html">lib/facets/string/mscan.rb</a>
76
+ <a href="../files/lib/facets/string/capitalized_rb.html">lib/facets/string/capitalized.rb</a>
77
+ <a href="../files/lib/facets/string/natcmp_rb.html">lib/facets/string/natcmp.rb</a>
78
+ <a href="../files/lib/facets/string/subtract_rb.html">lib/facets/string/subtract.rb</a>
79
+ <a href="../files/lib/facets/string/stylize_rb.html">lib/facets/string/stylize.rb</a>
80
+ <a href="../files/lib/facets/string/titlecase_rb.html">lib/facets/string/titlecase.rb</a>
81
+ <a href="../files/lib/facets/string/words_rb.html">lib/facets/string/words.rb</a>
82
+ <a href="../files/lib/facets/string/interpolate_rb.html">lib/facets/string/interpolate.rb</a>
83
+ <a href="../files/lib/facets/string/cleave_rb.html">lib/facets/string/cleave.rb</a>
84
+ <a href="../files/lib/facets/string/to_time_rb.html">lib/facets/string/to_time.rb</a>
85
+ <a href="../files/lib/facets/string/line_wrap_rb.html">lib/facets/string/line_wrap.rb</a>
86
+ <a href="../files/lib/facets/string/bracket_rb.html">lib/facets/string/bracket.rb</a>
87
+ <a href="../files/lib/facets/string/chomp_rb.html">lib/facets/string/chomp.rb</a>
88
+ <a href="../files/lib/facets/string/splice_rb.html">lib/facets/string/splice.rb</a>
89
+ <a href="../files/lib/facets/string/rewrite_rb.html">lib/facets/string/rewrite.rb</a>
90
+ <a href="../files/lib/facets/string/nchar_rb.html">lib/facets/string/nchar.rb</a>
91
+ <a href="../files/lib/facets/string/xor_rb.html">lib/facets/string/xor.rb</a>
92
+ <a href="../files/lib/facets/string/underscore_rb.html">lib/facets/string/underscore.rb</a>
93
+ </td>
94
+ </tr>
95
+ <tr>
96
+ <td>Parent:</td>
97
+ <td>
98
+ <a href="Object.html">
99
+ Object
100
+ </a>
101
+ </td>
102
+ </tr>
103
+ </table>
104
+ </td>
105
+ </tr>
106
+ </table>
107
+ <!-- banner header -->
108
+
109
+ <div id="bodyContent">
110
+ <div id="content">
111
+
112
+
113
+
114
+
115
+ <div class="sectiontitle">Methods</div>
116
+ <ul>
117
+ <li><a href="#M000262">-</a></li>
118
+ <li><a href="#M000285">^</a></li>
119
+ <li><a href="#M000240">align</a></li>
120
+ <li><a href="#M000243">align_center</a></li>
121
+ <li><a href="#M000242">align_left</a></li>
122
+ <li><a href="#M000241">align_right</a></li>
123
+ <li><a href="#M000231">blank?</a></li>
124
+ <li><a href="#M000274">bracket</a></li>
125
+ <li><a href="#M000275">bracket!</a></li>
126
+ <li><a href="#M000224">bytes</a></li>
127
+ <li><a href="#M000239">camelcase</a></li>
128
+ <li><a href="#M000258">capitalized?</a></li>
129
+ <li><a href="#M000225">chars</a></li>
130
+ <li><a href="#M000270">cleave</a></li>
131
+ <li><a href="#M000234">cmp</a></li>
132
+ <li><a href="#M000279">dequote</a></li>
133
+ <li><a href="#M000256">divide</a></li>
134
+ <li><a href="#M000259">downcase?</a></li>
135
+ <li><a href="#M000227">each_char</a></li>
136
+ <li><a href="#M000229">end_with?</a></li>
137
+ <li><a href="#M000246">expand_tabs</a></li>
138
+ <li><a href="#M000238">fold</a></li>
139
+ <li><a href="#M000266">humanize</a></li>
140
+ <li><a href="#M000248">indent</a></li>
141
+ <li><a href="#M000254">index_all</a></li>
142
+ <li><a href="#M000269">interpolate</a></li>
143
+ <li><a href="#M000280">lchomp</a></li>
144
+ <li><a href="#M000281">lchomp!</a></li>
145
+ <li><a href="#M000273">line_wrap</a></li>
146
+ <li><a href="#M000226">lines</a></li>
147
+ <li><a href="#M000250">margin</a></li>
148
+ <li><a href="#M000265">methodize</a></li>
149
+ <li><a href="#M000263">modulize</a></li>
150
+ <li><a href="#M000257">mscan</a></li>
151
+ <li><a href="#M000261">natcmp</a></li>
152
+ <li><a href="#M000284">nchar</a></li>
153
+ <li><a href="#M000249">outdent</a></li>
154
+ <li><a href="#M000264">pathize</a></li>
155
+ <li><a href="#M000278">quote</a></li>
156
+ <li><a href="#M000251">range</a></li>
157
+ <li><a href="#M000252">range_all</a></li>
158
+ <li><a href="#M000253">range_of_line</a></li>
159
+ <li><a href="#M000283">rewrite</a></li>
160
+ <li><a href="#M000235">shatter</a></li>
161
+ <li><a href="#M000255">snakecase</a></li>
162
+ <li><a href="#M000287">space</a></li>
163
+ <li><a href="#M000282">splice</a></li>
164
+ <li><a href="#M000228">start_with?</a></li>
165
+ <li><a href="#M000244">tab</a></li>
166
+ <li><a href="#M000245">taballto</a></li>
167
+ <li><a href="#M000247">tabto</a></li>
168
+ <li><a href="#M000268">titlecase</a></li>
169
+ <li><a href="#M000267">titleize</a></li>
170
+ <li><a href="#M000232">to_b</a></li>
171
+ <li><a href="#M000272">to_date</a></li>
172
+ <li><a href="#M000236">to_re</a></li>
173
+ <li><a href="#M000237">to_rx</a></li>
174
+ <li><a href="#M000233">to_s</a></li>
175
+ <li><a href="#M000271">to_time</a></li>
176
+ <li><a href="#M000276">unbracket</a></li>
177
+ <li><a href="#M000277">unbracket!</a></li>
178
+ <li><a href="#M000286">underscore</a></li>
179
+ <li><a href="#M000260">upcase?</a></li>
180
+ <li><a href="#M000230">variablize</a></li>
181
+ </ul>
182
+
183
+ <div class="sectiontitle">Included Modules</div>
184
+ <ul>
185
+ <li><a href="String/Words.html">Words</a></li>
186
+ </ul>
187
+
188
+
189
+ <div class="sectiontitle">Classes and Modules</div>
190
+ Module <a href="String/Words.html" class="link">String::Words</a><br />
191
+
192
+
193
+ <div class="sectiontitle">Constants</div>
194
+ <table border='0' cellpadding='5'>
195
+ <tr valign='top'>
196
+ <td class="attr-name">BRA2KET</td>
197
+ <td>=</td>
198
+ <td class="attr-value">{ '['=&gt;']', '('=&gt;')', '{'=&gt;'}', '&lt;'=&gt;'&gt;' }</td>
199
+ </tr>
200
+ </table>
201
+
202
+
203
+ <div class="sectiontitle">Public Class methods</div>
204
+ <div class="method">
205
+ <div class="title">
206
+ <a name="M000269"></a><b>interpolate</b>(&amp;str)
207
+ </div>
208
+ <div class="description">
209
+ <p>
210
+ Interpolate. Provides a means of extenally using Ruby string interpolation
211
+ mechinism.
212
+ </p>
213
+ <pre>
214
+ try = &quot;hello&quot;
215
+ str = &quot;\#{try}!!!&quot;
216
+ String.interpolate{ str } #=&gt; &quot;hello!!!&quot;
217
+
218
+ NOTE: The block neccessary in order to get
219
+ then binding of the caller.
220
+
221
+ CREDIT: Trans
222
+ </pre>
223
+ </div>
224
+ <div class="sourcecode">
225
+ <p class="source-link">[ <a href="javascript:toggleSource('M000269_source')" id="l_M000269_source">show source</a> ]</p>
226
+ <div id="M000269_source" class="dyn-source">
227
+ <pre>
228
+ <span class="ruby-comment cmt"># File lib/facets/string/interpolate.rb, line 15</span>
229
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">interpolate</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">str</span>)
230
+ <span class="ruby-identifier">eval</span> <span class="ruby-node">&quot;%{#{str.call}}&quot;</span>, <span class="ruby-identifier">str</span>.<span class="ruby-identifier">binding</span>
231
+ <span class="ruby-keyword kw">end</span>
232
+ </pre>
233
+ </div>
234
+ </div>
235
+ </div>
236
+ <div class="sectiontitle">Public Instance methods</div>
237
+ <div class="method">
238
+ <div class="title">
239
+ <a name="M000262"></a><b>-</b>(pattern)
240
+ </div>
241
+ <div class="description">
242
+ <p>
243
+ Removes occurances of a string or regexp.
244
+ </p>
245
+ <pre>
246
+ &quot;HELLO HELLO&quot; - &quot;LL&quot; #=&gt; &quot;HEO HEO&quot;
247
+
248
+ CREDIT: Benjamin David Oakes
249
+ </pre>
250
+ </div>
251
+ <div class="sourcecode">
252
+ <p class="source-link">[ <a href="javascript:toggleSource('M000262_source')" id="l_M000262_source">show source</a> ]</p>
253
+ <div id="M000262_source" class="dyn-source">
254
+ <pre>
255
+ <span class="ruby-comment cmt"># File lib/facets/string/subtract.rb, line 9</span>
256
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">-</span>(<span class="ruby-identifier">pattern</span>)
257
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-identifier">pattern</span>, <span class="ruby-value str">''</span>)
258
+ <span class="ruby-keyword kw">end</span>
259
+ </pre>
260
+ </div>
261
+ </div>
262
+ </div>
263
+ <div class="method">
264
+ <div class="title">
265
+ <a name="M000285"></a><b>^</b>(aString)
266
+ </div>
267
+ <div class="description">
268
+ <p>
269
+ XOR two string.
270
+ </p>
271
+ <p>
272
+ TODO: This is used by crypt.rb, it needs to be documented.
273
+ </p>
274
+ </div>
275
+ <div class="sourcecode">
276
+ <p class="source-link">[ <a href="javascript:toggleSource('M000285_source')" id="l_M000285_source">show source</a> ]</p>
277
+ <div id="M000285_source" class="dyn-source">
278
+ <pre>
279
+ <span class="ruby-comment cmt"># File lib/facets/string/xor.rb, line 7</span>
280
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">^</span>(<span class="ruby-identifier">aString</span>)
281
+ <span class="ruby-identifier">a</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">'C'</span><span class="ruby-operator">*</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">length</span>))
282
+ <span class="ruby-identifier">b</span> = <span class="ruby-identifier">aString</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">'C'</span><span class="ruby-operator">*</span>(<span class="ruby-identifier">aString</span>.<span class="ruby-identifier">length</span>))
283
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">b</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">length</span>)
284
+ (<span class="ruby-identifier">a</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">length</span>).<span class="ruby-identifier">times</span> { <span class="ruby-identifier">b</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">0</span> }
285
+ <span class="ruby-keyword kw">end</span>
286
+ <span class="ruby-identifier">xor</span> = <span class="ruby-value str">&quot;&quot;</span>
287
+ <span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">a</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">pos</span><span class="ruby-operator">|</span>
288
+ <span class="ruby-identifier">x</span> = <span class="ruby-identifier">a</span>[<span class="ruby-identifier">pos</span>] <span class="ruby-operator">^</span> <span class="ruby-identifier">b</span>[<span class="ruby-identifier">pos</span>]
289
+ <span class="ruby-identifier">xor</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">chr</span>()
290
+ }
291
+ <span class="ruby-keyword kw">return</span>(<span class="ruby-identifier">xor</span>)
292
+ <span class="ruby-keyword kw">end</span>
293
+ </pre>
294
+ </div>
295
+ </div>
296
+ </div>
297
+ <div class="method">
298
+ <div class="title">
299
+ <a name="M000240"></a><b>align</b>(direction, n, sep=&quot;\n&quot;, c=' ')
300
+ </div>
301
+ <div class="sourcecode">
302
+ <p class="source-link">[ <a href="javascript:toggleSource('M000240_source')" id="l_M000240_source">show source</a> ]</p>
303
+ <div id="M000240_source" class="dyn-source">
304
+ <pre>
305
+ <span class="ruby-comment cmt"># File lib/facets/string/align.rb, line 3</span>
306
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">align</span>(<span class="ruby-identifier">direction</span>, <span class="ruby-identifier">n</span>, <span class="ruby-identifier">sep</span>=<span class="ruby-value str">&quot;\n&quot;</span>, <span class="ruby-identifier">c</span>=<span class="ruby-value str">' '</span>)
307
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">direction</span>
308
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:right</span>
309
+ <span class="ruby-identifier">align_right</span>(<span class="ruby-identifier">n</span>, <span class="ruby-identifier">sep</span>=<span class="ruby-value str">&quot;\n&quot;</span>, <span class="ruby-identifier">c</span>=<span class="ruby-value str">' '</span>)
310
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:left</span>
311
+ <span class="ruby-identifier">align_left</span>(<span class="ruby-identifier">n</span>, <span class="ruby-identifier">sep</span>=<span class="ruby-value str">&quot;\n&quot;</span>, <span class="ruby-identifier">c</span>=<span class="ruby-value str">' '</span>)
312
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:center</span>
313
+ <span class="ruby-identifier">align_center</span>(<span class="ruby-identifier">n</span>, <span class="ruby-identifier">sep</span>=<span class="ruby-value str">&quot;\n&quot;</span>, <span class="ruby-identifier">c</span>=<span class="ruby-value str">' '</span>)
314
+ <span class="ruby-keyword kw">else</span>
315
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>
316
+ <span class="ruby-keyword kw">end</span>
317
+ <span class="ruby-keyword kw">end</span>
318
+ </pre>
319
+ </div>
320
+ </div>
321
+ </div>
322
+ <div class="method">
323
+ <div class="title">
324
+ <a name="M000243"></a><b>align_center</b>(n, sep=&quot;\n&quot;, c=' ')
325
+ </div>
326
+ <div class="description">
327
+ <p>
328
+ Centers each line of a string.
329
+ </p>
330
+ <p>
331
+ The defualt alignment seperation is a new line (&quot;/n&quot;) This can be
332
+ changed as can be the padding string which defaults to a single <a
333
+ href="String.html#M000287">space</a> (&#8217; &#8217;).
334
+ </p>
335
+ <pre>
336
+ s = &lt;&lt;-EOS
337
+ This is a test
338
+ and
339
+ so on
340
+ EOS
341
+
342
+ puts s.align_center(14)
343
+ </pre>
344
+ <p>
345
+ <em>produces</em>
346
+ </p>
347
+ <pre>
348
+ This is a test
349
+ and
350
+ so on
351
+
352
+ CREDIT: Trans
353
+ </pre>
354
+ </div>
355
+ <div class="sourcecode">
356
+ <p class="source-link">[ <a href="javascript:toggleSource('M000243_source')" id="l_M000243_source">show source</a> ]</p>
357
+ <div id="M000243_source" class="dyn-source">
358
+ <pre>
359
+ <span class="ruby-comment cmt"># File lib/facets/string/align.rb, line 97</span>
360
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">align_center</span>(<span class="ruby-identifier">n</span>, <span class="ruby-identifier">sep</span>=<span class="ruby-value str">&quot;\n&quot;</span>, <span class="ruby-identifier">c</span>=<span class="ruby-value str">' '</span>)
361
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">center</span>(<span class="ruby-identifier">n</span>.<span class="ruby-identifier">to_i</span>,<span class="ruby-identifier">c</span>.<span class="ruby-identifier">to_s</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sep</span><span class="ruby-operator">==</span><span class="ruby-keyword kw">nil</span>
362
+ <span class="ruby-identifier">q</span> = <span class="ruby-identifier">split</span>(<span class="ruby-identifier">sep</span>.<span class="ruby-identifier">to_s</span>).<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
363
+ <span class="ruby-identifier">line</span>.<span class="ruby-identifier">center</span>(<span class="ruby-identifier">n</span>.<span class="ruby-identifier">to_i</span>,<span class="ruby-identifier">c</span>.<span class="ruby-identifier">to_s</span>)
364
+ }
365
+ <span class="ruby-identifier">q</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">sep</span>.<span class="ruby-identifier">to_s</span>)
366
+ <span class="ruby-keyword kw">end</span>
367
+ </pre>
368
+ </div>
369
+ </div>
370
+ </div>
371
+ <div class="method">
372
+ <div class="title">
373
+ <a name="M000242"></a><b>align_left</b>(n, sep=&quot;\n&quot;, c=' ')
374
+ </div>
375
+ <div class="description">
376
+ <p>
377
+ Align a string to the left.
378
+ </p>
379
+ <p>
380
+ The defualt alignment seperation is a new line (&quot;/n&quot;) This can be
381
+ changes as can be the padding string which defaults to a single <a
382
+ href="String.html#M000287">space</a> (&#8217; &#8217;).
383
+ </p>
384
+ <pre>
385
+ s = &lt;&lt;-EOS
386
+ This is a test
387
+ and
388
+ so on
389
+ EOS
390
+
391
+ puts s.align_left(2)
392
+ </pre>
393
+ <p>
394
+ <em>produces</em>
395
+ </p>
396
+ <pre>
397
+ This is a test
398
+ and
399
+ so on
400
+
401
+ CREDIT: Trans
402
+ </pre>
403
+ </div>
404
+ <div class="sourcecode">
405
+ <p class="source-link">[ <a href="javascript:toggleSource('M000242_source')" id="l_M000242_source">show source</a> ]</p>
406
+ <div id="M000242_source" class="dyn-source">
407
+ <pre>
408
+ <span class="ruby-comment cmt"># File lib/facets/string/align.rb, line 67</span>
409
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">align_left</span>(<span class="ruby-identifier">n</span>, <span class="ruby-identifier">sep</span>=<span class="ruby-value str">&quot;\n&quot;</span>, <span class="ruby-identifier">c</span>=<span class="ruby-value str">' '</span>)
410
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">ljust</span>(<span class="ruby-identifier">n</span>.<span class="ruby-identifier">to_i</span>,<span class="ruby-identifier">c</span>.<span class="ruby-identifier">to_s</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sep</span><span class="ruby-operator">==</span><span class="ruby-keyword kw">nil</span>
411
+ <span class="ruby-identifier">q</span> = <span class="ruby-identifier">split</span>(<span class="ruby-identifier">sep</span>.<span class="ruby-identifier">to_s</span>).<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
412
+ <span class="ruby-identifier">line</span>.<span class="ruby-identifier">ljust</span>(<span class="ruby-identifier">n</span>.<span class="ruby-identifier">to_i</span>,<span class="ruby-identifier">c</span>.<span class="ruby-identifier">to_s</span>)
413
+ }
414
+ <span class="ruby-identifier">q</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">sep</span>.<span class="ruby-identifier">to_s</span>)
415
+ <span class="ruby-keyword kw">end</span>
416
+ </pre>
417
+ </div>
418
+ </div>
419
+ </div>
420
+ <div class="method">
421
+ <div class="title">
422
+ <a name="M000241"></a><b>align_right</b>(n, sep=&quot;\n&quot;, c=' ')
423
+ </div>
424
+ <div class="description">
425
+ <p>
426
+ Align a string to the right. The defualt alignment seperation is a new line
427
+ (&quot;/n&quot;) This can be changes as can be the padding string which
428
+ defaults to a single <a href="String.html#M000287">space</a> (&#8217;
429
+ &#8217;).
430
+ </p>
431
+ <pre>
432
+ s = &lt;&lt;-EOS
433
+ This is a test
434
+ and
435
+ so on
436
+ EOS
437
+
438
+ puts s.align_right(2)
439
+ </pre>
440
+ <p>
441
+ <em>produces</em>
442
+ </p>
443
+ <pre>
444
+ This is a test
445
+ and
446
+ so on
447
+
448
+ CREDIT: Trans
449
+ </pre>
450
+ </div>
451
+ <div class="sourcecode">
452
+ <p class="source-link">[ <a href="javascript:toggleSource('M000241_source')" id="l_M000241_source">show source</a> ]</p>
453
+ <div id="M000241_source" class="dyn-source">
454
+ <pre>
455
+ <span class="ruby-comment cmt"># File lib/facets/string/align.rb, line 37</span>
456
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">align_right</span>(<span class="ruby-identifier">n</span>, <span class="ruby-identifier">sep</span>=<span class="ruby-value str">&quot;\n&quot;</span>, <span class="ruby-identifier">c</span>=<span class="ruby-value str">' '</span>)
457
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">rjust</span>(<span class="ruby-identifier">n</span>.<span class="ruby-identifier">to_i</span>,<span class="ruby-identifier">c</span>.<span class="ruby-identifier">to_s</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sep</span><span class="ruby-operator">==</span><span class="ruby-keyword kw">nil</span>
458
+ <span class="ruby-identifier">q</span> = <span class="ruby-identifier">split</span>(<span class="ruby-identifier">sep</span>.<span class="ruby-identifier">to_s</span>).<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
459
+ <span class="ruby-identifier">line</span>.<span class="ruby-identifier">rjust</span>(<span class="ruby-identifier">n</span>.<span class="ruby-identifier">to_i</span>,<span class="ruby-identifier">c</span>.<span class="ruby-identifier">to_s</span>)
460
+ }
461
+ <span class="ruby-identifier">q</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">sep</span>.<span class="ruby-identifier">to_s</span>)
462
+ <span class="ruby-keyword kw">end</span>
463
+ </pre>
464
+ </div>
465
+ </div>
466
+ </div>
467
+ <div class="method">
468
+ <div class="title">
469
+ <a name="M000231"></a><b>blank?</b>()
470
+ </div>
471
+ <div class="description">
472
+ <p>
473
+ Is this string just whitespace?
474
+ </p>
475
+ <pre>
476
+ &quot;abc&quot;.blank? #=&gt; false
477
+ &quot; &quot;.blank? #=&gt; true
478
+ </pre>
479
+ </div>
480
+ <div class="sourcecode">
481
+ <p class="source-link">[ <a href="javascript:toggleSource('M000231_source')" id="l_M000231_source">show source</a> ]</p>
482
+ <div id="M000231_source" class="dyn-source">
483
+ <pre>
484
+ <span class="ruby-comment cmt"># File lib/facets/blank.rb, line 50</span>
485
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">blank?</span>
486
+ <span class="ruby-keyword kw">self</span> <span class="ruby-operator">!~</span> <span class="ruby-regexp re">/\S/</span>
487
+ <span class="ruby-keyword kw">end</span>
488
+ </pre>
489
+ </div>
490
+ </div>
491
+ </div>
492
+ <div class="method">
493
+ <div class="title">
494
+ <a name="M000274"></a><b>bracket</b>(bra, ket=nil)
495
+ </div>
496
+ <div class="description">
497
+ <p>
498
+ Return a new string embraced by given brakets. If only one <a
499
+ href="String.html#M000274">bracket</a> char is given it will be placed on
500
+ either side.
501
+ </p>
502
+ <pre>
503
+ &quot;wrap me&quot;.bracket('{') #=&gt; &quot;{wrap me}&quot;
504
+ &quot;wrap me&quot;.bracket('--','!') #=&gt; &quot;--wrap me!&quot;
505
+
506
+ CREDIT: Trans
507
+ </pre>
508
+ </div>
509
+ <div class="sourcecode">
510
+ <p class="source-link">[ <a href="javascript:toggleSource('M000274_source')" id="l_M000274_source">show source</a> ]</p>
511
+ <div id="M000274_source" class="dyn-source">
512
+ <pre>
513
+ <span class="ruby-comment cmt"># File lib/facets/string/bracket.rb, line 14</span>
514
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">bracket</span>(<span class="ruby-identifier">bra</span>, <span class="ruby-identifier">ket</span>=<span class="ruby-keyword kw">nil</span>)
515
+ <span class="ruby-comment cmt">#ket = String.bra2ket[$&amp;] if ! ket &amp;&amp; /^[\[({&lt;]$/ =~ bra</span>
516
+ <span class="ruby-identifier">ket</span> = <span class="ruby-constant">BRA2KET</span>[<span class="ruby-identifier">bra</span>] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">ket</span>
517
+ <span class="ruby-node">&quot;#{bra}#{self}#{ket ? ket : bra}&quot;</span>
518
+ <span class="ruby-keyword kw">end</span>
519
+ </pre>
520
+ </div>
521
+ </div>
522
+ </div>
523
+ <div class="method">
524
+ <div class="title">
525
+ <a name="M000275"></a><b>bracket!</b>(bra, ket=nil)
526
+ </div>
527
+ <div class="description">
528
+ <p>
529
+ Inplace version of braket.
530
+ </p>
531
+ <pre>
532
+ CREDIT: Trans
533
+ </pre>
534
+ </div>
535
+ <div class="sourcecode">
536
+ <p class="source-link">[ <a href="javascript:toggleSource('M000275_source')" id="l_M000275_source">show source</a> ]</p>
537
+ <div id="M000275_source" class="dyn-source">
538
+ <pre>
539
+ <span class="ruby-comment cmt"># File lib/facets/string/bracket.rb, line 24</span>
540
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">bracket!</span>(<span class="ruby-identifier">bra</span>, <span class="ruby-identifier">ket</span>=<span class="ruby-keyword kw">nil</span>)
541
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">replace</span>(<span class="ruby-identifier">bracket</span>(<span class="ruby-identifier">bra</span>, <span class="ruby-identifier">ket</span>))
542
+ <span class="ruby-keyword kw">end</span>
543
+ </pre>
544
+ </div>
545
+ </div>
546
+ </div>
547
+ <div class="method">
548
+ <div class="title">
549
+ <a name="M000224"></a><b>bytes</b>()
550
+ </div>
551
+ <div class="description">
552
+ <p>
553
+ Upacks string into <a href="String.html#M000224">bytes</a>.
554
+ </p>
555
+ </div>
556
+ <div class="sourcecode">
557
+ <p class="source-link">[ <a href="javascript:toggleSource('M000224_source')" id="l_M000224_source">show source</a> ]</p>
558
+ <div id="M000224_source" class="dyn-source">
559
+ <pre>
560
+ <span class="ruby-comment cmt"># File lib/facets/ruby.rb, line 336</span>
561
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">bytes</span>
562
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">'C*'</span>)
563
+ <span class="ruby-keyword kw">end</span>
564
+ </pre>
565
+ </div>
566
+ </div>
567
+ </div>
568
+ <div class="method">
569
+ <div class="title">
570
+ <a name="M000239"></a><b>camelcase</b>(upcase_first_letter=true)
571
+ </div>
572
+ <div class="description">
573
+ <p>
574
+ Converts a string to <a href="String.html#M000239">camelcase</a>.
575
+ </p>
576
+ <p>
577
+ By default <a href="String.html#M000239">camelcase</a> convert to
578
+ UpperCamelCase, If an argument is set to <tt>false</tt>, then <a
579
+ href="String.html#M000239">camelcase</a> will produce lowerCamelCase.
580
+ </p>
581
+ <p>
582
+ <tt><a href="String.html#M000239">camelcase</a></tt> also converts
583
+ &#8217;/&#8217; to &#8217;::&#8217; which is useful for converting paths to
584
+ namespaces.
585
+ </p>
586
+ <p>
587
+ Examples
588
+ </p>
589
+ <pre>
590
+ &quot;camel_case&quot;.camelcase #=&gt; &quot;CamelCase&quot;
591
+ &quot;camel/case&quot;.camelcase #=&gt; &quot;Camel::Case&quot;
592
+ &quot;camel_case&quot;.camelcase(false) #=&gt; &quot;camelCase&quot;
593
+ </pre>
594
+ </div>
595
+ <div class="sourcecode">
596
+ <p class="source-link">[ <a href="javascript:toggleSource('M000239_source')" id="l_M000239_source">show source</a> ]</p>
597
+ <div id="M000239_source" class="dyn-source">
598
+ <pre>
599
+ <span class="ruby-comment cmt"># File lib/facets/string/camelcase.rb, line 16</span>
600
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">camelcase</span>(<span class="ruby-identifier">upcase_first_letter</span>=<span class="ruby-keyword kw">true</span>)
601
+ <span class="ruby-identifier">up</span> = <span class="ruby-identifier">upcase_first_letter</span>
602
+ <span class="ruby-identifier">str</span> = <span class="ruby-identifier">dup</span>
603
+ <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\/(.?)/</span>){ <span class="ruby-node">&quot;::#{$1.upcase}&quot;</span> } <span class="ruby-comment cmt"># NOT SO SURE ABOUT THIS -T</span>
604
+ <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/(?:_+|-+)([a-z])/</span>){ <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">upcase</span> }
605
+ <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/(\A|\s)([a-z])/</span>){ <span class="ruby-identifier">$1</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">$2</span>.<span class="ruby-identifier">upcase</span> } <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">up</span>
606
+ <span class="ruby-identifier">str</span>
607
+ <span class="ruby-keyword kw">end</span>
608
+ </pre>
609
+ </div>
610
+ </div>
611
+ </div>
612
+ <div class="method">
613
+ <div class="title">
614
+ <a name="M000258"></a><b>capitalized?</b>()
615
+ </div>
616
+ <div class="description">
617
+ <p>
618
+ Return true if the string is capitalized, otherwise false.
619
+ </p>
620
+ <pre>
621
+ &quot;THIS&quot;.capitalized? #=&gt; true
622
+ &quot;This&quot;.capitalized? #=&gt; true
623
+ &quot;this&quot;.capitalized? #=&gt; false
624
+
625
+ CREDIT: Phil Tomson
626
+ </pre>
627
+ </div>
628
+ <div class="sourcecode">
629
+ <p class="source-link">[ <a href="javascript:toggleSource('M000258_source')" id="l_M000258_source">show source</a> ]</p>
630
+ <div id="M000258_source" class="dyn-source">
631
+ <pre>
632
+ <span class="ruby-comment cmt"># File lib/facets/string/capitalized.rb, line 11</span>
633
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">capitalized?</span>
634
+ <span class="ruby-keyword kw">self</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^[A-Z]/</span>
635
+ <span class="ruby-keyword kw">end</span>
636
+ </pre>
637
+ </div>
638
+ </div>
639
+ </div>
640
+ <div class="method">
641
+ <div class="title">
642
+ <a name="M000225"></a><b>chars</b>()
643
+ </div>
644
+ <div class="description">
645
+ <p>
646
+ Returns an array of characters.
647
+ </p>
648
+ <pre>
649
+ &quot;abc&quot;.chars #=&gt; [&quot;a&quot;,&quot;b&quot;,&quot;c&quot;]
650
+ </pre>
651
+ </div>
652
+ <div class="sourcecode">
653
+ <p class="source-link">[ <a href="javascript:toggleSource('M000225_source')" id="l_M000225_source">show source</a> ]</p>
654
+ <div id="M000225_source" class="dyn-source">
655
+ <pre>
656
+ <span class="ruby-comment cmt"># File lib/facets/ruby.rb, line 344</span>
657
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">chars</span>
658
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">//</span>)
659
+ <span class="ruby-keyword kw">end</span>
660
+ </pre>
661
+ </div>
662
+ </div>
663
+ </div>
664
+ <div class="method">
665
+ <div class="title">
666
+ <a name="M000270"></a><b>cleave</b>(threshold=nil, len=nil)
667
+ </div>
668
+ <div class="description">
669
+ <p>
670
+ Cleave a string. Break a string in two parts at the nearest whitespace.
671
+ </p>
672
+ <pre>
673
+ CREDIT: Trans
674
+ </pre>
675
+ </div>
676
+ <div class="sourcecode">
677
+ <p class="source-link">[ <a href="javascript:toggleSource('M000270_source')" id="l_M000270_source">show source</a> ]</p>
678
+ <div id="M000270_source" class="dyn-source">
679
+ <pre>
680
+ <span class="ruby-comment cmt"># File lib/facets/string/cleave.rb, line 8</span>
681
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cleave</span>(<span class="ruby-identifier">threshold</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">len</span>=<span class="ruby-keyword kw">nil</span>)
682
+ <span class="ruby-identifier">l</span> = (<span class="ruby-identifier">len</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">size</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span>)
683
+ <span class="ruby-identifier">t</span> = <span class="ruby-identifier">threshold</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">size</span>
684
+
685
+ <span class="ruby-identifier">h1</span> = <span class="ruby-keyword kw">self</span>[<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-identifier">l</span>]
686
+ <span class="ruby-identifier">h2</span> = <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">l</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]
687
+
688
+ <span class="ruby-identifier">i1</span> = <span class="ruby-identifier">h1</span>.<span class="ruby-identifier">rindex</span>(<span class="ruby-regexp re">/\s/</span>) <span class="ruby-operator">||</span> <span class="ruby-value">0</span>
689
+ <span class="ruby-identifier">d1</span> = (<span class="ruby-identifier">i1</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">l</span>).<span class="ruby-identifier">abs</span>
690
+
691
+ <span class="ruby-identifier">d2</span> = <span class="ruby-identifier">h2</span>.<span class="ruby-identifier">index</span>(<span class="ruby-regexp re">/\s/</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">l</span>
692
+ <span class="ruby-identifier">i2</span> = <span class="ruby-identifier">d2</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">l</span>
693
+
694
+ <span class="ruby-identifier">d1</span> = (<span class="ruby-identifier">i1</span><span class="ruby-operator">-</span><span class="ruby-identifier">l</span>).<span class="ruby-identifier">abs</span>
695
+ <span class="ruby-identifier">d2</span> = (<span class="ruby-identifier">i2</span><span class="ruby-operator">-</span><span class="ruby-identifier">l</span>).<span class="ruby-identifier">abs</span>
696
+
697
+ <span class="ruby-keyword kw">if</span> [<span class="ruby-identifier">d1</span>, <span class="ruby-identifier">d2</span>].<span class="ruby-identifier">min</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">t</span>
698
+ <span class="ruby-identifier">i</span> = <span class="ruby-identifier">t</span>
699
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">d1</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">d2</span>
700
+ <span class="ruby-identifier">i</span> = <span class="ruby-identifier">i1</span>
701
+ <span class="ruby-keyword kw">else</span>
702
+ <span class="ruby-identifier">i</span> = <span class="ruby-identifier">i2</span>
703
+ <span class="ruby-keyword kw">end</span>
704
+
705
+ <span class="ruby-comment cmt">#dup.insert(l, &quot;\n&quot;).gsub(/^\s+|\s+$/, '')</span>
706
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">i</span>].<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span>, <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">i</span><span class="ruby-operator">+</span><span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>].<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span>
707
+ <span class="ruby-keyword kw">end</span>
708
+ </pre>
709
+ </div>
710
+ </div>
711
+ </div>
712
+ <div class="method">
713
+ <div class="title">
714
+ <a name="M000234"></a><b>cmp</b>(other)
715
+ </div>
716
+ <div class="description">
717
+ <p>
718
+ Compare method that takes length into account. Unlike #&lt;=&gt;, this is
719
+ compatible with succ.
720
+ </p>
721
+ <pre>
722
+ &quot;abc&quot;.cmp(&quot;abc&quot;) #=&gt; 0
723
+ &quot;abcd&quot;.cmp(&quot;abc&quot;) #=&gt; 1
724
+ &quot;abc&quot;.cmp(&quot;abcd&quot;) #=&gt; -1
725
+ &quot;xyz&quot;.cmp(&quot;abc&quot;) #=&gt; 1
726
+
727
+ CREDIT Peter Vanbroekhoven
728
+ </pre>
729
+ </div>
730
+ <div class="sourcecode">
731
+ <p class="source-link">[ <a href="javascript:toggleSource('M000234_source')" id="l_M000234_source">show source</a> ]</p>
732
+ <div id="M000234_source" class="dyn-source">
733
+ <pre>
734
+ <span class="ruby-comment cmt"># File lib/facets/comparable/cmp.rb, line 31</span>
735
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmp</span>(<span class="ruby-identifier">other</span>)
736
+ <span class="ruby-keyword kw">return</span> <span class="ruby-value">-1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">length</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">length</span>
737
+ <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">length</span>
738
+ <span class="ruby-keyword kw">self</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">other</span> <span class="ruby-comment cmt"># alphabetic compare</span>
739
+ <span class="ruby-keyword kw">end</span>
740
+ </pre>
741
+ </div>
742
+ </div>
743
+ </div>
744
+ <div class="method">
745
+ <div class="title">
746
+ <a name="M000279"></a><b>dequote</b>()
747
+ </div>
748
+ <div class="description">
749
+ <p>
750
+ Remove quotes from string.
751
+ </p>
752
+ <pre>
753
+ &quot;'hi'&quot;.dequite #=&gt; &quot;hi&quot;
754
+
755
+ CREDIT: Trans
756
+ </pre>
757
+ </div>
758
+ <div class="sourcecode">
759
+ <p class="source-link">[ <a href="javascript:toggleSource('M000279_source')" id="l_M000279_source">show source</a> ]</p>
760
+ <div id="M000279_source" class="dyn-source">
761
+ <pre>
762
+ <span class="ruby-comment cmt"># File lib/facets/string/bracket.rb, line 88</span>
763
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dequote</span>
764
+ <span class="ruby-identifier">s</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
765
+
766
+ <span class="ruby-keyword kw">case</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-value">0</span>,<span class="ruby-value">1</span>]
767
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;'&quot;</span>, <span class="ruby-value str">'&quot;'</span>, <span class="ruby-value str">'`'</span>
768
+ <span class="ruby-identifier">s</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">''</span>
769
+ <span class="ruby-keyword kw">end</span>
770
+
771
+ <span class="ruby-keyword kw">case</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-value">-1</span>,<span class="ruby-value">1</span>]
772
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;'&quot;</span>, <span class="ruby-value str">'&quot;'</span>, <span class="ruby-value str">'`'</span>
773
+ <span class="ruby-identifier">s</span>[<span class="ruby-value">-1</span>] = <span class="ruby-value str">''</span>
774
+ <span class="ruby-keyword kw">end</span>
775
+
776
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">s</span>
777
+ <span class="ruby-keyword kw">end</span>
778
+ </pre>
779
+ </div>
780
+ </div>
781
+ </div>
782
+ <div class="method">
783
+ <div class="title">
784
+ <a name="M000256"></a><b>divide</b>( re )
785
+ </div>
786
+ <div class="description">
787
+ <p>
788
+ Breaks a string up into an array based on a regular expression. Similar to
789
+ scan, but includes the matches.
790
+ </p>
791
+ <pre>
792
+ s = &quot;&lt;p&gt;This&lt;b&gt;is&lt;/b&gt;a test.&lt;/p&gt;&quot;
793
+ s.divide( /\&lt;.*?\&gt;/ )
794
+ </pre>
795
+ <p>
796
+ <em>produces</em>
797
+ </p>
798
+ <pre>
799
+ [&quot;&lt;p&gt;This&quot;, &quot;&lt;b&gt;is&quot;, &quot;&lt;/b&gt;a test.&quot;, &quot;&lt;/p&gt;&quot;]
800
+
801
+ CREDIT: Trans
802
+ </pre>
803
+ </div>
804
+ <div class="sourcecode">
805
+ <p class="source-link">[ <a href="javascript:toggleSource('M000256_source')" id="l_M000256_source">show source</a> ]</p>
806
+ <div id="M000256_source" class="dyn-source">
807
+ <pre>
808
+ <span class="ruby-comment cmt"># File lib/facets/string/divide.rb, line 15</span>
809
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">divide</span>( <span class="ruby-identifier">re</span> )
810
+ <span class="ruby-identifier">re2</span> = <span class="ruby-node">/#{re}.*?(?=#{re}|\Z)/</span>
811
+ <span class="ruby-identifier">scan</span>(<span class="ruby-identifier">re2</span>) <span class="ruby-comment cmt">#{re}(?=#{re})/)</span>
812
+ <span class="ruby-keyword kw">end</span>
813
+ </pre>
814
+ </div>
815
+ </div>
816
+ </div>
817
+ <div class="method">
818
+ <div class="title">
819
+ <a name="M000259"></a><b>downcase?</b>()
820
+ </div>
821
+ <div class="description">
822
+ <p>
823
+ Return true if the string is lowercase (downcase), otherwise false.
824
+ </p>
825
+ <pre>
826
+ &quot;THIS&quot;.downcase? #=&gt; false
827
+ &quot;This&quot;.downcase? #=&gt; false
828
+ &quot;this&quot;.downcase? #=&gt; true
829
+
830
+ CREDIT: Phil Tomson
831
+ </pre>
832
+ </div>
833
+ <div class="sourcecode">
834
+ <p class="source-link">[ <a href="javascript:toggleSource('M000259_source')" id="l_M000259_source">show source</a> ]</p>
835
+ <div id="M000259_source" class="dyn-source">
836
+ <pre>
837
+ <span class="ruby-comment cmt"># File lib/facets/string/capitalized.rb, line 23</span>
838
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">downcase?</span>
839
+ <span class="ruby-identifier">downcase</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">self</span>
840
+ <span class="ruby-keyword kw">end</span>
841
+ </pre>
842
+ </div>
843
+ </div>
844
+ </div>
845
+ <div class="method">
846
+ <div class="title">
847
+ <a name="M000227"></a><b>each_char</b>( {|| ...}
848
+ </div>
849
+ <div class="description">
850
+ <p>
851
+ Iterates through each character. This is a little faster than using <a
852
+ href="String.html#M000225">chars</a> b/c it does not create the
853
+ intermediate array.
854
+ </p>
855
+ <pre>
856
+ a = ''
857
+ &quot;HELLO&quot;.each_character{ |c| a &lt;&lt; #{c.downcase} }
858
+ a #=&gt; 'hello'
859
+ </pre>
860
+ </div>
861
+ <div class="sourcecode">
862
+ <p class="source-link">[ <a href="javascript:toggleSource('M000227_source')" id="l_M000227_source">show source</a> ]</p>
863
+ <div id="M000227_source" class="dyn-source">
864
+ <pre>
865
+ <span class="ruby-comment cmt"># File lib/facets/ruby.rb, line 363</span>
866
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each_char</span> <span class="ruby-comment cmt"># :yield:</span>
867
+ <span class="ruby-identifier">size</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
868
+ <span class="ruby-keyword kw">yield</span>(<span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">i</span>,<span class="ruby-value">1</span>])
869
+ <span class="ruby-keyword kw">end</span>
870
+ <span class="ruby-keyword kw">end</span>
871
+ </pre>
872
+ </div>
873
+ </div>
874
+ </div>
875
+ <div class="method">
876
+ <div class="title">
877
+ <a name="M000229"></a><b>end_with?</b>(suffix)
878
+ </div>
879
+ <div class="description">
880
+ <p>
881
+ Does a string end with the given suffix?
882
+ </p>
883
+ <pre>
884
+ &quot;hello&quot;.ends_with?(&quot;lo&quot;) #=&gt; true
885
+ &quot;hello&quot;.ends_with?(&quot;to&quot;) #=&gt; false
886
+
887
+ CREDIT: Lucas Carlson
888
+ CREDIT: Blaine Cook
889
+ </pre>
890
+ </div>
891
+ <div class="sourcecode">
892
+ <p class="source-link">[ <a href="javascript:toggleSource('M000229_source')" id="l_M000229_source">show source</a> ]</p>
893
+ <div id="M000229_source" class="dyn-source">
894
+ <pre>
895
+ <span class="ruby-comment cmt"># File lib/facets/ruby.rb, line 389</span>
896
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">end_with?</span>(<span class="ruby-identifier">suffix</span>)
897
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">rindex</span>(<span class="ruby-identifier">suffix</span>) <span class="ruby-operator">==</span> <span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">suffix</span>.<span class="ruby-identifier">size</span>
898
+ <span class="ruby-keyword kw">end</span>
899
+ </pre>
900
+ </div>
901
+ </div>
902
+ </div>
903
+ <div class="method">
904
+ <div class="title">
905
+ <a name="M000246"></a><b>expand_tabs</b>(n=8)
906
+ </div>
907
+ <div class="description">
908
+ <p>
909
+ Expands tabs to <tt>n</tt> spaces. Non-destructive. If <tt>n</tt> is 0,
910
+ then tabs are simply removed. Raises an exception if <tt>n</tt> is
911
+ negative.
912
+ </p>
913
+ <p>
914
+ Thanks to GGaramuno for a more efficient algorithm. Very nice.
915
+ </p>
916
+ <pre>
917
+ CREDIT: Gavin Sinclair
918
+ CREDIT: Noah Gibbs
919
+ CREDIT: GGaramuno
920
+ </pre>
921
+ </div>
922
+ <div class="sourcecode">
923
+ <p class="source-link">[ <a href="javascript:toggleSource('M000246_source')" id="l_M000246_source">show source</a> ]</p>
924
+ <div id="M000246_source" class="dyn-source">
925
+ <pre>
926
+ <span class="ruby-comment cmt"># File lib/facets/string/tab.rb, line 26</span>
927
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expand_tabs</span>(<span class="ruby-identifier">n</span>=<span class="ruby-value">8</span>)
928
+ <span class="ruby-identifier">n</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">to_int</span>
929
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;n must be &gt;= 0&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
930
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\t/</span>, <span class="ruby-value str">&quot;&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
931
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\t/</span>, <span class="ruby-value str">&quot; &quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
932
+ <span class="ruby-identifier">str</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
933
+ <span class="ruby-keyword kw">while</span>
934
+ <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/^([^\t\n]*)(\t+)/</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
935
+ <span class="ruby-identifier">val</span> = ( <span class="ruby-identifier">n</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">$2</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> (<span class="ruby-identifier">$1</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">n</span>) )
936
+ <span class="ruby-identifier">$1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-value str">' '</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">val</span>)
937
+ }
938
+ <span class="ruby-keyword kw">end</span>
939
+ <span class="ruby-identifier">str</span>
940
+ <span class="ruby-keyword kw">end</span>
941
+ </pre>
942
+ </div>
943
+ </div>
944
+ </div>
945
+ <div class="method">
946
+ <div class="title">
947
+ <a name="M000238"></a><b>fold</b>(ignore_indented=false)
948
+ </div>
949
+ <div class="description">
950
+ <p>
951
+ Returns a new string with all new <a href="String.html#M000226">lines</a>
952
+ removed from adjacent <a href="String.html#M000226">lines</a> of text.
953
+ </p>
954
+ <pre>
955
+ s = &quot;This is\na test.\n\nIt clumps\nlines of text.&quot;
956
+ s.fold
957
+ </pre>
958
+ <p>
959
+ <em>produces</em>
960
+ </p>
961
+ <pre>
962
+ &quot;This is a test.\n\nIt clumps lines of text. &quot;
963
+ </pre>
964
+ <p>
965
+ One arguable flaw with this, that might need a fix: if the given string
966
+ ends in a newline, it is replaced with a single <a
967
+ href="String.html#M000287">space</a>.
968
+ </p>
969
+ <pre>
970
+ CREDIT: Trans
971
+ </pre>
972
+ </div>
973
+ <div class="sourcecode">
974
+ <p class="source-link">[ <a href="javascript:toggleSource('M000238_source')" id="l_M000238_source">show source</a> ]</p>
975
+ <div id="M000238_source" class="dyn-source">
976
+ <pre>
977
+ <span class="ruby-comment cmt"># File lib/facets/string/fold.rb, line 19</span>
978
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fold</span>(<span class="ruby-identifier">ignore_indented</span>=<span class="ruby-keyword kw">false</span>)
979
+ <span class="ruby-identifier">ns</span> = <span class="ruby-value str">''</span>
980
+ <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
981
+ <span class="ruby-identifier">br</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/(\n\s*\n|\Z)/</span><span class="ruby-identifier">m</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span>
982
+ <span class="ruby-identifier">b</span> = <span class="ruby-identifier">$~</span>.<span class="ruby-identifier">begin</span>(<span class="ruby-value">1</span>)
983
+ <span class="ruby-identifier">e</span> = <span class="ruby-identifier">$~</span>.<span class="ruby-identifier">end</span>(<span class="ruby-value">1</span>)
984
+ <span class="ruby-identifier">nl</span> = <span class="ruby-identifier">$&amp;</span>
985
+ <span class="ruby-identifier">tx</span> = <span class="ruby-identifier">slice</span>(<span class="ruby-identifier">i</span><span class="ruby-operator">...</span><span class="ruby-identifier">b</span>)
986
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ignore_indented</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">slice</span>(<span class="ruby-identifier">i</span><span class="ruby-operator">...</span><span class="ruby-identifier">b</span>) <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^[ ]+/</span>
987
+ <span class="ruby-identifier">ns</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">tx</span>
988
+ <span class="ruby-keyword kw">else</span>
989
+ <span class="ruby-identifier">ns</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">tx</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/[ ]*\n+/</span>,<span class="ruby-value str">' '</span>)
990
+ <span class="ruby-keyword kw">end</span>
991
+ <span class="ruby-identifier">ns</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">nl</span>
992
+ <span class="ruby-identifier">i</span> = <span class="ruby-identifier">e</span>
993
+ <span class="ruby-keyword kw">end</span>
994
+ <span class="ruby-identifier">ns</span>
995
+ <span class="ruby-keyword kw">end</span>
996
+ </pre>
997
+ </div>
998
+ </div>
999
+ </div>
1000
+ <div class="method">
1001
+ <div class="title">
1002
+ <a name="M000266"></a><b>humanize</b>()
1003
+ </div>
1004
+ <div class="description">
1005
+ <p>
1006
+ Replaces underscores with spaces and capitalizes word.
1007
+ </p>
1008
+ </div>
1009
+ <div class="sourcecode">
1010
+ <p class="source-link">[ <a href="javascript:toggleSource('M000266_source')" id="l_M000266_source">show source</a> ]</p>
1011
+ <div id="M000266_source" class="dyn-source">
1012
+ <pre>
1013
+ <span class="ruby-comment cmt"># File lib/facets/string/stylize.rb, line 59</span>
1014
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">humanize</span>
1015
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/_/</span>, <span class="ruby-value str">&quot; &quot;</span>).<span class="ruby-identifier">capitalize</span>
1016
+ <span class="ruby-keyword kw">end</span>
1017
+ </pre>
1018
+ </div>
1019
+ </div>
1020
+ </div>
1021
+ <div class="method">
1022
+ <div class="title">
1023
+ <a name="M000248"></a><b>indent</b>(n)
1024
+ </div>
1025
+ <div class="description">
1026
+ <p>
1027
+ Indent left or right by n spaces. (This used to be called <a
1028
+ href="String.html#M000244">tab</a> and aliased as <a
1029
+ href="String.html#M000248">indent</a>.)
1030
+ </p>
1031
+ <pre>
1032
+ CREDIT: Gavin Sinclair
1033
+ CREDIT: Trans
1034
+ </pre>
1035
+ </div>
1036
+ <div class="sourcecode">
1037
+ <p class="source-link">[ <a href="javascript:toggleSource('M000248_source')" id="l_M000248_source">show source</a> ]</p>
1038
+ <div id="M000248_source" class="dyn-source">
1039
+ <pre>
1040
+ <span class="ruby-comment cmt"># File lib/facets/string/tab.rb, line 60</span>
1041
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indent</span>(<span class="ruby-identifier">n</span>)
1042
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">0</span>
1043
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/^/</span>, <span class="ruby-value str">' '</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">n</span>)
1044
+ <span class="ruby-keyword kw">else</span>
1045
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-node">/^ {0,#{-n}}/</span>, <span class="ruby-value str">&quot;&quot;</span>)
1046
+ <span class="ruby-keyword kw">end</span>
1047
+ <span class="ruby-keyword kw">end</span>
1048
+ </pre>
1049
+ </div>
1050
+ </div>
1051
+ </div>
1052
+ <div class="method">
1053
+ <div class="title">
1054
+ <a name="M000254"></a><b>index_all</b>(s, reuse=false)
1055
+ </div>
1056
+ <div class="description">
1057
+ <p>
1058
+ Like index but returns an array of all index locations. The reuse flag
1059
+ allows the trailing portion of a match to be reused for subsquent matches.
1060
+ </p>
1061
+ <pre>
1062
+ &quot;abcabcabc&quot;.index_all('a') #=&gt; [0,3,6]
1063
+
1064
+ &quot;bbb&quot;.index_all('bb', false) #=&gt; [0]
1065
+ &quot;bbb&quot;.index_all('bb', true) #=&gt; [0,1]
1066
+
1067
+ TODO: Culd probably be defined for Indexable in general too.
1068
+ </pre>
1069
+ </div>
1070
+ <div class="sourcecode">
1071
+ <p class="source-link">[ <a href="javascript:toggleSource('M000254_source')" id="l_M000254_source">show source</a> ]</p>
1072
+ <div id="M000254_source" class="dyn-source">
1073
+ <pre>
1074
+ <span class="ruby-comment cmt"># File lib/facets/string/range.rb, line 66</span>
1075
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">index_all</span>(<span class="ruby-identifier">s</span>, <span class="ruby-identifier">reuse</span>=<span class="ruby-keyword kw">false</span>)
1076
+ <span class="ruby-identifier">s</span> = <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">escape</span>(<span class="ruby-identifier">s</span>)) <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">Regexp</span><span class="ruby-operator">===</span><span class="ruby-identifier">s</span>
1077
+ <span class="ruby-identifier">ia</span> = []; <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
1078
+ <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">i</span> = <span class="ruby-identifier">index</span>(<span class="ruby-identifier">s</span>,<span class="ruby-identifier">i</span>))
1079
+ <span class="ruby-identifier">ia</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">i</span>
1080
+ <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> (<span class="ruby-identifier">reuse</span> <span class="ruby-value">? </span><span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">$~</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">size</span>)
1081
+ <span class="ruby-keyword kw">end</span>
1082
+ <span class="ruby-identifier">ia</span>
1083
+ <span class="ruby-keyword kw">end</span>
1084
+ </pre>
1085
+ </div>
1086
+ </div>
1087
+ </div>
1088
+ <div class="method">
1089
+ <div class="title">
1090
+ <a name="M000280"></a><b>lchomp</b>(match)
1091
+ </div>
1092
+ <div class="description">
1093
+ <p>
1094
+ Left chomp.
1095
+ </p>
1096
+ <pre>
1097
+ &quot;help&quot;.lchomp(&quot;h&quot;) #=&gt; &quot;elp&quot;
1098
+ &quot;help&quot;.lchomp(&quot;k&quot;) #=&gt; &quot;help&quot;
1099
+
1100
+ CREDIT: Trans
1101
+ </pre>
1102
+ </div>
1103
+ <div class="sourcecode">
1104
+ <p class="source-link">[ <a href="javascript:toggleSource('M000280_source')" id="l_M000280_source">show source</a> ]</p>
1105
+ <div id="M000280_source" class="dyn-source">
1106
+ <pre>
1107
+ <span class="ruby-comment cmt"># File lib/facets/string/chomp.rb, line 10</span>
1108
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lchomp</span>(<span class="ruby-identifier">match</span>)
1109
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">index</span>(<span class="ruby-identifier">match</span>) <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
1110
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">match</span>.<span class="ruby-identifier">size</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]
1111
+ <span class="ruby-keyword kw">else</span>
1112
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
1113
+ <span class="ruby-keyword kw">end</span>
1114
+ <span class="ruby-keyword kw">end</span>
1115
+ </pre>
1116
+ </div>
1117
+ </div>
1118
+ </div>
1119
+ <div class="method">
1120
+ <div class="title">
1121
+ <a name="M000281"></a><b>lchomp!</b>(match)
1122
+ </div>
1123
+ <div class="description">
1124
+ <p>
1125
+ In-place left chomp.
1126
+ </p>
1127
+ <pre>
1128
+ &quot;help&quot;.lchomp(&quot;h&quot;) #=&gt; &quot;elp&quot;
1129
+ &quot;help&quot;.lchomp(&quot;k&quot;) #=&gt; &quot;help&quot;
1130
+
1131
+ CREDIT: Trans
1132
+ </pre>
1133
+ </div>
1134
+ <div class="sourcecode">
1135
+ <p class="source-link">[ <a href="javascript:toggleSource('M000281_source')" id="l_M000281_source">show source</a> ]</p>
1136
+ <div id="M000281_source" class="dyn-source">
1137
+ <pre>
1138
+ <span class="ruby-comment cmt"># File lib/facets/string/chomp.rb, line 25</span>
1139
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lchomp!</span>(<span class="ruby-identifier">match</span>)
1140
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">index</span>(<span class="ruby-identifier">match</span>) <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
1141
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-identifier">match</span>.<span class="ruby-identifier">size</span>] = <span class="ruby-value str">''</span>
1142
+ <span class="ruby-keyword kw">self</span>
1143
+ <span class="ruby-keyword kw">end</span>
1144
+ <span class="ruby-keyword kw">end</span>
1145
+ </pre>
1146
+ </div>
1147
+ </div>
1148
+ </div>
1149
+ <div class="method">
1150
+ <div class="title">
1151
+ <a name="M000273"></a><b>line_wrap</b>(width, tabs=4)
1152
+ </div>
1153
+ <div class="description">
1154
+ <p>
1155
+ Line wrap at width.
1156
+ </p>
1157
+ <pre>
1158
+ puts &quot;1234567890&quot;.line_wrap(5)
1159
+ </pre>
1160
+ <p>
1161
+ <em>produces</em>
1162
+ </p>
1163
+ <pre>
1164
+ 12345
1165
+ 67890
1166
+
1167
+ CREDIT: Trans
1168
+ </pre>
1169
+ </div>
1170
+ <div class="sourcecode">
1171
+ <p class="source-link">[ <a href="javascript:toggleSource('M000273_source')" id="l_M000273_source">show source</a> ]</p>
1172
+ <div id="M000273_source" class="dyn-source">
1173
+ <pre>
1174
+ <span class="ruby-comment cmt"># File lib/facets/string/line_wrap.rb, line 14</span>
1175
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">line_wrap</span>(<span class="ruby-identifier">width</span>, <span class="ruby-identifier">tabs</span>=<span class="ruby-value">4</span>)
1176
+ <span class="ruby-identifier">s</span> = <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\t/</span>,<span class="ruby-value str">' '</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">tabs</span>) <span class="ruby-comment cmt"># tabs default to 4 spaces</span>
1177
+ <span class="ruby-identifier">s</span> = <span class="ruby-identifier">s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\n/</span>,<span class="ruby-value str">' '</span>)
1178
+ <span class="ruby-identifier">r</span> = <span class="ruby-identifier">s</span>.<span class="ruby-identifier">scan</span>( <span class="ruby-node">/.{1,#{width}}/</span> )
1179
+ <span class="ruby-identifier">r</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span>
1180
+ <span class="ruby-keyword kw">end</span>
1181
+ </pre>
1182
+ </div>
1183
+ </div>
1184
+ </div>
1185
+ <div class="method">
1186
+ <div class="title">
1187
+ <a name="M000226"></a><b>lines</b>()
1188
+ </div>
1189
+ <div class="description">
1190
+ <p>
1191
+ Returns an array of characters.
1192
+ </p>
1193
+ <pre>
1194
+ &quot;abc\n123&quot;.lines #=&gt; [&quot;abc&quot;,&quot;123&quot;]
1195
+ </pre>
1196
+ </div>
1197
+ <div class="sourcecode">
1198
+ <p class="source-link">[ <a href="javascript:toggleSource('M000226_source')" id="l_M000226_source">show source</a> ]</p>
1199
+ <div id="M000226_source" class="dyn-source">
1200
+ <pre>
1201
+ <span class="ruby-comment cmt"># File lib/facets/ruby.rb, line 352</span>
1202
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lines</span>
1203
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/\n/</span>)
1204
+ <span class="ruby-keyword kw">end</span>
1205
+ </pre>
1206
+ </div>
1207
+ </div>
1208
+ </div>
1209
+ <div class="method">
1210
+ <div class="title">
1211
+ <a name="M000250"></a><b>margin</b>(n=0)
1212
+ </div>
1213
+ <div class="description">
1214
+ <p>
1215
+ Provides a <a href="String.html#M000250">margin</a> controlled string.
1216
+ </p>
1217
+ <pre>
1218
+ x = %Q{
1219
+ | This
1220
+ | is
1221
+ | margin controlled!
1222
+ }.margin
1223
+
1224
+ NOTE: This may still need a bit of tweaking.
1225
+
1226
+ CREDIT: Trans
1227
+ </pre>
1228
+ </div>
1229
+ <div class="sourcecode">
1230
+ <p class="source-link">[ <a href="javascript:toggleSource('M000250_source')" id="l_M000250_source">show source</a> ]</p>
1231
+ <div id="M000250_source" class="dyn-source">
1232
+ <pre>
1233
+ <span class="ruby-comment cmt"># File lib/facets/string/tab.rb, line 89</span>
1234
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">margin</span>(<span class="ruby-identifier">n</span>=<span class="ruby-value">0</span>)
1235
+ <span class="ruby-comment cmt">#d = /\A.*\n\s*(.)/.match( self )[1]</span>
1236
+ <span class="ruby-comment cmt">#d = /\A\s*(.)/.match( self)[1] unless d</span>
1237
+ <span class="ruby-identifier">d</span> = ((<span class="ruby-regexp re">/\A.*\n\s*(.)/</span>.<span class="ruby-identifier">match</span>(<span class="ruby-keyword kw">self</span>)) <span class="ruby-operator">||</span>
1238
+ (<span class="ruby-regexp re">/\A\s*(.)/</span>.<span class="ruby-identifier">match</span>(<span class="ruby-keyword kw">self</span>)))[<span class="ruby-value">1</span>]
1239
+ <span class="ruby-keyword kw">return</span> <span class="ruby-value str">''</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">d</span>
1240
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
1241
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\n\s*\Z/</span>,<span class="ruby-value str">''</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-node">/^\s*[#{d}]/</span>, <span class="ruby-value str">''</span>)
1242
+ <span class="ruby-keyword kw">else</span>
1243
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\n\s*\Z/</span>,<span class="ruby-value str">''</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-node">/^\s*[#{d}]/</span>, <span class="ruby-value str">' '</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">n</span>)
1244
+ <span class="ruby-keyword kw">end</span>
1245
+ <span class="ruby-keyword kw">end</span>
1246
+ </pre>
1247
+ </div>
1248
+ </div>
1249
+ </div>
1250
+ <div class="method">
1251
+ <div class="title">
1252
+ <a name="M000265"></a><b>methodize</b>()
1253
+ </div>
1254
+ <div class="description">
1255
+ <p>
1256
+ Just like <a href="String.html#M000255">snakecase</a>. Makes an underscored
1257
+ form from the expression in the string, but also changes &#8217;::&#8217;
1258
+ to &#8217;/&#8217; to convert namespaces to paths.
1259
+ </p>
1260
+ <p>
1261
+ Examples
1262
+ </p>
1263
+ <pre>
1264
+ &quot;SuperMan&quot;.methodize #=&gt; &quot;super_man&quot;
1265
+ &quot;SuperMan::Errors&quot;.methodize #=&gt; &quot;super_man__errors
1266
+ </pre>
1267
+ </div>
1268
+ <div class="sourcecode">
1269
+ <p class="source-link">[ <a href="javascript:toggleSource('M000265_source')" id="l_M000265_source">show source</a> ]</p>
1270
+ <div id="M000265_source" class="dyn-source">
1271
+ <pre>
1272
+ <span class="ruby-comment cmt"># File lib/facets/string/stylize.rb, line 48</span>
1273
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">methodize</span>
1274
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\//</span>, <span class="ruby-value str">'__'</span>).
1275
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/::/</span>, <span class="ruby-value str">'__'</span>).
1276
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/([A-Z]+)([A-Z][a-z])/</span>,<span class="ruby-value str">'\1_\2'</span>).
1277
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/([a-z\d])([A-Z])/</span>,<span class="ruby-value str">'\1_\2'</span>).
1278
+ <span class="ruby-identifier">tr</span>(<span class="ruby-value str">&quot;-&quot;</span>, <span class="ruby-value str">&quot;_&quot;</span>).
1279
+ <span class="ruby-identifier">downcase</span>
1280
+ <span class="ruby-keyword kw">end</span>
1281
+ </pre>
1282
+ </div>
1283
+ </div>
1284
+ </div>
1285
+ <div class="method">
1286
+ <div class="title">
1287
+ <a name="M000263"></a><b>modulize</b>()
1288
+ </div>
1289
+ <div class="description">
1290
+ <p>
1291
+ Like <a href="String.html#M000239">camelcase</a>, but also converts
1292
+ &#8217;/&#8217; to &#8217;::&#8217;.
1293
+ </p>
1294
+ <p>
1295
+ By default <a href="String.html#M000239">camelcase</a> convert to
1296
+ UpperCamelCase, If an argument is set to <tt>false</tt>, then <a
1297
+ href="String.html#M000239">camelcase</a> will produce lowerCamelCase.
1298
+ </p>
1299
+ <p>
1300
+ <tt><a href="String.html#M000239">camelcase</a></tt> also converts
1301
+ &#8217;/&#8217; to &#8217;::&#8217; which is useful for converting paths to
1302
+ namespaces.
1303
+ </p>
1304
+ <p>
1305
+ Examples
1306
+ </p>
1307
+ <pre>
1308
+ &quot;camel_case&quot;.modulize #=&gt; &quot;CamelCase&quot;
1309
+ &quot;camel/case&quot;.modulize #=&gt; &quot;Camel::Case&quot;
1310
+ </pre>
1311
+ </div>
1312
+ <div class="sourcecode">
1313
+ <p class="source-link">[ <a href="javascript:toggleSource('M000263_source')" id="l_M000263_source">show source</a> ]</p>
1314
+ <div id="M000263_source" class="dyn-source">
1315
+ <pre>
1316
+ <span class="ruby-comment cmt"># File lib/facets/string/stylize.rb, line 15</span>
1317
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">modulize</span>
1318
+ <span class="ruby-identifier">str</span> = <span class="ruby-identifier">dup</span>
1319
+ <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/__(.?)/</span>){ <span class="ruby-node">&quot;::#{$1.upcase}&quot;</span> }
1320
+ <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\/(.?)/</span>){ <span class="ruby-node">&quot;::#{$1.upcase}&quot;</span> }
1321
+ <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/(?:_+)([a-z])/</span>){ <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">upcase</span> }
1322
+ <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/(^|\s+)([a-z])/</span>){ <span class="ruby-identifier">$1</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">$2</span>.<span class="ruby-identifier">upcase</span> }
1323
+ <span class="ruby-identifier">str</span>
1324
+ <span class="ruby-keyword kw">end</span>
1325
+ </pre>
1326
+ </div>
1327
+ </div>
1328
+ </div>
1329
+ <div class="method">
1330
+ <div class="title">
1331
+ <a name="M000257"></a><b>mscan</b>(re) {|| ...}
1332
+ </div>
1333
+ <div class="description">
1334
+ <p>
1335
+ Like scan but returns <a href="MatchData.html">MatchData</a> ($~) rather
1336
+ then matched string ($&amp;).
1337
+ </p>
1338
+ <pre>
1339
+ CREDIT: Trans
1340
+ </pre>
1341
+ </div>
1342
+ <div class="sourcecode">
1343
+ <p class="source-link">[ <a href="javascript:toggleSource('M000257_source')" id="l_M000257_source">show source</a> ]</p>
1344
+ <div id="M000257_source" class="dyn-source">
1345
+ <pre>
1346
+ <span class="ruby-comment cmt"># File lib/facets/string/mscan.rb, line 8</span>
1347
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mscan</span>(<span class="ruby-identifier">re</span>) <span class="ruby-comment cmt">#:yield:</span>
1348
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
1349
+ <span class="ruby-identifier">scan</span>(<span class="ruby-identifier">re</span>) { <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">$~</span>) }
1350
+ <span class="ruby-keyword kw">else</span>
1351
+ <span class="ruby-identifier">m</span> = []
1352
+ <span class="ruby-identifier">scan</span>(<span class="ruby-identifier">re</span>) { <span class="ruby-identifier">m</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">$~</span> }
1353
+ <span class="ruby-identifier">m</span>
1354
+ <span class="ruby-keyword kw">end</span>
1355
+ <span class="ruby-keyword kw">end</span>
1356
+ </pre>
1357
+ </div>
1358
+ </div>
1359
+ </div>
1360
+ <div class="method">
1361
+ <div class="title">
1362
+ <a name="M000261"></a><b>natcmp</b>(str2, caseInsensitive=false)
1363
+ </div>
1364
+ <div class="description">
1365
+ <p>
1366
+ &#8216;Natural order&#8217; comparison of strings, e.g.
1367
+ </p>
1368
+ <pre>
1369
+ &quot;my_prog_v1.1.0&quot; &lt; &quot;my_prog_v1.2.0&quot; &lt; &quot;my_prog_v1.10.0&quot;
1370
+ </pre>
1371
+ <p>
1372
+ which does not follow alphabetically. A secondary parameter, if set to
1373
+ <em>true</em>, makes the comparison case insensitive.
1374
+ </p>
1375
+ <pre>
1376
+ &quot;Hello.10&quot;.natcmp(&quot;Hello.1&quot;) #=&gt; -1
1377
+
1378
+ TODO: Invert case flag?
1379
+
1380
+ CREDIT: Alan Davies
1381
+ CREDIT: Martin Pool
1382
+ </pre>
1383
+ </div>
1384
+ <div class="sourcecode">
1385
+ <p class="source-link">[ <a href="javascript:toggleSource('M000261_source')" id="l_M000261_source">show source</a> ]</p>
1386
+ <div id="M000261_source" class="dyn-source">
1387
+ <pre>
1388
+ <span class="ruby-comment cmt"># File lib/facets/string/natcmp.rb, line 47</span>
1389
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">natcmp</span>(<span class="ruby-identifier">str2</span>, <span class="ruby-identifier">caseInsensitive</span>=<span class="ruby-keyword kw">false</span>)
1390
+ <span class="ruby-identifier">str1</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
1391
+ <span class="ruby-identifier">str2</span> = <span class="ruby-identifier">str2</span>.<span class="ruby-identifier">dup</span>
1392
+ <span class="ruby-identifier">compareExpression</span> = <span class="ruby-regexp re">/^(\D*)(\d*)(.*)$/</span>
1393
+
1394
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">caseInsensitive</span>
1395
+ <span class="ruby-identifier">str1</span>.<span class="ruby-identifier">downcase!</span>
1396
+ <span class="ruby-identifier">str2</span>.<span class="ruby-identifier">downcase!</span>
1397
+ <span class="ruby-keyword kw">end</span>
1398
+
1399
+ <span class="ruby-comment cmt"># remove all whitespace</span>
1400
+ <span class="ruby-identifier">str1</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\s*/</span>, <span class="ruby-value str">''</span>)
1401
+ <span class="ruby-identifier">str2</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\s*/</span>, <span class="ruby-value str">''</span>)
1402
+
1403
+ <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">str1</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>) <span class="ruby-keyword kw">or</span> (<span class="ruby-identifier">str2</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>) <span class="ruby-keyword kw">do</span>
1404
+ <span class="ruby-comment cmt"># Extract non-digits, digits and rest of string</span>
1405
+ <span class="ruby-identifier">str1</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">compareExpression</span>
1406
+ <span class="ruby-identifier">chars1</span>, <span class="ruby-identifier">num1</span>, <span class="ruby-identifier">str1</span> = <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">dup</span>, <span class="ruby-identifier">$2</span>.<span class="ruby-identifier">dup</span>, <span class="ruby-identifier">$3</span>.<span class="ruby-identifier">dup</span>
1407
+ <span class="ruby-identifier">str2</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">compareExpression</span>
1408
+ <span class="ruby-identifier">chars2</span>, <span class="ruby-identifier">num2</span>, <span class="ruby-identifier">str2</span> = <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">dup</span>, <span class="ruby-identifier">$2</span>.<span class="ruby-identifier">dup</span>, <span class="ruby-identifier">$3</span>.<span class="ruby-identifier">dup</span>
1409
+ <span class="ruby-comment cmt"># Compare the non-digits</span>
1410
+ <span class="ruby-keyword kw">case</span> (<span class="ruby-identifier">chars1</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">chars2</span>)
1411
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value">0</span> <span class="ruby-comment cmt"># Non-digits are the same, compare the digits...</span>
1412
+ <span class="ruby-comment cmt"># If either number begins with a zero, then compare alphabetically,</span>
1413
+ <span class="ruby-comment cmt"># otherwise compare numerically</span>
1414
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">num1</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">48</span>) <span class="ruby-keyword kw">and</span> (<span class="ruby-identifier">num2</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-value">48</span>)
1415
+ <span class="ruby-identifier">num1</span>, <span class="ruby-identifier">num2</span> = <span class="ruby-identifier">num1</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-identifier">num2</span>.<span class="ruby-identifier">to_i</span>
1416
+ <span class="ruby-keyword kw">end</span>
1417
+ <span class="ruby-keyword kw">case</span> (<span class="ruby-identifier">num1</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">num2</span>)
1418
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value">-1</span> <span class="ruby-keyword kw">then</span> <span class="ruby-keyword kw">return</span> <span class="ruby-value">-1</span>
1419
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">then</span> <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span>
1420
+ <span class="ruby-keyword kw">end</span>
1421
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value">-1</span> <span class="ruby-keyword kw">then</span> <span class="ruby-keyword kw">return</span> <span class="ruby-value">-1</span>
1422
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">then</span> <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span>
1423
+ <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># case</span>
1424
+ <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># while</span>
1425
+
1426
+ <span class="ruby-comment cmt"># strings are naturally equal.</span>
1427
+ <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span>
1428
+ <span class="ruby-keyword kw">end</span>
1429
+
1430
+ <span class="ruby-keyword kw">end</span>
1431
+ </pre>
1432
+ </div>
1433
+ </div>
1434
+ </div>
1435
+ <div class="method">
1436
+ <div class="title">
1437
+ <a name="M000284"></a><b>nchar</b>(n, replacement=nil)
1438
+ </div>
1439
+ <div class="description">
1440
+ <p>
1441
+ Returns <em>n</em> characters of the string. If <em>n</em> is positive the
1442
+ characters are from the beginning of the string. If <em>n</em> is negative
1443
+ from the end of the string.
1444
+ </p>
1445
+ <p>
1446
+ Alternatively a replacement string can be given, which will replace the
1447
+ <em>n</em> characters.
1448
+ </p>
1449
+ <pre>
1450
+ str = &quot;this is text&quot;
1451
+ str.nchar(4) #=&gt; &quot;this&quot;
1452
+ str.nchar(4, 'that') #=&gt; &quot;that&quot;
1453
+ str #=&gt; &quot;that is text&quot;
1454
+
1455
+ CREDIT: ?
1456
+ </pre>
1457
+ </div>
1458
+ <div class="sourcecode">
1459
+ <p class="source-link">[ <a href="javascript:toggleSource('M000284_source')" id="l_M000284_source">show source</a> ]</p>
1460
+ <div id="M000284_source" class="dyn-source">
1461
+ <pre>
1462
+ <span class="ruby-comment cmt"># File lib/facets/string/nchar.rb, line 17</span>
1463
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nchar</span>(<span class="ruby-identifier">n</span>, <span class="ruby-identifier">replacement</span>=<span class="ruby-keyword kw">nil</span>)
1464
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">replacement</span>
1465
+ <span class="ruby-identifier">s</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
1466
+ <span class="ruby-identifier">n</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> (<span class="ruby-identifier">s</span>[<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-identifier">n</span>] = <span class="ruby-identifier">replacement</span>) <span class="ruby-operator">:</span> (<span class="ruby-identifier">s</span>[<span class="ruby-identifier">n</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>] = <span class="ruby-identifier">replacement</span>)
1467
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">s</span>
1468
+ <span class="ruby-keyword kw">else</span>
1469
+ <span class="ruby-identifier">n</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-identifier">n</span>] <span class="ruby-operator">:</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">n</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]
1470
+ <span class="ruby-keyword kw">end</span>
1471
+ <span class="ruby-keyword kw">end</span>
1472
+ </pre>
1473
+ </div>
1474
+ </div>
1475
+ </div>
1476
+ <div class="method">
1477
+ <div class="title">
1478
+ <a name="M000249"></a><b>outdent</b>(n)
1479
+ </div>
1480
+ <div class="description">
1481
+ <p>
1482
+ Outdent just indents a negative number of spaces.
1483
+ </p>
1484
+ <pre>
1485
+ CREDIT: Noah Gibbs
1486
+ </pre>
1487
+ </div>
1488
+ <div class="sourcecode">
1489
+ <p class="source-link">[ <a href="javascript:toggleSource('M000249_source')" id="l_M000249_source">show source</a> ]</p>
1490
+ <div id="M000249_source" class="dyn-source">
1491
+ <pre>
1492
+ <span class="ruby-comment cmt"># File lib/facets/string/tab.rb, line 72</span>
1493
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">outdent</span>(<span class="ruby-identifier">n</span>)
1494
+ <span class="ruby-identifier">indent</span>(<span class="ruby-operator">-</span><span class="ruby-identifier">n</span>)
1495
+ <span class="ruby-keyword kw">end</span>
1496
+ </pre>
1497
+ </div>
1498
+ </div>
1499
+ </div>
1500
+ <div class="method">
1501
+ <div class="title">
1502
+ <a name="M000264"></a><b>pathize</b>()
1503
+ </div>
1504
+ <div class="description">
1505
+ <p>
1506
+ Just like <a href="String.html#M000255">snakecase</a>. Makes an underscored
1507
+ form from the expression in the string, but also changes &#8217;::&#8217;
1508
+ to &#8217;/&#8217; to convert namespaces to paths.
1509
+ </p>
1510
+ <p>
1511
+ Examples
1512
+ </p>
1513
+ <pre>
1514
+ &quot;SuperMan&quot;.pathize #=&gt; &quot;super_man&quot;
1515
+ &quot;SuperMan::Errors&quot;.pathize #=&gt; &quot;super_man/errors
1516
+ </pre>
1517
+ </div>
1518
+ <div class="sourcecode">
1519
+ <p class="source-link">[ <a href="javascript:toggleSource('M000264_source')" id="l_M000264_source">show source</a> ]</p>
1520
+ <div id="M000264_source" class="dyn-source">
1521
+ <pre>
1522
+ <span class="ruby-comment cmt"># File lib/facets/string/stylize.rb, line 32</span>
1523
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pathize</span>
1524
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/::/</span>, <span class="ruby-value str">'/'</span>).
1525
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/([A-Z]+)([A-Z][a-z])/</span>,<span class="ruby-value str">'\1_\2'</span>).
1526
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/([a-z\d])([A-Z])/</span>,<span class="ruby-value str">'\1_\2'</span>).
1527
+ <span class="ruby-identifier">tr</span>(<span class="ruby-value str">&quot;-&quot;</span>, <span class="ruby-value str">&quot;_&quot;</span>).
1528
+ <span class="ruby-identifier">downcase</span>
1529
+ <span class="ruby-keyword kw">end</span>
1530
+ </pre>
1531
+ </div>
1532
+ </div>
1533
+ </div>
1534
+ <div class="method">
1535
+ <div class="title">
1536
+ <a name="M000278"></a><b>quote</b>(type=:s)
1537
+ </div>
1538
+ <div class="description">
1539
+ <p>
1540
+ Return a new string embraced by given quotes. If no quotes are specified,
1541
+ then assumes single quotes.
1542
+ </p>
1543
+ <pre>
1544
+ &quot;quote me&quot;.quote #=&gt; &quot;'quote me'&quot;
1545
+ &quot;quote me&quot;.quote(2) #=&gt; &quot;\&quot;quote me\&quot;&quot;
1546
+
1547
+ CREDIT: Trans
1548
+ </pre>
1549
+ </div>
1550
+ <div class="sourcecode">
1551
+ <p class="source-link">[ <a href="javascript:toggleSource('M000278_source')" id="l_M000278_source">show source</a> ]</p>
1552
+ <div id="M000278_source" class="dyn-source">
1553
+ <pre>
1554
+ <span class="ruby-comment cmt"># File lib/facets/string/bracket.rb, line 69</span>
1555
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">quote</span>(<span class="ruby-identifier">type</span>=<span class="ruby-identifier">:s</span>)
1556
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">type</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">downcase</span>
1557
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'s'</span>, <span class="ruby-value str">'single'</span>
1558
+ <span class="ruby-identifier">bracket</span>(<span class="ruby-value str">&quot;'&quot;</span>)
1559
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'d'</span>, <span class="ruby-value str">'double'</span>
1560
+ <span class="ruby-identifier">bracket</span>(<span class="ruby-value str">'&quot;'</span>)
1561
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'b'</span>, <span class="ruby-value str">'back'</span>
1562
+ <span class="ruby-identifier">bracket</span>(<span class="ruby-value str">'`'</span>)
1563
+ <span class="ruby-keyword kw">else</span>
1564
+ <span class="ruby-identifier">bracket</span>(<span class="ruby-value str">&quot;'&quot;</span>)
1565
+ <span class="ruby-keyword kw">end</span>
1566
+ <span class="ruby-keyword kw">end</span>
1567
+ </pre>
1568
+ </div>
1569
+ </div>
1570
+ </div>
1571
+ <div class="method">
1572
+ <div class="title">
1573
+ <a name="M000251"></a><b>range</b>(s, offset=0)
1574
+ </div>
1575
+ <div class="description">
1576
+ <p>
1577
+ Like index but returns a <a href="Range.html">Range</a>.
1578
+ </p>
1579
+ <pre>
1580
+ &quot;This is a test!&quot;.range('test') #=&gt; 10..13
1581
+
1582
+ CREDIT: Trans
1583
+ </pre>
1584
+ </div>
1585
+ <div class="sourcecode">
1586
+ <p class="source-link">[ <a href="javascript:toggleSource('M000251_source')" id="l_M000251_source">show source</a> ]</p>
1587
+ <div id="M000251_source" class="dyn-source">
1588
+ <pre>
1589
+ <span class="ruby-comment cmt"># File lib/facets/string/range.rb, line 9</span>
1590
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">range</span>(<span class="ruby-identifier">s</span>, <span class="ruby-identifier">offset</span>=<span class="ruby-value">0</span>)
1591
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">index</span>(<span class="ruby-identifier">s</span>, <span class="ruby-identifier">offset</span>)
1592
+ <span class="ruby-keyword kw">return</span> (<span class="ruby-identifier">$~</span>.<span class="ruby-identifier">begin</span>(<span class="ruby-value">0</span>))<span class="ruby-operator">..</span>(<span class="ruby-identifier">$~</span>.<span class="ruby-identifier">end</span>(<span class="ruby-value">0</span>)<span class="ruby-operator">-</span><span class="ruby-value">1</span>)
1593
+ <span class="ruby-keyword kw">end</span>
1594
+ <span class="ruby-keyword kw">nil</span>
1595
+ <span class="ruby-keyword kw">end</span>
1596
+ </pre>
1597
+ </div>
1598
+ </div>
1599
+ </div>
1600
+ <div class="method">
1601
+ <div class="title">
1602
+ <a name="M000252"></a><b>range_all</b>(s, reuse=false)
1603
+ </div>
1604
+ <div class="description">
1605
+ <p>
1606
+ Like <a href="String.html#M000254">index_all</a> but returns an array of
1607
+ Ranges.
1608
+ </p>
1609
+ <pre>
1610
+ &quot;abc123abc123&quot;.range_all('abc') #=&gt; [0..2, 6..8]
1611
+
1612
+ TODO: Add offset, perhaps ?
1613
+
1614
+ CREDIT: Trans
1615
+ </pre>
1616
+ </div>
1617
+ <div class="sourcecode">
1618
+ <p class="source-link">[ <a href="javascript:toggleSource('M000252_source')" id="l_M000252_source">show source</a> ]</p>
1619
+ <div id="M000252_source" class="dyn-source">
1620
+ <pre>
1621
+ <span class="ruby-comment cmt"># File lib/facets/string/range.rb, line 24</span>
1622
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">range_all</span>(<span class="ruby-identifier">s</span>, <span class="ruby-identifier">reuse</span>=<span class="ruby-keyword kw">false</span>)
1623
+ <span class="ruby-identifier">r</span> = []; <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
1624
+ <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">i</span> <span class="ruby-operator">&lt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">length</span>
1625
+ <span class="ruby-identifier">rng</span> = <span class="ruby-identifier">range</span>(<span class="ruby-identifier">s</span>, <span class="ruby-identifier">i</span>)
1626
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">rng</span>
1627
+ <span class="ruby-identifier">r</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rng</span>
1628
+ <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">reuse</span> <span class="ruby-value">? </span><span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">rng</span>.<span class="ruby-identifier">end</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
1629
+ <span class="ruby-keyword kw">else</span>
1630
+ <span class="ruby-keyword kw">break</span>
1631
+ <span class="ruby-keyword kw">end</span>
1632
+ <span class="ruby-keyword kw">end</span>
1633
+ <span class="ruby-identifier">r</span>.<span class="ruby-identifier">uniq</span>
1634
+ <span class="ruby-keyword kw">end</span>
1635
+ </pre>
1636
+ </div>
1637
+ </div>
1638
+ </div>
1639
+ <div class="method">
1640
+ <div class="title">
1641
+ <a name="M000253"></a><b>range_of_line</b>()
1642
+ </div>
1643
+ <div class="description">
1644
+ <p>
1645
+ Returns an array of ranges mapping the characters per line.
1646
+ </p>
1647
+ <pre>
1648
+ &quot;this\nis\na\ntest&quot;.range_of_line
1649
+ #=&gt; [0..4, 5..7, 8..9, 10..13]
1650
+
1651
+ CREDIT: Trans
1652
+ </pre>
1653
+ </div>
1654
+ <div class="sourcecode">
1655
+ <p class="source-link">[ <a href="javascript:toggleSource('M000253_source')" id="l_M000253_source">show source</a> ]</p>
1656
+ <div id="M000253_source" class="dyn-source">
1657
+ <pre>
1658
+ <span class="ruby-comment cmt"># File lib/facets/string/range.rb, line 46</span>
1659
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">range_of_line</span>
1660
+ <span class="ruby-identifier">offset</span>=<span class="ruby-value">0</span>; <span class="ruby-identifier">charmap</span> = []
1661
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
1662
+ <span class="ruby-identifier">charmap</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">offset</span><span class="ruby-operator">..</span>(<span class="ruby-identifier">offset</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>))
1663
+ <span class="ruby-identifier">offset</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">length</span>
1664
+ <span class="ruby-keyword kw">end</span>
1665
+ <span class="ruby-identifier">charmap</span>
1666
+ <span class="ruby-keyword kw">end</span>
1667
+ </pre>
1668
+ </div>
1669
+ </div>
1670
+ </div>
1671
+ <div class="method">
1672
+ <div class="title">
1673
+ <a name="M000283"></a><b>rewrite</b>(rules)
1674
+ </div>
1675
+ <div class="description">
1676
+ <p>
1677
+ Apply a set of rules (regular expression matches) to the string.
1678
+ </p>
1679
+ <h3>Requirements:</h3>
1680
+ <p>
1681
+ The rules must be applied in order! So we cannot use a hash because the
1682
+ ordering is not guaranteed! we use an array instead.
1683
+ </p>
1684
+ <h3>Input:</h3>
1685
+ <p>
1686
+ The array containing rule-pairs (match, write).
1687
+ </p>
1688
+ <h3>Output:</h3>
1689
+ <p>
1690
+ The rewritten string.
1691
+ </p>
1692
+ <pre>
1693
+ CREDIT: George Moschovitis
1694
+ </pre>
1695
+ </div>
1696
+ <div class="sourcecode">
1697
+ <p class="source-link">[ <a href="javascript:toggleSource('M000283_source')" id="l_M000283_source">show source</a> ]</p>
1698
+ <div id="M000283_source" class="dyn-source">
1699
+ <pre>
1700
+ <span class="ruby-comment cmt"># File lib/facets/string/rewrite.rb, line 18</span>
1701
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rewrite</span>(<span class="ruby-identifier">rules</span>)
1702
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'The rules parameter is nil'</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">rules</span>
1703
+ <span class="ruby-identifier">rewritten_string</span> = <span class="ruby-identifier">dup</span>
1704
+ <span class="ruby-identifier">rules</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">match</span>,<span class="ruby-identifier">write</span><span class="ruby-operator">|</span>
1705
+ <span class="ruby-identifier">rewritten_string</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-identifier">match</span>,<span class="ruby-identifier">write</span>)
1706
+ <span class="ruby-keyword kw">end</span>
1707
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">rewritten_string</span>
1708
+ <span class="ruby-keyword kw">end</span>
1709
+ </pre>
1710
+ </div>
1711
+ </div>
1712
+ </div>
1713
+ <div class="method">
1714
+ <div class="title">
1715
+ <a name="M000235"></a><b>shatter</b>( re )
1716
+ </div>
1717
+ <div class="description">
1718
+ <p>
1719
+ Breaks a string up into an array based on a regular expression. Similar to
1720
+ scan, but includes the matches.
1721
+ </p>
1722
+ <pre>
1723
+ s = &quot;&lt;p&gt;This&lt;b&gt;is&lt;/b&gt;a test.&lt;/p&gt;&quot;
1724
+ s.shatter( /\&lt;.*?\&gt;/ )
1725
+ </pre>
1726
+ <p>
1727
+ <em>produces</em>
1728
+ </p>
1729
+ <pre>
1730
+ [&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;]
1731
+
1732
+ CREDIT: Trans
1733
+ </pre>
1734
+ </div>
1735
+ <div class="sourcecode">
1736
+ <p class="source-link">[ <a href="javascript:toggleSource('M000235_source')" id="l_M000235_source">show source</a> ]</p>
1737
+ <div id="M000235_source" class="dyn-source">
1738
+ <pre>
1739
+ <span class="ruby-comment cmt"># File lib/facets/string/shatter.rb, line 15</span>
1740
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shatter</span>( <span class="ruby-identifier">re</span> )
1741
+ <span class="ruby-identifier">r</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">gsub</span>( <span class="ruby-identifier">re</span> ){ <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-value str">&quot;\1&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\1&quot;</span> }
1742
+ <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">r</span>[<span class="ruby-value">0</span>,<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;\1&quot;</span> ; <span class="ruby-identifier">r</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">''</span> ; <span class="ruby-keyword kw">end</span>
1743
+ <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">r</span>[<span class="ruby-value">-1</span>,<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;\1&quot;</span> ; <span class="ruby-identifier">r</span>[<span class="ruby-value">-1</span>] = <span class="ruby-value str">''</span> ; <span class="ruby-keyword kw">end</span>
1744
+ <span class="ruby-identifier">r</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;\1&quot;</span>)
1745
+ <span class="ruby-keyword kw">end</span>
1746
+ </pre>
1747
+ </div>
1748
+ </div>
1749
+ </div>
1750
+ <div class="method">
1751
+ <div class="title">
1752
+ <a name="M000255"></a><b>snakecase</b>()
1753
+ </div>
1754
+ <div class="description">
1755
+ <p>
1756
+ The reverse of <tt><a href="String.html#M000239">camelcase</a></tt>. Makes
1757
+ an underscored of a <a href="String.html#M000239">camelcase</a> string.
1758
+ </p>
1759
+ <p>
1760
+ Changes &#8217;::&#8217; to &#8217;/&#8217; to convert namespaces to paths.
1761
+ </p>
1762
+ <p>
1763
+ Examples
1764
+ </p>
1765
+ <pre>
1766
+ &quot;SnakeCase&quot;.snakecase #=&gt; &quot;snake_case&quot;
1767
+ &quot;Snake-Case&quot;.snakecase #=&gt; &quot;snake_case&quot;
1768
+ &quot;SnakeCase::Errors&quot;.underscore #=&gt; &quot;snake_case/errors&quot;
1769
+ </pre>
1770
+ </div>
1771
+ <div class="sourcecode">
1772
+ <p class="source-link">[ <a href="javascript:toggleSource('M000255_source')" id="l_M000255_source">show source</a> ]</p>
1773
+ <div id="M000255_source" class="dyn-source">
1774
+ <pre>
1775
+ <span class="ruby-comment cmt"># File lib/facets/string/snakecase.rb, line 12</span>
1776
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">snakecase</span>
1777
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/::/</span>, <span class="ruby-value str">'/'</span>). <span class="ruby-comment cmt"># NOT SO SURE ABOUT THIS -T</span>
1778
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/([A-Z]+)([A-Z][a-z])/</span>,<span class="ruby-value str">'\1_\2'</span>).
1779
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/([a-z\d])([A-Z])/</span>,<span class="ruby-value str">'\1_\2'</span>).
1780
+ <span class="ruby-identifier">tr</span>(<span class="ruby-value str">&quot;-&quot;</span>, <span class="ruby-value str">&quot;_&quot;</span>).
1781
+ <span class="ruby-identifier">downcase</span>
1782
+ <span class="ruby-keyword kw">end</span>
1783
+ </pre>
1784
+ </div>
1785
+ </div>
1786
+ </div>
1787
+ <div class="method">
1788
+ <div class="title">
1789
+ <a name="M000287"></a><b>space</b>()
1790
+ </div>
1791
+ <div class="description">
1792
+ <p>
1793
+ Replaces underscores with spaces and capitalizes word.
1794
+ </p>
1795
+ </div>
1796
+ <div class="sourcecode">
1797
+ <p class="source-link">[ <a href="javascript:toggleSource('M000287_source')" id="l_M000287_source">show source</a> ]</p>
1798
+ <div id="M000287_source" class="dyn-source">
1799
+ <pre>
1800
+ <span class="ruby-comment cmt"># File lib/facets/string/underscore.rb, line 23</span>
1801
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">space</span>
1802
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-value str">'_'</span>, <span class="ruby-value str">' '</span>).<span class="ruby-identifier">capitalize</span>
1803
+ <span class="ruby-keyword kw">end</span>
1804
+ </pre>
1805
+ </div>
1806
+ </div>
1807
+ </div>
1808
+ <div class="method">
1809
+ <div class="title">
1810
+ <a name="M000282"></a><b>splice</b>(*args)
1811
+ </div>
1812
+ <div class="description">
1813
+ <p>
1814
+ Like slice, but writes rather than reads. Like store, but acts like slice!
1815
+ when given only one argument.
1816
+ </p>
1817
+ <pre>
1818
+ a = &quot;HELLO&quot;
1819
+ a.splice(1) #=&gt; &quot;E&quot;
1820
+ a #=&gt; &quot;HLLO&quot;
1821
+
1822
+ CREDIT: Trans
1823
+ </pre>
1824
+ </div>
1825
+ <div class="sourcecode">
1826
+ <p class="source-link">[ <a href="javascript:toggleSource('M000282_source')" id="l_M000282_source">show source</a> ]</p>
1827
+ <div id="M000282_source" class="dyn-source">
1828
+ <pre>
1829
+ <span class="ruby-comment cmt"># File lib/facets/string/splice.rb, line 13</span>
1830
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">splice</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
1831
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
1832
+ <span class="ruby-identifier">slice!</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
1833
+ <span class="ruby-keyword kw">else</span>
1834
+ <span class="ruby-identifier">store</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
1835
+ <span class="ruby-keyword kw">end</span>
1836
+ <span class="ruby-keyword kw">end</span>
1837
+ </pre>
1838
+ </div>
1839
+ </div>
1840
+ </div>
1841
+ <div class="method">
1842
+ <div class="title">
1843
+ <a name="M000228"></a><b>start_with?</b>(prefix)
1844
+ </div>
1845
+ <div class="description">
1846
+ <p>
1847
+ Does a string start with the given prefix.
1848
+ </p>
1849
+ <pre>
1850
+ &quot;hello&quot;.starts_with?(&quot;he&quot;) #=&gt; true
1851
+ &quot;hello&quot;.starts_with?(&quot;to&quot;) #=&gt; false
1852
+
1853
+ CREDIT: Lucas Carlson
1854
+ CREDIT: Blaine Cook
1855
+ </pre>
1856
+ </div>
1857
+ <div class="sourcecode">
1858
+ <p class="source-link">[ <a href="javascript:toggleSource('M000228_source')" id="l_M000228_source">show source</a> ]</p>
1859
+ <div id="M000228_source" class="dyn-source">
1860
+ <pre>
1861
+ <span class="ruby-comment cmt"># File lib/facets/ruby.rb, line 377</span>
1862
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start_with?</span>(<span class="ruby-identifier">prefix</span>)
1863
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">prefix</span>) <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
1864
+ <span class="ruby-keyword kw">end</span>
1865
+ </pre>
1866
+ </div>
1867
+ </div>
1868
+ </div>
1869
+ <div class="method">
1870
+ <div class="title">
1871
+ <a name="M000244"></a><b>tab</b>(n)
1872
+ </div>
1873
+ <div class="description">
1874
+ <p>
1875
+ Aligns each line n spaces.
1876
+ </p>
1877
+ <pre>
1878
+ CREDIT: Gavin Sinclair
1879
+ </pre>
1880
+ </div>
1881
+ <div class="aka">
1882
+ This method is also aliased as
1883
+ <a href="String.html#M000245">taballto</a>
1884
+ </div>
1885
+ <div class="sourcecode">
1886
+ <p class="source-link">[ <a href="javascript:toggleSource('M000244_source')" id="l_M000244_source">show source</a> ]</p>
1887
+ <div id="M000244_source" class="dyn-source">
1888
+ <pre>
1889
+ <span class="ruby-comment cmt"># File lib/facets/string/tab.rb, line 10</span>
1890
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tab</span>(<span class="ruby-identifier">n</span>)
1891
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/^ */</span>, <span class="ruby-value str">' '</span> <span class="ruby-operator">*</span> <span class="ruby-identifier">n</span>)
1892
+ <span class="ruby-keyword kw">end</span>
1893
+ </pre>
1894
+ </div>
1895
+ </div>
1896
+ </div>
1897
+ <div class="method">
1898
+ <div class="title">
1899
+ <a name="M000245"></a><b>taballto</b>(n)
1900
+ </div>
1901
+ <div class="description">
1902
+ <p>
1903
+ Alias for <a href="String.html#M000244">tab</a>
1904
+ </p>
1905
+ </div>
1906
+ </div>
1907
+ <div class="method">
1908
+ <div class="title">
1909
+ <a name="M000247"></a><b>tabto</b>(n)
1910
+ </div>
1911
+ <div class="description">
1912
+ <p>
1913
+ Preserves relative tabbing. The first non-empty line ends up with n spaces
1914
+ before nonspace.
1915
+ </p>
1916
+ <pre>
1917
+ CREDIT: Gavin Sinclair
1918
+ </pre>
1919
+ </div>
1920
+ <div class="sourcecode">
1921
+ <p class="source-link">[ <a href="javascript:toggleSource('M000247_source')" id="l_M000247_source">show source</a> ]</p>
1922
+ <div id="M000247_source" class="dyn-source">
1923
+ <pre>
1924
+ <span class="ruby-comment cmt"># File lib/facets/string/tab.rb, line 46</span>
1925
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tabto</span>(<span class="ruby-identifier">n</span>)
1926
+ <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^( *)\S/</span>
1927
+ <span class="ruby-identifier">indent</span>(<span class="ruby-identifier">n</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">length</span>)
1928
+ <span class="ruby-keyword kw">else</span>
1929
+ <span class="ruby-keyword kw">self</span>
1930
+ <span class="ruby-keyword kw">end</span>
1931
+ <span class="ruby-keyword kw">end</span>
1932
+ </pre>
1933
+ </div>
1934
+ </div>
1935
+ </div>
1936
+ <div class="method">
1937
+ <div class="title">
1938
+ <a name="M000268"></a><b>titlecase</b>()
1939
+ </div>
1940
+ <div class="description">
1941
+ <p>
1942
+ Title case.
1943
+ </p>
1944
+ <pre>
1945
+ &quot;this is a string&quot;.titlecase
1946
+ =&gt; &quot;This Is A String&quot;
1947
+
1948
+ CREDIT: Eliazar Parra
1949
+ </pre>
1950
+ </div>
1951
+ <div class="sourcecode">
1952
+ <p class="source-link">[ <a href="javascript:toggleSource('M000268_source')" id="l_M000268_source">show source</a> ]</p>
1953
+ <div id="M000268_source" class="dyn-source">
1954
+ <pre>
1955
+ <span class="ruby-comment cmt"># File lib/facets/string/titlecase.rb, line 10</span>
1956
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">titlecase</span>
1957
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\b\w/</span>){<span class="ruby-identifier">$&amp;</span>.<span class="ruby-identifier">upcase</span>}
1958
+ <span class="ruby-keyword kw">end</span>
1959
+ </pre>
1960
+ </div>
1961
+ </div>
1962
+ </div>
1963
+ <div class="method">
1964
+ <div class="title">
1965
+ <a name="M000267"></a><b>titleize</b>()
1966
+ </div>
1967
+ <div class="description">
1968
+ <p>
1969
+ Titleize.
1970
+ </p>
1971
+ <pre>
1972
+ &quot;this is a string&quot;.titlecase
1973
+ =&gt; &quot;This Is A String&quot;
1974
+ </pre>
1975
+ </div>
1976
+ <div class="sourcecode">
1977
+ <p class="source-link">[ <a href="javascript:toggleSource('M000267_source')" id="l_M000267_source">show source</a> ]</p>
1978
+ <div id="M000267_source" class="dyn-source">
1979
+ <pre>
1980
+ <span class="ruby-comment cmt"># File lib/facets/string/stylize.rb, line 68</span>
1981
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">titleize</span>
1982
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\b\w/</span>){<span class="ruby-identifier">$&amp;</span>.<span class="ruby-identifier">upcase</span>}
1983
+ <span class="ruby-keyword kw">end</span>
1984
+ </pre>
1985
+ </div>
1986
+ </div>
1987
+ </div>
1988
+ <div class="method">
1989
+ <div class="title">
1990
+ <a name="M000232"></a><b>to_b</b>()
1991
+ </div>
1992
+ <div class="description">
1993
+ <p>
1994
+ Interpret common affirmative string meanings as true, otherwise false.
1995
+ Balnk sapce and case are ignored. The following strings that will return
1996
+ true:
1997
+ </p>
1998
+ <pre>
1999
+ &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;
2000
+ </pre>
2001
+ <p>
2002
+ Examples:
2003
+ </p>
2004
+ <pre>
2005
+ &quot;true&quot;.to_b #=&gt; true
2006
+ &quot;yes&quot;.to_b #=&gt; true
2007
+ &quot;no&quot;.to_b #=&gt; false
2008
+ &quot;123&quot;.to_b #=&gt; false
2009
+ </pre>
2010
+ </div>
2011
+ <div class="sourcecode">
2012
+ <p class="source-link">[ <a href="javascript:toggleSource('M000232_source')" id="l_M000232_source">show source</a> ]</p>
2013
+ <div id="M000232_source" class="dyn-source">
2014
+ <pre>
2015
+ <span class="ruby-comment cmt"># File lib/facets/boolean.rb, line 43</span>
2016
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_b</span>
2017
+ <span class="ruby-keyword kw">case</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">strip</span>
2018
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'true'</span>, <span class="ruby-value str">'yes'</span>, <span class="ruby-value str">'on'</span>, <span class="ruby-value str">'t'</span>, <span class="ruby-value str">'1'</span>, <span class="ruby-value str">'y'</span>, <span class="ruby-value str">'=='</span>
2019
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
2020
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'nil'</span>, <span class="ruby-value str">'null'</span>
2021
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
2022
+ <span class="ruby-keyword kw">else</span>
2023
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
2024
+ <span class="ruby-keyword kw">end</span>
2025
+ <span class="ruby-keyword kw">end</span>
2026
+ </pre>
2027
+ </div>
2028
+ </div>
2029
+ </div>
2030
+ <div class="method">
2031
+ <div class="title">
2032
+ <a name="M000272"></a><b>to_date</b>()
2033
+ </div>
2034
+ <div class="description">
2035
+ <p>
2036
+ Parse data from string.
2037
+ </p>
2038
+ <pre>
2039
+ CREDIT: Trans
2040
+ </pre>
2041
+ </div>
2042
+ <div class="sourcecode">
2043
+ <p class="source-link">[ <a href="javascript:toggleSource('M000272_source')" id="l_M000272_source">show source</a> ]</p>
2044
+ <div id="M000272_source" class="dyn-source">
2045
+ <pre>
2046
+ <span class="ruby-comment cmt"># File lib/facets/string/to_time.rb, line 16</span>
2047
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_date</span>
2048
+ <span class="ruby-identifier">require</span> <span class="ruby-value str">'date'</span>
2049
+ <span class="ruby-identifier">require</span> <span class="ruby-value str">'parsedate'</span>
2050
+ <span class="ruby-operator">::</span><span class="ruby-constant">Date</span><span class="ruby-operator">::</span><span class="ruby-identifier">civil</span>(<span class="ruby-operator">*</span><span class="ruby-constant">ParseDate</span>.<span class="ruby-identifier">parsedate</span>(<span class="ruby-keyword kw">self</span>)[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>])
2051
+ <span class="ruby-keyword kw">end</span>
2052
+ </pre>
2053
+ </div>
2054
+ </div>
2055
+ </div>
2056
+ <div class="method">
2057
+ <div class="title">
2058
+ <a name="M000236"></a><b>to_re</b>(esc=false)
2059
+ </div>
2060
+ <div class="description">
2061
+ <p>
2062
+ Turns a string into a regular expression.
2063
+ </p>
2064
+ <pre>
2065
+ &quot;a?&quot;.to_re #=&gt; /a?/
2066
+
2067
+ CREDIT: Trans
2068
+ </pre>
2069
+ </div>
2070
+ <div class="sourcecode">
2071
+ <p class="source-link">[ <a href="javascript:toggleSource('M000236_source')" id="l_M000236_source">show source</a> ]</p>
2072
+ <div id="M000236_source" class="dyn-source">
2073
+ <pre>
2074
+ <span class="ruby-comment cmt"># File lib/facets/string/to_re.rb, line 9</span>
2075
+ <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>)
2076
+ <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>((<span class="ruby-identifier">esc</span> <span class="ruby-value">? </span><span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">escape</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-operator">:</span> <span class="ruby-keyword kw">self</span>))
2077
+ <span class="ruby-keyword kw">end</span>
2078
+ </pre>
2079
+ </div>
2080
+ </div>
2081
+ </div>
2082
+ <div class="method">
2083
+ <div class="title">
2084
+ <a name="M000237"></a><b>to_rx</b>(esc=true)
2085
+ </div>
2086
+ <div class="description">
2087
+ <p>
2088
+ Turns a string into a regular expression. By default it will escape all
2089
+ characters. Use <tt>false</tt> argument to turn off escaping.
2090
+ </p>
2091
+ <pre>
2092
+ &quot;[&quot;.to_rx #=&gt; /\[/
2093
+
2094
+ CREDIT: Trans
2095
+ </pre>
2096
+ </div>
2097
+ <div class="sourcecode">
2098
+ <p class="source-link">[ <a href="javascript:toggleSource('M000237_source')" id="l_M000237_source">show source</a> ]</p>
2099
+ <div id="M000237_source" class="dyn-source">
2100
+ <pre>
2101
+ <span class="ruby-comment cmt"># File lib/facets/string/to_re.rb, line 21</span>
2102
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_rx</span>(<span class="ruby-identifier">esc</span>=<span class="ruby-keyword kw">true</span>)
2103
+ <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>((<span class="ruby-identifier">esc</span> <span class="ruby-value">? </span><span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">escape</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-operator">:</span> <span class="ruby-keyword kw">self</span>))
2104
+ <span class="ruby-keyword kw">end</span>
2105
+ </pre>
2106
+ </div>
2107
+ </div>
2108
+ </div>
2109
+ <div class="method">
2110
+ <div class="title">
2111
+ <a name="M000233"></a><b>to_s</b>()
2112
+ </div>
2113
+ <div class="sourcecode">
2114
+ <p class="source-link">[ <a href="javascript:toggleSource('M000233_source')" id="l_M000233_source">show source</a> ]</p>
2115
+ <div id="M000233_source" class="dyn-source">
2116
+ <pre>
2117
+ <span class="ruby-comment cmt"># File lib/facets/comparable/bound.rb, line 2</span>
2118
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
2119
+ <span class="ruby-keyword kw">self</span>
2120
+ <span class="ruby-keyword kw">end</span>
2121
+ </pre>
2122
+ </div>
2123
+ </div>
2124
+ </div>
2125
+ <div class="method">
2126
+ <div class="title">
2127
+ <a name="M000271"></a><b>to_time</b>()
2128
+ </div>
2129
+ <div class="description">
2130
+ <p>
2131
+ Parse string to time.
2132
+ </p>
2133
+ <pre>
2134
+ CREDIT: Trans
2135
+ </pre>
2136
+ </div>
2137
+ <div class="sourcecode">
2138
+ <p class="source-link">[ <a href="javascript:toggleSource('M000271_source')" id="l_M000271_source">show source</a> ]</p>
2139
+ <div id="M000271_source" class="dyn-source">
2140
+ <pre>
2141
+ <span class="ruby-comment cmt"># File lib/facets/string/to_time.rb, line 7</span>
2142
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_time</span>
2143
+ <span class="ruby-identifier">require</span> <span class="ruby-value str">'time'</span>
2144
+ <span class="ruby-constant">Time</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-keyword kw">self</span>)
2145
+ <span class="ruby-keyword kw">end</span>
2146
+ </pre>
2147
+ </div>
2148
+ </div>
2149
+ </div>
2150
+ <div class="method">
2151
+ <div class="title">
2152
+ <a name="M000276"></a><b>unbracket</b>(bra=nil, ket=nil)
2153
+ </div>
2154
+ <div class="description">
2155
+ <p>
2156
+ Return a new string embraced by given brakets. If only one <a
2157
+ href="String.html#M000274">bracket</a> char is given it will be placed on
2158
+ either side.
2159
+ </p>
2160
+ <pre>
2161
+ &quot;{unwrap me}&quot;.debracket('{') #=&gt; &quot;unwrap me&quot;
2162
+ &quot;--unwrap me!&quot;.debracket('--','!') #=&gt; &quot;unwrap me!&quot;
2163
+
2164
+ CREDIT: Trans
2165
+ </pre>
2166
+ </div>
2167
+ <div class="sourcecode">
2168
+ <p class="source-link">[ <a href="javascript:toggleSource('M000276_source')" id="l_M000276_source">show source</a> ]</p>
2169
+ <div id="M000276_source" class="dyn-source">
2170
+ <pre>
2171
+ <span class="ruby-comment cmt"># File lib/facets/string/bracket.rb, line 37</span>
2172
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unbracket</span>(<span class="ruby-identifier">bra</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">ket</span>=<span class="ruby-keyword kw">nil</span>)
2173
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bra</span>
2174
+ <span class="ruby-identifier">ket</span> = <span class="ruby-constant">BRA2KET</span>[<span class="ruby-identifier">bra</span>] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">ket</span>
2175
+ <span class="ruby-identifier">ket</span> = <span class="ruby-identifier">ket</span> <span class="ruby-value">? </span><span class="ruby-identifier">ket</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">bra</span>
2176
+ <span class="ruby-identifier">s</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
2177
+ <span class="ruby-identifier">s</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-node">%r[^#{Regexp.escape(bra)}]</span>, <span class="ruby-value str">''</span>)
2178
+ <span class="ruby-identifier">s</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-node">%r[#{Regexp.escape(ket)}$]</span>, <span class="ruby-value str">''</span>)
2179
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">s</span>
2180
+ <span class="ruby-keyword kw">else</span>
2181
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">m</span> = <span class="ruby-constant">BRA2KET</span>[ <span class="ruby-keyword kw">self</span>[<span class="ruby-value">0</span>,<span class="ruby-value">1</span>] ]
2182
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">slice</span>(<span class="ruby-value">1</span><span class="ruby-operator">...</span><span class="ruby-value">-1</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>[<span class="ruby-value">-1</span>,<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">m</span>
2183
+ <span class="ruby-keyword kw">end</span>
2184
+ <span class="ruby-keyword kw">end</span>
2185
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span> <span class="ruby-comment cmt"># if nothing else</span>
2186
+ <span class="ruby-keyword kw">end</span>
2187
+ </pre>
2188
+ </div>
2189
+ </div>
2190
+ </div>
2191
+ <div class="method">
2192
+ <div class="title">
2193
+ <a name="M000277"></a><b>unbracket!</b>(bra=nil, ket=nil)
2194
+ </div>
2195
+ <div class="description">
2196
+ <p>
2197
+ Inplace version of debraket.
2198
+ </p>
2199
+ <pre>
2200
+ CREDIT: Trans
2201
+ </pre>
2202
+ </div>
2203
+ <div class="sourcecode">
2204
+ <p class="source-link">[ <a href="javascript:toggleSource('M000277_source')" id="l_M000277_source">show source</a> ]</p>
2205
+ <div id="M000277_source" class="dyn-source">
2206
+ <pre>
2207
+ <span class="ruby-comment cmt"># File lib/facets/string/bracket.rb, line 57</span>
2208
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unbracket!</span>(<span class="ruby-identifier">bra</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">ket</span>=<span class="ruby-keyword kw">nil</span>)
2209
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">replace</span>( <span class="ruby-identifier">unbracket</span>(<span class="ruby-identifier">bra</span>, <span class="ruby-identifier">ket</span>) )
2210
+ <span class="ruby-keyword kw">end</span>
2211
+ </pre>
2212
+ </div>
2213
+ </div>
2214
+ </div>
2215
+ <div class="method">
2216
+ <div class="title">
2217
+ <a name="M000286"></a><b>underscore</b>()
2218
+ </div>
2219
+ <div class="description">
2220
+ <p>
2221
+ Converts spaces into underscores.
2222
+ </p>
2223
+ <p>
2224
+ Examples
2225
+ </p>
2226
+ <pre>
2227
+ &quot;This Is Helpful&quot;.underscore #=&gt; &quot;This_Is_Helpful&quot;
2228
+ </pre>
2229
+ </div>
2230
+ <div class="sourcecode">
2231
+ <p class="source-link">[ <a href="javascript:toggleSource('M000286_source')" id="l_M000286_source">show source</a> ]</p>
2232
+ <div id="M000286_source" class="dyn-source">
2233
+ <pre>
2234
+ <span class="ruby-comment cmt"># File lib/facets/string/underscore.rb, line 17</span>
2235
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">underscore</span>
2236
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-value str">' '</span>, <span class="ruby-value str">'_'</span>) <span class="ruby-comment cmt">#.capitalize</span>
2237
+ <span class="ruby-keyword kw">end</span>
2238
+ </pre>
2239
+ </div>
2240
+ </div>
2241
+ </div>
2242
+ <div class="method">
2243
+ <div class="title">
2244
+ <a name="M000260"></a><b>upcase?</b>()
2245
+ </div>
2246
+ <div class="description">
2247
+ <p>
2248
+ Is the string upcase/uppercase?
2249
+ </p>
2250
+ <pre>
2251
+ &quot;THIS&quot;.upcase? #=&gt; true
2252
+ &quot;This&quot;.upcase? #=&gt; false
2253
+ &quot;this&quot;.upcase? #=&gt; false
2254
+
2255
+ CREDIT: Phil Tomson
2256
+ </pre>
2257
+ </div>
2258
+ <div class="sourcecode">
2259
+ <p class="source-link">[ <a href="javascript:toggleSource('M000260_source')" id="l_M000260_source">show source</a> ]</p>
2260
+ <div id="M000260_source" class="dyn-source">
2261
+ <pre>
2262
+ <span class="ruby-comment cmt"># File lib/facets/string/capitalized.rb, line 38</span>
2263
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">upcase?</span>
2264
+ <span class="ruby-identifier">upcase</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">self</span>
2265
+ <span class="ruby-keyword kw">end</span>
2266
+ </pre>
2267
+ </div>
2268
+ </div>
2269
+ </div>
2270
+ <div class="method">
2271
+ <div class="title">
2272
+ <a name="M000230"></a><b>variablize</b>()
2273
+ </div>
2274
+ <div class="description">
2275
+ <p>
2276
+ Append an &quot;@&quot; to the beginning of a string to make a instance
2277
+ variable name. This also replaces non-valid characters with underscores.
2278
+ </p>
2279
+ </div>
2280
+ <div class="sourcecode">
2281
+ <p class="source-link">[ <a href="javascript:toggleSource('M000230_source')" id="l_M000230_source">show source</a> ]</p>
2282
+ <div id="M000230_source" class="dyn-source">
2283
+ <pre>
2284
+ <span class="ruby-comment cmt"># File lib/facets/metaid.rb, line 128</span>
2285
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">variablize</span>
2286
+ <span class="ruby-node">&quot;@#{self}&quot;</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\W/</span>, <span class="ruby-value str">'_'</span>).<span class="ruby-identifier">to_sym</span>
2287
+ <span class="ruby-keyword kw">end</span>
2288
+ </pre>
2289
+ </div>
2290
+ </div>
2291
+ </div>
2292
+ </div>
2293
+
2294
+ </div>
2295
+
2296
+ </body>
2297
+ </html>