facets 1.4.3 → 1.4.4

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 (1229) hide show
  1. data/ProjectInfo +19 -19
  2. data/Reapfile +1 -1
  3. data/WARNING +0 -1
  4. data/{AUTHORS → doc/AUTHORS} +0 -0
  5. data/{note/CHANGELOG → doc/ChangeLog} +30 -0
  6. data/{note → doc}/IMPORTANT +0 -0
  7. data/doc/api/core/classes/Array.html +1356 -0
  8. data/doc/api/core/classes/Binding.html +538 -0
  9. data/doc/api/core/classes/Class.html +476 -0
  10. data/doc/api/core/classes/Comparable.html +231 -0
  11. data/doc/api/core/classes/Config.html +120 -0
  12. data/doc/api/core/classes/Continuation.html +168 -0
  13. data/doc/api/core/classes/Date.html +219 -0
  14. data/doc/api/core/classes/Dir.html +208 -0
  15. data/doc/api/core/classes/Enumerable.html +1462 -0
  16. data/doc/api/core/classes/FalseClass.html +115 -0
  17. data/doc/api/core/classes/File.html +383 -0
  18. data/doc/api/core/classes/FileUtils.html +468 -0
  19. data/doc/api/core/classes/Float.html +157 -0
  20. data/doc/api/core/classes/Gem.html +150 -0
  21. data/doc/api/core/classes/Hash.html +1627 -0
  22. data/doc/api/core/classes/Integer.html +353 -0
  23. data/doc/api/core/classes/Kernal.html +86 -0
  24. data/doc/api/core/classes/Kernel.html +2010 -0
  25. data/doc/api/core/classes/Logger.html +157 -0
  26. data/doc/api/core/classes/MatchData.html +195 -0
  27. data/doc/api/core/classes/Module.html +1812 -0
  28. data/doc/api/core/classes/NackClass.html +92 -0
  29. data/doc/api/core/classes/NilClass.html +385 -0
  30. data/doc/api/core/classes/Numeric.html +306 -0
  31. data/doc/api/core/classes/Object.html +332 -0
  32. data/doc/api/core/classes/OpenStruct.html +315 -0
  33. data/doc/api/core/classes/Pathname.html +154 -0
  34. data/doc/api/core/classes/Proc.html +154 -0
  35. data/doc/api/core/classes/Range.html +235 -0
  36. data/doc/api/core/classes/Regexp.html +185 -0
  37. data/doc/api/core/classes/ScriptBug.html +92 -0
  38. data/doc/api/core/classes/String.html +3250 -0
  39. data/doc/api/core/classes/Symbol.html +463 -0
  40. data/doc/api/core/classes/Time.html +307 -0
  41. data/doc/api/core/classes/TrueClass.html +115 -0
  42. data/doc/api/core/classes/UnboundMethod.html +121 -0
  43. data/doc/api/core/created.rid +1 -0
  44. data/doc/api/core/files/COPYING.html +517 -0
  45. data/doc/api/core/files/ProjectInfo.html +92 -0
  46. data/doc/api/core/files/README.html +386 -0
  47. data/doc/api/core/files/WARNING.html +132 -0
  48. data/doc/api/core/files/lib/facets/core/all_rb.html +96 -0
  49. data/doc/api/core/files/lib/facets/core/array/at_rand_rb.html +92 -0
  50. data/doc/api/core/files/lib/facets/core/array/body_rb.html +100 -0
  51. data/doc/api/core/files/lib/facets/core/array/delete_unless_rb.html +92 -0
  52. data/doc/api/core/files/lib/facets/core/array/delete_values_at_rb.html +92 -0
  53. data/doc/api/core/files/lib/facets/core/array/delete_values_rb.html +92 -0
  54. data/doc/api/core/files/lib/facets/core/array/each_with_key_rb.html +92 -0
  55. data/doc/api/core/files/lib/facets/core/array/first_rb.html +96 -0
  56. data/doc/api/core/files/lib/facets/core/array/foot_rb.html +100 -0
  57. data/doc/api/core/files/lib/facets/core/array/head_rb.html +92 -0
  58. data/doc/api/core/files/lib/facets/core/array/join_sentence_rb.html +92 -0
  59. data/doc/api/core/files/lib/facets/core/array/last_index_rb.html +92 -0
  60. data/doc/api/core/files/lib/facets/core/array/last_rb.html +100 -0
  61. data/doc/api/core/files/lib/facets/core/array/merge_rb.html +92 -0
  62. data/doc/api/core/files/lib/facets/core/array/mid_rb.html +92 -0
  63. data/doc/api/core/files/lib/facets/core/array/middle_rb.html +92 -0
  64. data/doc/api/core/files/lib/facets/core/array/op_fetch_rb.html +92 -0
  65. data/doc/api/core/files/lib/facets/core/array/op_mod_rb.html +92 -0
  66. data/doc/api/core/files/lib/facets/core/array/op_store_rb.html +96 -0
  67. data/doc/api/core/files/lib/facets/core/array/pick_rb.html +92 -0
  68. data/doc/api/core/files/lib/facets/core/array/pos_rb.html +92 -0
  69. data/doc/api/core/files/lib/facets/core/array/pot_rb.html +92 -0
  70. data/doc/api/core/files/lib/facets/core/array/pull_rb.html +92 -0
  71. data/doc/api/core/files/lib/facets/core/array/rand_index_rb.html +92 -0
  72. data/doc/api/core/files/lib/facets/core/array/rand_subset_rb.html +92 -0
  73. data/doc/api/core/files/lib/facets/core/array/range_rb.html +92 -0
  74. data/doc/api/core/files/lib/facets/core/array/rotate_rb.html +92 -0
  75. data/doc/api/core/files/lib/facets/core/array/select_rb.html +92 -0
  76. data/doc/api/core/files/lib/facets/core/array/shuffle_rb.html +92 -0
  77. data/doc/api/core/files/lib/facets/core/array/store_rb.html +92 -0
  78. data/doc/api/core/files/lib/facets/core/array/tail_rb.html +100 -0
  79. data/doc/api/core/files/lib/facets/core/array/thru_rb.html +92 -0
  80. data/doc/api/core/files/lib/facets/core/array/to_b_rb.html +92 -0
  81. data/doc/api/core/files/lib/facets/core/array/to_h_rb.html +92 -0
  82. data/doc/api/core/files/lib/facets/core/array/to_hash_rb.html +92 -0
  83. data/doc/api/core/files/lib/facets/core/array/unzip_rb.html +92 -0
  84. data/doc/api/core/files/lib/facets/core/binding/__DIR___rb.html +100 -0
  85. data/doc/api/core/files/lib/facets/core/binding/__FILE___rb.html +100 -0
  86. data/doc/api/core/files/lib/facets/core/binding/__LINE___rb.html +96 -0
  87. data/doc/api/core/files/lib/facets/core/binding/call_stack_rb.html +97 -0
  88. data/doc/api/core/files/lib/facets/core/binding/called_rb.html +96 -0
  89. data/doc/api/core/files/lib/facets/core/binding/caller_rb.html +96 -0
  90. data/doc/api/core/files/lib/facets/core/binding/defined_rb.html +96 -0
  91. data/doc/api/core/files/lib/facets/core/binding/eval_rb.html +92 -0
  92. data/doc/api/core/files/lib/facets/core/binding/local_variables_rb.html +96 -0
  93. data/doc/api/core/files/lib/facets/core/binding/method_name_rb.html +96 -0
  94. data/doc/api/core/files/lib/facets/core/binding/op_fetch_rb.html +97 -0
  95. data/doc/api/core/files/lib/facets/core/binding/op_store_rb.html +97 -0
  96. data/doc/api/core/files/lib/facets/core/binding/self/of_caller_rb.html +96 -0
  97. data/doc/api/core/files/lib/facets/core/binding/self_rb.html +96 -0
  98. data/doc/api/core/files/lib/facets/core/binding_rb.html +109 -0
  99. data/doc/api/core/files/lib/facets/core/class/by_name_rb.html +96 -0
  100. data/doc/api/core/files/lib/facets/core/class/cattr_accessor_rb.html +100 -0
  101. data/doc/api/core/files/lib/facets/core/class/cattr_rb.html +92 -0
  102. data/doc/api/core/files/lib/facets/core/class/cattr_reader_rb.html +100 -0
  103. data/doc/api/core/files/lib/facets/core/class/cattr_writer_rb.html +100 -0
  104. data/doc/api/core/files/lib/facets/core/class/descendents_rb.html +92 -0
  105. data/doc/api/core/files/lib/facets/core/class/method_name_rb.html +92 -0
  106. data/doc/api/core/files/lib/facets/core/class/remove_descendents_rb.html +96 -0
  107. data/doc/api/core/files/lib/facets/core/class/remove_subclasses_rb.html +100 -0
  108. data/doc/api/core/files/lib/facets/core/class/subclasses_rb.html +100 -0
  109. data/doc/api/core/files/lib/facets/core/class/to_proc_rb.html +98 -0
  110. data/doc/api/core/files/lib/facets/core/class/unix_path_rb.html +92 -0
  111. data/doc/api/core/files/lib/facets/core/comparable/at_least_rb.html +92 -0
  112. data/doc/api/core/files/lib/facets/core/comparable/at_most_rb.html +100 -0
  113. data/doc/api/core/files/lib/facets/core/comparable/cap_rb.html +100 -0
  114. data/doc/api/core/files/lib/facets/core/comparable/clip_rb.html +92 -0
  115. data/doc/api/core/files/lib/facets/core/comparable/cmp_rb.html +92 -0
  116. data/doc/api/core/files/lib/facets/core/config/datadir_rb.html +92 -0
  117. data/doc/api/core/files/lib/facets/core/continuation/self/create_rb.html +148 -0
  118. data/doc/api/core/files/lib/facets/core/date/days_in_month_rb.html +96 -0
  119. data/doc/api/core/files/lib/facets/core/date/days_of_month_rb.html +96 -0
  120. data/doc/api/core/files/lib/facets/core/date/stamp_rb.html +96 -0
  121. data/doc/api/core/files/lib/facets/core/date/to_date_rb.html +96 -0
  122. data/doc/api/core/files/lib/facets/core/date/to_s_rb.html +96 -0
  123. data/doc/api/core/files/lib/facets/core/date/to_time_rb.html +96 -0
  124. data/doc/api/core/files/lib/facets/core/dir/self/ancestor_rb.html +92 -0
  125. data/doc/api/core/files/lib/facets/core/dir/self/ascend_rb.html +92 -0
  126. data/doc/api/core/files/lib/facets/core/dir/self/descend_rb.html +92 -0
  127. data/doc/api/core/files/lib/facets/core/dir/self/ls_r_rb.html +92 -0
  128. data/doc/api/core/files/lib/facets/core/dir/self/recurse_rb.html +100 -0
  129. data/doc/api/core/files/lib/facets/core/enumerable/accumulate_rb.html +96 -0
  130. data/doc/api/core/files/lib/facets/core/enumerable/cascade_rb.html +92 -0
  131. data/doc/api/core/files/lib/facets/core/enumerable/collect_if_rb.html +92 -0
  132. data/doc/api/core/files/lib/facets/core/enumerable/collect_with_counter_rb.html +100 -0
  133. data/doc/api/core/files/lib/facets/core/enumerable/collect_with_index_rb.html +92 -0
  134. data/doc/api/core/files/lib/facets/core/enumerable/commonality_rb.html +92 -0
  135. data/doc/api/core/files/lib/facets/core/enumerable/compact_collect_rb.html +96 -0
  136. data/doc/api/core/files/lib/facets/core/enumerable/compact_map_rb.html +100 -0
  137. data/doc/api/core/files/lib/facets/core/enumerable/count_rb.html +92 -0
  138. data/doc/api/core/files/lib/facets/core/enumerable/cross_rb.html +96 -0
  139. data/doc/api/core/files/lib/facets/core/enumerable/each_by_rb.html +100 -0
  140. data/doc/api/core/files/lib/facets/core/enumerable/each_combination_rb.html +92 -0
  141. data/doc/api/core/files/lib/facets/core/enumerable/each_pair_rb.html +92 -0
  142. data/doc/api/core/files/lib/facets/core/enumerable/each_permutation_rb.html +100 -0
  143. data/doc/api/core/files/lib/facets/core/enumerable/each_slice_rb.html +92 -0
  144. data/doc/api/core/files/lib/facets/core/enumerable/each_unique_pair_rb.html +96 -0
  145. data/doc/api/core/files/lib/facets/core/enumerable/each_with_counter_rb.html +92 -0
  146. data/doc/api/core/files/lib/facets/core/enumerable/elementwise_rb.html +100 -0
  147. data/doc/api/core/files/lib/facets/core/enumerable/entropy_rb.html +97 -0
  148. data/doc/api/core/files/lib/facets/core/enumerable/every_rb.html +96 -0
  149. data/doc/api/core/files/lib/facets/core/enumerable/ew_rb.html +96 -0
  150. data/doc/api/core/files/lib/facets/core/enumerable/filter_collect_rb.html +92 -0
  151. data/doc/api/core/files/lib/facets/core/enumerable/filter_map_rb.html +100 -0
  152. data/doc/api/core/files/lib/facets/core/enumerable/find_collisions_rb.html +96 -0
  153. data/doc/api/core/files/lib/facets/core/enumerable/frequency_rb.html +92 -0
  154. data/doc/api/core/files/lib/facets/core/enumerable/graph_rb.html +96 -0
  155. data/doc/api/core/files/lib/facets/core/enumerable/ideal_entropy_rb.html +92 -0
  156. data/doc/api/core/files/lib/facets/core/enumerable/map_if_rb.html +100 -0
  157. data/doc/api/core/files/lib/facets/core/enumerable/map_with_counter_rb.html +100 -0
  158. data/doc/api/core/files/lib/facets/core/enumerable/map_with_index_rb.html +100 -0
  159. data/doc/api/core/files/lib/facets/core/enumerable/mode_rb.html +92 -0
  160. data/doc/api/core/files/lib/facets/core/enumerable/none_rb.html +92 -0
  161. data/doc/api/core/files/lib/facets/core/enumerable/nonuniq_rb.html +92 -0
  162. data/doc/api/core/files/lib/facets/core/enumerable/occur_rb.html +92 -0
  163. data/doc/api/core/files/lib/facets/core/enumerable/one_rb.html +92 -0
  164. data/doc/api/core/files/lib/facets/core/enumerable/op_pow_rb.html +96 -0
  165. data/doc/api/core/files/lib/facets/core/enumerable/partition_by_rb.html +92 -0
  166. data/doc/api/core/files/lib/facets/core/enumerable/permute_rb.html +96 -0
  167. data/doc/api/core/files/lib/facets/core/enumerable/probability_rb.html +92 -0
  168. data/doc/api/core/files/lib/facets/core/enumerable/project_rb.html +92 -0
  169. data/doc/api/core/files/lib/facets/core/enumerable/self/combinations_rb.html +92 -0
  170. data/doc/api/core/files/lib/facets/core/enumerable/self/cross_rb.html +96 -0
  171. data/doc/api/core/files/lib/facets/core/enumerable/to_h_rb.html +92 -0
  172. data/doc/api/core/files/lib/facets/core/enumerable/uniq_by_rb.html +92 -0
  173. data/doc/api/core/files/lib/facets/core/enumerable/where_rb.html +92 -0
  174. data/doc/api/core/files/lib/facets/core/file/self/append_rb.html +96 -0
  175. data/doc/api/core/files/lib/facets/core/file/self/create_rb.html +92 -0
  176. data/doc/api/core/files/lib/facets/core/file/self/open_as_string_rb.html +118 -0
  177. data/doc/api/core/files/lib/facets/core/file/self/read_binary_rb.html +96 -0
  178. data/doc/api/core/files/lib/facets/core/file/self/read_list_rb.html +97 -0
  179. data/doc/api/core/files/lib/facets/core/file/self/rootname_rb.html +92 -0
  180. data/doc/api/core/files/lib/facets/core/file/self/sanitize_rb.html +96 -0
  181. data/doc/api/core/files/lib/facets/core/file/self/split_all_rb.html +101 -0
  182. data/doc/api/core/files/lib/facets/core/file/self/write_rb.html +96 -0
  183. data/doc/api/core/files/lib/facets/core/fileutils/head_rb.html +100 -0
  184. data/doc/api/core/files/lib/facets/core/fileutils/safe_ln_rb.html +96 -0
  185. data/doc/api/core/files/lib/facets/core/fileutils/slice_rb.html +96 -0
  186. data/doc/api/core/files/lib/facets/core/fileutils/split_all_rb.html +92 -0
  187. data/doc/api/core/files/lib/facets/core/fileutils/tail_rb.html +100 -0
  188. data/doc/api/core/files/lib/facets/core/fileutils/wc_rb.html +96 -0
  189. data/doc/api/core/files/lib/facets/core/fileutils/whereis_rb.html +96 -0
  190. data/doc/api/core/files/lib/facets/core/fileutils/which_rb.html +96 -0
  191. data/doc/api/core/files/lib/facets/core/float/approx_rb.html +100 -0
  192. data/doc/api/core/files/lib/facets/core/float/round_at_rb.html +96 -0
  193. data/doc/api/core/files/lib/facets/core/float/round_off_rb.html +92 -0
  194. data/doc/api/core/files/lib/facets/core/float/round_to_rb.html +96 -0
  195. data/doc/api/core/files/lib/facets/core/gem/self/active_rb.html +92 -0
  196. data/doc/api/core/files/lib/facets/core/gem/self/gempath_rb.html +96 -0
  197. data/doc/api/core/files/lib/facets/core/gem/self/gemspec_rb.html +96 -0
  198. data/doc/api/core/files/lib/facets/core/hash/alias_rb.html +92 -0
  199. data/doc/api/core/files/lib/facets/core/hash/assert_has_keys_rb.html +96 -0
  200. data/doc/api/core/files/lib/facets/core/hash/assert_has_only_keys_rb.html +96 -0
  201. data/doc/api/core/files/lib/facets/core/hash/at_rb.html +92 -0
  202. data/doc/api/core/files/lib/facets/core/hash/collate_rb.html +92 -0
  203. data/doc/api/core/files/lib/facets/core/hash/delete_unless_rb.html +96 -0
  204. data/doc/api/core/files/lib/facets/core/hash/each_rb.html +92 -0
  205. data/doc/api/core/files/lib/facets/core/hash/each_with_index_rb.html +97 -0
  206. data/doc/api/core/files/lib/facets/core/hash/each_with_key_rb.html +92 -0
  207. data/doc/api/core/files/lib/facets/core/hash/graph_rb.html +96 -0
  208. data/doc/api/core/files/lib/facets/core/hash/has_keys_rb.html +92 -0
  209. data/doc/api/core/files/lib/facets/core/hash/has_only_keys_rb.html +92 -0
  210. data/doc/api/core/files/lib/facets/core/hash/inverse_rb.html +92 -0
  211. data/doc/api/core/files/lib/facets/core/hash/join_rb.html +92 -0
  212. data/doc/api/core/files/lib/facets/core/hash/keys_to_s_rb.html +92 -0
  213. data/doc/api/core/files/lib/facets/core/hash/keys_to_sym_rb.html +92 -0
  214. data/doc/api/core/files/lib/facets/core/hash/op_fetch_rb.html +96 -0
  215. data/doc/api/core/files/lib/facets/core/hash/op_lshift_rb.html +92 -0
  216. data/doc/api/core/files/lib/facets/core/hash/op_store_rb.html +100 -0
  217. data/doc/api/core/files/lib/facets/core/hash/rand_key_rb.html +92 -0
  218. data/doc/api/core/files/lib/facets/core/hash/rand_pair_rb.html +96 -0
  219. data/doc/api/core/files/lib/facets/core/hash/rand_value_rb.html +96 -0
  220. data/doc/api/core/files/lib/facets/core/hash/replace_each_rb.html +92 -0
  221. data/doc/api/core/files/lib/facets/core/hash/self/zipnew_rb.html +92 -0
  222. data/doc/api/core/files/lib/facets/core/hash/shuffle_rb.html +96 -0
  223. data/doc/api/core/files/lib/facets/core/hash/slice_rb.html +92 -0
  224. data/doc/api/core/files/lib/facets/core/hash/stringify_keys_rb.html +100 -0
  225. data/doc/api/core/files/lib/facets/core/hash/swap_rb.html +92 -0
  226. data/doc/api/core/files/lib/facets/core/hash/swapkey_rb.html +92 -0
  227. data/doc/api/core/files/lib/facets/core/hash/symoblize_keys_rb.html +100 -0
  228. data/doc/api/core/files/lib/facets/core/hash/to_h_rb.html +92 -0
  229. data/doc/api/core/files/lib/facets/core/hash/to_ostruct_rb.html +96 -0
  230. data/doc/api/core/files/lib/facets/core/hash/to_ostruct_recurse_rb.html +97 -0
  231. data/doc/api/core/files/lib/facets/core/hash/to_proc_rb.html +92 -0
  232. data/doc/api/core/files/lib/facets/core/hash/traverse_rb.html +92 -0
  233. data/doc/api/core/files/lib/facets/core/hash/update_each_rb.html +92 -0
  234. data/doc/api/core/files/lib/facets/core/hash/update_keys_rb.html +92 -0
  235. data/doc/api/core/files/lib/facets/core/hash/update_values_rb.html +92 -0
  236. data/doc/api/core/files/lib/facets/core/hash/variablize_keys_rb.html +92 -0
  237. data/doc/api/core/files/lib/facets/core/hash/weave_rb.html +92 -0
  238. data/doc/api/core/files/lib/facets/core/inflect_rb.html +117 -0
  239. data/doc/api/core/files/lib/facets/core/integer/even_rb.html +100 -0
  240. data/doc/api/core/files/lib/facets/core/integer/fac_rb.html +100 -0
  241. data/doc/api/core/files/lib/facets/core/integer/fact_rb.html +100 -0
  242. data/doc/api/core/files/lib/facets/core/integer/factorial_rb.html +92 -0
  243. data/doc/api/core/files/lib/facets/core/integer/multiple_rb.html +92 -0
  244. data/doc/api/core/files/lib/facets/core/integer/odd_rb.html +100 -0
  245. data/doc/api/core/files/lib/facets/core/integer/ordinal_rb.html +92 -0
  246. data/doc/api/core/files/lib/facets/core/integer/times_collect_rb.html +92 -0
  247. data/doc/api/core/files/lib/facets/core/integer/times_map_rb.html +100 -0
  248. data/doc/api/core/files/lib/facets/core/kernel/__DIR___rb.html +92 -0
  249. data/doc/api/core/files/lib/facets/core/kernel/__callee___rb.html +100 -0
  250. data/doc/api/core/files/lib/facets/core/kernel/__class___rb.html +92 -0
  251. data/doc/api/core/files/lib/facets/core/kernel/__get___rb.html +92 -0
  252. data/doc/api/core/files/lib/facets/core/kernel/__method___rb.html +92 -0
  253. data/doc/api/core/files/lib/facets/core/kernel/__self___rb.html +96 -0
  254. data/doc/api/core/files/lib/facets/core/kernel/__set___rb.html +100 -0
  255. data/doc/api/core/files/lib/facets/core/kernel/as_rb.html +96 -0
  256. data/doc/api/core/files/lib/facets/core/kernel/assign_from_rb.html +96 -0
  257. data/doc/api/core/files/lib/facets/core/kernel/assign_with_rb.html +97 -0
  258. data/doc/api/core/files/lib/facets/core/kernel/autoreload_files_rb.html +100 -0
  259. data/doc/api/core/files/lib/facets/core/kernel/autoreload_glob_rb.html +100 -0
  260. data/doc/api/core/files/lib/facets/core/kernel/autoreload_rb.html +92 -0
  261. data/doc/api/core/files/lib/facets/core/kernel/bool_rb.html +92 -0
  262. data/doc/api/core/files/lib/facets/core/kernel/bug_rb.html +92 -0
  263. data/doc/api/core/files/lib/facets/core/kernel/cache_rb.html +92 -0
  264. data/doc/api/core/files/lib/facets/core/kernel/call_stack_rb.html +92 -0
  265. data/doc/api/core/files/lib/facets/core/kernel/called_rb.html +92 -0
  266. data/doc/api/core/files/lib/facets/core/kernel/complete_rb.html +92 -0
  267. data/doc/api/core/files/lib/facets/core/kernel/constant_rb.html +92 -0
  268. data/doc/api/core/files/lib/facets/core/kernel/copy_rb.html +92 -0
  269. data/doc/api/core/files/lib/facets/core/kernel/deep_copy_rb.html +92 -0
  270. data/doc/api/core/files/lib/facets/core/kernel/demo_rb.html +92 -0
  271. data/doc/api/core/files/lib/facets/core/kernel/eigenclass_rb.html +103 -0
  272. data/doc/api/core/files/lib/facets/core/kernel/false_rb.html +100 -0
  273. data/doc/api/core/files/lib/facets/core/kernel/fn_rb.html +92 -0
  274. data/doc/api/core/files/lib/facets/core/kernel/generate_method_name_rb.html +92 -0
  275. data/doc/api/core/files/lib/facets/core/kernel/get_by_id_rb.html +92 -0
  276. data/doc/api/core/files/lib/facets/core/kernel/here_rb.html +92 -0
  277. data/doc/api/core/files/lib/facets/core/kernel/in_rb.html +92 -0
  278. data/doc/api/core/files/lib/facets/core/kernel/instance_assign_rb.html +92 -0
  279. data/doc/api/core/files/lib/facets/core/kernel/instvar_rb.html +92 -0
  280. data/doc/api/core/files/lib/facets/core/kernel/is_rb.html +96 -0
  281. data/doc/api/core/files/lib/facets/core/kernel/maybe_rb.html +92 -0
  282. data/doc/api/core/files/lib/facets/core/kernel/metaclass_rb.html +92 -0
  283. data/doc/api/core/files/lib/facets/core/kernel/method_rb.html +92 -0
  284. data/doc/api/core/files/lib/facets/core/kernel/methods_rb.html +96 -0
  285. data/doc/api/core/files/lib/facets/core/kernel/nack_rb.html +98 -0
  286. data/doc/api/core/files/lib/facets/core/kernel/new_rb.html +92 -0
  287. data/doc/api/core/files/lib/facets/core/kernel/object_class_rb.html +92 -0
  288. data/doc/api/core/files/lib/facets/core/kernel/object_hexid_rb.html +92 -0
  289. data/doc/api/core/files/lib/facets/core/kernel/op_esc_rb.html +92 -0
  290. data/doc/api/core/files/lib/facets/core/kernel/own_rb.html +92 -0
  291. data/doc/api/core/files/lib/facets/core/kernel/p_rb.html +92 -0
  292. data/doc/api/core/files/lib/facets/core/kernel/pp_exception_rb.html +92 -0
  293. data/doc/api/core/files/lib/facets/core/kernel/quaclass_rb.html +92 -0
  294. data/doc/api/core/files/lib/facets/core/kernel/require_all_rb.html +92 -0
  295. data/doc/api/core/files/lib/facets/core/kernel/require_esc_rb.html +96 -0
  296. data/doc/api/core/files/lib/facets/core/kernel/require_facet_rb.html +96 -0
  297. data/doc/api/core/files/lib/facets/core/kernel/require_local_rb.html +92 -0
  298. data/doc/api/core/files/lib/facets/core/kernel/resc_rb.html +92 -0
  299. data/doc/api/core/files/lib/facets/core/kernel/respond_rb.html +92 -0
  300. data/doc/api/core/files/lib/facets/core/kernel/returning_rb.html +92 -0
  301. data/doc/api/core/files/lib/facets/core/kernel/send_as_rb.html +92 -0
  302. data/doc/api/core/files/lib/facets/core/kernel/set_from_rb.html +96 -0
  303. data/doc/api/core/files/lib/facets/core/kernel/set_with_rb.html +96 -0
  304. data/doc/api/core/files/lib/facets/core/kernel/silence_warnings_rb.html +100 -0
  305. data/doc/api/core/files/lib/facets/core/kernel/silently_rb.html +92 -0
  306. data/doc/api/core/files/lib/facets/core/kernel/singleton_class_rb.html +92 -0
  307. data/doc/api/core/files/lib/facets/core/kernel/singleton_rb.html +92 -0
  308. data/doc/api/core/files/lib/facets/core/kernel/superior_rb.html +92 -0
  309. data/doc/api/core/files/lib/facets/core/kernel/supermethod_rb.html +92 -0
  310. data/doc/api/core/files/lib/facets/core/kernel/this_rb.html +92 -0
  311. data/doc/api/core/files/lib/facets/core/kernel/to_b_rb.html +92 -0
  312. data/doc/api/core/files/lib/facets/core/kernel/to_bool_rb.html +92 -0
  313. data/doc/api/core/files/lib/facets/core/kernel/true_rb.html +100 -0
  314. data/doc/api/core/files/lib/facets/core/kernel/unuri_rb.html +100 -0
  315. data/doc/api/core/files/lib/facets/core/kernel/uri_rb.html +96 -0
  316. data/doc/api/core/files/lib/facets/core/kernel/val_rb.html +92 -0
  317. data/doc/api/core/files/lib/facets/core/kernel/warn_with_line_rb.html +92 -0
  318. data/doc/api/core/files/lib/facets/core/kernel/with_accessor_rb.html +92 -0
  319. data/doc/api/core/files/lib/facets/core/kernel/with_reader_rb.html +100 -0
  320. data/doc/api/core/files/lib/facets/core/kernel/with_writer_rb.html +100 -0
  321. data/doc/api/core/files/lib/facets/core/logger/format_message_rb.html +96 -0
  322. data/doc/api/core/files/lib/facets/core/logger/format_rb.html +96 -0
  323. data/doc/api/core/files/lib/facets/core/matchdata/match_rb.html +92 -0
  324. data/doc/api/core/files/lib/facets/core/matchdata/matchset_rb.html +100 -0
  325. data/doc/api/core/files/lib/facets/core/matchdata/matchtree_rb.html +92 -0
  326. data/doc/api/core/files/lib/facets/core/module/abstract_rb.html +105 -0
  327. data/doc/api/core/files/lib/facets/core/module/alias_method_chain_rb.html +92 -0
  328. data/doc/api/core/files/lib/facets/core/module/alias_module_function_rb.html +92 -0
  329. data/doc/api/core/files/lib/facets/core/module/ancestor_rb.html +92 -0
  330. data/doc/api/core/files/lib/facets/core/module/attr_query_rb.html +96 -0
  331. data/doc/api/core/files/lib/facets/core/module/attr_rb.html +92 -0
  332. data/doc/api/core/files/lib/facets/core/module/attr_setter_rb.html +92 -0
  333. data/doc/api/core/files/lib/facets/core/module/attr_tester_rb.html +96 -0
  334. data/doc/api/core/files/lib/facets/core/module/attr_validator_rb.html +92 -0
  335. data/doc/api/core/files/lib/facets/core/module/basename_rb.html +92 -0
  336. data/doc/api/core/files/lib/facets/core/module/by_name_rb.html +96 -0
  337. data/doc/api/core/files/lib/facets/core/module/class_extension_rb.html +124 -0
  338. data/doc/api/core/files/lib/facets/core/module/class_rb.html +92 -0
  339. data/doc/api/core/files/lib/facets/core/module/clone_removing_rb.html +100 -0
  340. data/doc/api/core/files/lib/facets/core/module/clone_renaming_rb.html +100 -0
  341. data/doc/api/core/files/lib/facets/core/module/clone_using_rb.html +92 -0
  342. data/doc/api/core/files/lib/facets/core/module/dirname_rb.html +92 -0
  343. data/doc/api/core/files/lib/facets/core/module/equate_on_rb.html +92 -0
  344. data/doc/api/core/files/lib/facets/core/module/generate_instance_method_name_rb.html +92 -0
  345. data/doc/api/core/files/lib/facets/core/module/include_as_rb.html +96 -0
  346. data/doc/api/core/files/lib/facets/core/module/initializer_rb.html +92 -0
  347. data/doc/api/core/files/lib/facets/core/module/instance_methods_rb.html +96 -0
  348. data/doc/api/core/files/lib/facets/core/module/integrate_rb.html +104 -0
  349. data/doc/api/core/files/lib/facets/core/module/is_rb.html +96 -0
  350. data/doc/api/core/files/lib/facets/core/module/memoize_rb.html +92 -0
  351. data/doc/api/core/files/lib/facets/core/module/modspace_rb.html +97 -0
  352. data/doc/api/core/files/lib/facets/core/module/namespace_rb.html +96 -0
  353. data/doc/api/core/files/lib/facets/core/module/nesting_rb.html +92 -0
  354. data/doc/api/core/files/lib/facets/core/module/nodef_rb.html +92 -0
  355. data/doc/api/core/files/lib/facets/core/module/on_included_rb.html +92 -0
  356. data/doc/api/core/files/lib/facets/core/module/redef_rb.html +96 -0
  357. data/doc/api/core/files/lib/facets/core/module/redefine_method_rb.html +92 -0
  358. data/doc/api/core/files/lib/facets/core/module/redirect_method_rb.html +92 -0
  359. data/doc/api/core/files/lib/facets/core/module/redirect_rb.html +96 -0
  360. data/doc/api/core/files/lib/facets/core/module/remove_rb.html +92 -0
  361. data/doc/api/core/files/lib/facets/core/module/rename_method_rb.html +92 -0
  362. data/doc/api/core/files/lib/facets/core/module/rename_rb.html +96 -0
  363. data/doc/api/core/files/lib/facets/core/module/revisal_rb.html +100 -0
  364. data/doc/api/core/files/lib/facets/core/module/shadow_all_rb.html +96 -0
  365. data/doc/api/core/files/lib/facets/core/module/shadow_method_rb.html +92 -0
  366. data/doc/api/core/files/lib/facets/core/module/sort_on_rb.html +92 -0
  367. data/doc/api/core/files/lib/facets/core/module/this_rb.html +96 -0
  368. data/doc/api/core/files/lib/facets/core/module/wrap_method_rb.html +92 -0
  369. data/doc/api/core/files/lib/facets/core/module/wrap_rb.html +96 -0
  370. data/doc/api/core/files/lib/facets/core/nil_as_emptiness_rb.html +116 -0
  371. data/doc/api/core/files/lib/facets/core/nilclass/blank_rb.html +92 -0
  372. data/doc/api/core/files/lib/facets/core/nilclass/empty_rb.html +92 -0
  373. data/doc/api/core/files/lib/facets/core/nilclass/include_rb.html +92 -0
  374. data/doc/api/core/files/lib/facets/core/nilclass/length_rb.html +100 -0
  375. data/doc/api/core/files/lib/facets/core/nilclass/op_cmp_rb.html +92 -0
  376. data/doc/api/core/files/lib/facets/core/nilclass/op_fetch_rb.html +92 -0
  377. data/doc/api/core/files/lib/facets/core/nilclass/size_rb.html +92 -0
  378. data/doc/api/core/files/lib/facets/core/nilclass/status_rb.html +92 -0
  379. data/doc/api/core/files/lib/facets/core/nilclass/succ_rb.html +92 -0
  380. data/doc/api/core/files/lib/facets/core/nilclass/to_h_rb.html +92 -0
  381. data/doc/api/core/files/lib/facets/core/numeric/approx_rb.html +92 -0
  382. data/doc/api/core/files/lib/facets/core/numeric/ceil_multiple_rb.html +92 -0
  383. data/doc/api/core/files/lib/facets/core/numeric/pred_rb.html +100 -0
  384. data/doc/api/core/files/lib/facets/core/numeric/succ_rb.html +92 -0
  385. data/doc/api/core/files/lib/facets/core/numeric/to_b_rb.html +92 -0
  386. data/doc/api/core/files/lib/facets/core/ostruct/__merge___rb.html +97 -0
  387. data/doc/api/core/files/lib/facets/core/ostruct/__table___rb.html +92 -0
  388. data/doc/api/core/files/lib/facets/core/ostruct/__update___rb.html +98 -0
  389. data/doc/api/core/files/lib/facets/core/ostruct/instance_rb.html +96 -0
  390. data/doc/api/core/files/lib/facets/core/ostruct/op_fetch_rb.html +96 -0
  391. data/doc/api/core/files/lib/facets/core/ostruct/op_store_rb.html +96 -0
  392. data/doc/api/core/files/lib/facets/core/ostruct/to_h_rb.html +92 -0
  393. data/doc/api/core/files/lib/facets/core/ostruct_rb.html +102 -0
  394. data/doc/api/core/files/lib/facets/core/pathname/ascend_rb.html +96 -0
  395. data/doc/api/core/files/lib/facets/core/pathname/descend_rb.html +96 -0
  396. data/doc/api/core/files/lib/facets/core/proc/compose_rb.html +92 -0
  397. data/doc/api/core/files/lib/facets/core/proc/op_mul_rb.html +100 -0
  398. data/doc/api/core/files/lib/facets/core/proc/to_method_rb.html +133 -0
  399. data/doc/api/core/files/lib/facets/core/random_rb.html +111 -0
  400. data/doc/api/core/files/lib/facets/core/range/to_r_rb.html +92 -0
  401. data/doc/api/core/files/lib/facets/core/range/to_range_rb.html +92 -0
  402. data/doc/api/core/files/lib/facets/core/range/umbrella_rb.html +92 -0
  403. data/doc/api/core/files/lib/facets/core/range/within_rb.html +96 -0
  404. data/doc/api/core/files/lib/facets/core/regexp/arity_rb.html +92 -0
  405. data/doc/api/core/files/lib/facets/core/regexp/to_re_rb.html +92 -0
  406. data/doc/api/core/files/lib/facets/core/regexp/to_regexp_rb.html +92 -0
  407. data/doc/api/core/files/lib/facets/core/string/align_center_rb.html +92 -0
  408. data/doc/api/core/files/lib/facets/core/string/align_left_rb.html +100 -0
  409. data/doc/api/core/files/lib/facets/core/string/align_right_rb.html +100 -0
  410. data/doc/api/core/files/lib/facets/core/string/at_rand_rb.html +98 -0
  411. data/doc/api/core/files/lib/facets/core/string/at_rb.html +92 -0
  412. data/doc/api/core/files/lib/facets/core/string/basename_rb.html +92 -0
  413. data/doc/api/core/files/lib/facets/core/string/blank_rb.html +92 -0
  414. data/doc/api/core/files/lib/facets/core/string/bracket_rb.html +92 -0
  415. data/doc/api/core/files/lib/facets/core/string/brief_rb.html +92 -0
  416. data/doc/api/core/files/lib/facets/core/string/bytes_rb.html +92 -0
  417. data/doc/api/core/files/lib/facets/core/string/camelcase_rb.html +92 -0
  418. data/doc/api/core/files/lib/facets/core/string/camelize_rb.html +92 -0
  419. data/doc/api/core/files/lib/facets/core/string/capitalized_rb.html +92 -0
  420. data/doc/api/core/files/lib/facets/core/string/chars_rb.html +92 -0
  421. data/doc/api/core/files/lib/facets/core/string/cmp_rb.html +92 -0
  422. data/doc/api/core/files/lib/facets/core/string/demodulize_rb.html +96 -0
  423. data/doc/api/core/files/lib/facets/core/string/dequote_rb.html +92 -0
  424. data/doc/api/core/files/lib/facets/core/string/downcase_rb.html +92 -0
  425. data/doc/api/core/files/lib/facets/core/string/dresner_rb.html +92 -0
  426. data/doc/api/core/files/lib/facets/core/string/each_char_rb.html +92 -0
  427. data/doc/api/core/files/lib/facets/core/string/each_word_rb.html +92 -0
  428. data/doc/api/core/files/lib/facets/core/string/ends_with_rb.html +100 -0
  429. data/doc/api/core/files/lib/facets/core/string/first_char_rb.html +96 -0
  430. data/doc/api/core/files/lib/facets/core/string/first_rb.html +98 -0
  431. data/doc/api/core/files/lib/facets/core/string/fold_rb.html +92 -0
  432. data/doc/api/core/files/lib/facets/core/string/format_rb.html +96 -0
  433. data/doc/api/core/files/lib/facets/core/string/humanize_rb.html +92 -0
  434. data/doc/api/core/files/lib/facets/core/string/indent_rb.html +92 -0
  435. data/doc/api/core/files/lib/facets/core/string/index_all_rb.html +92 -0
  436. data/doc/api/core/files/lib/facets/core/string/last_char_rb.html +96 -0
  437. data/doc/api/core/files/lib/facets/core/string/last_rb.html +98 -0
  438. data/doc/api/core/files/lib/facets/core/string/line_wrap_rb.html +92 -0
  439. data/doc/api/core/files/lib/facets/core/string/lines_rb.html +92 -0
  440. data/doc/api/core/files/lib/facets/core/string/lowercase_rb.html +96 -0
  441. data/doc/api/core/files/lib/facets/core/string/margin_rb.html +92 -0
  442. data/doc/api/core/files/lib/facets/core/string/methodize_rb.html +92 -0
  443. data/doc/api/core/files/lib/facets/core/string/modulize_rb.html +92 -0
  444. data/doc/api/core/files/lib/facets/core/string/mscan_rb.html +92 -0
  445. data/doc/api/core/files/lib/facets/core/string/natcmp_rb.html +92 -0
  446. data/doc/api/core/files/lib/facets/core/string/nchar_rb.html +92 -0
  447. data/doc/api/core/files/lib/facets/core/string/ordinal_rb.html +96 -0
  448. data/doc/api/core/files/lib/facets/core/string/pathize_rb.html +92 -0
  449. data/doc/api/core/files/lib/facets/core/string/plural_rb.html +100 -0
  450. data/doc/api/core/files/lib/facets/core/string/pop_rb.html +92 -0
  451. data/doc/api/core/files/lib/facets/core/string/pot_rb.html +92 -0
  452. data/doc/api/core/files/lib/facets/core/string/pull_rb.html +92 -0
  453. data/doc/api/core/files/lib/facets/core/string/push_rb.html +92 -0
  454. data/doc/api/core/files/lib/facets/core/string/quote_rb.html +96 -0
  455. data/doc/api/core/files/lib/facets/core/string/rand_byte_rb.html +92 -0
  456. data/doc/api/core/files/lib/facets/core/string/rand_index_rb.html +92 -0
  457. data/doc/api/core/files/lib/facets/core/string/range_all_rb.html +96 -0
  458. data/doc/api/core/files/lib/facets/core/string/range_of_line_rb.html +92 -0
  459. data/doc/api/core/files/lib/facets/core/string/range_rb.html +92 -0
  460. data/doc/api/core/files/lib/facets/core/string/regesc_rb.html +92 -0
  461. data/doc/api/core/files/lib/facets/core/string/self/format_rb.html +92 -0
  462. data/doc/api/core/files/lib/facets/core/string/self/interpolate_rb.html +92 -0
  463. data/doc/api/core/files/lib/facets/core/string/self/patterns_rb.html +92 -0
  464. data/doc/api/core/files/lib/facets/core/string/self/rand_letter_rb.html +92 -0
  465. data/doc/api/core/files/lib/facets/core/string/self/random_rb.html +99 -0
  466. data/doc/api/core/files/lib/facets/core/string/shatter_rb.html +92 -0
  467. data/doc/api/core/files/lib/facets/core/string/shell_escape_rb.html +92 -0
  468. data/doc/api/core/files/lib/facets/core/string/shift_rb.html +92 -0
  469. data/doc/api/core/files/lib/facets/core/string/shuffle_rb.html +96 -0
  470. data/doc/api/core/files/lib/facets/core/string/similarity_rb.html +92 -0
  471. data/doc/api/core/files/lib/facets/core/string/singular_rb.html +92 -0
  472. data/doc/api/core/files/lib/facets/core/string/soundex_rb.html +92 -0
  473. data/doc/api/core/files/lib/facets/core/string/starts_with_rb.html +92 -0
  474. data/doc/api/core/files/lib/facets/core/string/succ_rb.html +92 -0
  475. data/doc/api/core/files/lib/facets/core/string/tab_rb.html +100 -0
  476. data/doc/api/core/files/lib/facets/core/string/tabto_rb.html +100 -0
  477. data/doc/api/core/files/lib/facets/core/string/to_a_rb.html +92 -0
  478. data/doc/api/core/files/lib/facets/core/string/to_b_rb.html +92 -0
  479. data/doc/api/core/files/lib/facets/core/string/to_const_rb.html +92 -0
  480. data/doc/api/core/files/lib/facets/core/string/to_date_rb.html +97 -0
  481. data/doc/api/core/files/lib/facets/core/string/to_proc_rb.html +92 -0
  482. data/doc/api/core/files/lib/facets/core/string/to_re_rb.html +92 -0
  483. data/doc/api/core/files/lib/facets/core/string/to_rx_rb.html +100 -0
  484. data/doc/api/core/files/lib/facets/core/string/to_time_rb.html +96 -0
  485. data/doc/api/core/files/lib/facets/core/string/unbracket_rb.html +96 -0
  486. data/doc/api/core/files/lib/facets/core/string/underscore_rb.html +92 -0
  487. data/doc/api/core/files/lib/facets/core/string/unix_crypt_rb.html +96 -0
  488. data/doc/api/core/files/lib/facets/core/string/unpack_rb.html +92 -0
  489. data/doc/api/core/files/lib/facets/core/string/unshift_rb.html +92 -0
  490. data/doc/api/core/files/lib/facets/core/string/upcase_rb.html +92 -0
  491. data/doc/api/core/files/lib/facets/core/string/uppercase_rb.html +100 -0
  492. data/doc/api/core/files/lib/facets/core/string/whitespace_rb.html +96 -0
  493. data/doc/api/core/files/lib/facets/core/string/word_filter_rb.html +92 -0
  494. data/doc/api/core/files/lib/facets/core/string/word_wrap_rb.html +92 -0
  495. data/doc/api/core/files/lib/facets/core/string/words_rb.html +92 -0
  496. data/doc/api/core/files/lib/facets/core/string_as_array_rb.html +109 -0
  497. data/doc/api/core/files/lib/facets/core/symbol/camelcase_rb.html +96 -0
  498. data/doc/api/core/files/lib/facets/core/symbol/camelize_rb.html +96 -0
  499. data/doc/api/core/files/lib/facets/core/symbol/capitalize_rb.html +96 -0
  500. data/doc/api/core/files/lib/facets/core/symbol/capitalized_rb.html +97 -0
  501. data/doc/api/core/files/lib/facets/core/symbol/downcase_rb.html +96 -0
  502. data/doc/api/core/files/lib/facets/core/symbol/not_rb.html +92 -0
  503. data/doc/api/core/files/lib/facets/core/symbol/pad_rb.html +92 -0
  504. data/doc/api/core/files/lib/facets/core/symbol/succ_rb.html +92 -0
  505. data/doc/api/core/files/lib/facets/core/symbol/to_const_rb.html +96 -0
  506. data/doc/api/core/files/lib/facets/core/symbol/to_proc_rb.html +92 -0
  507. data/doc/api/core/files/lib/facets/core/symbol/to_str_rb.html +92 -0
  508. data/doc/api/core/files/lib/facets/core/symbol/underscore_rb.html +96 -0
  509. data/doc/api/core/files/lib/facets/core/symbol/upcase_rb.html +96 -0
  510. data/doc/api/core/files/lib/facets/core/time/change_rb.html +92 -0
  511. data/doc/api/core/files/lib/facets/core/time/elapse_rb.html +92 -0
  512. data/doc/api/core/files/lib/facets/core/time/self/days_extrema_rb.html +114 -0
  513. data/doc/api/core/files/lib/facets/core/time/self/stamp_rb.html +100 -0
  514. data/doc/api/core/files/lib/facets/core/time/stamp_rb.html +92 -0
  515. data/doc/api/core/files/lib/facets/core/time/to_date_rb.html +96 -0
  516. data/doc/api/core/files/lib/facets/core/time/to_s_rb.html +96 -0
  517. data/doc/api/core/files/lib/facets/core/time/to_time_rb.html +92 -0
  518. data/doc/api/core/files/lib/facets/core/unboundmethod/name_rb.html +92 -0
  519. data/doc/api/core/fr_class_index.html +81 -0
  520. data/doc/api/core/fr_file_index.html +523 -0
  521. data/doc/api/core/fr_method_index.html +559 -0
  522. data/doc/api/core/index.html +26 -0
  523. data/doc/api/core/rdoc-style.css +175 -0
  524. data/doc/api/more/classes/Annotation.html +258 -0
  525. data/doc/api/more/classes/Array.html +363 -0
  526. data/doc/api/more/classes/Aspect.html +159 -0
  527. data/doc/api/more/classes/Aspects.html +240 -0
  528. data/doc/api/more/classes/Aspects/ClassMethods.html +254 -0
  529. data/doc/api/more/classes/Association.html +289 -0
  530. data/doc/api/more/classes/BBCode.html +531 -0
  531. data/doc/api/more/classes/BasicObject.html +281 -0
  532. data/doc/api/more/classes/BasicObject/Self.html +143 -0
  533. data/doc/api/more/classes/BinaryReader.html +535 -0
  534. data/doc/api/more/classes/BinaryReader/ByteOrder.html +225 -0
  535. data/doc/api/more/classes/BuilderObject.html +248 -0
  536. data/doc/api/more/classes/Class.html +200 -0
  537. data/doc/api/more/classes/Client.html +1251 -0
  538. data/doc/api/more/classes/Cloneable.html +133 -0
  539. data/doc/api/more/classes/Console.html +105 -0
  540. data/doc/api/more/classes/Console/ANSICode.html +488 -0
  541. data/doc/api/more/classes/Console/Command.html +286 -0
  542. data/doc/api/more/classes/Console/ProgressBar.html +640 -0
  543. data/doc/api/more/classes/Coroutine.html +284 -0
  544. data/doc/api/more/classes/Crypt.html +270 -0
  545. data/doc/api/more/classes/DebugSocket.html +242 -0
  546. data/doc/api/more/classes/Dictionary.html +974 -0
  547. data/doc/api/more/classes/Downloader.html +515 -0
  548. data/doc/api/more/classes/Downloader/Checksum.html +96 -0
  549. data/doc/api/more/classes/Downloader/Mirror.html +134 -0
  550. data/doc/api/more/classes/Elementor.html +202 -0
  551. data/doc/api/more/classes/Enumerable.html +86 -0
  552. data/doc/api/more/classes/EnumerablePass.html +217 -0
  553. data/doc/api/more/classes/Expirable.html +197 -0
  554. data/doc/api/more/classes/FalseClass.html +119 -0
  555. data/doc/api/more/classes/FileList.html +971 -0
  556. data/doc/api/more/classes/Float.html +141 -0
  557. data/doc/api/more/classes/FloatString.html +413 -0
  558. data/doc/api/more/classes/Functor.html +224 -0
  559. data/doc/api/more/classes/HTMLBuilder.html +132 -0
  560. data/doc/api/more/classes/HTMLHelper.html +189 -0
  561. data/doc/api/more/classes/HTTP.html +154 -0
  562. data/doc/api/more/classes/HTTP/BadResponseError.html +94 -0
  563. data/doc/api/more/classes/HTTP/Error.html +96 -0
  564. data/doc/api/more/classes/HTTP/Message.html +633 -0
  565. data/doc/api/more/classes/HTTP/Message/Body.html +299 -0
  566. data/doc/api/more/classes/HTTP/Message/Headers.html +641 -0
  567. data/doc/api/more/classes/HTTP/Status.html +148 -0
  568. data/doc/api/more/classes/HTTPAccess.html +115 -0
  569. data/doc/api/more/classes/Hash.html +257 -0
  570. data/doc/api/more/classes/HashBuilder.html +216 -0
  571. data/doc/api/more/classes/Heap.html +535 -0
  572. data/doc/api/more/classes/Heap/EmptyHeapException.html +92 -0
  573. data/doc/api/more/classes/Heap/Max.html +133 -0
  574. data/doc/api/more/classes/Heap/Min.html +133 -0
  575. data/doc/api/more/classes/IORedirect.html +224 -0
  576. data/doc/api/more/classes/Integer.html +299 -0
  577. data/doc/api/more/classes/Interval.html +853 -0
  578. data/doc/api/more/classes/InvalidNackError.html +117 -0
  579. data/doc/api/more/classes/JSON.html +410 -0
  580. data/doc/api/more/classes/JSON/Parser.html +374 -0
  581. data/doc/api/more/classes/JSON/State.html +280 -0
  582. data/doc/api/more/classes/Kernel.html +400 -0
  583. data/doc/api/more/classes/LRUCache.html +461 -0
  584. data/doc/api/more/classes/LRUCache/Item.html +114 -0
  585. data/doc/api/more/classes/LRUCache/Sentinel.html +102 -0
  586. data/doc/api/more/classes/Lazy.html +96 -0
  587. data/doc/api/more/classes/Lazy/Future.html +100 -0
  588. data/doc/api/more/classes/Lazy/Promise.html +114 -0
  589. data/doc/api/more/classes/Lazy/PromiseSafe.html +99 -0
  590. data/doc/api/more/classes/Lisp.html +846 -0
  591. data/doc/api/more/classes/Lisp/DottedPair.html +289 -0
  592. data/doc/api/more/classes/Lisp/Format.html +147 -0
  593. data/doc/api/more/classes/Math.html +110 -0
  594. data/doc/api/more/classes/Math/Constants.html +691 -0
  595. data/doc/api/more/classes/Math/Constants/CGS.html +584 -0
  596. data/doc/api/more/classes/Method.html +170 -0
  597. data/doc/api/more/classes/Method/Probe.html +267 -0
  598. data/doc/api/more/classes/Mock.html +276 -0
  599. data/doc/api/more/classes/Module.html +599 -0
  600. data/doc/api/more/classes/Multiton.html +256 -0
  601. data/doc/api/more/classes/NackClass.html +245 -0
  602. data/doc/api/more/classes/NilClass.html +238 -0
  603. data/doc/api/more/classes/NullClass.html +202 -0
  604. data/doc/api/more/classes/Numeric.html +1104 -0
  605. data/doc/api/more/classes/ORMSupport.html +357 -0
  606. data/doc/api/more/classes/Object.html +328 -0
  607. data/doc/api/more/classes/OpenCascade.html +230 -0
  608. data/doc/api/more/classes/OpenObject.html +552 -0
  609. data/doc/api/more/classes/PQueue.html +471 -0
  610. data/doc/api/more/classes/PathList.html +162 -0
  611. data/doc/api/more/classes/PathList/Finder.html +137 -0
  612. data/doc/api/more/classes/Pool.html +207 -0
  613. data/doc/api/more/classes/Proc.html +140 -0
  614. data/doc/api/more/classes/PromoteSelf.html +138 -0
  615. data/doc/api/more/classes/Quaternion.html +1497 -0
  616. data/doc/api/more/classes/REXMLBuilder.html +357 -0
  617. data/doc/api/more/classes/REXMLBuilder/REXMLUtil.html +396 -0
  618. data/doc/api/more/classes/Recorder.html +208 -0
  619. data/doc/api/more/classes/Reference.html +201 -0
  620. data/doc/api/more/classes/RubyOneLiners.html +139 -0
  621. data/doc/api/more/classes/RubyTals.html +316 -0
  622. data/doc/api/more/classes/SSLSocketWrap.html +410 -0
  623. data/doc/api/more/classes/Semaphore.html +264 -0
  624. data/doc/api/more/classes/SimpleStringIO.html +139 -0
  625. data/doc/api/more/classes/Snapshot.html +191 -0
  626. data/doc/api/more/classes/StateMachine.html +248 -0
  627. data/doc/api/more/classes/StateParser.html +276 -0
  628. data/doc/api/more/classes/StateParser/Constants.html +109 -0
  629. data/doc/api/more/classes/StateParser/Marker.html +269 -0
  630. data/doc/api/more/classes/StateParser/State.html +448 -0
  631. data/doc/api/more/classes/StaticHash.html +144 -0
  632. data/doc/api/more/classes/String.html +300 -0
  633. data/doc/api/more/classes/Struct.html +134 -0
  634. data/doc/api/more/classes/Symbol.html +118 -0
  635. data/doc/api/more/classes/SyncArray.html +131 -0
  636. data/doc/api/more/classes/SyncHash.html +135 -0
  637. data/doc/api/more/classes/SyncHash/Delegator.html +213 -0
  638. data/doc/api/more/classes/SyncHash/Inheritor.html +213 -0
  639. data/doc/api/more/classes/System.html +1055 -0
  640. data/doc/api/more/classes/TSort.html +123 -0
  641. data/doc/api/more/classes/TagIterator.html +706 -0
  642. data/doc/api/more/classes/Task.html +237 -0
  643. data/doc/api/more/classes/Task/Graph.html +165 -0
  644. data/doc/api/more/classes/Taskable.html +300 -0
  645. data/doc/api/more/classes/Time.html +746 -0
  646. data/doc/api/more/classes/Timer.html +471 -0
  647. data/doc/api/more/classes/Timer/Dummy.html +141 -0
  648. data/doc/api/more/classes/TracePoint.html +456 -0
  649. data/doc/api/more/classes/TrueClass.html +118 -0
  650. data/doc/api/more/classes/Tuple.html +907 -0
  651. data/doc/api/more/classes/TypeCastException.html +163 -0
  652. data/doc/api/more/classes/Uninheritable.html +130 -0
  653. data/doc/api/more/classes/Units.html +191 -0
  654. data/doc/api/more/classes/Units/Config.html +120 -0
  655. data/doc/api/more/classes/Units/Converter.html +808 -0
  656. data/doc/api/more/classes/Units/Converter/ExchangeRate.html +155 -0
  657. data/doc/api/more/classes/Units/Converter/ExchangeRate/CachedXMethods.html +143 -0
  658. data/doc/api/more/classes/Units/Converter/ExchangeRate/XMethods.html +197 -0
  659. data/doc/api/more/classes/Units/Unit.html +434 -0
  660. data/doc/api/more/classes/Units/Value.html +331 -0
  661. data/doc/api/more/classes/ValueHolder.html +167 -0
  662. data/doc/api/more/classes/Web.html +103 -0
  663. data/doc/api/more/classes/Web/Cookie.html +560 -0
  664. data/doc/api/more/classes/Web/CookieManager.html +567 -0
  665. data/doc/api/more/classes/Web/CookieManager/Error.html +96 -0
  666. data/doc/api/more/classes/Web/CookieManager/ErrorOverrideOK.html +94 -0
  667. data/doc/api/more/classes/Web/CookieManager/NoDotError.html +94 -0
  668. data/doc/api/more/classes/Web/CookieManager/SpecialError.html +94 -0
  669. data/doc/api/more/classes/Web/CookieUtils.html +179 -0
  670. data/doc/api/more/classes/XMLBuilder.html +132 -0
  671. data/doc/api/more/classes/XMLHelper.html +428 -0
  672. data/doc/api/more/classes/XOXO.html +251 -0
  673. data/doc/api/more/classes/YAMLStruct.html +166 -0
  674. data/doc/api/more/created.rid +1 -0
  675. data/doc/api/more/files/AUTHORS.html +206 -0
  676. data/doc/api/more/files/COPYING.html +517 -0
  677. data/doc/api/more/files/ProjectInfo.html +92 -0
  678. data/doc/api/more/files/README.html +389 -0
  679. data/doc/api/more/files/WARNING.html +132 -0
  680. data/doc/api/more/files/lib/facets/more/annattr_rb.html +116 -0
  681. data/doc/api/more/files/lib/facets/more/annotation_rb.html +117 -0
  682. data/doc/api/more/files/lib/facets/more/ansicode_rb.html +128 -0
  683. data/doc/api/more/files/lib/facets/more/aspects_rb.html +115 -0
  684. data/doc/api/more/files/lib/facets/more/association_rb.html +111 -0
  685. data/doc/api/more/files/lib/facets/more/basicobject_rb.html +129 -0
  686. data/doc/api/more/files/lib/facets/more/bbcode_rb.html +111 -0
  687. data/doc/api/more/files/lib/facets/more/binaryreader_rb.html +111 -0
  688. data/doc/api/more/files/lib/facets/more/bitmask_rb.html +111 -0
  689. data/doc/api/more/files/lib/facets/more/blankslate_rb.html +113 -0
  690. data/doc/api/more/files/lib/facets/more/builderobject_rb.html +115 -0
  691. data/doc/api/more/files/lib/facets/more/bytes_rb.html +131 -0
  692. data/doc/api/more/files/lib/facets/more/classmethods_rb.html +121 -0
  693. data/doc/api/more/files/lib/facets/more/cloneable_rb.html +132 -0
  694. data/doc/api/more/files/lib/facets/more/command_rb.html +119 -0
  695. data/doc/api/more/files/lib/facets/more/cookie_rb.html +136 -0
  696. data/doc/api/more/files/lib/facets/more/coroutine_rb.html +111 -0
  697. data/doc/api/more/files/lib/facets/more/crypt_rb.html +146 -0
  698. data/doc/api/more/files/lib/facets/more/dictionary_rb.html +123 -0
  699. data/doc/api/more/files/lib/facets/more/downloader_rb.html +124 -0
  700. data/doc/api/more/files/lib/facets/more/elementor_rb.html +115 -0
  701. data/doc/api/more/files/lib/facets/more/enumerablepass_rb.html +115 -0
  702. data/doc/api/more/files/lib/facets/more/expirable_rb.html +111 -0
  703. data/doc/api/more/files/lib/facets/more/filelist_rb.html +128 -0
  704. data/doc/api/more/files/lib/facets/more/floatstring_rb.html +115 -0
  705. data/doc/api/more/files/lib/facets/more/functor_rb.html +116 -0
  706. data/doc/api/more/files/lib/facets/more/hashbuilder_rb.html +115 -0
  707. data/doc/api/more/files/lib/facets/more/heap_rb.html +131 -0
  708. data/doc/api/more/files/lib/facets/more/htmlbuilder_rb.html +116 -0
  709. data/doc/api/more/files/lib/facets/more/htmlhelper_rb.html +119 -0
  710. data/doc/api/more/files/lib/facets/more/http_rb.html +116 -0
  711. data/doc/api/more/files/lib/facets/more/httpaccess_rb.html +137 -0
  712. data/doc/api/more/files/lib/facets/more/inheritor_rb.html +115 -0
  713. data/doc/api/more/files/lib/facets/more/interval_rb.html +120 -0
  714. data/doc/api/more/files/lib/facets/more/ioredirect_rb.html +116 -0
  715. data/doc/api/more/files/lib/facets/more/json_rb.html +141 -0
  716. data/doc/api/more/files/lib/facets/more/lazy_rb.html +111 -0
  717. data/doc/api/more/files/lib/facets/more/lisp_format_rb.html +129 -0
  718. data/doc/api/more/files/lib/facets/more/lisp_rb.html +119 -0
  719. data/doc/api/more/files/lib/facets/more/lrucache_rb.html +111 -0
  720. data/doc/api/more/files/lib/facets/more/mathconstants_rb.html +121 -0
  721. data/doc/api/more/files/lib/facets/more/methodprobe_rb.html +111 -0
  722. data/doc/api/more/files/lib/facets/more/mock_rb.html +208 -0
  723. data/doc/api/more/files/lib/facets/more/multipliers_rb.html +115 -0
  724. data/doc/api/more/files/lib/facets/more/multiton_rb.html +114 -0
  725. data/doc/api/more/files/lib/facets/more/nackclass_rb.html +151 -0
  726. data/doc/api/more/files/lib/facets/more/nilcomparable_rb.html +118 -0
  727. data/doc/api/more/files/lib/facets/more/nullclass_rb.html +111 -0
  728. data/doc/api/more/files/lib/facets/more/one_rb.html +158 -0
  729. data/doc/api/more/files/lib/facets/more/opencascade_rb.html +129 -0
  730. data/doc/api/more/files/lib/facets/more/openobject_rb.html +120 -0
  731. data/doc/api/more/files/lib/facets/more/orderedhash_rb.html +113 -0
  732. data/doc/api/more/files/lib/facets/more/ormsupport_rb.html +125 -0
  733. data/doc/api/more/files/lib/facets/more/overload_rb.html +111 -0
  734. data/doc/api/more/files/lib/facets/more/paramix_rb.html +118 -0
  735. data/doc/api/more/files/lib/facets/more/pathlist_rb.html +111 -0
  736. data/doc/api/more/files/lib/facets/more/pool_rb.html +120 -0
  737. data/doc/api/more/files/lib/facets/more/pqueue_rb.html +122 -0
  738. data/doc/api/more/files/lib/facets/more/preinitialize_rb.html +115 -0
  739. data/doc/api/more/files/lib/facets/more/progressbar_rb.html +111 -0
  740. data/doc/api/more/files/lib/facets/more/promoteself_rb.html +111 -0
  741. data/doc/api/more/files/lib/facets/more/quaternion_rb.html +150 -0
  742. data/doc/api/more/files/lib/facets/more/recorder_rb.html +115 -0
  743. data/doc/api/more/files/lib/facets/more/reference_rb.html +115 -0
  744. data/doc/api/more/files/lib/facets/more/rexmlbuilder_rb.html +116 -0
  745. data/doc/api/more/files/lib/facets/more/rtals_rb.html +115 -0
  746. data/doc/api/more/files/lib/facets/more/semaphore_rb.html +111 -0
  747. data/doc/api/more/files/lib/facets/more/snapshot_rb.html +121 -0
  748. data/doc/api/more/files/lib/facets/more/stateparser_rb.html +115 -0
  749. data/doc/api/more/files/lib/facets/more/statichash_rb.html +133 -0
  750. data/doc/api/more/files/lib/facets/more/syncarray_rb.html +115 -0
  751. data/doc/api/more/files/lib/facets/more/synchash_rb.html +115 -0
  752. data/doc/api/more/files/lib/facets/more/system_rb.html +123 -0
  753. data/doc/api/more/files/lib/facets/more/tagiterator_rb.html +111 -0
  754. data/doc/api/more/files/lib/facets/more/taskable_rb.html +118 -0
  755. data/doc/api/more/files/lib/facets/more/timer_rb.html +127 -0
  756. data/doc/api/more/files/lib/facets/more/times_rb.html +127 -0
  757. data/doc/api/more/files/lib/facets/more/tracepoint_rb.html +131 -0
  758. data/doc/api/more/files/lib/facets/more/tuple_rb.html +122 -0
  759. data/doc/api/more/files/lib/facets/more/typecast_rb.html +133 -0
  760. data/doc/api/more/files/lib/facets/more/uninheritable_rb.html +111 -0
  761. data/doc/api/more/files/lib/facets/more/units_rb.html +118 -0
  762. data/doc/api/more/files/lib/facets/more/xmlbuilder_rb.html +116 -0
  763. data/doc/api/more/files/lib/facets/more/xmlhelper_rb.html +111 -0
  764. data/doc/api/more/files/lib/facets/more/xoxo_rb.html +125 -0
  765. data/doc/api/more/files/lib/facets/more/yamlstruct_rb.html +123 -0
  766. data/doc/api/more/fr_class_index.html +196 -0
  767. data/doc/api/more/fr_file_index.html +136 -0
  768. data/doc/api/more/fr_method_index.html +1284 -0
  769. data/doc/api/more/index.html +26 -0
  770. data/doc/api/more/rdoc-style.css +175 -0
  771. data/{note → doc}/history/ANN-0.6.0 +0 -0
  772. data/{note → doc}/history/ANN-0.6.1 +0 -0
  773. data/{note → doc}/history/ANN-0.6.3 +0 -0
  774. data/{note → doc}/history/ANN-0.7.0 +0 -0
  775. data/{note → doc}/history/ANN-0.8.1 +0 -0
  776. data/{note → doc}/history/INTRO +0 -0
  777. data/{note → doc}/history/README +0 -0
  778. data/{note → doc}/history/README-OLD +0 -0
  779. data/{note → doc/scrap}/Rakefile.old +0 -0
  780. data/{web → doc/web}/documentation.html +2 -2
  781. data/{web → doc/web}/images/abc.png +0 -0
  782. data/{web → doc/web}/images/abc1.png +0 -0
  783. data/{web → doc/web}/images/apple_core.jpg +0 -0
  784. data/{web → doc/web}/images/apples3.jpg +0 -0
  785. data/{web → doc/web}/images/core.jpg +0 -0
  786. data/{web → doc/web}/images/favicon.ico +0 -0
  787. data/{web → doc/web}/images/gray.jpg +0 -0
  788. data/{web → doc/web}/images/ruby-lg.png +0 -0
  789. data/{web → doc/web}/images/ruby.gif +0 -0
  790. data/{web → doc/web}/images/three_apples.jpg +0 -0
  791. data/{web → doc/web}/images/yellow_fade.jpg +0 -0
  792. data/{web → doc/web}/images/yellow_fade2.jpg +0 -0
  793. data/{web → doc/web}/index.html +0 -0
  794. data/{web → doc/web}/style.css +0 -0
  795. data/forge/more/actionplan.rb +21 -0
  796. data/forge/more/aspect.rb +95 -0
  797. data/lib/facet/module/alias_method_chain.rb +1 -0
  798. data/lib/facet/nilclass/status.rb +1 -0
  799. data/lib/facets/core/enumerable/cascade.rb +16 -0
  800. data/lib/facets/core/hash/variablize_keys.rb +54 -2
  801. data/lib/facets/core/module/alias_method_chain.rb +37 -0
  802. data/lib/facets/core/nilclass/status.rb +24 -0
  803. data/lib/facets/more/basicobject.rb +75 -44
  804. data/lib/facets/more/builderobject.rb +1 -1
  805. data/lib/facets/more/cookie.rb +7 -7
  806. data/lib/facets/more/functor.rb +9 -4
  807. data/meta/calibre/ProjectInfo.annotation +46 -0
  808. data/meta/calibre/ProjectInfo.ansicode +33 -0
  809. data/meta/calibre/ProjectInfo.asociation +34 -0
  810. data/meta/calibre/ProjectInfo.basicobject +36 -0
  811. data/meta/calibre/ProjectInfo.bbcode +34 -0
  812. data/meta/calibre/ProjectInfo.binaryreader +35 -0
  813. data/meta/calibre/ProjectInfo.bitmask +33 -0
  814. data/meta/calibre/ProjectInfo.classinherit +36 -0
  815. data/meta/calibre/ProjectInfo.classmethods +36 -0
  816. data/meta/calibre/ProjectInfo.cloneable +33 -0
  817. data/meta/calibre/ProjectInfo.consoleapp +35 -0
  818. data/meta/calibre/ProjectInfo.coroutine +37 -0
  819. data/meta/calibre/ProjectInfo.crypt +33 -0
  820. data/meta/calibre/ProjectInfo.dictionary +40 -0
  821. data/meta/calibre/ProjectInfo.downloader +39 -0
  822. data/meta/calibre/ProjectInfo.enumerablepass +35 -0
  823. data/meta/calibre/ProjectInfo.expirable +37 -0
  824. data/meta/calibre/ProjectInfo.floatstring +35 -0
  825. data/meta/calibre/ProjectInfo.functor +40 -0
  826. data/meta/calibre/ProjectInfo.heap +33 -0
  827. data/meta/calibre/ProjectInfo.inheritor +36 -0
  828. data/meta/calibre/ProjectInfo.interval +36 -0
  829. data/meta/calibre/ProjectInfo.lisp +38 -0
  830. data/meta/calibre/ProjectInfo.lrucache +34 -0
  831. data/meta/calibre/ProjectInfo.mathconstants +41 -0
  832. data/meta/calibre/ProjectInfo.methodprobe +38 -0
  833. data/meta/calibre/ProjectInfo.mock +34 -0
  834. data/meta/calibre/ProjectInfo.multiton +36 -0
  835. data/meta/calibre/ProjectInfo.nackclass +33 -0
  836. data/meta/calibre/ProjectInfo.nilcomparable +35 -0
  837. data/meta/calibre/ProjectInfo.nullclass +35 -0
  838. data/meta/calibre/ProjectInfo.one +37 -0
  839. data/meta/calibre/ProjectInfo.openobject +39 -0
  840. data/meta/calibre/ProjectInfo.paramix +38 -0
  841. data/meta/calibre/ProjectInfo.pool +33 -0
  842. data/meta/calibre/ProjectInfo.progressbar +37 -0
  843. data/meta/calibre/ProjectInfo.reference +36 -0
  844. data/meta/calibre/ProjectInfo.semaphore +36 -0
  845. data/meta/calibre/ProjectInfo.stateparser +39 -0
  846. data/meta/calibre/ProjectInfo.statichash +33 -0
  847. data/meta/calibre/ProjectInfo.system +34 -0
  848. data/meta/calibre/ProjectInfo.tagiterator +36 -0
  849. data/meta/calibre/ProjectInfo.timer +35 -0
  850. data/meta/calibre/ProjectInfo.tracepoint +37 -0
  851. data/meta/calibre/ProjectInfo.tuple +36 -0
  852. data/meta/calibre/ProjectInfo.uniheritable +34 -0
  853. data/meta/calibre/ProjectInfo.units +34 -0
  854. data/meta/calibre/ProjectInfo.yamlstruct +34 -0
  855. data/meta/data +36 -0
  856. data/meta/tasks/calibre.rb +15 -0
  857. data/test/lib/facets/core/array/test_at_rand.rb +1 -1
  858. data/test/lib/facets/core/array/test_delete_unless.rb +1 -1
  859. data/test/lib/facets/core/array/test_delete_values.rb +1 -1
  860. data/test/lib/facets/core/array/test_delete_values_at.rb +1 -1
  861. data/test/lib/facets/core/array/test_first.rb +1 -1
  862. data/test/lib/facets/core/array/test_head.rb +1 -1
  863. data/test/lib/facets/core/array/test_last_index.rb +1 -1
  864. data/test/lib/facets/core/array/test_merge.rb +1 -1
  865. data/test/lib/facets/core/array/test_mid.rb +1 -1
  866. data/test/lib/facets/core/array/test_middle.rb +1 -1
  867. data/test/lib/facets/core/array/test_op_fetch.rb +1 -1
  868. data/test/lib/facets/core/array/test_op_store.rb +1 -1
  869. data/test/lib/facets/core/array/test_pick.rb +1 -1
  870. data/test/lib/facets/core/array/test_pos.rb +1 -1
  871. data/test/lib/facets/core/array/test_pot.rb +1 -1
  872. data/test/lib/facets/core/array/test_pull.rb +1 -1
  873. data/test/lib/facets/core/array/test_rand_index.rb +1 -1
  874. data/test/lib/facets/core/array/test_rand_subset.rb +1 -1
  875. data/test/lib/facets/core/array/test_range.rb +1 -1
  876. data/test/lib/facets/core/array/test_rotate.rb +1 -1
  877. data/test/lib/facets/core/array/test_select.rb +1 -1
  878. data/test/lib/facets/core/array/test_shuffle.rb +1 -1
  879. data/test/lib/facets/core/array/test_thru.rb +1 -1
  880. data/test/lib/facets/core/array/test_to_b.rb +1 -1
  881. data/test/lib/facets/core/array/test_to_h.rb +1 -1
  882. data/test/lib/facets/core/array/test_to_hash.rb +1 -1
  883. data/test/lib/facets/core/binding/self/test_of_caller.rb +1 -1
  884. data/test/lib/facets/core/binding/test___LINE__.rb +1 -1
  885. data/test/lib/facets/core/binding/test_call_stack.rb +1 -1
  886. data/test/lib/facets/core/binding/test_called.rb +1 -1
  887. data/test/lib/facets/core/binding/test_caller.rb +1 -1
  888. data/test/lib/facets/core/binding/test_defined.rb +1 -1
  889. data/test/lib/facets/core/binding/test_eval.rb +1 -1
  890. data/test/lib/facets/core/binding/test_local_variables.rb +1 -1
  891. data/test/lib/facets/core/binding/test_method_name.rb +1 -1
  892. data/test/lib/facets/core/binding/test_op_fetch.rb +1 -1
  893. data/test/lib/facets/core/binding/test_op_store.rb +1 -1
  894. data/test/lib/facets/core/binding/test_self.rb +1 -1
  895. data/test/lib/facets/core/class/test_cattr.rb +1 -1
  896. data/test/lib/facets/core/class/test_descendents.rb +1 -1
  897. data/test/lib/facets/core/class/test_method_name.rb +1 -1
  898. data/test/lib/facets/core/class/test_remove_descendents.rb +1 -1
  899. data/test/lib/facets/core/class/test_unix_path.rb +1 -1
  900. data/test/lib/facets/core/comparable/test_at_least.rb +1 -1
  901. data/test/lib/facets/core/comparable/test_clip.rb +1 -1
  902. data/test/lib/facets/core/comparable/test_cmp.rb +1 -1
  903. data/test/lib/facets/core/continuation/self/test_create.rb +1 -1
  904. data/test/lib/facets/core/date/test_days_in_month.rb +1 -1
  905. data/test/lib/facets/core/date/test_days_of_month.rb +1 -1
  906. data/test/lib/facets/core/date/test_stamp.rb +1 -1
  907. data/test/lib/facets/core/date/test_to_date.rb +1 -1
  908. data/test/lib/facets/core/date/test_to_s.rb +1 -1
  909. data/test/lib/facets/core/date/test_to_time.rb +1 -1
  910. data/test/lib/facets/core/dir/self/test_ancestor.rb +1 -1
  911. data/test/lib/facets/core/dir/self/test_ascend.rb +1 -1
  912. data/test/lib/facets/core/enumerable/self/test_combinations.rb +1 -1
  913. data/test/lib/facets/core/enumerable/self/test_cross.rb +1 -1
  914. data/test/lib/facets/core/enumerable/test_collect_with_index.rb +1 -1
  915. data/test/lib/facets/core/enumerable/test_commonality.rb +1 -1
  916. data/test/lib/facets/core/enumerable/test_compact_collect.rb +1 -1
  917. data/test/lib/facets/core/enumerable/test_count.rb +1 -1
  918. data/test/lib/facets/core/enumerable/test_cross.rb +1 -1
  919. data/test/lib/facets/core/enumerable/test_each_combination.rb +1 -1
  920. data/test/lib/facets/core/enumerable/test_each_pair.rb +1 -1
  921. data/test/lib/facets/core/enumerable/test_each_slice.rb +1 -1
  922. data/test/lib/facets/core/enumerable/test_each_unique_pair.rb +1 -1
  923. data/test/lib/facets/core/enumerable/test_entropy.rb +1 -1
  924. data/test/lib/facets/core/enumerable/test_every.rb +1 -1
  925. data/test/lib/facets/core/enumerable/test_ew.rb +1 -1
  926. data/test/lib/facets/core/enumerable/test_filter_collect.rb +1 -1
  927. data/test/lib/facets/core/enumerable/test_find_collisions.rb +1 -1
  928. data/test/lib/facets/core/enumerable/test_frequency.rb +1 -1
  929. data/test/lib/facets/core/enumerable/test_graph.rb +1 -1
  930. data/test/lib/facets/core/enumerable/test_ideal_entropy.rb +1 -1
  931. data/test/lib/facets/core/enumerable/test_none.rb +1 -1
  932. data/test/lib/facets/core/enumerable/test_occur.rb +1 -1
  933. data/test/lib/facets/core/enumerable/test_one.rb +1 -1
  934. data/test/lib/facets/core/enumerable/test_op_pow.rb +1 -1
  935. data/test/lib/facets/core/enumerable/test_partition_by.rb +1 -1
  936. data/test/lib/facets/core/enumerable/test_permute.rb +1 -1
  937. data/test/lib/facets/core/enumerable/test_probability.rb +1 -1
  938. data/test/lib/facets/core/enumerable/test_to_h.rb +1 -1
  939. data/test/lib/facets/core/enumerable/test_uniq_by.rb +1 -1
  940. data/test/lib/facets/core/file/self/test_create.rb +1 -1
  941. data/test/lib/facets/core/file/self/test_open_as_string.rb +1 -1
  942. data/test/lib/facets/core/file/self/test_read_list.rb +1 -1
  943. data/test/lib/facets/core/file/self/test_sanitize.rb +1 -1
  944. data/test/lib/facets/core/file/self/test_split_all.rb +1 -1
  945. data/test/lib/facets/core/float/test_round_at.rb +1 -1
  946. data/test/lib/facets/core/float/test_round_to.rb +1 -1
  947. data/test/lib/facets/core/hash/self/test_zipnew.rb +1 -1
  948. data/test/lib/facets/core/hash/test_alias.rb +1 -1
  949. data/test/lib/facets/core/hash/test_assert_has_keys.rb +1 -1
  950. data/test/lib/facets/core/hash/test_assert_has_only_keys.rb +1 -1
  951. data/test/lib/facets/core/hash/test_at.rb +1 -1
  952. data/test/lib/facets/core/hash/test_collate.rb +1 -1
  953. data/test/lib/facets/core/hash/test_each.rb +1 -1
  954. data/test/lib/facets/core/hash/test_each_with_index.rb +1 -1
  955. data/test/lib/facets/core/hash/test_each_with_key.rb +1 -1
  956. data/test/lib/facets/core/hash/test_graph.rb +1 -1
  957. data/test/lib/facets/core/hash/test_has_keys.rb +1 -1
  958. data/test/lib/facets/core/hash/test_has_only_keys.rb +1 -1
  959. data/test/lib/facets/core/hash/test_inverse.rb +1 -1
  960. data/test/lib/facets/core/hash/test_keys_to_s.rb +1 -1
  961. data/test/lib/facets/core/hash/test_keys_to_sym.rb +1 -1
  962. data/test/lib/facets/core/hash/test_op_fetch.rb +1 -1
  963. data/test/lib/facets/core/hash/test_op_lshift.rb +1 -1
  964. data/test/lib/facets/core/hash/test_rand_key.rb +1 -1
  965. data/test/lib/facets/core/hash/test_rand_pair.rb +1 -1
  966. data/test/lib/facets/core/hash/test_rand_value.rb +1 -1
  967. data/test/lib/facets/core/hash/test_replace_each.rb +1 -1
  968. data/test/lib/facets/core/hash/test_shuffle.rb +1 -1
  969. data/test/lib/facets/core/hash/test_slice.rb +1 -1
  970. data/test/lib/facets/core/hash/test_swap.rb +1 -1
  971. data/test/lib/facets/core/hash/test_swapkey.rb +1 -1
  972. data/test/lib/facets/core/hash/test_to_h.rb +1 -1
  973. data/test/lib/facets/core/hash/test_to_ostruct.rb +1 -1
  974. data/test/lib/facets/core/hash/test_to_ostruct_recurse.rb +1 -1
  975. data/test/lib/facets/core/hash/test_traverse.rb +1 -1
  976. data/test/lib/facets/core/hash/test_update_each.rb +1 -1
  977. data/test/lib/facets/core/hash/test_update_keys.rb +1 -1
  978. data/test/lib/facets/core/hash/test_update_values.rb +1 -1
  979. data/test/lib/facets/core/hash/test_weave.rb +1 -1
  980. data/test/lib/facets/core/integer/test_factorial.rb +1 -1
  981. data/test/lib/facets/core/integer/test_multiple.rb +1 -1
  982. data/test/lib/facets/core/integer/test_ordinal.rb +1 -1
  983. data/test/lib/facets/core/integer/test_times_collect.rb +1 -1
  984. data/test/lib/facets/core/kernel/test___class__.rb +1 -1
  985. data/test/lib/facets/core/kernel/test___method__.rb +1 -1
  986. data/test/lib/facets/core/kernel/test_as.rb +1 -1
  987. data/test/lib/facets/core/kernel/test_assign_from.rb +1 -1
  988. data/test/lib/facets/core/kernel/test_assign_with.rb +1 -1
  989. data/test/lib/facets/core/kernel/test_bool.rb +1 -1
  990. data/test/lib/facets/core/kernel/test_bug.rb +1 -1
  991. data/test/lib/facets/core/kernel/test_call_stack.rb +1 -1
  992. data/test/lib/facets/core/kernel/test_called.rb +1 -1
  993. data/test/lib/facets/core/kernel/test_constant.rb +1 -1
  994. data/test/lib/facets/core/kernel/test_copy.rb +1 -1
  995. data/test/lib/facets/core/kernel/test_deep_copy.rb +1 -1
  996. data/test/lib/facets/core/kernel/test_demo.rb +1 -1
  997. data/test/lib/facets/core/kernel/test_fn.rb +1 -1
  998. data/test/lib/facets/core/kernel/test_generate_method_name.rb +1 -1
  999. data/test/lib/facets/core/kernel/test_get_by_id.rb +1 -1
  1000. data/test/lib/facets/core/kernel/test_here.rb +1 -1
  1001. data/test/lib/facets/core/kernel/test_in.rb +1 -1
  1002. data/test/lib/facets/core/kernel/test_maybe.rb +1 -1
  1003. data/test/lib/facets/core/kernel/test_metaclass.rb +1 -1
  1004. data/test/lib/facets/core/kernel/test_method.rb +1 -1
  1005. data/test/lib/facets/core/kernel/test_methods.rb +1 -1
  1006. data/test/lib/facets/core/kernel/test_new.rb +1 -1
  1007. data/test/lib/facets/core/kernel/test_object_class.rb +1 -1
  1008. data/test/lib/facets/core/kernel/test_object_hexid.rb +1 -1
  1009. data/test/lib/facets/core/kernel/test_quaclass.rb +1 -1
  1010. data/test/lib/facets/core/kernel/test_require_all.rb +1 -1
  1011. data/test/lib/facets/core/kernel/test_require_esc.rb +1 -1
  1012. data/test/lib/facets/core/kernel/test_require_facet.rb +1 -1
  1013. data/test/lib/facets/core/kernel/test_resc.rb +1 -1
  1014. data/test/lib/facets/core/kernel/test_returning.rb +1 -1
  1015. data/test/lib/facets/core/kernel/test_send_as.rb +1 -1
  1016. data/test/lib/facets/core/kernel/test_set_from.rb +1 -1
  1017. data/test/lib/facets/core/kernel/test_set_with.rb +1 -1
  1018. data/test/lib/facets/core/kernel/test_silently.rb +1 -1
  1019. data/test/lib/facets/core/kernel/test_singleton.rb +1 -1
  1020. data/test/lib/facets/core/kernel/test_singleton_class.rb +1 -1
  1021. data/test/lib/facets/core/kernel/test_superior.rb +1 -1
  1022. data/test/lib/facets/core/kernel/test_supermethod.rb +1 -1
  1023. data/test/lib/facets/core/kernel/test_this.rb +1 -1
  1024. data/test/lib/facets/core/kernel/test_to_b.rb +1 -1
  1025. data/test/lib/facets/core/kernel/test_to_bool.rb +1 -1
  1026. data/test/lib/facets/core/kernel/test_uri.rb +1 -1
  1027. data/test/lib/facets/core/kernel/test_val.rb +1 -1
  1028. data/test/lib/facets/core/kernel/test_with_accessor.rb +1 -1
  1029. data/test/lib/facets/core/matchdata/test_match.rb +1 -1
  1030. data/test/lib/facets/core/matchdata/test_matchtree.rb +1 -1
  1031. data/test/lib/facets/core/module/test_abstract.rb +1 -1
  1032. data/test/lib/facets/core/module/test_alias_module_function.rb +1 -1
  1033. data/test/lib/facets/core/module/test_ancestor.rb +1 -1
  1034. data/test/lib/facets/core/module/test_basename.rb +1 -1
  1035. data/test/lib/facets/core/module/test_by_name.rb +1 -1
  1036. data/test/lib/facets/core/module/test_class_extension.rb +1 -1
  1037. data/test/lib/facets/core/module/test_clone_using.rb +1 -1
  1038. data/test/lib/facets/core/module/test_dirname.rb +1 -1
  1039. data/test/lib/facets/core/module/test_equate_on.rb +1 -1
  1040. data/test/lib/facets/core/module/test_generate_instance_method_name.rb +1 -1
  1041. data/test/lib/facets/core/module/test_include_as.rb +1 -1
  1042. data/test/lib/facets/core/module/test_initializer.rb +1 -1
  1043. data/test/lib/facets/core/module/test_instance_methods.rb +1 -1
  1044. data/test/lib/facets/core/module/test_integrate.rb +1 -1
  1045. data/test/lib/facets/core/module/test_memoize.rb +1 -1
  1046. data/test/lib/facets/core/module/test_modspace.rb +1 -1
  1047. data/test/lib/facets/core/module/test_namespace.rb +1 -1
  1048. data/test/lib/facets/core/module/test_nesting.rb +1 -1
  1049. data/test/lib/facets/core/module/test_nodef.rb +1 -1
  1050. data/test/lib/facets/core/module/test_on_included.rb +1 -1
  1051. data/test/lib/facets/core/module/test_redef.rb +1 -1
  1052. data/test/lib/facets/core/module/test_redefine_method.rb +1 -1
  1053. data/test/lib/facets/core/module/test_redirect.rb +1 -1
  1054. data/test/lib/facets/core/module/test_redirect_method.rb +1 -1
  1055. data/test/lib/facets/core/module/test_remove.rb +1 -1
  1056. data/test/lib/facets/core/module/test_rename.rb +1 -1
  1057. data/test/lib/facets/core/module/test_rename_method.rb +1 -1
  1058. data/test/lib/facets/core/module/test_revisal.rb +1 -1
  1059. data/test/lib/facets/core/module/test_shadow_method.rb +1 -1
  1060. data/test/lib/facets/core/module/test_sort_on.rb +1 -1
  1061. data/test/lib/facets/core/module/test_this.rb +1 -1
  1062. data/test/lib/facets/core/module/test_wrap.rb +1 -1
  1063. data/test/lib/facets/core/module/test_wrap_method.rb +1 -1
  1064. data/test/lib/facets/core/nilclass/test_blank.rb +1 -1
  1065. data/test/lib/facets/core/nilclass/test_empty.rb +1 -1
  1066. data/test/lib/facets/core/nilclass/test_include.rb +1 -1
  1067. data/test/lib/facets/core/nilclass/test_op_fetch.rb +1 -1
  1068. data/test/lib/facets/core/nilclass/test_size.rb +1 -1
  1069. data/test/lib/facets/core/nilclass/test_to_h.rb +1 -1
  1070. data/test/lib/facets/core/numeric/test_approx.rb +1 -1
  1071. data/test/lib/facets/core/numeric/test_ceil_multiple.rb +1 -1
  1072. data/test/lib/facets/core/numeric/test_succ.rb +1 -1
  1073. data/test/lib/facets/core/numeric/test_to_b.rb +1 -1
  1074. data/test/lib/facets/core/ostruct/test___merge__.rb +1 -1
  1075. data/test/lib/facets/core/ostruct/test___update__.rb +1 -1
  1076. data/test/lib/facets/core/ostruct/test_op_fetch.rb +1 -1
  1077. data/test/lib/facets/core/ostruct/test_op_store.rb +1 -1
  1078. data/test/lib/facets/core/proc/test_compose.rb +1 -1
  1079. data/test/lib/facets/core/proc/test_to_method.rb +1 -1
  1080. data/test/lib/facets/core/range/test_to_r.rb +1 -1
  1081. data/test/lib/facets/core/range/test_to_range.rb +1 -1
  1082. data/test/lib/facets/core/range/test_umbrella.rb +1 -1
  1083. data/test/lib/facets/core/range/test_within.rb +1 -1
  1084. data/test/lib/facets/core/regexp/test_arity.rb +1 -1
  1085. data/test/lib/facets/core/regexp/test_to_re.rb +1 -1
  1086. data/test/lib/facets/core/regexp/test_to_regexp.rb +1 -1
  1087. data/test/lib/facets/core/string/self/test_interpolate.rb +1 -1
  1088. data/test/lib/facets/core/string/self/test_patterns.rb +1 -1
  1089. data/test/lib/facets/core/string/self/test_rand_letter.rb +1 -1
  1090. data/test/lib/facets/core/string/test_align_center.rb +1 -1
  1091. data/test/lib/facets/core/string/test_at_rand.rb +1 -1
  1092. data/test/lib/facets/core/string/test_basename.rb +1 -1
  1093. data/test/lib/facets/core/string/test_blank.rb +1 -1
  1094. data/test/lib/facets/core/string/test_bracket.rb +1 -1
  1095. data/test/lib/facets/core/string/test_camelcase.rb +1 -1
  1096. data/test/lib/facets/core/string/test_camelize.rb +1 -1
  1097. data/test/lib/facets/core/string/test_capitalized.rb +1 -1
  1098. data/test/lib/facets/core/string/test_chars.rb +1 -1
  1099. data/test/lib/facets/core/string/test_cmp.rb +1 -1
  1100. data/test/lib/facets/core/string/test_demodulize.rb +1 -1
  1101. data/test/lib/facets/core/string/test_downcase.rb +1 -1
  1102. data/test/lib/facets/core/string/test_dresner.rb +1 -1
  1103. data/test/lib/facets/core/string/test_each_char.rb +1 -1
  1104. data/test/lib/facets/core/string/test_each_word.rb +1 -1
  1105. data/test/lib/facets/core/string/test_first.rb +1 -1
  1106. data/test/lib/facets/core/string/test_fold.rb +1 -1
  1107. data/test/lib/facets/core/string/test_humanize.rb +1 -1
  1108. data/test/lib/facets/core/string/test_indent.rb +1 -1
  1109. data/test/lib/facets/core/string/test_index_all.rb +1 -1
  1110. data/test/lib/facets/core/string/test_last.rb +1 -1
  1111. data/test/lib/facets/core/string/test_line_wrap.rb +1 -1
  1112. data/test/lib/facets/core/string/test_lines.rb +1 -1
  1113. data/test/lib/facets/core/string/test_lowercase.rb +1 -1
  1114. data/test/lib/facets/core/string/test_margin.rb +1 -1
  1115. data/test/lib/facets/core/string/test_methodize.rb +1 -1
  1116. data/test/lib/facets/core/string/test_modulize.rb +1 -1
  1117. data/test/lib/facets/core/string/test_mscan.rb +1 -1
  1118. data/test/lib/facets/core/string/test_natcmp.rb +1 -1
  1119. data/test/lib/facets/core/string/test_nchar.rb +1 -1
  1120. data/test/lib/facets/core/string/test_pathize.rb +1 -1
  1121. data/test/lib/facets/core/string/test_pop.rb +1 -1
  1122. data/test/lib/facets/core/string/test_pot.rb +1 -1
  1123. data/test/lib/facets/core/string/test_push.rb +1 -1
  1124. data/test/lib/facets/core/string/test_quote.rb +1 -1
  1125. data/test/lib/facets/core/string/test_rand_byte.rb +1 -1
  1126. data/test/lib/facets/core/string/test_rand_index.rb +1 -1
  1127. data/test/lib/facets/core/string/test_range.rb +1 -1
  1128. data/test/lib/facets/core/string/test_range_all.rb +1 -1
  1129. data/test/lib/facets/core/string/test_range_of_line.rb +1 -1
  1130. data/test/lib/facets/core/string/test_regesc.rb +1 -1
  1131. data/test/lib/facets/core/string/test_shatter.rb +1 -1
  1132. data/test/lib/facets/core/string/test_shift.rb +1 -1
  1133. data/test/lib/facets/core/string/test_shuffle.rb +1 -1
  1134. data/test/lib/facets/core/string/test_similarity.rb +1 -1
  1135. data/test/lib/facets/core/string/test_singular.rb +1 -1
  1136. data/test/lib/facets/core/string/test_soundex.rb +1 -1
  1137. data/test/lib/facets/core/string/test_succ.rb +1 -1
  1138. data/test/lib/facets/core/string/test_to_a.rb +1 -1
  1139. data/test/lib/facets/core/string/test_to_b.rb +1 -1
  1140. data/test/lib/facets/core/string/test_to_const.rb +1 -1
  1141. data/test/lib/facets/core/string/test_to_date.rb +1 -1
  1142. data/test/lib/facets/core/string/test_to_proc.rb +1 -1
  1143. data/test/lib/facets/core/string/test_to_re.rb +1 -1
  1144. data/test/lib/facets/core/string/test_to_time.rb +1 -1
  1145. data/test/lib/facets/core/string/test_unix_crypt.rb +1 -1
  1146. data/test/lib/facets/core/string/test_unpack.rb +1 -1
  1147. data/test/lib/facets/core/string/test_unshift.rb +1 -1
  1148. data/test/lib/facets/core/string/test_upcase.rb +1 -1
  1149. data/test/lib/facets/core/string/test_whitespace.rb +1 -1
  1150. data/test/lib/facets/core/string/test_word_filter.rb +1 -1
  1151. data/test/lib/facets/core/string/test_word_wrap.rb +1 -1
  1152. data/test/lib/facets/core/string/test_words.rb +1 -1
  1153. data/test/lib/facets/core/symbol/test_camelcase.rb +1 -1
  1154. data/test/lib/facets/core/symbol/test_camelize.rb +1 -1
  1155. data/test/lib/facets/core/symbol/test_capitalize.rb +1 -1
  1156. data/test/lib/facets/core/symbol/test_capitalized.rb +1 -1
  1157. data/test/lib/facets/core/symbol/test_downcase.rb +1 -1
  1158. data/test/lib/facets/core/symbol/test_not.rb +1 -1
  1159. data/test/lib/facets/core/symbol/test_pad.rb +1 -1
  1160. data/test/lib/facets/core/symbol/test_succ.rb +1 -1
  1161. data/test/lib/facets/core/symbol/test_to_const.rb +1 -1
  1162. data/test/lib/facets/core/symbol/test_to_proc.rb +1 -1
  1163. data/test/lib/facets/core/symbol/test_to_str.rb +1 -1
  1164. data/test/lib/facets/core/symbol/test_underscore.rb +1 -1
  1165. data/test/lib/facets/core/symbol/test_upcase.rb +1 -1
  1166. data/test/lib/facets/core/time/test_change.rb +1 -1
  1167. data/test/lib/facets/core/time/test_elapse.rb +1 -1
  1168. data/test/lib/facets/core/time/test_stamp.rb +1 -1
  1169. data/test/lib/facets/core/time/test_to_date.rb +1 -1
  1170. data/test/lib/facets/core/time/test_to_s.rb +1 -1
  1171. data/test/lib/facets/core/time/test_to_time.rb +1 -1
  1172. data/test/lib/facets/more/test_annattr.rb +1 -1
  1173. data/test/lib/facets/more/test_annotation.rb +1 -1
  1174. data/test/lib/facets/more/test_ansicode.rb +1 -1
  1175. data/test/lib/facets/more/test_association.rb +1 -1
  1176. data/test/lib/facets/more/test_basicobject.rb +21 -12
  1177. data/test/lib/facets/more/test_bbcode.rb +1 -1
  1178. data/test/lib/facets/more/test_binaryreader.rb +1 -1
  1179. data/test/lib/facets/more/test_bitmask.rb +1 -1
  1180. data/test/lib/facets/more/test_bytes.rb +1 -1
  1181. data/test/lib/facets/more/test_classmethods.rb +1 -1
  1182. data/test/lib/facets/more/test_command.rb +1 -1
  1183. data/test/lib/facets/more/test_coroutine.rb +1 -1
  1184. data/test/lib/facets/more/test_crypt.rb +1 -1
  1185. data/test/lib/facets/more/test_dictionary.rb +1 -1
  1186. data/test/lib/facets/more/test_elementor.rb +1 -1
  1187. data/test/lib/facets/more/test_enumerablepass.rb +1 -1
  1188. data/test/lib/facets/more/test_floatstring.rb +1 -1
  1189. data/test/lib/facets/more/test_functor.rb +1 -1
  1190. data/test/lib/facets/more/test_htmlbuilder.rb +1 -1
  1191. data/test/lib/facets/more/test_inheritor.rb +1 -1
  1192. data/test/lib/facets/more/test_interval.rb +1 -1
  1193. data/test/lib/facets/more/test_json.rb +1 -1
  1194. data/test/lib/facets/more/test_lisp.rb +1 -1
  1195. data/test/lib/facets/more/test_lisp_format.rb +1 -1
  1196. data/test/lib/facets/more/test_lrucache.rb +1 -1
  1197. data/test/lib/facets/more/test_mathconstants.rb +1 -1
  1198. data/test/lib/facets/more/test_methodprobe.rb +1 -1
  1199. data/test/lib/facets/more/test_multipliers.rb +1 -1
  1200. data/test/lib/facets/more/test_multiton.rb +1 -1
  1201. data/test/lib/facets/more/test_nackclass.rb +1 -1
  1202. data/test/lib/facets/more/test_nilcomparable.rb +1 -1
  1203. data/test/lib/facets/more/test_opencascade.rb +1 -1
  1204. data/test/lib/facets/more/test_openobject.rb +1 -1
  1205. data/test/lib/facets/more/test_overload.rb +1 -1
  1206. data/test/lib/facets/more/test_paramix.rb +1 -1
  1207. data/test/lib/facets/more/test_pqueue.rb +1 -1
  1208. data/test/lib/facets/more/test_preinitialize.rb +1 -1
  1209. data/test/lib/facets/more/test_promoteself.rb +1 -1
  1210. data/test/lib/facets/more/test_recorder.rb +1 -1
  1211. data/test/lib/facets/more/test_snapshot.rb +1 -1
  1212. data/test/lib/facets/more/test_statichash.rb +1 -1
  1213. data/test/lib/facets/more/test_syncarray.rb +1 -1
  1214. data/test/lib/facets/more/test_synchash.rb +1 -1
  1215. data/test/lib/facets/more/test_tagiterator.rb +1 -1
  1216. data/test/lib/facets/more/test_taskable.rb +1 -1
  1217. data/test/lib/facets/more/test_timer.rb +1 -1
  1218. data/test/lib/facets/more/test_times.rb +1 -1
  1219. data/test/lib/facets/more/test_tuple.rb +1 -1
  1220. data/test/lib/facets/more/test_typecast.rb +1 -1
  1221. data/test/lib/facets/more/test_uninheritable.rb +1 -1
  1222. data/test/lib/facets/more/test_units.rb +1 -1
  1223. data/test/lib/facets/more/test_xmlbuilder.rb +1 -1
  1224. data/test/lib/facets/more/test_xmlhelper.rb +1 -1
  1225. data/test/lib/facets/more/test_xoxo.rb +1 -1
  1226. data/test/lib/facets/more/test_yamlstruct.rb +1 -1
  1227. metadata +2575 -1678
  1228. data/lib/facet/hash/keys_to_iv.rb +0 -1
  1229. data/lib/facets/core/hash/keys_to_iv.rb +0 -60
@@ -0,0 +1,92 @@
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: ScriptBug</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", "width=400,height=400,scrollbars=yes" )
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 />ScriptBug</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/core/kernel/bug_rb.html">lib/facets/core/kernel/bug.rb</a>
61
+ </td>
62
+ </tr>
63
+ <tr>
64
+ <td>Parent:</td>
65
+ <td>
66
+ Exception
67
+ </td>
68
+ </tr>
69
+ </table>
70
+ </td>
71
+ </tr>
72
+ </table>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+ <div id="content">
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+ </div>
88
+
89
+ </div>
90
+
91
+ </body>
92
+ </html>
@@ -0,0 +1,3250 @@
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", "width=400,height=400,scrollbars=yes" )
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/core/enumerable/entropy_rb.html">lib/facets/core/enumerable/entropy.rb</a>
61
+ <a href="../files/lib/facets/core/string/pull_rb.html">lib/facets/core/string/pull.rb</a>
62
+ <a href="../files/lib/facets/core/string/push_rb.html">lib/facets/core/string/push.rb</a>
63
+ <a href="../files/lib/facets/core/string/shift_rb.html">lib/facets/core/string/shift.rb</a>
64
+ <a href="../files/lib/facets/core/string/dresner_rb.html">lib/facets/core/string/dresner.rb</a>
65
+ <a href="../files/lib/facets/core/string/word_filter_rb.html">lib/facets/core/string/word_filter.rb</a>
66
+ <a href="../files/lib/facets/core/string/unix_crypt_rb.html">lib/facets/core/string/unix_crypt.rb</a>
67
+ <a href="../files/lib/facets/core/string/camelcase_rb.html">lib/facets/core/string/camelcase.rb</a>
68
+ <a href="../files/lib/facets/core/string/humanize_rb.html">lib/facets/core/string/humanize.rb</a>
69
+ <a href="../files/lib/facets/core/string/at_rb.html">lib/facets/core/string/at.rb</a>
70
+ <a href="../files/lib/facets/core/string/margin_rb.html">lib/facets/core/string/margin.rb</a>
71
+ <a href="../files/lib/facets/core/string/dequote_rb.html">lib/facets/core/string/dequote.rb</a>
72
+ <a href="../files/lib/facets/core/string/word_wrap_rb.html">lib/facets/core/string/word_wrap.rb</a>
73
+ <a href="../files/lib/facets/core/string/last_rb.html">lib/facets/core/string/last.rb</a>
74
+ <a href="../files/lib/facets/core/string/unpack_rb.html">lib/facets/core/string/unpack.rb</a>
75
+ <a href="../files/lib/facets/core/string/rand_index_rb.html">lib/facets/core/string/rand_index.rb</a>
76
+ <a href="../files/lib/facets/core/string/nchar_rb.html">lib/facets/core/string/nchar.rb</a>
77
+ <a href="../files/lib/facets/core/string/singular_rb.html">lib/facets/core/string/singular.rb</a>
78
+ <a href="../files/lib/facets/core/string/brief_rb.html">lib/facets/core/string/brief.rb</a>
79
+ <a href="../files/lib/facets/core/string/similarity_rb.html">lib/facets/core/string/similarity.rb</a>
80
+ <a href="../files/lib/facets/core/string/rand_byte_rb.html">lib/facets/core/string/rand_byte.rb</a>
81
+ <a href="../files/lib/facets/core/string/to_proc_rb.html">lib/facets/core/string/to_proc.rb</a>
82
+ <a href="../files/lib/facets/core/string/blank_rb.html">lib/facets/core/string/blank.rb</a>
83
+ <a href="../files/lib/facets/core/string/demodulize_rb.html">lib/facets/core/string/demodulize.rb</a>
84
+ <a href="../files/lib/facets/core/string/to_date_rb.html">lib/facets/core/string/to_date.rb</a>
85
+ <a href="../files/lib/facets/core/string/chars_rb.html">lib/facets/core/string/chars.rb</a>
86
+ <a href="../files/lib/facets/core/string/pot_rb.html">lib/facets/core/string/pot.rb</a>
87
+ <a href="../files/lib/facets/core/string/starts_with_rb.html">lib/facets/core/string/starts_with.rb</a>
88
+ <a href="../files/lib/facets/core/string/first_char_rb.html">lib/facets/core/string/first_char.rb</a>
89
+ <a href="../files/lib/facets/core/string/capitalized_rb.html">lib/facets/core/string/capitalized.rb</a>
90
+ <a href="../files/lib/facets/core/string/bytes_rb.html">lib/facets/core/string/bytes.rb</a>
91
+ <a href="../files/lib/facets/core/string/basename_rb.html">lib/facets/core/string/basename.rb</a>
92
+ <a href="../files/lib/facets/core/string/downcase_rb.html">lib/facets/core/string/downcase.rb</a>
93
+ <a href="../files/lib/facets/core/string/succ_rb.html">lib/facets/core/string/succ.rb</a>
94
+ <a href="../files/lib/facets/core/string/cmp_rb.html">lib/facets/core/string/cmp.rb</a>
95
+ <a href="../files/lib/facets/core/string/whitespace_rb.html">lib/facets/core/string/whitespace.rb</a>
96
+ <a href="../files/lib/facets/core/string/at_rand_rb.html">lib/facets/core/string/at_rand.rb</a>
97
+ <a href="../files/lib/facets/core/string/first_rb.html">lib/facets/core/string/first.rb</a>
98
+ <a href="../files/lib/facets/core/string/fold_rb.html">lib/facets/core/string/fold.rb</a>
99
+ <a href="../files/lib/facets/core/string/camelize_rb.html">lib/facets/core/string/camelize.rb</a>
100
+ <a href="../files/lib/facets/core/string/unbracket_rb.html">lib/facets/core/string/unbracket.rb</a>
101
+ <a href="../files/lib/facets/core/string/range_rb.html">lib/facets/core/string/range.rb</a>
102
+ <a href="../files/lib/facets/core/string/to_a_rb.html">lib/facets/core/string/to_a.rb</a>
103
+ <a href="../files/lib/facets/core/string/to_b_rb.html">lib/facets/core/string/to_b.rb</a>
104
+ <a href="../files/lib/facets/core/string/to_re_rb.html">lib/facets/core/string/to_re.rb</a>
105
+ <a href="../files/lib/facets/core/string/last_char_rb.html">lib/facets/core/string/last_char.rb</a>
106
+ <a href="../files/lib/facets/core/string/line_wrap_rb.html">lib/facets/core/string/line_wrap.rb</a>
107
+ <a href="../files/lib/facets/core/string/align_center_rb.html">lib/facets/core/string/align_center.rb</a>
108
+ <a href="../files/lib/facets/core/string/words_rb.html">lib/facets/core/string/words.rb</a>
109
+ <a href="../files/lib/facets/core/string/indent_rb.html">lib/facets/core/string/indent.rb</a>
110
+ <a href="../files/lib/facets/core/string/upcase_rb.html">lib/facets/core/string/upcase.rb</a>
111
+ <a href="../files/lib/facets/core/string/format_rb.html">lib/facets/core/string/format.rb</a>
112
+ <a href="../files/lib/facets/core/string/to_const_rb.html">lib/facets/core/string/to_const.rb</a>
113
+ <a href="../files/lib/facets/core/string/pop_rb.html">lib/facets/core/string/pop.rb</a>
114
+ <a href="../files/lib/facets/core/string/range_of_line_rb.html">lib/facets/core/string/range_of_line.rb</a>
115
+ <a href="../files/lib/facets/core/string/lowercase_rb.html">lib/facets/core/string/lowercase.rb</a>
116
+ <a href="../files/lib/facets/core/string/to_time_rb.html">lib/facets/core/string/to_time.rb</a>
117
+ <a href="../files/lib/facets/core/string/ordinal_rb.html">lib/facets/core/string/ordinal.rb</a>
118
+ <a href="../files/lib/facets/core/string/shuffle_rb.html">lib/facets/core/string/shuffle.rb</a>
119
+ <a href="../files/lib/facets/core/string/each_char_rb.html">lib/facets/core/string/each_char.rb</a>
120
+ <a href="../files/lib/facets/core/string/unshift_rb.html">lib/facets/core/string/unshift.rb</a>
121
+ <a href="../files/lib/facets/core/string/each_word_rb.html">lib/facets/core/string/each_word.rb</a>
122
+ <a href="../files/lib/facets/core/string/bracket_rb.html">lib/facets/core/string/bracket.rb</a>
123
+ <a href="../files/lib/facets/core/string/index_all_rb.html">lib/facets/core/string/index_all.rb</a>
124
+ <a href="../files/lib/facets/core/string/quote_rb.html">lib/facets/core/string/quote.rb</a>
125
+ <a href="../files/lib/facets/core/string/regesc_rb.html">lib/facets/core/string/regesc.rb</a>
126
+ <a href="../files/lib/facets/core/string/soundex_rb.html">lib/facets/core/string/soundex.rb</a>
127
+ <a href="../files/lib/facets/core/string/range_all_rb.html">lib/facets/core/string/range_all.rb</a>
128
+ <a href="../files/lib/facets/core/string/mscan_rb.html">lib/facets/core/string/mscan.rb</a>
129
+ <a href="../files/lib/facets/core/string/shatter_rb.html">lib/facets/core/string/shatter.rb</a>
130
+ <a href="../files/lib/facets/core/string/underscore_rb.html">lib/facets/core/string/underscore.rb</a>
131
+ <a href="../files/lib/facets/core/string/natcmp_rb.html">lib/facets/core/string/natcmp.rb</a>
132
+ <a href="../files/lib/facets/core/string/lines_rb.html">lib/facets/core/string/lines.rb</a>
133
+ <a href="../files/lib/facets/core/string/modulize_rb.html">lib/facets/core/string/modulize.rb</a>
134
+ <a href="../files/lib/facets/core/string/pathize_rb.html">lib/facets/core/string/pathize.rb</a>
135
+ <a href="../files/lib/facets/core/string/methodize_rb.html">lib/facets/core/string/methodize.rb</a>
136
+ <a href="../files/lib/facets/core/string/shell_escape_rb.html">lib/facets/core/string/shell_escape.rb</a>
137
+ <a href="../files/lib/facets/core/string/self/patterns_rb.html">lib/facets/core/string/self/patterns.rb</a>
138
+ <a href="../files/lib/facets/core/string/self/rand_letter_rb.html">lib/facets/core/string/self/rand_letter.rb</a>
139
+ <a href="../files/lib/facets/core/string/self/interpolate_rb.html">lib/facets/core/string/self/interpolate.rb</a>
140
+ </td>
141
+ </tr>
142
+ <tr>
143
+ <td>Parent:</td>
144
+ <td>
145
+ <a href="Object.html">
146
+ Object
147
+ </a>
148
+ </td>
149
+ </tr>
150
+ </table>
151
+ </td>
152
+ </tr>
153
+ </table>
154
+ <!-- banner header -->
155
+
156
+ <div id="bodyContent">
157
+ <div id="content">
158
+
159
+
160
+
161
+
162
+ <div class="sectiontitle">Methods</div>
163
+ <ul>
164
+ <li><a href="#M000347">align_center</a></li>
165
+ <li><a href="#M000346">align_left</a></li>
166
+ <li><a href="#M000345">align_right</a></li>
167
+ <li><a href="#M000329">at_rand</a></li>
168
+ <li><a href="#M000330">at_rand!</a></li>
169
+ <li><a href="#M000324">basename</a></li>
170
+ <li><a href="#M000314">blank?</a></li>
171
+ <li><a href="#M000366">bra2ket</a></li>
172
+ <li><a href="#M000367">bracket</a></li>
173
+ <li><a href="#M000368">bracket!</a></li>
174
+ <li><a href="#M000308">brief</a></li>
175
+ <li><a href="#M000323">bytes</a></li>
176
+ <li><a href="#M000292">camelcase</a></li>
177
+ <li><a href="#M000335">camelize</a></li>
178
+ <li><a href="#M000322">capitalized?</a></li>
179
+ <li><a href="#M000317">chars</a></li>
180
+ <li><a href="#M000327">cmp</a></li>
181
+ <li><a href="#M000295">dequote</a></li>
182
+ <li><a href="#M000325">downcase?</a></li>
183
+ <li><a href="#M000286">dresner</a></li>
184
+ <li><a href="#M000287">dresner!</a></li>
185
+ <li><a href="#M000363">each_char</a></li>
186
+ <li><a href="#M000365">each_word</a></li>
187
+ <li><a href="#M000320">ends_with?</a></li>
188
+ <li><a href="#M000282">entropy</a></li>
189
+ <li><a href="#M000331">first</a></li>
190
+ <li><a href="#M000332">first!</a></li>
191
+ <li><a href="#M000333">first=</a></li>
192
+ <li><a href="#M000321">first_char</a></li>
193
+ <li><a href="#M000334">fold</a></li>
194
+ <li><a href="#M000387">format</a></li>
195
+ <li><a href="#M000354">format</a></li>
196
+ <li><a href="#M000310">fuzzy_match</a></li>
197
+ <li><a href="#M000293">humanize</a></li>
198
+ <li><a href="#M000351">indent</a></li>
199
+ <li><a href="#M000369">index_all</a></li>
200
+ <li><a href="#M000389">interpolate</a></li>
201
+ <li><a href="#M000298">last</a></li>
202
+ <li><a href="#M000300">last!</a></li>
203
+ <li><a href="#M000299">last=</a></li>
204
+ <li><a href="#M000343">last_char</a></li>
205
+ <li><a href="#M000344">line_wrap</a></li>
206
+ <li><a href="#M000379">lines</a></li>
207
+ <li><a href="#M000358">lowercase?</a></li>
208
+ <li><a href="#M000294">margin</a></li>
209
+ <li><a href="#M000382">methodize</a></li>
210
+ <li><a href="#M000380">modulize</a></li>
211
+ <li><a href="#M000375">mscan</a></li>
212
+ <li><a href="#M000378">natcmp</a></li>
213
+ <li><a href="#M000303">nchar</a></li>
214
+ <li><a href="#M000360">ordinal</a></li>
215
+ <li><a href="#M000381">pathize</a></li>
216
+ <li><a href="#M000384">patterns</a></li>
217
+ <li><a href="#M000305">plural</a></li>
218
+ <li><a href="#M000307">pluralize</a></li>
219
+ <li><a href="#M000356">pop</a></li>
220
+ <li><a href="#M000318">pot</a></li>
221
+ <li><a href="#M000283">pull</a></li>
222
+ <li><a href="#M000284">push</a></li>
223
+ <li><a href="#M000370">quote</a></li>
224
+ <li><a href="#M000311">rand_byte</a></li>
225
+ <li><a href="#M000312">rand_byte!</a></li>
226
+ <li><a href="#M000302">rand_index</a></li>
227
+ <li><a href="#M000385">rand_letter</a></li>
228
+ <li><a href="#M000386">random</a></li>
229
+ <li><a href="#M000338">range</a></li>
230
+ <li><a href="#M000374">range_all</a></li>
231
+ <li><a href="#M000357">range_of_line</a></li>
232
+ <li><a href="#M000371">regesc</a></li>
233
+ <li><a href="#M000376">shatter</a></li>
234
+ <li><a href="#M000383">shell_escape</a></li>
235
+ <li><a href="#M000285">shift</a></li>
236
+ <li><a href="#M000361">shuffle</a></li>
237
+ <li><a href="#M000362">shuffle!</a></li>
238
+ <li><a href="#M000309">similarity</a></li>
239
+ <li><a href="#M000304">singular</a></li>
240
+ <li><a href="#M000306">singularize</a></li>
241
+ <li><a href="#M000372">soundex</a></li>
242
+ <li><a href="#M000373">soundex_code</a></li>
243
+ <li><a href="#M000388">sprintf</a></li>
244
+ <li><a href="#M000319">starts_with?</a></li>
245
+ <li><a href="#M000326">succ</a></li>
246
+ <li><a href="#M000349">tab</a></li>
247
+ <li><a href="#M000350">tabto</a></li>
248
+ <li><a href="#M000339">to_a</a></li>
249
+ <li><a href="#M000340">to_b</a></li>
250
+ <li><a href="#M000355">to_const</a></li>
251
+ <li><a href="#M000316">to_date</a></li>
252
+ <li><a href="#M000313">to_proc</a></li>
253
+ <li><a href="#M000341">to_re</a></li>
254
+ <li><a href="#M000342">to_rx</a></li>
255
+ <li><a href="#M000359">to_time</a></li>
256
+ <li><a href="#M000336">unbracket</a></li>
257
+ <li><a href="#M000337">unbracket!</a></li>
258
+ <li><a href="#M000377">underscore</a></li>
259
+ <li><a href="#M000290">unix_crypt</a></li>
260
+ <li><a href="#M000291">unix_crypt!</a></li>
261
+ <li><a href="#M000301">unpack</a></li>
262
+ <li><a href="#M000364">unshift</a></li>
263
+ <li><a href="#M000352">upcase?</a></li>
264
+ <li><a href="#M000353">uppercase?</a></li>
265
+ <li><a href="#M000328">whitespace?</a></li>
266
+ <li><a href="#M000315">whitespace?</a></li>
267
+ <li><a href="#M000288">word_filter</a></li>
268
+ <li><a href="#M000289">word_filter!</a></li>
269
+ <li><a href="#M000296">word_wrap</a></li>
270
+ <li><a href="#M000297">word_wrap!</a></li>
271
+ <li><a href="#M000348">words</a></li>
272
+ </ul>
273
+
274
+
275
+
276
+
277
+ <div class="sectiontitle">Constants</div>
278
+ <table border='0' cellpadding='5'>
279
+ <tr valign='top'>
280
+ <td class="attr-name">SINGULAR_RULES</td>
281
+ <td>=</td>
282
+ <td class="attr-value">[ [/(matr)ices$/i, '\1ix'], [/(vert)ices$/i, '\1ex'], [/^(ox)en/i, '\1'], [/(alias)es$/i, '\1'], [/([octop|vir])i$/i, '\1us'], [/(cris|ax|test)es$/i, '\1is'], [/(shoe)s$/i, '\1'], [/(o)es$/i, '\1'], [/(bus)es$/i, '\1'], [/([m|l])ice$/i, '\1ouse'], [/(x|ch|ss|sh)es$/i, '\1'], [/(m)ovies$/i, '\1\2ovie'], [/(s)eries$/i, '\1\2eries'], [/([^aeiouy]|qu)ies$/i, '\1y'], [/([lr])ves$/i, '\1f'], [/(tive)s$/i, '\1'], [/(hive)s$/i, '\1'], [/([^f])ves$/i, '\1fe'], [/(^analy)ses$/i, '\1sis'], [/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i, '\1\2sis'], [/([ti])a$/i, '\1um'], [/(p)eople$/i, '\1\2erson'], [/(m)en$/i, '\1an'], [/(s)tatus$/i, '\1\2tatus'], [/(c)hildren$/i, '\1\2hild'], [/(n)ews$/i, '\1\2ews'], [/s$/i, '']</td>
283
+ </tr>
284
+ <tr valign='top'>
285
+ <td class="attr-name">PLURAL_RULES</td>
286
+ <td>=</td>
287
+ <td class="attr-value">[ [/^(ox)$/i, '\1\2en'], # ox [/([m|l])ouse$/i, '\1ice'], # mouse, louse [/(matr|vert)ix|ex$/i, '\1ices'], # matrix, vertex, index [/(x|ch|ss|sh)$/i, '\1es'], # search, switch, fix, box, process, address [/([^aeiouy]|qu)ies$/i, '\1y'], [/([^aeiouy]|qu)y$/i, '\1ies'], # query, ability, agency [/(hive)$/i, '\1s'], # archive, hive [/(?:([^f])fe|([lr])f)$/i, '\1\2ves'], # half, safe, wife [/sis$/i, 'ses'], # basis, diagnosis [/([ti])um$/i, '\1a'], # datum, medium [/(p)erson$/i, '\1eople'], # person, salesperson [/(m)an$/i, '\1en'], # man, woman, spokesman [/(c)hild$/i, '\1hildren'], # child [/(buffal|tomat|potat)o$/i, '\1\2oes'], # buffalo, tomato [/(bu)s$/i, '\1\2ses'], # bus [/(alias)/i, '\1es'], # alias [/(octop|vir)us$/i, '\1i'], # octopus, virus - virus has no defined plural, but viri is better than viruses/viruss [/(ax|cri|test)is$/i, '\1es'], # axis, crisis [/s$/i, 's'], # no change (compatibility) [/$/, 's']</td>
288
+ </tr>
289
+ </table>
290
+
291
+
292
+ <div class="sectiontitle">Public Class methods</div>
293
+ <div class="method">
294
+ <div class="title">
295
+ <a name="M000366"></a><b>bra2ket</b>()
296
+ </div>
297
+ <div class="sourcecode">
298
+ <p class="source-link">[ <a href="javascript:toggleSource('M000366_source')" id="l_M000366_source">show source</a> ]</p>
299
+ <div id="M000366_source" class="dyn-source">
300
+ <pre>
301
+ <span class="ruby-comment cmt"># File lib/facets/core/string/bracket.rb, line 4</span>
302
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">bra2ket</span>
303
+ <span class="ruby-ivar">@bra2ket</span> <span class="ruby-operator">||=</span> { <span class="ruby-value str">'['</span>=<span class="ruby-operator">&gt;</span><span class="ruby-value str">']'</span>, <span class="ruby-value str">'('</span>=<span class="ruby-operator">&gt;</span><span class="ruby-value str">')'</span>, <span class="ruby-value str">'{'</span>=<span class="ruby-operator">&gt;</span><span class="ruby-value str">'}'</span>, <span class="ruby-value str">'&lt;'</span>=<span class="ruby-operator">&gt;</span><span class="ruby-value str">'&gt;'</span> }
304
+ <span class="ruby-keyword kw">end</span>
305
+ </pre>
306
+ </div>
307
+ </div>
308
+ </div>
309
+ <div class="method">
310
+ <div class="title">
311
+ <a name="M000387"></a><b>format</b>(*args)
312
+ </div>
313
+ <div class="sourcecode">
314
+ <p class="source-link">[ <a href="javascript:toggleSource('M000387_source')" id="l_M000387_source">show source</a> ]</p>
315
+ <div id="M000387_source" class="dyn-source">
316
+ <pre>
317
+ <span class="ruby-comment cmt"># File lib/facets/core/string/self/format.rb, line 2</span>
318
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">String</span>.<span class="ruby-identifier">format</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
319
+ <span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">format</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
320
+ <span class="ruby-keyword kw">end</span>
321
+ </pre>
322
+ </div>
323
+ </div>
324
+ </div>
325
+ <div class="method">
326
+ <div class="title">
327
+ <a name="M000389"></a><b>interpolate</b>(&amp;str)
328
+ </div>
329
+ <div class="sourcecode">
330
+ <p class="source-link">[ <a href="javascript:toggleSource('M000389_source')" id="l_M000389_source">show source</a> ]</p>
331
+ <div id="M000389_source" class="dyn-source">
332
+ <pre>
333
+ <span class="ruby-comment cmt"># File lib/facets/core/string/self/interpolate.rb, line 4</span>
334
+ <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>)
335
+ <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>
336
+ <span class="ruby-keyword kw">end</span>
337
+ </pre>
338
+ </div>
339
+ </div>
340
+ </div>
341
+ <div class="method">
342
+ <div class="title">
343
+ <a name="M000384"></a><b>patterns</b>( pattern )
344
+ </div>
345
+ <div class="description">
346
+ <p>
347
+ Returns a <a href="Regexp.html">Regexp</a> pattern based on the given
348
+ pattern string or symbolic name.
349
+ </p>
350
+ <p>
351
+ Recognized names are:
352
+ </p>
353
+ <ul>
354
+ <li>:char
355
+
356
+ </li>
357
+ <li>:word
358
+
359
+ </li>
360
+ <li>:line
361
+
362
+ </li>
363
+ </ul>
364
+ <p>
365
+ They are also recognizied in plural form.
366
+ </p>
367
+ </div>
368
+ <div class="sourcecode">
369
+ <p class="source-link">[ <a href="javascript:toggleSource('M000384_source')" id="l_M000384_source">show source</a> ]</p>
370
+ <div id="M000384_source" class="dyn-source">
371
+ <pre>
372
+ <span class="ruby-comment cmt"># File lib/facets/core/string/self/patterns.rb, line 14</span>
373
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">patterns</span>( <span class="ruby-identifier">pattern</span> )
374
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">pattern</span>
375
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:char</span>, <span class="ruby-identifier">:chars</span>, <span class="ruby-identifier">:character</span>, <span class="ruby-identifier">:characters</span>
376
+ <span class="ruby-identifier">pattern</span> = <span class="ruby-regexp re">//</span>
377
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:word</span>, <span class="ruby-identifier">:words</span>
378
+ <span class="ruby-identifier">pattern</span> = <span class="ruby-regexp re">/\s+|\Z/</span>
379
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:line</span>, <span class="ruby-identifier">:lines</span>
380
+ <span class="ruby-identifier">pattern</span> = <span class="ruby-regexp re">/\Z/</span>
381
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">String</span>
382
+ <span class="ruby-identifier">pattern</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">pattern</span>))
383
+ <span class="ruby-keyword kw">end</span>
384
+ <span class="ruby-identifier">pattern</span>
385
+ <span class="ruby-keyword kw">end</span>
386
+ </pre>
387
+ </div>
388
+ </div>
389
+ </div>
390
+ <div class="method">
391
+ <div class="title">
392
+ <a name="M000385"></a><b>rand_letter</b>()
393
+ </div>
394
+ <div class="description">
395
+ <p>
396
+ <a href="Module.html">Module</a> method to generate a random letter.
397
+ </p>
398
+ <pre>
399
+ String::Random.rand_letter #=&gt; &quot;q&quot;
400
+ String::Random.rand_letter #=&gt; &quot;r&quot;
401
+ String::Random.rand_letter #=&gt; &quot;a&quot;
402
+ </pre>
403
+ </div>
404
+ <div class="sourcecode">
405
+ <p class="source-link">[ <a href="javascript:toggleSource('M000385_source')" id="l_M000385_source">show source</a> ]</p>
406
+ <div id="M000385_source" class="dyn-source">
407
+ <pre>
408
+ <span class="ruby-comment cmt"># File lib/facets/core/string/self/rand_letter.rb, line 9</span>
409
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">rand_letter</span>
410
+ (<span class="ruby-identifier">rand</span>(<span class="ruby-value">26</span>) <span class="ruby-operator">+</span> (<span class="ruby-identifier">rand</span>(<span class="ruby-value">2</span>) <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-value">65</span> <span class="ruby-operator">:</span> <span class="ruby-value">97</span>) ).<span class="ruby-identifier">chr</span>
411
+ <span class="ruby-keyword kw">end</span>
412
+ </pre>
413
+ </div>
414
+ </div>
415
+ </div>
416
+ <div class="method">
417
+ <div class="title">
418
+ <a name="M000386"></a><b>random</b>(max_length = 8, char_re = /[\w\d]/)
419
+ </div>
420
+ <div class="description">
421
+ <p>
422
+ Returns a randomly generated string. One possible use is password
423
+ initialization. Takes a max legnth of characters (default 8) and an
424
+ optional valid char <a href="Regexp.html">Regexp</a> (default /\w\d/).
425
+ </p>
426
+ </div>
427
+ <div class="sourcecode">
428
+ <p class="source-link">[ <a href="javascript:toggleSource('M000386_source')" id="l_M000386_source">show source</a> ]</p>
429
+ <div id="M000386_source" class="dyn-source">
430
+ <pre>
431
+ <span class="ruby-comment cmt"># File lib/facets/core/string/self/random.rb, line 14</span>
432
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">String</span>.<span class="ruby-identifier">random</span>(<span class="ruby-identifier">max_length</span> = <span class="ruby-value">8</span>, <span class="ruby-identifier">char_re</span> = <span class="ruby-regexp re">/[\w\d]/</span>)
433
+ <span class="ruby-comment cmt"># gmosx: this is a nice example of input parameter checking.</span>
434
+ <span class="ruby-comment cmt"># this is NOT a real time called method so we can add this</span>
435
+ <span class="ruby-comment cmt"># check. Congrats to the author.</span>
436
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'char_re must be a regular expression!'</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">char_re</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Regexp</span>)
437
+
438
+ <span class="ruby-identifier">string</span> = <span class="ruby-value str">&quot;&quot;</span>
439
+
440
+ <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">string</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">max_length</span>
441
+ <span class="ruby-identifier">ch</span> = <span class="ruby-identifier">rand</span>(<span class="ruby-value">255</span>).<span class="ruby-identifier">chr</span>
442
+ <span class="ruby-identifier">string</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">ch</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ch</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">char_re</span>
443
+ <span class="ruby-keyword kw">end</span>
444
+
445
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">string</span>
446
+ <span class="ruby-keyword kw">end</span>
447
+ </pre>
448
+ </div>
449
+ </div>
450
+ </div>
451
+ <div class="method">
452
+ <div class="title">
453
+ <a name="M000373"></a><b>soundex_code</b>(character)
454
+ </div>
455
+ <div class="description">
456
+ <p>
457
+ Support function for <a href="String.html#M000372">String#soundex</a>.
458
+ Returns code for a single character.
459
+ </p>
460
+ </div>
461
+ <div class="sourcecode">
462
+ <p class="source-link">[ <a href="javascript:toggleSource('M000373_source')" id="l_M000373_source">show source</a> ]</p>
463
+ <div id="M000373_source" class="dyn-source">
464
+ <pre>
465
+ <span class="ruby-comment cmt"># File lib/facets/core/string/soundex.rb, line 40</span>
466
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">String</span>.<span class="ruby-identifier">soundex_code</span>(<span class="ruby-identifier">character</span>)
467
+ <span class="ruby-identifier">character</span>.<span class="ruby-identifier">tr!</span> <span class="ruby-value str">&quot;AEIOUYWHBPFVCSKGJQXZDTLMNR&quot;</span>, <span class="ruby-value str">&quot;00000000111122222222334556&quot;</span>
468
+ <span class="ruby-keyword kw">end</span>
469
+ </pre>
470
+ </div>
471
+ </div>
472
+ </div>
473
+ <div class="method">
474
+ <div class="title">
475
+ <a name="M000388"></a><b>sprintf</b>(*args)
476
+ </div>
477
+ <div class="sourcecode">
478
+ <p class="source-link">[ <a href="javascript:toggleSource('M000388_source')" id="l_M000388_source">show source</a> ]</p>
479
+ <div id="M000388_source" class="dyn-source">
480
+ <pre>
481
+ <span class="ruby-comment cmt"># File lib/facets/core/string/self/format.rb, line 6</span>
482
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">String</span>.<span class="ruby-identifier">sprintf</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
483
+ <span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">format</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
484
+ <span class="ruby-keyword kw">end</span>
485
+ </pre>
486
+ </div>
487
+ </div>
488
+ </div>
489
+ <div class="sectiontitle">Public Instance methods</div>
490
+ <div class="method">
491
+ <div class="title">
492
+ <a name="M000347"></a><b>align_center</b>( n, sep=&quot;\n&quot;, c=' ' )
493
+ </div>
494
+ <div class="description">
495
+ <p>
496
+ Centers each line of a string.
497
+ </p>
498
+ <pre>
499
+ s = &lt;&lt;-EOS
500
+ This is a test
501
+ and
502
+ so on
503
+ EOS
504
+ puts s.align_center(14)
505
+ </pre>
506
+ <p>
507
+ <em>produces</em>
508
+ </p>
509
+ <pre>
510
+ This is a test
511
+ and
512
+ so on
513
+ </pre>
514
+ <p>
515
+ Align a string to the center. The defualt alignment seperation is a new
516
+ line (&quot;/n&quot;) This can be changed as can be the padding string
517
+ which defaults to a single space (&#8217; &#8217;).
518
+ </p>
519
+ </div>
520
+ <div class="sourcecode">
521
+ <p class="source-link">[ <a href="javascript:toggleSource('M000347_source')" id="l_M000347_source">show source</a> ]</p>
522
+ <div id="M000347_source" class="dyn-source">
523
+ <pre>
524
+ <span class="ruby-comment cmt"># File lib/facets/core/string/align_center.rb, line 47</span>
525
+ <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> )
526
+ <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>
527
+ <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>
528
+ <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>)
529
+ }
530
+ <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>)
531
+ <span class="ruby-keyword kw">end</span>
532
+ </pre>
533
+ </div>
534
+ </div>
535
+ </div>
536
+ <div class="method">
537
+ <div class="title">
538
+ <a name="M000346"></a><b>align_left</b>( n, sep=&quot;\n&quot;, c=' ' )
539
+ </div>
540
+ <div class="description">
541
+ <p>
542
+ Align a string to the left. The defualt alignment seperation is a new line
543
+ (&quot;/n&quot;) This can be changes as can be the padding string which
544
+ defaults to a single space (&#8217; &#8217;).
545
+ </p>
546
+ </div>
547
+ <div class="sourcecode">
548
+ <p class="source-link">[ <a href="javascript:toggleSource('M000346_source')" id="l_M000346_source">show source</a> ]</p>
549
+ <div id="M000346_source" class="dyn-source">
550
+ <pre>
551
+ <span class="ruby-comment cmt"># File lib/facets/core/string/align_center.rb, line 20</span>
552
+ <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> )
553
+ <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>
554
+ <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>
555
+ <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>)
556
+ }
557
+ <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>)
558
+ <span class="ruby-keyword kw">end</span>
559
+ </pre>
560
+ </div>
561
+ </div>
562
+ </div>
563
+ <div class="method">
564
+ <div class="title">
565
+ <a name="M000345"></a><b>align_right</b>( n, sep=&quot;\n&quot;, c=' ' )
566
+ </div>
567
+ <div class="description">
568
+ <p>
569
+ Align a string to the right. The defualt alignment seperation is a new line
570
+ (&quot;/n&quot;) This can be changes as can be the padding string which
571
+ defaults to a single space (&#8217; &#8217;).
572
+ </p>
573
+ </div>
574
+ <div class="sourcecode">
575
+ <p class="source-link">[ <a href="javascript:toggleSource('M000345_source')" id="l_M000345_source">show source</a> ]</p>
576
+ <div id="M000345_source" class="dyn-source">
577
+ <pre>
578
+ <span class="ruby-comment cmt"># File lib/facets/core/string/align_center.rb, line 8</span>
579
+ <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> )
580
+ <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>
581
+ <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>
582
+ <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>)
583
+ }
584
+ <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>)
585
+ <span class="ruby-keyword kw">end</span>
586
+ </pre>
587
+ </div>
588
+ </div>
589
+ </div>
590
+ <div class="method">
591
+ <div class="title">
592
+ <a name="M000329"></a><b>at_rand</b>( separator=// )
593
+ </div>
594
+ <div class="description">
595
+ <p>
596
+ Return a random separation of the string. Default separation is by
597
+ charaacter.
598
+ </p>
599
+ <pre>
600
+ &quot;Ruby rules&quot;.at_rand(' ') #=&gt; [&quot;Ruby&quot;]
601
+ </pre>
602
+ </div>
603
+ <div class="sourcecode">
604
+ <p class="source-link">[ <a href="javascript:toggleSource('M000329_source')" id="l_M000329_source">show source</a> ]</p>
605
+ <div id="M000329_source" class="dyn-source">
606
+ <pre>
607
+ <span class="ruby-comment cmt"># File lib/facets/core/string/at_rand.rb, line 13</span>
608
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">at_rand</span>( <span class="ruby-identifier">separator</span>=<span class="ruby-regexp re">//</span> )
609
+ <span class="ruby-identifier">separator</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">patterns</span>( <span class="ruby-identifier">separator</span> )
610
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">split</span>(<span class="ruby-identifier">separator</span>,<span class="ruby-value">-1</span>).<span class="ruby-identifier">at_rand</span>
611
+ <span class="ruby-keyword kw">end</span>
612
+ </pre>
613
+ </div>
614
+ </div>
615
+ </div>
616
+ <div class="method">
617
+ <div class="title">
618
+ <a name="M000330"></a><b>at_rand!</b>( separator=// )
619
+ </div>
620
+ <div class="description">
621
+ <p>
622
+ Return a random separation while removing it from the string. Default
623
+ separation is by character.
624
+ </p>
625
+ <pre>
626
+ s = &quot;Ruby rules&quot;
627
+ s = at_rand!(' ') #=&gt; &quot;Ruby&quot;
628
+ s #=&gt; &quot;rules&quot;
629
+ </pre>
630
+ </div>
631
+ <div class="sourcecode">
632
+ <p class="source-link">[ <a href="javascript:toggleSource('M000330_source')" id="l_M000330_source">show source</a> ]</p>
633
+ <div id="M000330_source" class="dyn-source">
634
+ <pre>
635
+ <span class="ruby-comment cmt"># File lib/facets/core/string/at_rand.rb, line 25</span>
636
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">at_rand!</span>( <span class="ruby-identifier">separator</span>=<span class="ruby-regexp re">//</span> )
637
+ <span class="ruby-identifier">separator</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">patterns</span>( <span class="ruby-identifier">separator</span> )
638
+ <span class="ruby-identifier">a</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">shatter</span>( <span class="ruby-identifier">separator</span> )
639
+ <span class="ruby-identifier">w</span> = []; <span class="ruby-identifier">a</span>.<span class="ruby-identifier">each_with_index</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span>,<span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">i</span> <span class="ruby-operator">%</span> <span class="ruby-value">2</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">w</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">w</span>.<span class="ruby-identifier">last</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span> }
640
+ <span class="ruby-identifier">i</span> = <span class="ruby-identifier">rand</span>( <span class="ruby-identifier">w</span>.<span class="ruby-identifier">size</span> )
641
+ <span class="ruby-identifier">r</span> = <span class="ruby-identifier">w</span>.<span class="ruby-identifier">delete_at</span>( <span class="ruby-identifier">i</span> )
642
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">replace</span>( <span class="ruby-identifier">w</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">''</span>) )
643
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">r</span>
644
+ <span class="ruby-keyword kw">end</span>
645
+ </pre>
646
+ </div>
647
+ </div>
648
+ </div>
649
+ <div class="method">
650
+ <div class="title">
651
+ <a name="M000324"></a><b>basename</b>()
652
+ </div>
653
+ <div class="description">
654
+ <p>
655
+ Removes prepend module namespace.
656
+ </p>
657
+ <pre>
658
+ &quot;Test::Unit&quot;.basename #=&gt; &quot;Unit&quot;
659
+ </pre>
660
+ </div>
661
+ <div class="sourcecode">
662
+ <p class="source-link">[ <a href="javascript:toggleSource('M000324_source')" id="l_M000324_source">show source</a> ]</p>
663
+ <div id="M000324_source" class="dyn-source">
664
+ <pre>
665
+ <span class="ruby-comment cmt"># File lib/facets/core/string/basename.rb, line 8</span>
666
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">basename</span>
667
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/^.*::/</span>, <span class="ruby-value str">''</span>)
668
+ <span class="ruby-keyword kw">end</span>
669
+ </pre>
670
+ </div>
671
+ </div>
672
+ </div>
673
+ <div class="method">
674
+ <div class="title">
675
+ <a name="M000314"></a><b>blank?</b>()
676
+ </div>
677
+ <div class="description">
678
+ <p>
679
+ Is this string just whitespace?
680
+ </p>
681
+ <pre>
682
+ &quot;abc&quot;.blank? #=&gt; false
683
+ &quot; &quot;.blank? #=&gt; true
684
+ </pre>
685
+ </div>
686
+ <div class="aka">
687
+ This method is also aliased as
688
+ <a href="String.html#M000315">whitespace?</a>
689
+ <a href="String.html#M000328">whitespace?</a>
690
+ </div>
691
+ <div class="sourcecode">
692
+ <p class="source-link">[ <a href="javascript:toggleSource('M000314_source')" id="l_M000314_source">show source</a> ]</p>
693
+ <div id="M000314_source" class="dyn-source">
694
+ <pre>
695
+ <span class="ruby-comment cmt"># File lib/facets/core/string/blank.rb, line 9</span>
696
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">blank?</span>
697
+ <span class="ruby-keyword kw">self</span> <span class="ruby-operator">!~</span> <span class="ruby-regexp re">/\S/</span>
698
+ <span class="ruby-keyword kw">end</span>
699
+ </pre>
700
+ </div>
701
+ </div>
702
+ </div>
703
+ <div class="method">
704
+ <div class="title">
705
+ <a name="M000367"></a><b>bracket</b>(bra, ket=nil)
706
+ </div>
707
+ <div class="description">
708
+ <p>
709
+ Return a new string embraced by given brakets. If only one bracket char is
710
+ given it will be placed on either side.
711
+ </p>
712
+ <pre>
713
+ &quot;wrap me&quot;.bracket('{') #=&gt; &quot;{wrap me}&quot;
714
+ &quot;wrap me&quot;.bracket('--','!') #=&gt; &quot;--wrap me!&quot;
715
+ </pre>
716
+ </div>
717
+ <div class="sourcecode">
718
+ <p class="source-link">[ <a href="javascript:toggleSource('M000367_source')" id="l_M000367_source">show source</a> ]</p>
719
+ <div id="M000367_source" class="dyn-source">
720
+ <pre>
721
+ <span class="ruby-comment cmt"># File lib/facets/core/string/bracket.rb, line 15</span>
722
+ <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>)
723
+ <span class="ruby-comment cmt">#ket = String.bra2ket[$&amp;] if ! ket &amp;&amp; /^[\[({&lt;]$/ =~ bra</span>
724
+ <span class="ruby-identifier">ket</span> = <span class="ruby-constant">String</span>.<span class="ruby-identifier">bra2ket</span>[<span class="ruby-identifier">bra</span>] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">ket</span>
725
+ <span class="ruby-node">&quot;#{bra}#{self}#{ket ? ket : bra}&quot;</span>
726
+ <span class="ruby-keyword kw">end</span>
727
+ </pre>
728
+ </div>
729
+ </div>
730
+ </div>
731
+ <div class="method">
732
+ <div class="title">
733
+ <a name="M000368"></a><b>bracket!</b>(bra, ket=nil)
734
+ </div>
735
+ <div class="description">
736
+ <p>
737
+ Inplace version of braket.
738
+ </p>
739
+ </div>
740
+ <div class="sourcecode">
741
+ <p class="source-link">[ <a href="javascript:toggleSource('M000368_source')" id="l_M000368_source">show source</a> ]</p>
742
+ <div id="M000368_source" class="dyn-source">
743
+ <pre>
744
+ <span class="ruby-comment cmt"># File lib/facets/core/string/bracket.rb, line 22</span>
745
+ <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>)
746
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">replace</span>( <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">bracket</span>(<span class="ruby-identifier">bra</span>, <span class="ruby-identifier">ket</span>) )
747
+ <span class="ruby-keyword kw">end</span>
748
+ </pre>
749
+ </div>
750
+ </div>
751
+ </div>
752
+ <div class="method">
753
+ <div class="title">
754
+ <a name="M000308"></a><b>brief</b>(string, count = 128, force_cutoff = false, ellipsis=&quot;...&quot;)
755
+ </div>
756
+ <div class="description">
757
+ <p>
758
+ Returns short abstract of long strings (first &#8216;count&#8217;
759
+ characters, chopped at the nearest word, appended by &#8217;&#8230;&#8217;)
760
+ force_cutoff: break forcibly at &#8216;count&#8217; chars. Does not accept
761
+ count &lt; 2.
762
+ </p>
763
+ </div>
764
+ <div class="sourcecode">
765
+ <p class="source-link">[ <a href="javascript:toggleSource('M000308_source')" id="l_M000308_source">show source</a> ]</p>
766
+ <div id="M000308_source" class="dyn-source">
767
+ <pre>
768
+ <span class="ruby-comment cmt"># File lib/facets/core/string/brief.rb, line 10</span>
769
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">brief</span>(<span class="ruby-identifier">string</span>, <span class="ruby-identifier">count</span> = <span class="ruby-value">128</span>, <span class="ruby-identifier">force_cutoff</span> = <span class="ruby-keyword kw">false</span>, <span class="ruby-identifier">ellipsis</span>=<span class="ruby-value str">&quot;...&quot;</span>)
770
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">string</span>
771
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">count</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">2</span>
772
+
773
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">string</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">count</span>
774
+ <span class="ruby-identifier">cut_at</span> = <span class="ruby-identifier">force_cutoff</span> <span class="ruby-value">? </span><span class="ruby-identifier">count</span> <span class="ruby-operator">:</span> (<span class="ruby-identifier">string</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">' '</span>, <span class="ruby-identifier">count</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">count</span>)
775
+ <span class="ruby-identifier">xstring</span> = <span class="ruby-identifier">string</span>.<span class="ruby-identifier">slice</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">cut_at</span>)
776
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">xstring</span>.<span class="ruby-identifier">chomp</span>(<span class="ruby-value str">&quot; &quot;</span>) <span class="ruby-operator">+</span> <span class="ruby-identifier">ellipsis</span>
777
+ <span class="ruby-keyword kw">else</span>
778
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">string</span>
779
+ <span class="ruby-keyword kw">end</span>
780
+ <span class="ruby-keyword kw">end</span>
781
+ </pre>
782
+ </div>
783
+ </div>
784
+ </div>
785
+ <div class="method">
786
+ <div class="title">
787
+ <a name="M000323"></a><b>bytes</b>()
788
+ </div>
789
+ <div class="description">
790
+ <p>
791
+ Upacks string ginto bytes.
792
+ </p>
793
+ </div>
794
+ <div class="sourcecode">
795
+ <p class="source-link">[ <a href="javascript:toggleSource('M000323_source')" id="l_M000323_source">show source</a> ]</p>
796
+ <div id="M000323_source" class="dyn-source">
797
+ <pre>
798
+ <span class="ruby-comment cmt"># File lib/facets/core/string/bytes.rb, line 6</span>
799
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">bytes</span>
800
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">'C*'</span>)
801
+ <span class="ruby-keyword kw">end</span>
802
+ </pre>
803
+ </div>
804
+ </div>
805
+ </div>
806
+ <div class="method">
807
+ <div class="title">
808
+ <a name="M000292"></a><b>camelcase</b>( first=false, on='_\s' )
809
+ </div>
810
+ <div class="description">
811
+ <p>
812
+ Converts a string to camelcase. By default capitalization occurs on
813
+ whitespace and underscores. By setting the first parameter to <tt>true</tt>
814
+ the first character can also be captizlized. The second parameter can be
815
+ assigned a valid Regualr Expression characeter set to determine which
816
+ characters to match for capitalizing subsequent parts of the string.
817
+ </p>
818
+ <pre>
819
+ &quot;this_is a test&quot;.camelcase #=&gt; &quot;thisIsATest&quot;
820
+ &quot;this_is a test&quot;.camelcase(true) #=&gt; &quot;ThisIsATest&quot;
821
+ &quot;this_is a test&quot;.camelcase(true, ' ') #=&gt; &quot;This_isATest&quot;
822
+ </pre>
823
+ </div>
824
+ <div class="sourcecode">
825
+ <p class="source-link">[ <a href="javascript:toggleSource('M000292_source')" id="l_M000292_source">show source</a> ]</p>
826
+ <div id="M000292_source" class="dyn-source">
827
+ <pre>
828
+ <span class="ruby-comment cmt"># File lib/facets/core/string/camelcase.rb, line 16</span>
829
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">camelcase</span>( <span class="ruby-identifier">first</span>=<span class="ruby-keyword kw">false</span>, <span class="ruby-identifier">on</span>=<span class="ruby-value str">'_\s'</span> )
830
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
831
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-node">/(^|[#{on}]+)([A-Za-z])/</span>){ <span class="ruby-identifier">$2</span>.<span class="ruby-identifier">upcase</span> }
832
+ <span class="ruby-keyword kw">else</span>
833
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-node">/([#{on}]+)([A-Za-z])/</span>){ <span class="ruby-identifier">$2</span>.<span class="ruby-identifier">upcase</span> }
834
+ <span class="ruby-keyword kw">end</span>
835
+ <span class="ruby-keyword kw">end</span>
836
+ </pre>
837
+ </div>
838
+ </div>
839
+ </div>
840
+ <div class="method">
841
+ <div class="title">
842
+ <a name="M000335"></a><b>camelize</b>()
843
+ </div>
844
+ <div class="description">
845
+ <p>
846
+ Variation of coverting a string to camelcase. This is unlike <a
847
+ href="String.html#M000292">camelcase</a> in that it is geared toward code
848
+ reflection use.
849
+ </p>
850
+ <pre>
851
+ &quot;this/is_a_test&quot;.camelize #=&gt; This::IsATest
852
+ </pre>
853
+ </div>
854
+ <div class="sourcecode">
855
+ <p class="source-link">[ <a href="javascript:toggleSource('M000335_source')" id="l_M000335_source">show source</a> ]</p>
856
+ <div id="M000335_source" class="dyn-source">
857
+ <pre>
858
+ <span class="ruby-comment cmt"># File lib/facets/core/string/camelize.rb, line 9</span>
859
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">camelize</span>
860
+ <span class="ruby-comment cmt">#to_s.gsub(/(^|_)(.)/){$2.upcase}</span>
861
+ <span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\/(.?)/</span>){ <span class="ruby-value str">&quot;::&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">upcase</span> }.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/(^|_)(.)/</span>){ <span class="ruby-identifier">$2</span>.<span class="ruby-identifier">upcase</span> }
862
+ <span class="ruby-keyword kw">end</span>
863
+ </pre>
864
+ </div>
865
+ </div>
866
+ </div>
867
+ <div class="method">
868
+ <div class="title">
869
+ <a name="M000322"></a><b>capitalized?</b>()
870
+ </div>
871
+ <div class="description">
872
+ <p>
873
+ Return true if the string is capitalized, otherwise false.
874
+ </p>
875
+ <pre>
876
+ &quot;THIS&quot;.capitalized? #=&gt; true
877
+ &quot;This&quot;.capitalized? #=&gt; true
878
+ &quot;this&quot;.capitalized? #=&gt; false
879
+ </pre>
880
+ </div>
881
+ <div class="sourcecode">
882
+ <p class="source-link">[ <a href="javascript:toggleSource('M000322_source')" id="l_M000322_source">show source</a> ]</p>
883
+ <div id="M000322_source" class="dyn-source">
884
+ <pre>
885
+ <span class="ruby-comment cmt"># File lib/facets/core/string/capitalized.rb, line 13</span>
886
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">capitalized?</span>
887
+ <span class="ruby-keyword kw">self</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^[A-Z]/</span>
888
+ <span class="ruby-keyword kw">end</span>
889
+ </pre>
890
+ </div>
891
+ </div>
892
+ </div>
893
+ <div class="method">
894
+ <div class="title">
895
+ <a name="M000317"></a><b>chars</b>()
896
+ </div>
897
+ <div class="description">
898
+ <p>
899
+ Returns an array of characters.
900
+ </p>
901
+ <pre>
902
+ &quot;abc&quot;.chars #=&gt; [&quot;a&quot;,&quot;b&quot;,&quot;c&quot;]
903
+ </pre>
904
+ </div>
905
+ <div class="sourcecode">
906
+ <p class="source-link">[ <a href="javascript:toggleSource('M000317_source')" id="l_M000317_source">show source</a> ]</p>
907
+ <div id="M000317_source" class="dyn-source">
908
+ <pre>
909
+ <span class="ruby-comment cmt"># File lib/facets/core/string/chars.rb, line 8</span>
910
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">chars</span>
911
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">//</span>)
912
+ <span class="ruby-keyword kw">end</span>
913
+ </pre>
914
+ </div>
915
+ </div>
916
+ </div>
917
+ <div class="method">
918
+ <div class="title">
919
+ <a name="M000327"></a><b>cmp</b>(other)
920
+ </div>
921
+ <div class="description">
922
+ <p>
923
+ Compare method that takes length into account. Unlike #&lt;=&gt;, this is
924
+ compatible with <a href="String.html#M000326">succ</a>.
925
+ </p>
926
+ <pre>
927
+ &quot;abc&quot;.cmp(&quot;abc&quot;) #=&gt; 0
928
+ &quot;abcd&quot;.cmp(&quot;abc&quot;) #=&gt; 1
929
+ &quot;abc&quot;.cmp(&quot;abcd&quot;) #=&gt; -1
930
+ &quot;xyz&quot;.cmp(&quot;abc&quot;) #=&gt; 1
931
+ </pre>
932
+ </div>
933
+ <div class="sourcecode">
934
+ <p class="source-link">[ <a href="javascript:toggleSource('M000327_source')" id="l_M000327_source">show source</a> ]</p>
935
+ <div id="M000327_source" class="dyn-source">
936
+ <pre>
937
+ <span class="ruby-comment cmt"># File lib/facets/core/string/cmp.rb, line 12</span>
938
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmp</span>(<span class="ruby-identifier">other</span>)
939
+ <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>
940
+ <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>
941
+ <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>
942
+ <span class="ruby-keyword kw">end</span>
943
+ </pre>
944
+ </div>
945
+ </div>
946
+ </div>
947
+ <div class="method">
948
+ <div class="title">
949
+ <a name="M000295"></a><b>dequote</b>()
950
+ </div>
951
+ <div class="sourcecode">
952
+ <p class="source-link">[ <a href="javascript:toggleSource('M000295_source')" id="l_M000295_source">show source</a> ]</p>
953
+ <div id="M000295_source" class="dyn-source">
954
+ <pre>
955
+ <span class="ruby-comment cmt"># File lib/facets/core/string/dequote.rb, line 3</span>
956
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dequote</span>
957
+ <span class="ruby-identifier">s</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
958
+
959
+ <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>]
960
+ <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>
961
+ <span class="ruby-identifier">s</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">''</span>
962
+ <span class="ruby-keyword kw">end</span>
963
+
964
+ <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>]
965
+ <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>
966
+ <span class="ruby-identifier">s</span>[<span class="ruby-value">-1</span>] = <span class="ruby-value str">''</span>
967
+ <span class="ruby-keyword kw">end</span>
968
+
969
+ <span class="ruby-identifier">s</span>
970
+ <span class="ruby-keyword kw">end</span>
971
+ </pre>
972
+ </div>
973
+ </div>
974
+ </div>
975
+ <div class="method">
976
+ <div class="title">
977
+ <a name="M000325"></a><b>downcase?</b>()
978
+ </div>
979
+ <div class="description">
980
+ <p>
981
+ Return true if the string is lowercase (downcase), otherwise false.
982
+ </p>
983
+ <pre>
984
+ &quot;THIS&quot;.downcase? #=&gt; false
985
+ &quot;This&quot;.downcase? #=&gt; false
986
+ &quot;this&quot;.downcase? #=&gt; true
987
+ </pre>
988
+ </div>
989
+ <div class="aka">
990
+ This method is also aliased as
991
+ <a href="String.html#M000358">lowercase?</a>
992
+ </div>
993
+ <div class="sourcecode">
994
+ <p class="source-link">[ <a href="javascript:toggleSource('M000325_source')" id="l_M000325_source">show source</a> ]</p>
995
+ <div id="M000325_source" class="dyn-source">
996
+ <pre>
997
+ <span class="ruby-comment cmt"># File lib/facets/core/string/downcase.rb, line 12</span>
998
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">downcase?</span>
999
+ <span class="ruby-identifier">downcase</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">self</span>
1000
+ <span class="ruby-keyword kw">end</span>
1001
+ </pre>
1002
+ </div>
1003
+ </div>
1004
+ </div>
1005
+ <div class="method">
1006
+ <div class="title">
1007
+ <a name="M000286"></a><b>dresner</b>()
1008
+ </div>
1009
+ <div class="description">
1010
+ <p>
1011
+ Scramble the inner characters of words leaving the text still readable
1012
+ (research at Cambridge University, code by KurtDresner).
1013
+ </p>
1014
+ <p>
1015
+ For example, the above text may result in:
1016
+ </p>
1017
+ <pre>
1018
+ Srblamce the iennr cchrteaars of wodrs lvenaig the txet stlil rbeaadle
1019
+ (rreceash at Cbamigdre Uverintisy, cdoe by KrneruestDr?)
1020
+ </pre>
1021
+ </div>
1022
+ <div class="sourcecode">
1023
+ <p class="source-link">[ <a href="javascript:toggleSource('M000286_source')" id="l_M000286_source">show source</a> ]</p>
1024
+ <div id="M000286_source" class="dyn-source">
1025
+ <pre>
1026
+ <span class="ruby-comment cmt"># File lib/facets/core/string/dresner.rb, line 12</span>
1027
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dresner</span>
1028
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\B\w+\B/</span>){<span class="ruby-identifier">$&amp;</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">//</span>).<span class="ruby-identifier">sort_by</span>{<span class="ruby-identifier">rand</span>}}
1029
+ <span class="ruby-keyword kw">end</span>
1030
+ </pre>
1031
+ </div>
1032
+ </div>
1033
+ </div>
1034
+ <div class="method">
1035
+ <div class="title">
1036
+ <a name="M000287"></a><b>dresner!</b>()
1037
+ </div>
1038
+ <div class="description">
1039
+ <p>
1040
+ Inplace version of <a href="String.html#M000286">dresner</a> method.
1041
+ </p>
1042
+ </div>
1043
+ <div class="sourcecode">
1044
+ <p class="source-link">[ <a href="javascript:toggleSource('M000287_source')" id="l_M000287_source">show source</a> ]</p>
1045
+ <div id="M000287_source" class="dyn-source">
1046
+ <pre>
1047
+ <span class="ruby-comment cmt"># File lib/facets/core/string/dresner.rb, line 18</span>
1048
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dresner!</span>
1049
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">replace</span>(<span class="ruby-identifier">dresner</span>)
1050
+ <span class="ruby-keyword kw">end</span>
1051
+ </pre>
1052
+ </div>
1053
+ </div>
1054
+ </div>
1055
+ <div class="method">
1056
+ <div class="title">
1057
+ <a name="M000363"></a><b>each_char</b>( {|| ...}
1058
+ </div>
1059
+ <div class="description">
1060
+ <p>
1061
+ Iterates through each character.
1062
+ </p>
1063
+ </div>
1064
+ <div class="sourcecode">
1065
+ <p class="source-link">[ <a href="javascript:toggleSource('M000363_source')" id="l_M000363_source">show source</a> ]</p>
1066
+ <div id="M000363_source" class="dyn-source">
1067
+ <pre>
1068
+ <span class="ruby-comment cmt"># File lib/facets/core/string/each_char.rb, line 5</span>
1069
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each_char</span> <span class="ruby-comment cmt"># :yield:</span>
1070
+ <span class="ruby-identifier">split</span>(<span class="ruby-regexp re">//</span>).<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
1071
+ <span class="ruby-keyword kw">yield</span>( <span class="ruby-identifier">c</span> )
1072
+ }
1073
+ <span class="ruby-keyword kw">end</span>
1074
+ </pre>
1075
+ </div>
1076
+ </div>
1077
+ </div>
1078
+ <div class="method">
1079
+ <div class="title">
1080
+ <a name="M000365"></a><b>each_word</b>( &amp;yld )
1081
+ </div>
1082
+ <div class="description">
1083
+ <p>
1084
+ Iterate through each word of a string.
1085
+ </p>
1086
+ <pre>
1087
+ &quot;a string&quot;.each_word { |word, range| ... }
1088
+ </pre>
1089
+ </div>
1090
+ <div class="sourcecode">
1091
+ <p class="source-link">[ <a href="javascript:toggleSource('M000365_source')" id="l_M000365_source">show source</a> ]</p>
1092
+ <div id="M000365_source" class="dyn-source">
1093
+ <pre>
1094
+ <span class="ruby-comment cmt"># File lib/facets/core/string/each_word.rb, line 8</span>
1095
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each_word</span>( <span class="ruby-operator">&amp;</span><span class="ruby-identifier">yld</span> )
1096
+ <span class="ruby-identifier">rest_of_string</span> = <span class="ruby-keyword kw">self</span>
1097
+ <span class="ruby-identifier">wordfind</span> = <span class="ruby-regexp re">/([-'\w]+)/</span>
1098
+ <span class="ruby-identifier">arity</span> = <span class="ruby-identifier">yld</span>.<span class="ruby-identifier">arity</span>
1099
+ <span class="ruby-identifier">offset</span> = <span class="ruby-value">0</span>
1100
+ <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">wmatch</span> = <span class="ruby-identifier">wordfind</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">rest_of_string</span>)
1101
+ <span class="ruby-identifier">word</span> = <span class="ruby-identifier">wmatch</span>[<span class="ruby-value">0</span>]
1102
+ <span class="ruby-identifier">range</span> = <span class="ruby-identifier">offset</span><span class="ruby-operator">+</span><span class="ruby-identifier">wmatch</span>.<span class="ruby-identifier">begin</span>(<span class="ruby-value">0</span>) <span class="ruby-operator">...</span> <span class="ruby-identifier">offset</span><span class="ruby-operator">+</span><span class="ruby-identifier">wmatch</span>.<span class="ruby-identifier">end</span>(<span class="ruby-value">0</span>)
1103
+ <span class="ruby-identifier">rest_of_string</span> = <span class="ruby-identifier">wmatch</span>.<span class="ruby-identifier">post_match</span>
1104
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arity</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
1105
+ <span class="ruby-identifier">yld</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">word</span>)
1106
+ <span class="ruby-keyword kw">else</span>
1107
+ <span class="ruby-identifier">yld</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">word</span>, <span class="ruby-identifier">range</span>)
1108
+ <span class="ruby-keyword kw">end</span>
1109
+ <span class="ruby-identifier">offset</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">rest_of_string</span>.<span class="ruby-identifier">length</span>
1110
+ <span class="ruby-keyword kw">end</span>
1111
+ <span class="ruby-keyword kw">end</span>
1112
+ </pre>
1113
+ </div>
1114
+ </div>
1115
+ </div>
1116
+ <div class="method">
1117
+ <div class="title">
1118
+ <a name="M000320"></a><b>ends_with?</b>(str)
1119
+ </div>
1120
+ <div class="sourcecode">
1121
+ <p class="source-link">[ <a href="javascript:toggleSource('M000320_source')" id="l_M000320_source">show source</a> ]</p>
1122
+ <div id="M000320_source" class="dyn-source">
1123
+ <pre>
1124
+ <span class="ruby-comment cmt"># File lib/facets/core/string/starts_with.rb, line 11</span>
1125
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ends_with?</span>(<span class="ruby-identifier">str</span>)
1126
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">rindex</span>( <span class="ruby-identifier">str</span> ) <span class="ruby-operator">==</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">length</span>
1127
+ <span class="ruby-keyword kw">end</span>
1128
+ </pre>
1129
+ </div>
1130
+ </div>
1131
+ </div>
1132
+ <div class="method">
1133
+ <div class="title">
1134
+ <a name="M000282"></a><b>entropy</b>()
1135
+ </div>
1136
+ <div class="sourcecode">
1137
+ <p class="source-link">[ <a href="javascript:toggleSource('M000282_source')" id="l_M000282_source">show source</a> ]</p>
1138
+ <div id="M000282_source" class="dyn-source">
1139
+ <pre>
1140
+ <span class="ruby-comment cmt"># File lib/facets/core/enumerable/entropy.rb, line 27</span>
1141
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">entropy</span>
1142
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">//</span>).<span class="ruby-identifier">entropy</span>
1143
+ <span class="ruby-keyword kw">end</span>
1144
+ </pre>
1145
+ </div>
1146
+ </div>
1147
+ </div>
1148
+ <div class="method">
1149
+ <div class="title">
1150
+ <a name="M000331"></a><b>first</b>(separator_pattern=//)
1151
+ </div>
1152
+ <div class="description">
1153
+ <p>
1154
+ Returns the first separation of a string. Default seperation is by
1155
+ character.
1156
+ </p>
1157
+ <pre>
1158
+ &quot;Hello World&quot;.first #=&gt; &quot;H&quot;
1159
+ &quot;Hello World&quot;.first(' ') #=&gt; &quot;Hello&quot;
1160
+ </pre>
1161
+ </div>
1162
+ <div class="sourcecode">
1163
+ <p class="source-link">[ <a href="javascript:toggleSource('M000331_source')" id="l_M000331_source">show source</a> ]</p>
1164
+ <div id="M000331_source" class="dyn-source">
1165
+ <pre>
1166
+ <span class="ruby-comment cmt"># File lib/facets/core/string/first.rb, line 14</span>
1167
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">first</span>(<span class="ruby-identifier">separator_pattern</span>=<span class="ruby-regexp re">//</span>)
1168
+ <span class="ruby-identifier">pattern</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">patterns</span>(<span class="ruby-identifier">separator_pattern</span>)
1169
+ <span class="ruby-identifier">split</span>(<span class="ruby-identifier">separator_pattern</span>).<span class="ruby-identifier">at</span>(<span class="ruby-value">0</span>)
1170
+ <span class="ruby-keyword kw">end</span>
1171
+ </pre>
1172
+ </div>
1173
+ </div>
1174
+ </div>
1175
+ <div class="method">
1176
+ <div class="title">
1177
+ <a name="M000332"></a><b>first!</b>(separator_pattern=//)
1178
+ </div>
1179
+ <div class="description">
1180
+ <p>
1181
+ Removes the first separation from a string. Defualt separation is by
1182
+ characters.
1183
+ </p>
1184
+ <pre>
1185
+ a = &quot;Hello World&quot;
1186
+ a.first! #=&gt; &quot;H&quot;
1187
+ a #=&gt; &quot;ello World&quot;
1188
+
1189
+ a = &quot;Hello World&quot;
1190
+ a.first!(' ') #=&gt; &quot;Hello&quot;
1191
+ a #=&gt; &quot;World&quot;
1192
+ </pre>
1193
+ </div>
1194
+ <div class="sourcecode">
1195
+ <p class="source-link">[ <a href="javascript:toggleSource('M000332_source')" id="l_M000332_source">show source</a> ]</p>
1196
+ <div id="M000332_source" class="dyn-source">
1197
+ <pre>
1198
+ <span class="ruby-comment cmt"># File lib/facets/core/string/first.rb, line 36</span>
1199
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">first!</span>(<span class="ruby-identifier">separator_pattern</span>=<span class="ruby-regexp re">//</span>)
1200
+ <span class="ruby-identifier">pattern</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">patterns</span>(<span class="ruby-identifier">separator_pattern</span>)
1201
+ <span class="ruby-identifier">a</span> = <span class="ruby-identifier">shatter</span>(<span class="ruby-identifier">pattern</span>)
1202
+ <span class="ruby-identifier">r</span> = <span class="ruby-identifier">a</span>.<span class="ruby-identifier">first</span>
1203
+ <span class="ruby-identifier">a</span>.<span class="ruby-identifier">shift</span>
1204
+ <span class="ruby-identifier">a</span>.<span class="ruby-identifier">shift</span>
1205
+ <span class="ruby-identifier">replace</span>( <span class="ruby-identifier">a</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">''</span>) )
1206
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">r</span>
1207
+ <span class="ruby-keyword kw">end</span>
1208
+ </pre>
1209
+ </div>
1210
+ </div>
1211
+ </div>
1212
+ <div class="method">
1213
+ <div class="title">
1214
+ <a name="M000333"></a><b>first=</b>( x )
1215
+ </div>
1216
+ <div class="description">
1217
+ <p>
1218
+ Prepends to a string.
1219
+ </p>
1220
+ <pre>
1221
+ &quot;Hello World&quot;.first = &quot;Hello,&quot; #=&gt; &quot;Hello, Hello World&quot;
1222
+ </pre>
1223
+ </div>
1224
+ <div class="sourcecode">
1225
+ <p class="source-link">[ <a href="javascript:toggleSource('M000333_source')" id="l_M000333_source">show source</a> ]</p>
1226
+ <div id="M000333_source" class="dyn-source">
1227
+ <pre>
1228
+ <span class="ruby-comment cmt"># File lib/facets/core/string/first.rb, line 52</span>
1229
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">first=</span>( <span class="ruby-identifier">x</span> )
1230
+ <span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">x</span>.<span class="ruby-identifier">to_s</span>)
1231
+ <span class="ruby-keyword kw">end</span>
1232
+ </pre>
1233
+ </div>
1234
+ </div>
1235
+ </div>
1236
+ <div class="method">
1237
+ <div class="title">
1238
+ <a name="M000321"></a><b>first_char</b>(n=1)
1239
+ </div>
1240
+ <div class="description">
1241
+ <p>
1242
+ Returns first <em>n</em> characters.
1243
+ </p>
1244
+ <pre>
1245
+ &quot;Hello World&quot;.first_char(3) #=&gt; &quot;Hel&quot;
1246
+ </pre>
1247
+ </div>
1248
+ <div class="sourcecode">
1249
+ <p class="source-link">[ <a href="javascript:toggleSource('M000321_source')" id="l_M000321_source">show source</a> ]</p>
1250
+ <div id="M000321_source" class="dyn-source">
1251
+ <pre>
1252
+ <span class="ruby-comment cmt"># File lib/facets/core/string/first_char.rb, line 8</span>
1253
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">first_char</span>(<span class="ruby-identifier">n</span>=<span class="ruby-value">1</span>)
1254
+ <span class="ruby-identifier">slice</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">n</span>.<span class="ruby-identifier">to_i</span>)
1255
+ <span class="ruby-keyword kw">end</span>
1256
+ </pre>
1257
+ </div>
1258
+ </div>
1259
+ </div>
1260
+ <div class="method">
1261
+ <div class="title">
1262
+ <a name="M000334"></a><b>fold</b>(ignore_indented=false)
1263
+ </div>
1264
+ <div class="description">
1265
+ <p>
1266
+ Returns a new string with all new lines removed from adjacent lines of
1267
+ text.
1268
+ </p>
1269
+ <pre>
1270
+ s = &quot;This is\na test.\n\nIt clumps\nlines of text.&quot;
1271
+ s.fold
1272
+ </pre>
1273
+ <p>
1274
+ <em>produces</em>
1275
+ </p>
1276
+ <pre>
1277
+ &quot;This is a test.\n\nIt clumps lines of text. &quot;
1278
+ </pre>
1279
+ </div>
1280
+ <div class="sourcecode">
1281
+ <p class="source-link">[ <a href="javascript:toggleSource('M000334_source')" id="l_M000334_source">show source</a> ]</p>
1282
+ <div id="M000334_source" class="dyn-source">
1283
+ <pre>
1284
+ <span class="ruby-comment cmt"># File lib/facets/core/string/fold.rb, line 19</span>
1285
+ <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>)
1286
+ <span class="ruby-identifier">ns</span> = <span class="ruby-value str">''</span>
1287
+ <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
1288
+ <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>
1289
+ <span class="ruby-identifier">b</span> = <span class="ruby-identifier">$~</span>.<span class="ruby-identifier">begin</span>(<span class="ruby-value">1</span>)
1290
+ <span class="ruby-identifier">e</span> = <span class="ruby-identifier">$~</span>.<span class="ruby-identifier">end</span>(<span class="ruby-value">1</span>)
1291
+ <span class="ruby-identifier">nl</span> = <span class="ruby-identifier">$&amp;</span>
1292
+ <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>)
1293
+ <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>
1294
+ <span class="ruby-identifier">ns</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">tx</span>
1295
+ <span class="ruby-keyword kw">else</span>
1296
+ <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>)
1297
+ <span class="ruby-keyword kw">end</span>
1298
+ <span class="ruby-identifier">ns</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">nl</span>
1299
+ <span class="ruby-identifier">i</span> = <span class="ruby-identifier">e</span>
1300
+ <span class="ruby-keyword kw">end</span>
1301
+ <span class="ruby-identifier">ns</span>
1302
+ <span class="ruby-keyword kw">end</span>
1303
+ </pre>
1304
+ </div>
1305
+ </div>
1306
+ </div>
1307
+ <div class="method">
1308
+ <div class="title">
1309
+ <a name="M000354"></a><b>format</b>( *args )
1310
+ </div>
1311
+ <div class="sourcecode">
1312
+ <p class="source-link">[ <a href="javascript:toggleSource('M000354_source')" id="l_M000354_source">show source</a> ]</p>
1313
+ <div id="M000354_source" class="dyn-source">
1314
+ <pre>
1315
+ <span class="ruby-comment cmt"># File lib/facets/core/string/format.rb, line 4</span>
1316
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">format</span>( <span class="ruby-operator">*</span><span class="ruby-identifier">args</span> )
1317
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-operator">%</span>(<span class="ruby-identifier">args</span>)
1318
+ <span class="ruby-keyword kw">end</span>
1319
+ </pre>
1320
+ </div>
1321
+ </div>
1322
+ </div>
1323
+ <div class="method">
1324
+ <div class="title">
1325
+ <a name="M000310"></a><b>fuzzy_match</b>( str_in )
1326
+ </div>
1327
+ <div class="description">
1328
+ <p>
1329
+ Alias for <a href="String.html#M000309">similarity</a>
1330
+ </p>
1331
+ </div>
1332
+ </div>
1333
+ <div class="method">
1334
+ <div class="title">
1335
+ <a name="M000293"></a><b>humanize</b>()
1336
+ </div>
1337
+ <div class="description">
1338
+ <p>
1339
+ Replaces underscores with spaces and capitalizes word.
1340
+ </p>
1341
+ </div>
1342
+ <div class="sourcecode">
1343
+ <p class="source-link">[ <a href="javascript:toggleSource('M000293_source')" id="l_M000293_source">show source</a> ]</p>
1344
+ <div id="M000293_source" class="dyn-source">
1345
+ <pre>
1346
+ <span class="ruby-comment cmt"># File lib/facets/core/string/humanize.rb, line 6</span>
1347
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">humanize</span>
1348
+ <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>
1349
+ <span class="ruby-keyword kw">end</span>
1350
+ </pre>
1351
+ </div>
1352
+ </div>
1353
+ </div>
1354
+ <div class="method">
1355
+ <div class="title">
1356
+ <a name="M000351"></a><b>indent</b>(n)
1357
+ </div>
1358
+ <div class="description">
1359
+ <p>
1360
+ Indent left or right by n spaces. (This used to be called <a
1361
+ href="String.html#M000349">tab</a> and aliased as <a
1362
+ href="String.html#M000351">indent</a>.)
1363
+ </p>
1364
+ </div>
1365
+ <div class="sourcecode">
1366
+ <p class="source-link">[ <a href="javascript:toggleSource('M000351_source')" id="l_M000351_source">show source</a> ]</p>
1367
+ <div id="M000351_source" class="dyn-source">
1368
+ <pre>
1369
+ <span class="ruby-comment cmt"># File lib/facets/core/string/indent.rb, line 25</span>
1370
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indent</span>(<span class="ruby-identifier">n</span>)
1371
+ <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>
1372
+ <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>)
1373
+ <span class="ruby-keyword kw">else</span>
1374
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-node">/^ {0,#{-n}}/</span>, <span class="ruby-value str">&quot;&quot;</span>)
1375
+ <span class="ruby-keyword kw">end</span>
1376
+ <span class="ruby-keyword kw">end</span>
1377
+ </pre>
1378
+ </div>
1379
+ </div>
1380
+ </div>
1381
+ <div class="method">
1382
+ <div class="title">
1383
+ <a name="M000369"></a><b>index_all</b>(s, reuse=false)
1384
+ </div>
1385
+ <div class="description">
1386
+ <p>
1387
+ Like index but returns an array of all index locations. The reuse flag
1388
+ allows the trailing portion of a match to be reused for subsquent matches.
1389
+ </p>
1390
+ <pre>
1391
+ &quot;abcabcabc&quot;.index_all('a') #=&gt; [0,3,6]
1392
+ </pre>
1393
+ </div>
1394
+ <div class="sourcecode">
1395
+ <p class="source-link">[ <a href="javascript:toggleSource('M000369_source')" id="l_M000369_source">show source</a> ]</p>
1396
+ <div id="M000369_source" class="dyn-source">
1397
+ <pre>
1398
+ <span class="ruby-comment cmt"># File lib/facets/core/string/index_all.rb, line 10</span>
1399
+ <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>)
1400
+ <span class="ruby-identifier">ia</span> = []; <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
1401
+ <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">i</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">s</span>,<span class="ruby-identifier">i</span>))
1402
+ <span class="ruby-identifier">ia</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">i</span>
1403
+ <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-identifier">length</span>)
1404
+ <span class="ruby-keyword kw">end</span>
1405
+ <span class="ruby-identifier">ia</span>
1406
+ <span class="ruby-keyword kw">end</span>
1407
+ </pre>
1408
+ </div>
1409
+ </div>
1410
+ </div>
1411
+ <div class="method">
1412
+ <div class="title">
1413
+ <a name="M000298"></a><b>last</b>(separator_pattern=//)
1414
+ </div>
1415
+ <div class="description">
1416
+ <p>
1417
+ Returns the last separation of a string. Default separation is by
1418
+ character.
1419
+ </p>
1420
+ <pre>
1421
+ &quot;Hello World&quot;.last(' ') #=&gt; &quot;World&quot;
1422
+ </pre>
1423
+ </div>
1424
+ <div class="sourcecode">
1425
+ <p class="source-link">[ <a href="javascript:toggleSource('M000298_source')" id="l_M000298_source">show source</a> ]</p>
1426
+ <div id="M000298_source" class="dyn-source">
1427
+ <pre>
1428
+ <span class="ruby-comment cmt"># File lib/facets/core/string/last.rb, line 13</span>
1429
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">last</span>(<span class="ruby-identifier">separator_pattern</span>=<span class="ruby-regexp re">//</span>)
1430
+ <span class="ruby-identifier">pattern</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">patterns</span>(<span class="ruby-identifier">separator_pattern</span>)
1431
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">split</span>(<span class="ruby-identifier">separator_pattern</span>).<span class="ruby-identifier">at</span>(<span class="ruby-value">-1</span>)
1432
+ <span class="ruby-keyword kw">end</span>
1433
+ </pre>
1434
+ </div>
1435
+ </div>
1436
+ </div>
1437
+ <div class="method">
1438
+ <div class="title">
1439
+ <a name="M000300"></a><b>last!</b>(separator_pattern=//)
1440
+ </div>
1441
+ <div class="description">
1442
+ <p>
1443
+ Removes the last separation from a string. Default seperation is by
1444
+ characeter.
1445
+ </p>
1446
+ <pre>
1447
+ a = &quot;Hello World&quot;
1448
+ a.last! #=&gt; &quot;d&quot;
1449
+ a #=&gt; &quot;Hello Worl&quot;
1450
+
1451
+ a = &quot;Hello World&quot;
1452
+ a.last!(' ') #=&gt; &quot;World&quot;
1453
+ a #=&gt; &quot;Hello&quot;
1454
+ </pre>
1455
+ </div>
1456
+ <div class="sourcecode">
1457
+ <p class="source-link">[ <a href="javascript:toggleSource('M000300_source')" id="l_M000300_source">show source</a> ]</p>
1458
+ <div id="M000300_source" class="dyn-source">
1459
+ <pre>
1460
+ <span class="ruby-comment cmt"># File lib/facets/core/string/last.rb, line 43</span>
1461
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">last!</span>(<span class="ruby-identifier">separator_pattern</span>=<span class="ruby-regexp re">//</span>)
1462
+ <span class="ruby-identifier">pattern</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">patterns</span>(<span class="ruby-identifier">separator_pattern</span>)
1463
+ <span class="ruby-identifier">a</span> = <span class="ruby-identifier">shatter</span>(<span class="ruby-identifier">pattern</span>)
1464
+ <span class="ruby-identifier">r</span> = <span class="ruby-identifier">a</span>.<span class="ruby-identifier">last</span>
1465
+ <span class="ruby-identifier">a</span>.<span class="ruby-identifier">pop</span>
1466
+ <span class="ruby-identifier">a</span>.<span class="ruby-identifier">pop</span>
1467
+ <span class="ruby-identifier">replace</span>( <span class="ruby-identifier">a</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">''</span>) )
1468
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">r</span>
1469
+ <span class="ruby-keyword kw">end</span>
1470
+ </pre>
1471
+ </div>
1472
+ </div>
1473
+ </div>
1474
+ <div class="method">
1475
+ <div class="title">
1476
+ <a name="M000299"></a><b>last=</b>(str)
1477
+ </div>
1478
+ <div class="description">
1479
+ <p>
1480
+ Appends to a string.
1481
+ </p>
1482
+ <pre>
1483
+ &quot;Hello World&quot;.last = &quot;, Bye.&quot; #=&gt; &quot;Hello World, Bye.&quot;
1484
+ </pre>
1485
+ </div>
1486
+ <div class="sourcecode">
1487
+ <p class="source-link">[ <a href="javascript:toggleSource('M000299_source')" id="l_M000299_source">show source</a> ]</p>
1488
+ <div id="M000299_source" class="dyn-source">
1489
+ <pre>
1490
+ <span class="ruby-comment cmt"># File lib/facets/core/string/last.rb, line 22</span>
1491
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">last=</span>(<span class="ruby-identifier">str</span>)
1492
+ <span class="ruby-keyword kw">self</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">str</span>
1493
+ <span class="ruby-keyword kw">end</span>
1494
+ </pre>
1495
+ </div>
1496
+ </div>
1497
+ </div>
1498
+ <div class="method">
1499
+ <div class="title">
1500
+ <a name="M000343"></a><b>last_char</b>(n=1)
1501
+ </div>
1502
+ <div class="description">
1503
+ <p>
1504
+ Returns last <em>n</em> characters.
1505
+ </p>
1506
+ <pre>
1507
+ &quot;Hello World&quot;.last_char(3) #=&gt; &quot;rld&quot;
1508
+ </pre>
1509
+ </div>
1510
+ <div class="sourcecode">
1511
+ <p class="source-link">[ <a href="javascript:toggleSource('M000343_source')" id="l_M000343_source">show source</a> ]</p>
1512
+ <div id="M000343_source" class="dyn-source">
1513
+ <pre>
1514
+ <span class="ruby-comment cmt"># File lib/facets/core/string/last_char.rb, line 8</span>
1515
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">last_char</span>(<span class="ruby-identifier">n</span>=<span class="ruby-value">1</span>)
1516
+ <span class="ruby-identifier">n</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">to_i</span>
1517
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">size</span>
1518
+ <span class="ruby-identifier">slice</span>(<span class="ruby-operator">-</span><span class="ruby-identifier">n</span>, <span class="ruby-identifier">n</span>) <span class="ruby-comment cmt">#self[-n..-1]</span>
1519
+ <span class="ruby-keyword kw">end</span>
1520
+ </pre>
1521
+ </div>
1522
+ </div>
1523
+ </div>
1524
+ <div class="method">
1525
+ <div class="title">
1526
+ <a name="M000344"></a><b>line_wrap</b>(width)
1527
+ </div>
1528
+ <div class="description">
1529
+ <p>
1530
+ Line wrap at width.
1531
+ </p>
1532
+ <pre>
1533
+ puts &quot;1234567890&quot;.line_wrap(5)
1534
+ </pre>
1535
+ <p>
1536
+ <em>produces</em>
1537
+ </p>
1538
+ <pre>
1539
+ 12345
1540
+ 67890
1541
+ </pre>
1542
+ </div>
1543
+ <div class="sourcecode">
1544
+ <p class="source-link">[ <a href="javascript:toggleSource('M000344_source')" id="l_M000344_source">show source</a> ]</p>
1545
+ <div id="M000344_source" class="dyn-source">
1546
+ <pre>
1547
+ <span class="ruby-comment cmt"># File lib/facets/core/string/line_wrap.rb, line 13</span>
1548
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">line_wrap</span>(<span class="ruby-identifier">width</span>)
1549
+ <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-value">4</span>) <span class="ruby-comment cmt"># tabs default to 4 spaces.</span>
1550
+ <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>)
1551
+ <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> )
1552
+ <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>
1553
+ <span class="ruby-keyword kw">end</span>
1554
+ </pre>
1555
+ </div>
1556
+ </div>
1557
+ </div>
1558
+ <div class="method">
1559
+ <div class="title">
1560
+ <a name="M000379"></a><b>lines</b>()
1561
+ </div>
1562
+ <div class="description">
1563
+ <p>
1564
+ Returns an array of characters.
1565
+ </p>
1566
+ <pre>
1567
+ &quot;abc\n123&quot;.lines #=&gt; [&quot;abc&quot;,&quot;123&quot;]
1568
+ </pre>
1569
+ </div>
1570
+ <div class="sourcecode">
1571
+ <p class="source-link">[ <a href="javascript:toggleSource('M000379_source')" id="l_M000379_source">show source</a> ]</p>
1572
+ <div id="M000379_source" class="dyn-source">
1573
+ <pre>
1574
+ <span class="ruby-comment cmt"># File lib/facets/core/string/lines.rb, line 8</span>
1575
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lines</span>
1576
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/\n/</span>)
1577
+ <span class="ruby-keyword kw">end</span>
1578
+ </pre>
1579
+ </div>
1580
+ </div>
1581
+ </div>
1582
+ <div class="method">
1583
+ <div class="title">
1584
+ <a name="M000358"></a><b>lowercase?</b>()
1585
+ </div>
1586
+ <div class="description">
1587
+ <p>
1588
+ Alias for <a href="String.html#M000325">downcase?</a>
1589
+ </p>
1590
+ </div>
1591
+ </div>
1592
+ <div class="method">
1593
+ <div class="title">
1594
+ <a name="M000294"></a><b>margin</b>(n=0)
1595
+ </div>
1596
+ <div class="description">
1597
+ <p>
1598
+ Provides a margin controlled string.
1599
+ </p>
1600
+ <pre>
1601
+ x = %Q{
1602
+ | This
1603
+ | is
1604
+ | margin controlled!
1605
+ }.margin
1606
+ </pre>
1607
+ </div>
1608
+ <div class="sourcecode">
1609
+ <p class="source-link">[ <a href="javascript:toggleSource('M000294_source')" id="l_M000294_source">show source</a> ]</p>
1610
+ <div id="M000294_source" class="dyn-source">
1611
+ <pre>
1612
+ <span class="ruby-comment cmt"># File lib/facets/core/string/margin.rb, line 15</span>
1613
+ <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>)
1614
+ <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-value">1</span>]
1615
+ <span class="ruby-identifier">d</span> = <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>] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">d</span>
1616
+ <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>
1617
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
1618
+ <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>)
1619
+ <span class="ruby-keyword kw">else</span>
1620
+ <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>)
1621
+ <span class="ruby-keyword kw">end</span>
1622
+ <span class="ruby-keyword kw">end</span>
1623
+ </pre>
1624
+ </div>
1625
+ </div>
1626
+ </div>
1627
+ <div class="method">
1628
+ <div class="title">
1629
+ <a name="M000382"></a><b>methodize</b>()
1630
+ </div>
1631
+ <div class="description">
1632
+ <p>
1633
+ Converts a string into a valid ruby method name This method is geared
1634
+ toward code reflection.
1635
+ </p>
1636
+ <pre>
1637
+ &quot;MyModule::MyClass&quot;.methodize #=&gt; &quot;my_module__my_class&quot;
1638
+ </pre>
1639
+ <p>
1640
+ See also <a href="String.html#M000380">String#modulize</a>, <a
1641
+ href="String.html#M000381">String#pathize</a>
1642
+ </p>
1643
+ <h2>TODO</h2>
1644
+ <ul>
1645
+ <li>Make sure that all scenarios return a valid ruby class name
1646
+
1647
+ </li>
1648
+ <li>Make sure it is revertible
1649
+
1650
+ </li>
1651
+ </ul>
1652
+ </div>
1653
+ <div class="sourcecode">
1654
+ <p class="source-link">[ <a href="javascript:toggleSource('M000382_source')" id="l_M000382_source">show source</a> ]</p>
1655
+ <div id="M000382_source" class="dyn-source">
1656
+ <pre>
1657
+ <span class="ruby-comment cmt"># File lib/facets/core/string/methodize.rb, line 18</span>
1658
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">methodize</span>
1659
+ <span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/([A-Z])/</span>, <span class="ruby-value str">'_\1'</span>).<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/^_/</span>,<span class="ruby-value str">''</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/(::|\/)_?/</span>, <span class="ruby-value str">'__'</span>)
1660
+ <span class="ruby-keyword kw">end</span>
1661
+ </pre>
1662
+ </div>
1663
+ </div>
1664
+ </div>
1665
+ <div class="method">
1666
+ <div class="title">
1667
+ <a name="M000380"></a><b>modulize</b>()
1668
+ </div>
1669
+ <div class="description">
1670
+ <p>
1671
+ Converts a string into a valid ruby class or module name This method is
1672
+ geared toward code reflection.
1673
+ </p>
1674
+ <pre>
1675
+ &quot;my_module__my_path&quot;.modulize #=&gt; &quot;MyModule::MyPath&quot;
1676
+ </pre>
1677
+ <p>
1678
+ See also <a href="String.html#M000382">String#methodize</a>, <a
1679
+ href="String.html#M000381">String#pathize</a>
1680
+ </p>
1681
+ <p>
1682
+ TODO
1683
+ </p>
1684
+ <ul>
1685
+ <li>Make sure that all scenarios return a valid ruby class name
1686
+
1687
+ </li>
1688
+ <li>Make sure it is revertible
1689
+
1690
+ </li>
1691
+ </ul>
1692
+ </div>
1693
+ <div class="sourcecode">
1694
+ <p class="source-link">[ <a href="javascript:toggleSource('M000380_source')" id="l_M000380_source">show source</a> ]</p>
1695
+ <div id="M000380_source" class="dyn-source">
1696
+ <pre>
1697
+ <span class="ruby-comment cmt"># File lib/facets/core/string/modulize.rb, line 16</span>
1698
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">modulize</span>
1699
+ <span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/(__|\/)(.?)/</span>){ <span class="ruby-value str">&quot;::&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">$2</span>.<span class="ruby-identifier">upcase</span> }.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/(^|_)(.)/</span>){ <span class="ruby-identifier">$2</span>.<span class="ruby-identifier">upcase</span> }
1700
+ <span class="ruby-keyword kw">end</span>
1701
+ </pre>
1702
+ </div>
1703
+ </div>
1704
+ </div>
1705
+ <div class="method">
1706
+ <div class="title">
1707
+ <a name="M000375"></a><b>mscan</b>(re) {|| ...}
1708
+ </div>
1709
+ <div class="description">
1710
+ <p>
1711
+ Like scan but returns <a href="MatchData.html">MatchData</a> ($~) rather
1712
+ then matched string ($&amp;).
1713
+ </p>
1714
+ </div>
1715
+ <div class="sourcecode">
1716
+ <p class="source-link">[ <a href="javascript:toggleSource('M000375_source')" id="l_M000375_source">show source</a> ]</p>
1717
+ <div id="M000375_source" class="dyn-source">
1718
+ <pre>
1719
+ <span class="ruby-comment cmt"># File lib/facets/core/string/mscan.rb, line 7</span>
1720
+ <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>
1721
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
1722
+ <span class="ruby-identifier">scan</span>(<span class="ruby-identifier">re</span>) { <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">$~</span>) }
1723
+ <span class="ruby-keyword kw">else</span>
1724
+ <span class="ruby-identifier">m</span> = []
1725
+ <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> }
1726
+ <span class="ruby-identifier">m</span>
1727
+ <span class="ruby-keyword kw">end</span>
1728
+ <span class="ruby-keyword kw">end</span>
1729
+ </pre>
1730
+ </div>
1731
+ </div>
1732
+ </div>
1733
+ <div class="method">
1734
+ <div class="title">
1735
+ <a name="M000378"></a><b>natcmp</b>(str2, caseInsensitive=false)
1736
+ </div>
1737
+ <div class="description">
1738
+ <p>
1739
+ &#8216;Natural order&#8217; comparison of two strings, e.g.
1740
+ </p>
1741
+ <pre>
1742
+ &quot;my_prog_v1.1.0&quot; &lt; &quot;my_prog_v1.2.0&quot; &lt; &quot;my_prog_v1.10.0&quot;
1743
+ </pre>
1744
+ <p>
1745
+ which does not follow alphabetically. A secondary parameter, if set to
1746
+ <em>true</em>, makes the comparison case insensitive.
1747
+ </p>
1748
+ <pre>
1749
+ &quot;Hello.10&quot;.natcmp(&quot;Hello.1&quot;) #=&gt; -1
1750
+ </pre>
1751
+ </div>
1752
+ <div class="sourcecode">
1753
+ <p class="source-link">[ <a href="javascript:toggleSource('M000378_source')" id="l_M000378_source">show source</a> ]</p>
1754
+ <div id="M000378_source" class="dyn-source">
1755
+ <pre>
1756
+ <span class="ruby-comment cmt"># File lib/facets/core/string/natcmp.rb, line 42</span>
1757
+ <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>)
1758
+ <span class="ruby-identifier">str1</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
1759
+ <span class="ruby-identifier">str2</span> = <span class="ruby-identifier">str2</span>.<span class="ruby-identifier">dup</span>
1760
+ <span class="ruby-identifier">compareExpression</span> = <span class="ruby-regexp re">/^(\D*)(\d*)(.*)$/</span>
1761
+
1762
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">caseInsensitive</span>
1763
+ <span class="ruby-identifier">str1</span>.<span class="ruby-identifier">downcase!</span>
1764
+ <span class="ruby-identifier">str2</span>.<span class="ruby-identifier">downcase!</span>
1765
+ <span class="ruby-keyword kw">end</span>
1766
+
1767
+ <span class="ruby-comment cmt"># remove all whitespace</span>
1768
+ <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>)
1769
+ <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>)
1770
+
1771
+ <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>
1772
+ <span class="ruby-comment cmt"># Extract non-digits, digits and rest of string</span>
1773
+ <span class="ruby-identifier">str1</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">compareExpression</span>
1774
+ <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>
1775
+ <span class="ruby-identifier">str2</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">compareExpression</span>
1776
+ <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>
1777
+ <span class="ruby-comment cmt"># Compare the non-digits</span>
1778
+ <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>)
1779
+ <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>
1780
+ <span class="ruby-comment cmt"># If either number begins with a zero, then compare alphabetically,</span>
1781
+ <span class="ruby-comment cmt"># otherwise compare numerically</span>
1782
+ <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>)
1783
+ <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>
1784
+ <span class="ruby-keyword kw">end</span>
1785
+ <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>)
1786
+ <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>
1787
+ <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>
1788
+ <span class="ruby-keyword kw">end</span>
1789
+ <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>
1790
+ <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>
1791
+ <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># case</span>
1792
+ <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># while</span>
1793
+
1794
+ <span class="ruby-comment cmt"># strings are naturally equal.</span>
1795
+ <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span>
1796
+ <span class="ruby-keyword kw">end</span>
1797
+
1798
+ <span class="ruby-keyword kw">end</span>
1799
+ </pre>
1800
+ </div>
1801
+ </div>
1802
+ </div>
1803
+ <div class="method">
1804
+ <div class="title">
1805
+ <a name="M000303"></a><b>nchar</b>( n, replacement=nil )
1806
+ </div>
1807
+ <div class="description">
1808
+ <p>
1809
+ Retrns <em>n</em> characters of the string. If <em>n</em> is positive the
1810
+ characters are from the beginning of the string. If <em>n</em> is negative
1811
+ from the end of the string.
1812
+ </p>
1813
+ <p>
1814
+ Alternatively a replacement string can be given, which will replace the
1815
+ <em>n</em> characters.
1816
+ </p>
1817
+ </div>
1818
+ <div class="sourcecode">
1819
+ <p class="source-link">[ <a href="javascript:toggleSource('M000303_source')" id="l_M000303_source">show source</a> ]</p>
1820
+ <div id="M000303_source" class="dyn-source">
1821
+ <pre>
1822
+ <span class="ruby-comment cmt"># File lib/facets/core/string/nchar.rb, line 11</span>
1823
+ <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> )
1824
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">replacement</span>
1825
+ <span class="ruby-identifier">s</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
1826
+ <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>)
1827
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">s</span>
1828
+ <span class="ruby-keyword kw">else</span>
1829
+ <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>]
1830
+ <span class="ruby-keyword kw">end</span>
1831
+ <span class="ruby-keyword kw">end</span>
1832
+ </pre>
1833
+ </div>
1834
+ </div>
1835
+ </div>
1836
+ <div class="method">
1837
+ <div class="title">
1838
+ <a name="M000360"></a><b>ordinal</b>()
1839
+ </div>
1840
+ <div class="sourcecode">
1841
+ <p class="source-link">[ <a href="javascript:toggleSource('M000360_source')" id="l_M000360_source">show source</a> ]</p>
1842
+ <div id="M000360_source" class="dyn-source">
1843
+ <pre>
1844
+ <span class="ruby-comment cmt"># File lib/facets/core/string/ordinal.rb, line 4</span>
1845
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ordinal</span>
1846
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_i</span>.<span class="ruby-identifier">ordinal</span>
1847
+ <span class="ruby-keyword kw">end</span>
1848
+ </pre>
1849
+ </div>
1850
+ </div>
1851
+ </div>
1852
+ <div class="method">
1853
+ <div class="title">
1854
+ <a name="M000381"></a><b>pathize</b>()
1855
+ </div>
1856
+ <div class="description">
1857
+ <p>
1858
+ Converts a string into a unix path. This method is geared toward code
1859
+ reflection.
1860
+ </p>
1861
+ <p>
1862
+ See : <a href="String.html#M000380">String#modulize</a>, <a
1863
+ href="String.html#M000382">String#methodize</a>
1864
+ </p>
1865
+ <pre>
1866
+ &quot;MyModule::MyClass&quot;.pathize #=&gt; my_module/my_class
1867
+ &quot;my_module__my_class&quot;.pathize #=&gt; my_module/my_class
1868
+ </pre>
1869
+ <p>
1870
+ TODO :
1871
+ </p>
1872
+ <ul>
1873
+ <li>Make sure that all scenarios return a valid unix path
1874
+
1875
+ </li>
1876
+ <li>Make sure it is revertible
1877
+
1878
+ </li>
1879
+ </ul>
1880
+ </div>
1881
+ <div class="sourcecode">
1882
+ <p class="source-link">[ <a href="javascript:toggleSource('M000381_source')" id="l_M000381_source">show source</a> ]</p>
1883
+ <div id="M000381_source" class="dyn-source">
1884
+ <pre>
1885
+ <span class="ruby-comment cmt"># File lib/facets/core/string/pathize.rb, line 17</span>
1886
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pathize</span>
1887
+ <span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/([A-Z])/</span>, <span class="ruby-value str">'_\1'</span>).<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/^_/</span>,<span class="ruby-value str">''</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/(::|__)_?/</span>, <span class="ruby-value str">'/'</span>)
1888
+ <span class="ruby-keyword kw">end</span>
1889
+ </pre>
1890
+ </div>
1891
+ </div>
1892
+ </div>
1893
+ <div class="method">
1894
+ <div class="title">
1895
+ <a name="M000305"></a><b>plural</b>()
1896
+ </div>
1897
+ <div class="description">
1898
+ <p>
1899
+ Convert an English word from singular to plurel.
1900
+ </p>
1901
+ <pre>
1902
+ &quot;boy&quot;.plural #=&gt; boys
1903
+ &quot;tomato&quot;.plural #=&gt; tomatoes
1904
+ </pre>
1905
+ </div>
1906
+ <div class="aka">
1907
+ This method is also aliased as
1908
+ <a href="String.html#M000307">pluralize</a>
1909
+ </div>
1910
+ <div class="sourcecode">
1911
+ <p class="source-link">[ <a href="javascript:toggleSource('M000305_source')" id="l_M000305_source">show source</a> ]</p>
1912
+ <div id="M000305_source" class="dyn-source">
1913
+ <pre>
1914
+ <span class="ruby-comment cmt"># File lib/facets/core/string/singular.rb, line 76</span>
1915
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">plural</span>
1916
+ <span class="ruby-identifier">result</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">dup</span>
1917
+ <span class="ruby-constant">String</span><span class="ruby-operator">::</span><span class="ruby-constant">PLURAL_RULES</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span>(<span class="ruby-identifier">rule</span>, <span class="ruby-identifier">replacement</span>)<span class="ruby-operator">|</span>
1918
+ <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-identifier">rule</span>, <span class="ruby-identifier">replacement</span>)
1919
+ <span class="ruby-keyword kw">end</span>
1920
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">result</span>
1921
+ <span class="ruby-keyword kw">end</span>
1922
+ </pre>
1923
+ </div>
1924
+ </div>
1925
+ </div>
1926
+ <div class="method">
1927
+ <div class="title">
1928
+ <a name="M000307"></a><b>pluralize</b>()
1929
+ </div>
1930
+ <div class="description">
1931
+ <p>
1932
+ Alias for <a href="String.html#M000305">plural</a>
1933
+ </p>
1934
+ </div>
1935
+ </div>
1936
+ <div class="method">
1937
+ <div class="title">
1938
+ <a name="M000356"></a><b>pop</b>()
1939
+ </div>
1940
+ <div class="description">
1941
+ <p>
1942
+ Polymorphic with <a href="Array.html">Array</a> of characters.
1943
+ </p>
1944
+ </div>
1945
+ <div class="sourcecode">
1946
+ <p class="source-link">[ <a href="javascript:toggleSource('M000356_source')" id="l_M000356_source">show source</a> ]</p>
1947
+ <div id="M000356_source" class="dyn-source">
1948
+ <pre>
1949
+ <span class="ruby-comment cmt"># File lib/facets/core/string/pop.rb, line 5</span>
1950
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pop</span>
1951
+ <span class="ruby-keyword kw">return</span> <span class="ruby-value str">''</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
1952
+ <span class="ruby-identifier">r</span> = <span class="ruby-keyword kw">self</span>[<span class="ruby-value">-1</span>,<span class="ruby-value">1</span>]
1953
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-value">-1</span>] = <span class="ruby-value str">''</span>
1954
+ <span class="ruby-identifier">r</span> <span class="ruby-comment cmt">#self</span>
1955
+ <span class="ruby-keyword kw">end</span>
1956
+ </pre>
1957
+ </div>
1958
+ </div>
1959
+ </div>
1960
+ <div class="method">
1961
+ <div class="title">
1962
+ <a name="M000318"></a><b>pot</b>( str=' ' )
1963
+ </div>
1964
+ <div class="description">
1965
+ <p>
1966
+ Like push but works from the other end of the string.
1967
+ </p>
1968
+ </div>
1969
+ <div class="sourcecode">
1970
+ <p class="source-link">[ <a href="javascript:toggleSource('M000318_source')" id="l_M000318_source">show source</a> ]</p>
1971
+ <div id="M000318_source" class="dyn-source">
1972
+ <pre>
1973
+ <span class="ruby-comment cmt"># File lib/facets/core/string/pot.rb, line 6</span>
1974
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pot</span>( <span class="ruby-identifier">str</span>=<span class="ruby-value str">' '</span> )
1975
+ <span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">str</span>)
1976
+ <span class="ruby-keyword kw">end</span>
1977
+ </pre>
1978
+ </div>
1979
+ </div>
1980
+ </div>
1981
+ <div class="method">
1982
+ <div class="title">
1983
+ <a name="M000283"></a><b>pull</b>()
1984
+ </div>
1985
+ <div class="description">
1986
+ <p>
1987
+ Same as <a href="String.html#M000285">shift</a>.
1988
+ </p>
1989
+ </div>
1990
+ <div class="sourcecode">
1991
+ <p class="source-link">[ <a href="javascript:toggleSource('M000283_source')" id="l_M000283_source">show source</a> ]</p>
1992
+ <div id="M000283_source" class="dyn-source">
1993
+ <pre>
1994
+ <span class="ruby-comment cmt"># File lib/facets/core/string/pull.rb, line 3</span>
1995
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pull</span>
1996
+ <span class="ruby-keyword kw">return</span> <span class="ruby-value str">''</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
1997
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">''</span>
1998
+ <span class="ruby-keyword kw">self</span>
1999
+ <span class="ruby-keyword kw">end</span>
2000
+ </pre>
2001
+ </div>
2002
+ </div>
2003
+ </div>
2004
+ <div class="method">
2005
+ <div class="title">
2006
+ <a name="M000284"></a><b>push</b>(str=' ')
2007
+ </div>
2008
+ <div class="description">
2009
+ <p>
2010
+ Polymorphic with <a href="Array.html">Array</a> of characters.
2011
+ </p>
2012
+ </div>
2013
+ <div class="sourcecode">
2014
+ <p class="source-link">[ <a href="javascript:toggleSource('M000284_source')" id="l_M000284_source">show source</a> ]</p>
2015
+ <div id="M000284_source" class="dyn-source">
2016
+ <pre>
2017
+ <span class="ruby-comment cmt"># File lib/facets/core/string/push.rb, line 5</span>
2018
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">push</span>(<span class="ruby-identifier">str</span>=<span class="ruby-value str">' '</span>)
2019
+ <span class="ruby-identifier">concat</span>(<span class="ruby-identifier">str</span>)
2020
+ <span class="ruby-keyword kw">end</span>
2021
+ </pre>
2022
+ </div>
2023
+ </div>
2024
+ </div>
2025
+ <div class="method">
2026
+ <div class="title">
2027
+ <a name="M000370"></a><b>quote</b>(type=:s)
2028
+ </div>
2029
+ <div class="description">
2030
+ <p>
2031
+ Return a new string embraced by given quotes. If no quotes are specified,
2032
+ then assumes single quotes.
2033
+ </p>
2034
+ <pre>
2035
+ &quot;quote me&quot;.quote #=&gt; &quot;'quote me'&quot;
2036
+ &quot;quote me&quot;.quote(2) #=&gt; &quot;\&quot;quote me\&quot;&quot;
2037
+ </pre>
2038
+ </div>
2039
+ <div class="sourcecode">
2040
+ <p class="source-link">[ <a href="javascript:toggleSource('M000370_source')" id="l_M000370_source">show source</a> ]</p>
2041
+ <div id="M000370_source" class="dyn-source">
2042
+ <pre>
2043
+ <span class="ruby-comment cmt"># File lib/facets/core/string/quote.rb, line 11</span>
2044
+ <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>)
2045
+ <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>
2046
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'s'</span>, <span class="ruby-value str">'single'</span>
2047
+ <span class="ruby-identifier">bracket</span>(<span class="ruby-value str">&quot;'&quot;</span>)
2048
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'d'</span>, <span class="ruby-value str">'double'</span>
2049
+ <span class="ruby-identifier">bracket</span>(<span class="ruby-value str">'&quot;'</span>)
2050
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'b'</span>, <span class="ruby-value str">'back'</span>
2051
+ <span class="ruby-identifier">bracket</span>(<span class="ruby-value str">'`'</span>)
2052
+ <span class="ruby-keyword kw">else</span>
2053
+ <span class="ruby-identifier">bracket</span>(<span class="ruby-value str">&quot;'&quot;</span>)
2054
+ <span class="ruby-keyword kw">end</span>
2055
+ <span class="ruby-keyword kw">end</span>
2056
+ </pre>
2057
+ </div>
2058
+ </div>
2059
+ </div>
2060
+ <div class="method">
2061
+ <div class="title">
2062
+ <a name="M000311"></a><b>rand_byte</b>()
2063
+ </div>
2064
+ <div class="description">
2065
+ <p>
2066
+ Return a random byte of <em>self</em>.
2067
+ </p>
2068
+ <pre>
2069
+ &quot;Ruby rules&quot;.rand_byte #=&gt; 121
2070
+ </pre>
2071
+ </div>
2072
+ <div class="sourcecode">
2073
+ <p class="source-link">[ <a href="javascript:toggleSource('M000311_source')" id="l_M000311_source">show source</a> ]</p>
2074
+ <div id="M000311_source" class="dyn-source">
2075
+ <pre>
2076
+ <span class="ruby-comment cmt"># File lib/facets/core/string/rand_byte.rb, line 8</span>
2077
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rand_byte</span>
2078
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">rand</span>( <span class="ruby-identifier">size</span> )]
2079
+ <span class="ruby-keyword kw">end</span>
2080
+ </pre>
2081
+ </div>
2082
+ </div>
2083
+ </div>
2084
+ <div class="method">
2085
+ <div class="title">
2086
+ <a name="M000312"></a><b>rand_byte!</b>()
2087
+ </div>
2088
+ <div class="description">
2089
+ <p>
2090
+ Destructive <a href="String.html#M000311">rand_byte</a>. Delete a random
2091
+ byte of <em>self</em> and return it.
2092
+ </p>
2093
+ <pre>
2094
+ s = &quot;Ruby rules&quot;
2095
+ s.rand_byte! #=&gt; 121
2096
+ s #=&gt; &quot;Rub rules&quot;
2097
+ </pre>
2098
+ </div>
2099
+ <div class="sourcecode">
2100
+ <p class="source-link">[ <a href="javascript:toggleSource('M000312_source')" id="l_M000312_source">show source</a> ]</p>
2101
+ <div id="M000312_source" class="dyn-source">
2102
+ <pre>
2103
+ <span class="ruby-comment cmt"># File lib/facets/core/string/rand_byte.rb, line 18</span>
2104
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rand_byte!</span>
2105
+ <span class="ruby-identifier">i</span> = <span class="ruby-identifier">rand</span>( <span class="ruby-identifier">size</span> )
2106
+ <span class="ruby-identifier">rv</span> = <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">i</span>,<span class="ruby-value">1</span>]
2107
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">i</span>,<span class="ruby-value">1</span>] = <span class="ruby-value str">''</span>
2108
+ <span class="ruby-identifier">rv</span>
2109
+ <span class="ruby-keyword kw">end</span>
2110
+ </pre>
2111
+ </div>
2112
+ </div>
2113
+ </div>
2114
+ <div class="method">
2115
+ <div class="title">
2116
+ <a name="M000302"></a><b>rand_index</b>()
2117
+ </div>
2118
+ <div class="description">
2119
+ <p>
2120
+ Return a random string index.
2121
+ </p>
2122
+ <pre>
2123
+ &quot;Ruby rules&quot;.rand_index #=&gt; 3
2124
+ </pre>
2125
+ </div>
2126
+ <div class="sourcecode">
2127
+ <p class="source-link">[ <a href="javascript:toggleSource('M000302_source')" id="l_M000302_source">show source</a> ]</p>
2128
+ <div id="M000302_source" class="dyn-source">
2129
+ <pre>
2130
+ <span class="ruby-comment cmt"># File lib/facets/core/string/rand_index.rb, line 6</span>
2131
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rand_index</span>
2132
+ <span class="ruby-identifier">rand</span>( <span class="ruby-identifier">size</span> )
2133
+ <span class="ruby-keyword kw">end</span>
2134
+ </pre>
2135
+ </div>
2136
+ </div>
2137
+ </div>
2138
+ <div class="method">
2139
+ <div class="title">
2140
+ <a name="M000338"></a><b>range</b>(s, offset=0)
2141
+ </div>
2142
+ <div class="description">
2143
+ <p>
2144
+ Like index but returns a <a href="Range.html">Range</a>.
2145
+ </p>
2146
+ <pre>
2147
+ &quot;This is a test!&quot;.range('test') #=&gt; 10..13
2148
+ </pre>
2149
+ </div>
2150
+ <div class="sourcecode">
2151
+ <p class="source-link">[ <a href="javascript:toggleSource('M000338_source')" id="l_M000338_source">show source</a> ]</p>
2152
+ <div id="M000338_source" class="dyn-source">
2153
+ <pre>
2154
+ <span class="ruby-comment cmt"># File lib/facets/core/string/range.rb, line 8</span>
2155
+ <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>)
2156
+ <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">s</span>, <span class="ruby-identifier">offset</span>)
2157
+ <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>)
2158
+ <span class="ruby-keyword kw">end</span>
2159
+ <span class="ruby-keyword kw">nil</span>
2160
+ <span class="ruby-keyword kw">end</span>
2161
+ </pre>
2162
+ </div>
2163
+ </div>
2164
+ </div>
2165
+ <div class="method">
2166
+ <div class="title">
2167
+ <a name="M000374"></a><b>range_all</b>(s, reuse=false)
2168
+ </div>
2169
+ <div class="description">
2170
+ <p>
2171
+ Like <a href="String.html#M000369">index_all</a> but returns an array of
2172
+ Ranges.
2173
+ </p>
2174
+ <pre>
2175
+ &quot;abc123abc123&quot;.range_all('abc') #=&gt; [0..2, 6..8]
2176
+ </pre>
2177
+ </div>
2178
+ <div class="sourcecode">
2179
+ <p class="source-link">[ <a href="javascript:toggleSource('M000374_source')" id="l_M000374_source">show source</a> ]</p>
2180
+ <div id="M000374_source" class="dyn-source">
2181
+ <pre>
2182
+ <span class="ruby-comment cmt"># File lib/facets/core/string/range_all.rb, line 12</span>
2183
+ <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>)
2184
+ <span class="ruby-identifier">r</span> = []; <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
2185
+ <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>
2186
+ <span class="ruby-identifier">rng</span> = <span class="ruby-identifier">range</span>(<span class="ruby-identifier">s</span>, <span class="ruby-identifier">i</span>)
2187
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">rng</span>
2188
+ <span class="ruby-identifier">r</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rng</span>
2189
+ <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>
2190
+ <span class="ruby-keyword kw">else</span>
2191
+ <span class="ruby-keyword kw">break</span>
2192
+ <span class="ruby-keyword kw">end</span>
2193
+ <span class="ruby-keyword kw">end</span>
2194
+ <span class="ruby-identifier">r</span>.<span class="ruby-identifier">uniq</span>
2195
+ <span class="ruby-keyword kw">end</span>
2196
+ </pre>
2197
+ </div>
2198
+ </div>
2199
+ </div>
2200
+ <div class="method">
2201
+ <div class="title">
2202
+ <a name="M000357"></a><b>range_of_line</b>()
2203
+ </div>
2204
+ <div class="description">
2205
+ <p>
2206
+ Returns an array of ranges mapping the characters per line.
2207
+ </p>
2208
+ <pre>
2209
+ &quot;this\nis\na\ntest&quot;.range_of_line
2210
+ #=&gt; [0..4, 5..7, 8..9, 10..13]
2211
+ </pre>
2212
+ </div>
2213
+ <div class="sourcecode">
2214
+ <p class="source-link">[ <a href="javascript:toggleSource('M000357_source')" id="l_M000357_source">show source</a> ]</p>
2215
+ <div id="M000357_source" class="dyn-source">
2216
+ <pre>
2217
+ <span class="ruby-comment cmt"># File lib/facets/core/string/range_of_line.rb, line 10</span>
2218
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">range_of_line</span>
2219
+ <span class="ruby-identifier">offset</span>=<span class="ruby-value">0</span>; <span class="ruby-identifier">charmap</span> = []
2220
+ <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>
2221
+ <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>))
2222
+ <span class="ruby-identifier">offset</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">length</span>
2223
+ <span class="ruby-keyword kw">end</span>
2224
+ <span class="ruby-identifier">charmap</span>
2225
+ <span class="ruby-keyword kw">end</span>
2226
+ </pre>
2227
+ </div>
2228
+ </div>
2229
+ </div>
2230
+ <div class="method">
2231
+ <div class="title">
2232
+ <a name="M000371"></a><b>regesc</b>()
2233
+ </div>
2234
+ <div class="description">
2235
+ <p>
2236
+ Escape string for <a href="Regexp.html">Regexp</a> use.
2237
+ </p>
2238
+ </div>
2239
+ <div class="sourcecode">
2240
+ <p class="source-link">[ <a href="javascript:toggleSource('M000371_source')" id="l_M000371_source">show source</a> ]</p>
2241
+ <div id="M000371_source" class="dyn-source">
2242
+ <pre>
2243
+ <span class="ruby-comment cmt"># File lib/facets/core/string/regesc.rb, line 5</span>
2244
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">regesc</span>
2245
+ <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">escape</span>( <span class="ruby-keyword kw">self</span> )
2246
+ <span class="ruby-keyword kw">end</span>
2247
+ </pre>
2248
+ </div>
2249
+ </div>
2250
+ </div>
2251
+ <div class="method">
2252
+ <div class="title">
2253
+ <a name="M000376"></a><b>shatter</b>( re )
2254
+ </div>
2255
+ <div class="description">
2256
+ <p>
2257
+ Breaks a string up into an array based on a regular expression. Similar to
2258
+ scan, but includes the matches.
2259
+ </p>
2260
+ <pre>
2261
+ s = &quot;&lt;p&gt;This&lt;b&gt;is&lt;/b&gt;a test.&lt;/p&gt;&quot;
2262
+ s.shatter( /\&lt;.*?\&gt;/ )
2263
+ </pre>
2264
+ <p>
2265
+ <em>produces</em>
2266
+ </p>
2267
+ <pre>
2268
+ [&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;]
2269
+ </pre>
2270
+ </div>
2271
+ <div class="sourcecode">
2272
+ <p class="source-link">[ <a href="javascript:toggleSource('M000376_source')" id="l_M000376_source">show source</a> ]</p>
2273
+ <div id="M000376_source" class="dyn-source">
2274
+ <pre>
2275
+ <span class="ruby-comment cmt"># File lib/facets/core/string/shatter.rb, line 14</span>
2276
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shatter</span>( <span class="ruby-identifier">re</span> )
2277
+ <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> }
2278
+ <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>
2279
+ <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>
2280
+ <span class="ruby-identifier">r</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;\1&quot;</span>)
2281
+ <span class="ruby-keyword kw">end</span>
2282
+ </pre>
2283
+ </div>
2284
+ </div>
2285
+ </div>
2286
+ <div class="method">
2287
+ <div class="title">
2288
+ <a name="M000383"></a><b>shell_escape</b>()
2289
+ </div>
2290
+ <div class="description">
2291
+ <p>
2292
+ Escape special characters used in most unix shells to use it, eg. with
2293
+ system().
2294
+ </p>
2295
+ </div>
2296
+ <div class="sourcecode">
2297
+ <p class="source-link">[ <a href="javascript:toggleSource('M000383_source')" id="l_M000383_source">show source</a> ]</p>
2298
+ <div id="M000383_source" class="dyn-source">
2299
+ <pre>
2300
+ <span class="ruby-comment cmt"># File lib/facets/core/string/shell_escape.rb, line 7</span>
2301
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shell_escape</span>
2302
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/([\\\t\| &amp;`&lt;&gt;)('&quot;])/</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-value str">'\\'</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span> }
2303
+ <span class="ruby-keyword kw">end</span>
2304
+ </pre>
2305
+ </div>
2306
+ </div>
2307
+ </div>
2308
+ <div class="method">
2309
+ <div class="title">
2310
+ <a name="M000285"></a><b>shift</b>()
2311
+ </div>
2312
+ <div class="sourcecode">
2313
+ <p class="source-link">[ <a href="javascript:toggleSource('M000285_source')" id="l_M000285_source">show source</a> ]</p>
2314
+ <div id="M000285_source" class="dyn-source">
2315
+ <pre>
2316
+ <span class="ruby-comment cmt"># File lib/facets/core/string/shift.rb, line 2</span>
2317
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shift</span>
2318
+ <span class="ruby-keyword kw">return</span> <span class="ruby-value str">''</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
2319
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">''</span>
2320
+ <span class="ruby-keyword kw">self</span>
2321
+ <span class="ruby-keyword kw">end</span>
2322
+ </pre>
2323
+ </div>
2324
+ </div>
2325
+ </div>
2326
+ <div class="method">
2327
+ <div class="title">
2328
+ <a name="M000361"></a><b>shuffle</b>(separator=//)
2329
+ </div>
2330
+ <div class="description">
2331
+ <p>
2332
+ Return the string with seperated sections arranged in a random order. The
2333
+ default seperation is by character.
2334
+ </p>
2335
+ <pre>
2336
+ &quot;Ruby rules&quot;.shuffle #=&gt; &quot;e lybRsuur&quot;
2337
+ </pre>
2338
+ </div>
2339
+ <div class="sourcecode">
2340
+ <p class="source-link">[ <a href="javascript:toggleSource('M000361_source')" id="l_M000361_source">show source</a> ]</p>
2341
+ <div id="M000361_source" class="dyn-source">
2342
+ <pre>
2343
+ <span class="ruby-comment cmt"># File lib/facets/core/string/shuffle.rb, line 10</span>
2344
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shuffle</span>(<span class="ruby-identifier">separator</span>=<span class="ruby-regexp re">//</span>)
2345
+ <span class="ruby-identifier">split</span>(<span class="ruby-identifier">separator</span>).<span class="ruby-identifier">shuffle</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">''</span>)
2346
+ <span class="ruby-keyword kw">end</span>
2347
+ </pre>
2348
+ </div>
2349
+ </div>
2350
+ </div>
2351
+ <div class="method">
2352
+ <div class="title">
2353
+ <a name="M000362"></a><b>shuffle!</b>(separator=//)
2354
+ </div>
2355
+ <div class="description">
2356
+ <p>
2357
+ In place version of shuffle.
2358
+ </p>
2359
+ </div>
2360
+ <div class="sourcecode">
2361
+ <p class="source-link">[ <a href="javascript:toggleSource('M000362_source')" id="l_M000362_source">show source</a> ]</p>
2362
+ <div id="M000362_source" class="dyn-source">
2363
+ <pre>
2364
+ <span class="ruby-comment cmt"># File lib/facets/core/string/shuffle.rb, line 16</span>
2365
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shuffle!</span>(<span class="ruby-identifier">separator</span>=<span class="ruby-regexp re">//</span>)
2366
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">replace</span>( <span class="ruby-identifier">shuffle</span>(<span class="ruby-identifier">separator</span>) )
2367
+ <span class="ruby-keyword kw">end</span>
2368
+ </pre>
2369
+ </div>
2370
+ </div>
2371
+ </div>
2372
+ <div class="method">
2373
+ <div class="title">
2374
+ <a name="M000309"></a><b>similarity</b>( str_in )
2375
+ </div>
2376
+ <div class="description">
2377
+ <p>
2378
+ A fuzzy matching mechanism. Returns a score from 0-1, based on the number
2379
+ of shared edges. To be effective, the strings must be of length 2 or
2380
+ greater.
2381
+ </p>
2382
+ <pre>
2383
+ &quot;Alexsander&quot;.fuzzy_match( &quot;Aleksander&quot; ) #=&gt; 0.9
2384
+ </pre>
2385
+ <p>
2386
+ The way it works:
2387
+ </p>
2388
+ <ul>
2389
+ <li>Converts each string into a &quot;graph like&quot; object, with edges
2390
+
2391
+ <pre>
2392
+ &quot;alexsander&quot; -&gt; [ alexsander, alexsand, alexsan ... lexsand ... san ... an, etc ]
2393
+ &quot;aleksander&quot; -&gt; [ aleksander, aleksand ... etc. ]
2394
+ </pre>
2395
+ </li>
2396
+ <li>Perform match, then remove any subsets from this matched set (i.e. a hit on
2397
+ &quot;san&quot; is a subset of a hit on &quot;sander&quot;)
2398
+
2399
+ <pre>
2400
+ Above example, once reduced -&gt; [ ale, sander ]
2401
+ </pre>
2402
+ </li>
2403
+ <li>See&#8217;s how many of the matches remain, and calculates a score based on
2404
+ how many matches, their length, and compare to the length of the larger of
2405
+ the two words.
2406
+
2407
+ </li>
2408
+ </ul>
2409
+ </div>
2410
+ <div class="aka">
2411
+ This method is also aliased as
2412
+ <a href="String.html#M000310">fuzzy_match</a>
2413
+ </div>
2414
+ <div class="sourcecode">
2415
+ <p class="source-link">[ <a href="javascript:toggleSource('M000309_source')" id="l_M000309_source">show source</a> ]</p>
2416
+ <div id="M000309_source" class="dyn-source">
2417
+ <pre>
2418
+ <span class="ruby-comment cmt"># File lib/facets/core/string/similarity.rb, line 25</span>
2419
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">similarity</span>( <span class="ruby-identifier">str_in</span> )
2420
+ <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">str_in</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
2421
+ <span class="ruby-keyword kw">return</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">str_in</span>
2422
+
2423
+ <span class="ruby-comment cmt"># Make a graph of each word (okay, so its not a true graph, but is similar)</span>
2424
+ <span class="ruby-identifier">graph_A</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
2425
+ <span class="ruby-identifier">graph_B</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
2426
+
2427
+ <span class="ruby-comment cmt"># &quot;graph&quot; self</span>
2428
+ <span class="ruby-identifier">last</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">length</span>
2429
+ (<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">last</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ff</span><span class="ruby-operator">|</span>
2430
+ <span class="ruby-identifier">loc</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">length</span>
2431
+ <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ff</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">last</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
2432
+ <span class="ruby-identifier">wordB</span> = (<span class="ruby-value">1</span><span class="ruby-operator">..</span>(<span class="ruby-identifier">last</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>)).<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">reverse!</span>
2433
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">wordB</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">nil</span>)
2434
+ <span class="ruby-identifier">wordB</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ss</span><span class="ruby-operator">|</span>
2435
+ <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ss</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">ff</span>
2436
+ <span class="ruby-identifier">graph_A</span>.<span class="ruby-identifier">push</span>( <span class="ruby-node">&quot;#{self[ff..ss]}&quot;</span> )
2437
+ <span class="ruby-keyword kw">end</span>
2438
+ <span class="ruby-keyword kw">end</span>
2439
+ <span class="ruby-keyword kw">end</span>
2440
+
2441
+ <span class="ruby-comment cmt"># &quot;graph&quot; input string</span>
2442
+ <span class="ruby-identifier">last</span> = <span class="ruby-identifier">str_in</span>.<span class="ruby-identifier">length</span>
2443
+ (<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">last</span>).<span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">ff</span><span class="ruby-operator">|</span>
2444
+ <span class="ruby-identifier">loc</span> = <span class="ruby-identifier">str_in</span>.<span class="ruby-identifier">length</span>
2445
+ <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ff</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">last</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
2446
+ <span class="ruby-identifier">wordB</span> = (<span class="ruby-value">1</span><span class="ruby-operator">..</span>(<span class="ruby-identifier">last</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>)).<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">reverse!</span>
2447
+ <span class="ruby-identifier">wordB</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ss</span><span class="ruby-operator">|</span>
2448
+ <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ss</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">ff</span>
2449
+ <span class="ruby-identifier">graph_B</span>.<span class="ruby-identifier">push</span>( <span class="ruby-node">&quot;#{str_in[ff..ss]}&quot;</span> )
2450
+ <span class="ruby-keyword kw">end</span>
2451
+ }
2452
+
2453
+
2454
+ <span class="ruby-comment cmt"># count how many of these &quot;graph edges&quot; we have that are the same</span>
2455
+ <span class="ruby-identifier">matches</span> = <span class="ruby-identifier">graph_A</span> <span class="ruby-operator">&amp;</span> <span class="ruby-identifier">graph_B</span>
2456
+ <span class="ruby-comment cmt">#matches = Array.new</span>
2457
+ <span class="ruby-comment cmt">#graph_A.each do |aa|</span>
2458
+ <span class="ruby-comment cmt"># matches.push( aa ) if( graph_B.include?( aa ) )</span>
2459
+ <span class="ruby-comment cmt">#end</span>
2460
+
2461
+ <span class="ruby-comment cmt"># For eliminating subsets, we want to start with the smallest hits.</span>
2462
+ <span class="ruby-identifier">matches</span>.<span class="ruby-identifier">sort!</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">x</span>,<span class="ruby-identifier">y</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">y</span>.<span class="ruby-identifier">length</span>}
2463
+
2464
+ <span class="ruby-comment cmt"># eliminate any subsets</span>
2465
+ <span class="ruby-identifier">mclone</span> = <span class="ruby-identifier">matches</span>.<span class="ruby-identifier">dup</span>
2466
+ <span class="ruby-identifier">mclone</span>.<span class="ruby-identifier">each_index</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ii</span><span class="ruby-operator">|</span>
2467
+ <span class="ruby-identifier">reg</span> = <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">compile</span>( <span class="ruby-identifier">mclone</span>[<span class="ruby-identifier">ii</span>] )
2468
+ <span class="ruby-identifier">count</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
2469
+ <span class="ruby-identifier">matches</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">xx</span><span class="ruby-operator">|</span> <span class="ruby-identifier">count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">xx</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">reg</span>}
2470
+ <span class="ruby-identifier">matches</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">mclone</span>[<span class="ruby-identifier">ii</span>]) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">count</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
2471
+ <span class="ruby-keyword kw">end</span>
2472
+
2473
+ <span class="ruby-identifier">score</span> = <span class="ruby-value">0</span><span class="ruby-value">.0</span>
2474
+ <span class="ruby-identifier">matches</span>.<span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">mm</span><span class="ruby-operator">|</span> <span class="ruby-identifier">score</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">mm</span>.<span class="ruby-identifier">length</span> }
2475
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">str_in</span>.<span class="ruby-identifier">length</span> <span class="ruby-value">? </span><span class="ruby-identifier">largest</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">largest</span> = <span class="ruby-identifier">str_in</span>.<span class="ruby-identifier">length</span>
2476
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">score</span><span class="ruby-operator">/</span><span class="ruby-identifier">largest</span>
2477
+ <span class="ruby-keyword kw">end</span>
2478
+ </pre>
2479
+ </div>
2480
+ </div>
2481
+ </div>
2482
+ <div class="method">
2483
+ <div class="title">
2484
+ <a name="M000304"></a><b>singular</b>()
2485
+ </div>
2486
+ <div class="description">
2487
+ <p>
2488
+ Convert an English word from plurel to singular.
2489
+ </p>
2490
+ <pre>
2491
+ &quot;boys&quot;.singular #=&gt; boy
2492
+ &quot;tomatoes&quot;.singular #=&gt; tomato
2493
+ </pre>
2494
+ </div>
2495
+ <div class="aka">
2496
+ This method is also aliased as
2497
+ <a href="String.html#M000306">singularize</a>
2498
+ </div>
2499
+ <div class="sourcecode">
2500
+ <p class="source-link">[ <a href="javascript:toggleSource('M000304_source')" id="l_M000304_source">show source</a> ]</p>
2501
+ <div id="M000304_source" class="dyn-source">
2502
+ <pre>
2503
+ <span class="ruby-comment cmt"># File lib/facets/core/string/singular.rb, line 63</span>
2504
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">singular</span>
2505
+ <span class="ruby-identifier">result</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">dup</span>
2506
+ <span class="ruby-constant">String</span><span class="ruby-operator">::</span><span class="ruby-constant">SINGULAR_RULES</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span>(<span class="ruby-identifier">rule</span>, <span class="ruby-identifier">replacement</span>)<span class="ruby-operator">|</span>
2507
+ <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-identifier">rule</span>, <span class="ruby-identifier">replacement</span>)
2508
+ <span class="ruby-keyword kw">end</span>
2509
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">result</span>
2510
+ <span class="ruby-keyword kw">end</span>
2511
+ </pre>
2512
+ </div>
2513
+ </div>
2514
+ </div>
2515
+ <div class="method">
2516
+ <div class="title">
2517
+ <a name="M000306"></a><b>singularize</b>()
2518
+ </div>
2519
+ <div class="description">
2520
+ <p>
2521
+ Alias for <a href="String.html#M000304">singular</a>
2522
+ </p>
2523
+ </div>
2524
+ </div>
2525
+ <div class="method">
2526
+ <div class="title">
2527
+ <a name="M000372"></a><b>soundex</b>()
2528
+ </div>
2529
+ <div class="description">
2530
+ <p>
2531
+ Implementation of the soundex algorithm as described by Knuth in volume 3
2532
+ of The Art of Computer Programming. Returns nil if the value couldn&#8217;t
2533
+ be calculated b/c of empty-string or invalid character.
2534
+ </p>
2535
+ <pre>
2536
+ &quot;Ruby&quot;.soundex #=&gt; &quot;R100&quot;
2537
+ </pre>
2538
+ </div>
2539
+ <div class="sourcecode">
2540
+ <p class="source-link">[ <a href="javascript:toggleSource('M000372_source')" id="l_M000372_source">show source</a> ]</p>
2541
+ <div id="M000372_source" class="dyn-source">
2542
+ <pre>
2543
+ <span class="ruby-comment cmt"># File lib/facets/core/string/soundex.rb, line 14</span>
2544
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">soundex</span>
2545
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">empty?</span>
2546
+
2547
+ <span class="ruby-identifier">str</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">upcase</span>
2548
+ <span class="ruby-identifier">last_code</span> = <span class="ruby-constant">String</span>.<span class="ruby-identifier">soundex_code</span>(<span class="ruby-identifier">str</span>[<span class="ruby-value">0</span>,<span class="ruby-value">1</span>])
2549
+ <span class="ruby-identifier">soundex_code</span> = <span class="ruby-identifier">str</span>[<span class="ruby-value">0</span>,<span class="ruby-value">1</span>]
2550
+
2551
+ <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">index</span> <span class="ruby-keyword kw">in</span> <span class="ruby-value">1</span><span class="ruby-operator">...</span>(<span class="ruby-identifier">str</span>.<span class="ruby-identifier">size</span>) <span class="ruby-keyword kw">do</span>
2552
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">soundex_code</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">soundex_code</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">4</span>
2553
+
2554
+ <span class="ruby-identifier">code</span> = <span class="ruby-constant">String</span>.<span class="ruby-identifier">soundex_code</span>(<span class="ruby-identifier">str</span>[<span class="ruby-identifier">index</span>,<span class="ruby-value">1</span>])
2555
+
2556
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;0&quot;</span> <span class="ruby-keyword kw">then</span>
2557
+ <span class="ruby-identifier">last_code</span> = <span class="ruby-keyword kw">nil</span>
2558
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">then</span>
2559
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
2560
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">code</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">last_code</span> <span class="ruby-keyword kw">then</span>
2561
+ <span class="ruby-identifier">soundex_code</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">code</span>
2562
+ <span class="ruby-identifier">last_code</span> = <span class="ruby-identifier">code</span>
2563
+ <span class="ruby-keyword kw">end</span>
2564
+ <span class="ruby-keyword kw">end</span>
2565
+
2566
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">soundex_code</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;000&quot;</span>[<span class="ruby-value">0</span>,<span class="ruby-value">4</span><span class="ruby-operator">-</span><span class="ruby-identifier">soundex_code</span>.<span class="ruby-identifier">size</span>]
2567
+ <span class="ruby-keyword kw">end</span>
2568
+ </pre>
2569
+ </div>
2570
+ </div>
2571
+ </div>
2572
+ <div class="method">
2573
+ <div class="title">
2574
+ <a name="M000319"></a><b>starts_with?</b>(str)
2575
+ </div>
2576
+ <div class="sourcecode">
2577
+ <p class="source-link">[ <a href="javascript:toggleSource('M000319_source')" id="l_M000319_source">show source</a> ]</p>
2578
+ <div id="M000319_source" class="dyn-source">
2579
+ <pre>
2580
+ <span class="ruby-comment cmt"># File lib/facets/core/string/starts_with.rb, line 7</span>
2581
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">starts_with?</span>(<span class="ruby-identifier">str</span>)
2582
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">index</span>( <span class="ruby-identifier">str</span> ) <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
2583
+ <span class="ruby-keyword kw">end</span>
2584
+ </pre>
2585
+ </div>
2586
+ </div>
2587
+ </div>
2588
+ <div class="method">
2589
+ <div class="title">
2590
+ <a name="M000326"></a><b>succ</b>(n=1)
2591
+ </div>
2592
+ <div class="description">
2593
+ <p>
2594
+ Allows <a href="String.html#M000326">succ</a> to take <em>n</em> step
2595
+ increments.
2596
+ </p>
2597
+ <pre>
2598
+ &quot;abc&quot;.succ #=&gt; &quot;abd&quot;
2599
+ &quot;abc&quot;.succ(4) #=&gt; &quot;abg&quot;
2600
+ &quot;abc&quot;.succ(24) #=&gt; &quot;aca&quot;
2601
+ </pre>
2602
+ </div>
2603
+ <div class="sourcecode">
2604
+ <p class="source-link">[ <a href="javascript:toggleSource('M000326_source')" id="l_M000326_source">show source</a> ]</p>
2605
+ <div id="M000326_source" class="dyn-source">
2606
+ <pre>
2607
+ <span class="ruby-comment cmt"># File lib/facets/core/string/succ.rb, line 9</span>
2608
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">succ</span>(<span class="ruby-identifier">n</span>=<span class="ruby-value">1</span>)
2609
+ <span class="ruby-identifier">s</span> = <span class="ruby-keyword kw">self</span>
2610
+ <span class="ruby-identifier">n</span>.<span class="ruby-identifier">times</span> { <span class="ruby-identifier">s</span> = <span class="ruby-identifier">s</span>.<span class="ruby-identifier">succ_once</span> }
2611
+ <span class="ruby-identifier">s</span>
2612
+ <span class="ruby-keyword kw">end</span>
2613
+ </pre>
2614
+ </div>
2615
+ </div>
2616
+ </div>
2617
+ <div class="method">
2618
+ <div class="title">
2619
+ <a name="M000349"></a><b>tab</b>(n)
2620
+ </div>
2621
+ <div class="description">
2622
+ <p>
2623
+ Aligns each line n spaces. (This used to be taballto.)
2624
+ </p>
2625
+ </div>
2626
+ <div class="sourcecode">
2627
+ <p class="source-link">[ <a href="javascript:toggleSource('M000349_source')" id="l_M000349_source">show source</a> ]</p>
2628
+ <div id="M000349_source" class="dyn-source">
2629
+ <pre>
2630
+ <span class="ruby-comment cmt"># File lib/facets/core/string/indent.rb, line 7</span>
2631
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tab</span>(<span class="ruby-identifier">n</span>)
2632
+ <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>)
2633
+ <span class="ruby-keyword kw">end</span>
2634
+ </pre>
2635
+ </div>
2636
+ </div>
2637
+ </div>
2638
+ <div class="method">
2639
+ <div class="title">
2640
+ <a name="M000350"></a><b>tabto</b>(n)
2641
+ </div>
2642
+ <div class="description">
2643
+ <p>
2644
+ Preserves relative tabbing. The first non-empty line ends up with n spaces
2645
+ before nonspace.
2646
+ </p>
2647
+ </div>
2648
+ <div class="sourcecode">
2649
+ <p class="source-link">[ <a href="javascript:toggleSource('M000350_source')" id="l_M000350_source">show source</a> ]</p>
2650
+ <div id="M000350_source" class="dyn-source">
2651
+ <pre>
2652
+ <span class="ruby-comment cmt"># File lib/facets/core/string/indent.rb, line 14</span>
2653
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tabto</span>(<span class="ruby-identifier">n</span>)
2654
+ <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>
2655
+ <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>)
2656
+ <span class="ruby-keyword kw">else</span>
2657
+ <span class="ruby-keyword kw">self</span>
2658
+ <span class="ruby-keyword kw">end</span>
2659
+ <span class="ruby-keyword kw">end</span>
2660
+ </pre>
2661
+ </div>
2662
+ </div>
2663
+ </div>
2664
+ <div class="method">
2665
+ <div class="title">
2666
+ <a name="M000339"></a><b>to_a</b>(div=//,limit=0)
2667
+ </div>
2668
+ <div class="description">
2669
+ <p>
2670
+ Essentially makes <a href="String.html#M000339">to_a</a> an alias for
2671
+ split, with the excpetion that if no divider is given then the array is
2672
+ split on charaters, and NOT on the global input record divider ($/).
2673
+ </p>
2674
+ <p>
2675
+ WARNING There is a slight chance of incompatability with other libraries
2676
+ which depend on spliting with $/ (although doing so is a very bad idea!).
2677
+ </p>
2678
+ </div>
2679
+ <div class="sourcecode">
2680
+ <p class="source-link">[ <a href="javascript:toggleSource('M000339_source')" id="l_M000339_source">show source</a> ]</p>
2681
+ <div id="M000339_source" class="dyn-source">
2682
+ <pre>
2683
+ <span class="ruby-comment cmt"># File lib/facets/core/string/to_a.rb, line 14</span>
2684
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_a</span>(<span class="ruby-identifier">div</span>=<span class="ruby-regexp re">//</span>,<span class="ruby-identifier">limit</span>=<span class="ruby-value">0</span>)
2685
+ <span class="ruby-identifier">split</span>(<span class="ruby-identifier">div</span>,<span class="ruby-identifier">limit</span>)
2686
+ <span class="ruby-keyword kw">end</span>
2687
+ </pre>
2688
+ </div>
2689
+ </div>
2690
+ </div>
2691
+ <div class="method">
2692
+ <div class="title">
2693
+ <a name="M000340"></a><b>to_b</b>()
2694
+ </div>
2695
+ <div class="description">
2696
+ <p>
2697
+ Interpret common affirmative string meanings as true, otherwise false.
2698
+ Balnk sapce and case are ignored. The following strings that will return
2699
+ true:
2700
+ </p>
2701
+ <pre>
2702
+ &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;
2703
+ </pre>
2704
+ <p>
2705
+ Examples:
2706
+ </p>
2707
+ <pre>
2708
+ &quot;true&quot;.to_b #=&gt; true
2709
+ &quot;yes&quot;.to_b #=&gt; true
2710
+ &quot;no&quot;.to_b #=&gt; false
2711
+ &quot;123&quot;.to_b #=&gt; false
2712
+ </pre>
2713
+ </div>
2714
+ <div class="sourcecode">
2715
+ <p class="source-link">[ <a href="javascript:toggleSource('M000340_source')" id="l_M000340_source">show source</a> ]</p>
2716
+ <div id="M000340_source" class="dyn-source">
2717
+ <pre>
2718
+ <span class="ruby-comment cmt"># File lib/facets/core/string/to_b.rb, line 17</span>
2719
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_b</span>
2720
+ <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>
2721
+ <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>
2722
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
2723
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'nil'</span>, <span class="ruby-value str">'null'</span>
2724
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
2725
+ <span class="ruby-keyword kw">else</span>
2726
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
2727
+ <span class="ruby-keyword kw">end</span>
2728
+ <span class="ruby-keyword kw">end</span>
2729
+ </pre>
2730
+ </div>
2731
+ </div>
2732
+ </div>
2733
+ <div class="method">
2734
+ <div class="title">
2735
+ <a name="M000355"></a><b>to_const</b>()
2736
+ </div>
2737
+ <div class="description">
2738
+ <p>
2739
+ Get a constant by a given string name.
2740
+ </p>
2741
+ <pre>
2742
+ &quot;Class&quot;.to_const #=&gt; Class
2743
+ </pre>
2744
+ <p>
2745
+ Note this method is not as verstile as it should be, since it can not
2746
+ access contants relative to the current execution context. But without a
2747
+ binding_of_caller that does not seem possible.
2748
+ </p>
2749
+ </div>
2750
+ <div class="sourcecode">
2751
+ <p class="source-link">[ <a href="javascript:toggleSource('M000355_source')" id="l_M000355_source">show source</a> ]</p>
2752
+ <div id="M000355_source" class="dyn-source">
2753
+ <pre>
2754
+ <span class="ruby-comment cmt"># File lib/facets/core/string/to_const.rb, line 12</span>
2755
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_const</span>
2756
+ <span class="ruby-identifier">split</span>(<span class="ruby-value str">'::'</span>).<span class="ruby-identifier">inject</span>(<span class="ruby-constant">Object</span>){ <span class="ruby-operator">|</span><span class="ruby-identifier">namespace</span>,<span class="ruby-identifier">name</span><span class="ruby-operator">|</span> <span class="ruby-identifier">namespace</span>.<span class="ruby-identifier">const_get</span>(<span class="ruby-identifier">name</span>) }
2757
+ <span class="ruby-keyword kw">end</span>
2758
+ </pre>
2759
+ </div>
2760
+ </div>
2761
+ </div>
2762
+ <div class="method">
2763
+ <div class="title">
2764
+ <a name="M000316"></a><b>to_date</b>()
2765
+ </div>
2766
+ <div class="sourcecode">
2767
+ <p class="source-link">[ <a href="javascript:toggleSource('M000316_source')" id="l_M000316_source">show source</a> ]</p>
2768
+ <div id="M000316_source" class="dyn-source">
2769
+ <pre>
2770
+ <span class="ruby-comment cmt"># File lib/facets/core/string/to_date.rb, line 4</span>
2771
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_date</span>
2772
+ <span class="ruby-identifier">require</span> <span class="ruby-value str">'date'</span>
2773
+ <span class="ruby-identifier">require</span> <span class="ruby-value str">'parsedate'</span>
2774
+ <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>])
2775
+ <span class="ruby-keyword kw">end</span>
2776
+ </pre>
2777
+ </div>
2778
+ </div>
2779
+ </div>
2780
+ <div class="method">
2781
+ <div class="title">
2782
+ <a name="M000313"></a><b>to_proc</b>(context=nil)
2783
+ </div>
2784
+ <div class="description">
2785
+ <p>
2786
+ Evaluates a <a href="String.html">String</a> as a <a
2787
+ href="Proc.html">Proc</a>.
2788
+ </p>
2789
+ <pre>
2790
+ xyp = &quot;|x,y| x + y&quot;.to_proc
2791
+ xyp.class #=&gt; Proc
2792
+ xyp.call(1,2) #=&gt; 3
2793
+ </pre>
2794
+ </div>
2795
+ <div class="sourcecode">
2796
+ <p class="source-link">[ <a href="javascript:toggleSource('M000313_source')" id="l_M000313_source">show source</a> ]</p>
2797
+ <div id="M000313_source" class="dyn-source">
2798
+ <pre>
2799
+ <span class="ruby-comment cmt"># File lib/facets/core/string/to_proc.rb, line 14</span>
2800
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_proc</span>(<span class="ruby-identifier">context</span>=<span class="ruby-keyword kw">nil</span>)
2801
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">context</span>
2802
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">context</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Binding</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">context</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Proc</span>)
2803
+ <span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">eval</span> <span class="ruby-node">&quot;proc { #{self} }&quot;</span>, <span class="ruby-identifier">context</span>
2804
+ <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">context</span>
2805
+ <span class="ruby-identifier">context</span>.<span class="ruby-identifier">instance_eval</span> <span class="ruby-node">&quot;proc { #{self} }&quot;</span>
2806
+ <span class="ruby-keyword kw">end</span>
2807
+ <span class="ruby-keyword kw">else</span>
2808
+ <span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">eval</span> <span class="ruby-node">&quot;proc { #{self} }&quot;</span>
2809
+ <span class="ruby-keyword kw">end</span>
2810
+ <span class="ruby-keyword kw">end</span>
2811
+ </pre>
2812
+ </div>
2813
+ </div>
2814
+ </div>
2815
+ <div class="method">
2816
+ <div class="title">
2817
+ <a name="M000341"></a><b>to_re</b>(esc=true)
2818
+ </div>
2819
+ <div class="description">
2820
+ <p>
2821
+ Turns a string into a regular expression. By default it will escape all
2822
+ characters. Use <tt>false</tt> argument to turn off escaping.
2823
+ </p>
2824
+ <pre>
2825
+ &quot;[&quot;.to_re #=&gt; /\[/
2826
+ </pre>
2827
+ </div>
2828
+ <div class="sourcecode">
2829
+ <p class="source-link">[ <a href="javascript:toggleSource('M000341_source')" id="l_M000341_source">show source</a> ]</p>
2830
+ <div id="M000341_source" class="dyn-source">
2831
+ <pre>
2832
+ <span class="ruby-comment cmt"># File lib/facets/core/string/to_re.rb, line 10</span>
2833
+ <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">true</span>)
2834
+ <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>))
2835
+ <span class="ruby-keyword kw">end</span>
2836
+ </pre>
2837
+ </div>
2838
+ </div>
2839
+ </div>
2840
+ <div class="method">
2841
+ <div class="title">
2842
+ <a name="M000342"></a><b>to_rx</b>()
2843
+ </div>
2844
+ <div class="description">
2845
+ <p>
2846
+ Turns a string into a regular expression. Unlike <a
2847
+ href="String.html#M000341">to_re</a> this will not escape characters.
2848
+ </p>
2849
+ <pre>
2850
+ &quot;a?&quot;.to_rx #=&gt; /a?/
2851
+ </pre>
2852
+ </div>
2853
+ <div class="sourcecode">
2854
+ <p class="source-link">[ <a href="javascript:toggleSource('M000342_source')" id="l_M000342_source">show source</a> ]</p>
2855
+ <div id="M000342_source" class="dyn-source">
2856
+ <pre>
2857
+ <span class="ruby-comment cmt"># File lib/facets/core/string/to_re.rb, line 19</span>
2858
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_rx</span>
2859
+ <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
2860
+ <span class="ruby-keyword kw">end</span>
2861
+ </pre>
2862
+ </div>
2863
+ </div>
2864
+ </div>
2865
+ <div class="method">
2866
+ <div class="title">
2867
+ <a name="M000359"></a><b>to_time</b>()
2868
+ </div>
2869
+ <div class="sourcecode">
2870
+ <p class="source-link">[ <a href="javascript:toggleSource('M000359_source')" id="l_M000359_source">show source</a> ]</p>
2871
+ <div id="M000359_source" class="dyn-source">
2872
+ <pre>
2873
+ <span class="ruby-comment cmt"># File lib/facets/core/string/to_time.rb, line 4</span>
2874
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_time</span>
2875
+ <span class="ruby-identifier">require</span> <span class="ruby-value str">'time'</span>
2876
+ <span class="ruby-constant">Time</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-keyword kw">self</span>)
2877
+ <span class="ruby-keyword kw">end</span>
2878
+ </pre>
2879
+ </div>
2880
+ </div>
2881
+ </div>
2882
+ <div class="method">
2883
+ <div class="title">
2884
+ <a name="M000336"></a><b>unbracket</b>(bra=nil, ket=nil)
2885
+ </div>
2886
+ <div class="description">
2887
+ <p>
2888
+ Return a new string embraced by given brakets. If only one bracket char is
2889
+ given it will be placed on either side.
2890
+ </p>
2891
+ <pre>
2892
+ &quot;{unwrap me}&quot;.debracket('{') #=&gt; &quot;unwrap me&quot;
2893
+ &quot;--unwrap me!&quot;.debracket('--','!') #=&gt; &quot;unwrap me!&quot;
2894
+ </pre>
2895
+ </div>
2896
+ <div class="sourcecode">
2897
+ <p class="source-link">[ <a href="javascript:toggleSource('M000336_source')" id="l_M000336_source">show source</a> ]</p>
2898
+ <div id="M000336_source" class="dyn-source">
2899
+ <pre>
2900
+ <span class="ruby-comment cmt"># File lib/facets/core/string/unbracket.rb, line 16</span>
2901
+ <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>)
2902
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bra</span>
2903
+ <span class="ruby-identifier">ket</span> = <span class="ruby-constant">Sring</span>.<span class="ruby-identifier">bra2ket</span>[<span class="ruby-identifier">bra</span>] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">ket</span>
2904
+ <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>
2905
+ <span class="ruby-identifier">s</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
2906
+ <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>)
2907
+ <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>)
2908
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">s</span>
2909
+ <span class="ruby-keyword kw">else</span>
2910
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">m</span> = <span class="ruby-constant">String</span>.<span class="ruby-identifier">bra2ket</span>[ <span class="ruby-keyword kw">self</span>[<span class="ruby-value">0</span>,<span class="ruby-value">1</span>] ]
2911
+ <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>
2912
+ <span class="ruby-keyword kw">end</span>
2913
+ <span class="ruby-keyword kw">end</span>
2914
+ <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>
2915
+ <span class="ruby-keyword kw">end</span>
2916
+ </pre>
2917
+ </div>
2918
+ </div>
2919
+ </div>
2920
+ <div class="method">
2921
+ <div class="title">
2922
+ <a name="M000337"></a><b>unbracket!</b>(bra=nil, ket=nil)
2923
+ </div>
2924
+ <div class="description">
2925
+ <p>
2926
+ Inplace version of debraket.
2927
+ </p>
2928
+ </div>
2929
+ <div class="sourcecode">
2930
+ <p class="source-link">[ <a href="javascript:toggleSource('M000337_source')" id="l_M000337_source">show source</a> ]</p>
2931
+ <div id="M000337_source" class="dyn-source">
2932
+ <pre>
2933
+ <span class="ruby-comment cmt"># File lib/facets/core/string/unbracket.rb, line 33</span>
2934
+ <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>)
2935
+ <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>) )
2936
+ <span class="ruby-keyword kw">end</span>
2937
+ </pre>
2938
+ </div>
2939
+ </div>
2940
+ </div>
2941
+ <div class="method">
2942
+ <div class="title">
2943
+ <a name="M000377"></a><b>underscore</b>(
2944
+ </div>
2945
+ <div class="description">
2946
+ <p>
2947
+ Underscore string based on camelcase characteristics.
2948
+ </p>
2949
+ </div>
2950
+ <div class="sourcecode">
2951
+ <p class="source-link">[ <a href="javascript:toggleSource('M000377_source')" id="l_M000377_source">show source</a> ]</p>
2952
+ <div id="M000377_source" class="dyn-source">
2953
+ <pre>
2954
+ <span class="ruby-comment cmt"># File lib/facets/core/string/underscore.rb, line 5</span>
2955
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">underscore</span> <span class="ruby-comment cmt">#(camel_cased_word)</span>
2956
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/([A-Z]+)([A-Z])/</span>,<span class="ruby-value str">'\1_\2'</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/([a-z])([A-Z])/</span>,<span class="ruby-value str">'\1_\2'</span>).<span class="ruby-identifier">downcase</span>
2957
+ <span class="ruby-keyword kw">end</span>
2958
+ </pre>
2959
+ </div>
2960
+ </div>
2961
+ </div>
2962
+ <div class="method">
2963
+ <div class="title">
2964
+ <a name="M000290"></a><b>unix_crypt</b>()
2965
+ </div>
2966
+ <div class="description">
2967
+ <p>
2968
+ Common Unix cryptography method.
2969
+ </p>
2970
+ </div>
2971
+ <div class="sourcecode">
2972
+ <p class="source-link">[ <a href="javascript:toggleSource('M000290_source')" id="l_M000290_source">show source</a> ]</p>
2973
+ <div id="M000290_source" class="dyn-source">
2974
+ <pre>
2975
+ <span class="ruby-comment cmt"># File lib/facets/core/string/unix_crypt.rb, line 7</span>
2976
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unix_crypt</span>
2977
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">crypt</span>(<span class="ruby-constant">String</span>.<span class="ruby-identifier">rand_letter</span> <span class="ruby-operator">+</span> <span class="ruby-constant">String</span>.<span class="ruby-identifier">rand_letter</span>)
2978
+ <span class="ruby-keyword kw">end</span>
2979
+ </pre>
2980
+ </div>
2981
+ </div>
2982
+ </div>
2983
+ <div class="method">
2984
+ <div class="title">
2985
+ <a name="M000291"></a><b>unix_crypt!</b>()
2986
+ </div>
2987
+ <div class="description">
2988
+ <p>
2989
+ Common Unix cryptography in-place method.
2990
+ </p>
2991
+ </div>
2992
+ <div class="sourcecode">
2993
+ <p class="source-link">[ <a href="javascript:toggleSource('M000291_source')" id="l_M000291_source">show source</a> ]</p>
2994
+ <div id="M000291_source" class="dyn-source">
2995
+ <pre>
2996
+ <span class="ruby-comment cmt"># File lib/facets/core/string/unix_crypt.rb, line 12</span>
2997
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unix_crypt!</span>
2998
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">replace</span>( <span class="ruby-identifier">unix_crypt</span> )
2999
+ <span class="ruby-keyword kw">end</span>
3000
+ </pre>
3001
+ </div>
3002
+ </div>
3003
+ </div>
3004
+ <div class="method">
3005
+ <div class="title">
3006
+ <a name="M000301"></a><b>unpack</b>(format, offset=nil)
3007
+ </div>
3008
+ <div class="description">
3009
+ <p>
3010
+ Upack with offset. Extends <a href="String.html#M000301">unpack</a> to
3011
+ allow a string to be unpacked starting at an offset position within it.
3012
+ </p>
3013
+ </div>
3014
+ <div class="sourcecode">
3015
+ <p class="source-link">[ <a href="javascript:toggleSource('M000301_source')" id="l_M000301_source">show source</a> ]</p>
3016
+ <div id="M000301_source" class="dyn-source">
3017
+ <pre>
3018
+ <span class="ruby-comment cmt"># File lib/facets/core/string/unpack.rb, line 8</span>
3019
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unpack</span>(<span class="ruby-identifier">format</span>, <span class="ruby-identifier">offset</span>=<span class="ruby-keyword kw">nil</span>)
3020
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">offset</span>.<span class="ruby-identifier">nil?</span>
3021
+ <span class="ruby-identifier">unpack_from_orgin</span>(<span class="ruby-identifier">format</span>)
3022
+ <span class="ruby-keyword kw">else</span>
3023
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">offset</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>].<span class="ruby-identifier">unpack_from_orgin</span>(<span class="ruby-identifier">format</span>)
3024
+ <span class="ruby-keyword kw">end</span>
3025
+ <span class="ruby-keyword kw">end</span>
3026
+ </pre>
3027
+ </div>
3028
+ </div>
3029
+ </div>
3030
+ <div class="method">
3031
+ <div class="title">
3032
+ <a name="M000364"></a><b>unshift</b>( str=' ' )
3033
+ </div>
3034
+ <div class="sourcecode">
3035
+ <p class="source-link">[ <a href="javascript:toggleSource('M000364_source')" id="l_M000364_source">show source</a> ]</p>
3036
+ <div id="M000364_source" class="dyn-source">
3037
+ <pre>
3038
+ <span class="ruby-comment cmt"># File lib/facets/core/string/unshift.rb, line 4</span>
3039
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unshift</span>( <span class="ruby-identifier">str</span>=<span class="ruby-value str">' '</span> )
3040
+ <span class="ruby-identifier">insert</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">str</span>)
3041
+ <span class="ruby-keyword kw">end</span>
3042
+ </pre>
3043
+ </div>
3044
+ </div>
3045
+ </div>
3046
+ <div class="method">
3047
+ <div class="title">
3048
+ <a name="M000352"></a><b>upcase?</b>()
3049
+ </div>
3050
+ <div class="description">
3051
+ <p>
3052
+ Is the string upcase/uppercase?
3053
+ </p>
3054
+ <pre>
3055
+ &quot;THIS&quot;.upcase? #=&gt; true
3056
+ &quot;This&quot;.upcase? #=&gt; false
3057
+ &quot;this&quot;.upcase? #=&gt; false
3058
+ </pre>
3059
+ </div>
3060
+ <div class="aka">
3061
+ This method is also aliased as
3062
+ <a href="String.html#M000353">uppercase?</a>
3063
+ </div>
3064
+ <div class="sourcecode">
3065
+ <p class="source-link">[ <a href="javascript:toggleSource('M000352_source')" id="l_M000352_source">show source</a> ]</p>
3066
+ <div id="M000352_source" class="dyn-source">
3067
+ <pre>
3068
+ <span class="ruby-comment cmt"># File lib/facets/core/string/upcase.rb, line 13</span>
3069
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">upcase?</span>
3070
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">upcase</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">self</span>
3071
+ <span class="ruby-keyword kw">end</span>
3072
+ </pre>
3073
+ </div>
3074
+ </div>
3075
+ </div>
3076
+ <div class="method">
3077
+ <div class="title">
3078
+ <a name="M000353"></a><b>uppercase?</b>()
3079
+ </div>
3080
+ <div class="description">
3081
+ <p>
3082
+ Alias for <a href="String.html#M000352">upcase?</a>
3083
+ </p>
3084
+ </div>
3085
+ </div>
3086
+ <div class="method">
3087
+ <div class="title">
3088
+ <a name="M000328"></a><b>whitespace?</b>()
3089
+ </div>
3090
+ <div class="description">
3091
+ <p>
3092
+ Alias for <a href="String.html#M000314">blank?</a>
3093
+ </p>
3094
+ </div>
3095
+ </div>
3096
+ <div class="method">
3097
+ <div class="title">
3098
+ <a name="M000315"></a><b>whitespace?</b>()
3099
+ </div>
3100
+ <div class="description">
3101
+ <p>
3102
+ Alias for <a href="String.html#M000314">blank?</a>
3103
+ </p>
3104
+ </div>
3105
+ </div>
3106
+ <div class="method">
3107
+ <div class="title">
3108
+ <a name="M000288"></a><b>word_filter</b>( &amp;blk )
3109
+ </div>
3110
+ <div class="description">
3111
+ <p>
3112
+ Filters out words from a string based on block test.
3113
+ </p>
3114
+ <pre>
3115
+ &quot;a string&quot;.word_filter { |word| word =~ /^a/ } #=&gt; &quot;string&quot;
3116
+ </pre>
3117
+ </div>
3118
+ <div class="sourcecode">
3119
+ <p class="source-link">[ <a href="javascript:toggleSource('M000288_source')" id="l_M000288_source">show source</a> ]</p>
3120
+ <div id="M000288_source" class="dyn-source">
3121
+ <pre>
3122
+ <span class="ruby-comment cmt"># File lib/facets/core/string/word_filter.rb, line 8</span>
3123
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">word_filter</span>( <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span> )
3124
+ <span class="ruby-identifier">s</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
3125
+ <span class="ruby-identifier">s</span>.<span class="ruby-identifier">word_filter!</span>( <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span> )
3126
+ <span class="ruby-keyword kw">end</span>
3127
+ </pre>
3128
+ </div>
3129
+ </div>
3130
+ </div>
3131
+ <div class="method">
3132
+ <div class="title">
3133
+ <a name="M000289"></a><b>word_filter!</b>( {|| ...}
3134
+ </div>
3135
+ <div class="description">
3136
+ <p>
3137
+ In place version of <a href="String.html#M000288">word_filter</a>.
3138
+ </p>
3139
+ <pre>
3140
+ &quot;a string&quot;.word_filter { |word| ... }
3141
+ </pre>
3142
+ </div>
3143
+ <div class="sourcecode">
3144
+ <p class="source-link">[ <a href="javascript:toggleSource('M000289_source')" id="l_M000289_source">show source</a> ]</p>
3145
+ <div id="M000289_source" class="dyn-source">
3146
+ <pre>
3147
+ <span class="ruby-comment cmt"># File lib/facets/core/string/word_filter.rb, line 17</span>
3148
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">word_filter!</span> <span class="ruby-comment cmt">#:yield:</span>
3149
+ <span class="ruby-identifier">rest_of_string</span> = <span class="ruby-keyword kw">self</span>
3150
+ <span class="ruby-identifier">wordfind</span> = <span class="ruby-regexp re">/(\w+)/</span>
3151
+ <span class="ruby-identifier">offset</span> = <span class="ruby-value">0</span>
3152
+ <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">wmatch</span> = <span class="ruby-identifier">wordfind</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">rest_of_string</span>)
3153
+ <span class="ruby-identifier">word</span> = <span class="ruby-identifier">wmatch</span>[<span class="ruby-value">0</span>]
3154
+ <span class="ruby-identifier">range</span> = <span class="ruby-identifier">offset</span><span class="ruby-operator">+</span><span class="ruby-identifier">wmatch</span>.<span class="ruby-identifier">begin</span>(<span class="ruby-value">0</span>) <span class="ruby-operator">...</span> <span class="ruby-identifier">offset</span><span class="ruby-operator">+</span><span class="ruby-identifier">wmatch</span>.<span class="ruby-identifier">end</span>(<span class="ruby-value">0</span>)
3155
+ <span class="ruby-identifier">rest_of_string</span> = <span class="ruby-identifier">wmatch</span>.<span class="ruby-identifier">post_match</span>
3156
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">range</span>] = <span class="ruby-keyword kw">yield</span>( <span class="ruby-identifier">word</span> ).<span class="ruby-identifier">to_s</span>
3157
+ <span class="ruby-identifier">offset</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">rest_of_string</span>.<span class="ruby-identifier">length</span>
3158
+ <span class="ruby-keyword kw">end</span>
3159
+ <span class="ruby-keyword kw">self</span>
3160
+ <span class="ruby-keyword kw">end</span>
3161
+ </pre>
3162
+ </div>
3163
+ </div>
3164
+ </div>
3165
+ <div class="method">
3166
+ <div class="title">
3167
+ <a name="M000296"></a><b>word_wrap</b>( col_width=80 )
3168
+ </div>
3169
+ <div class="description">
3170
+ <p>
3171
+ Word wrap a string not exceeding max width.
3172
+ </p>
3173
+ <pre>
3174
+ puts &quot;this is a test&quot;.word_wrap(4)
3175
+ </pre>
3176
+ <p>
3177
+ <em>produces</em>
3178
+ </p>
3179
+ <pre>
3180
+ this
3181
+ is a
3182
+ test
3183
+ </pre>
3184
+ </div>
3185
+ <div class="sourcecode">
3186
+ <p class="source-link">[ <a href="javascript:toggleSource('M000296_source')" id="l_M000296_source">show source</a> ]</p>
3187
+ <div id="M000296_source" class="dyn-source">
3188
+ <pre>
3189
+ <span class="ruby-comment cmt"># File lib/facets/core/string/word_wrap.rb, line 18</span>
3190
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">word_wrap</span>( <span class="ruby-identifier">col_width</span>=<span class="ruby-value">80</span> )
3191
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">word_wrap!</span>( <span class="ruby-identifier">col_width</span> )
3192
+ <span class="ruby-keyword kw">end</span>
3193
+ </pre>
3194
+ </div>
3195
+ </div>
3196
+ </div>
3197
+ <div class="method">
3198
+ <div class="title">
3199
+ <a name="M000297"></a><b>word_wrap!</b>( col_width=80 )
3200
+ </div>
3201
+ <div class="description">
3202
+ <p>
3203
+ As with <a href="String.html#M000296">word_wrap</a>, but modifies the
3204
+ string in place.
3205
+ </p>
3206
+ </div>
3207
+ <div class="sourcecode">
3208
+ <p class="source-link">[ <a href="javascript:toggleSource('M000297_source')" id="l_M000297_source">show source</a> ]</p>
3209
+ <div id="M000297_source" class="dyn-source">
3210
+ <pre>
3211
+ <span class="ruby-comment cmt"># File lib/facets/core/string/word_wrap.rb, line 24</span>
3212
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">word_wrap!</span>( <span class="ruby-identifier">col_width</span>=<span class="ruby-value">80</span> )
3213
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">gsub!</span>( <span class="ruby-node">/(\S{#{col_width}})(?=\S)/</span>, <span class="ruby-value str">'\1 '</span> )
3214
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">gsub!</span>( <span class="ruby-node">/(.{1,#{col_width}})(?:\s+|$)/</span>, <span class="ruby-value str">&quot;\\1\n&quot;</span> )
3215
+ <span class="ruby-keyword kw">self</span>
3216
+ <span class="ruby-keyword kw">end</span>
3217
+ </pre>
3218
+ </div>
3219
+ </div>
3220
+ </div>
3221
+ <div class="method">
3222
+ <div class="title">
3223
+ <a name="M000348"></a><b>words</b>()
3224
+ </div>
3225
+ <div class="description">
3226
+ <p>
3227
+ Returns an array of characters.
3228
+ </p>
3229
+ <pre>
3230
+ &quot;abc 123&quot;.words #=&gt; [&quot;abc&quot;,&quot;123&quot;]
3231
+ </pre>
3232
+ </div>
3233
+ <div class="sourcecode">
3234
+ <p class="source-link">[ <a href="javascript:toggleSource('M000348_source')" id="l_M000348_source">show source</a> ]</p>
3235
+ <div id="M000348_source" class="dyn-source">
3236
+ <pre>
3237
+ <span class="ruby-comment cmt"># File lib/facets/core/string/words.rb, line 8</span>
3238
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">words</span>
3239
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/\s+/</span>)
3240
+ <span class="ruby-keyword kw">end</span>
3241
+ </pre>
3242
+ </div>
3243
+ </div>
3244
+ </div>
3245
+ </div>
3246
+
3247
+ </div>
3248
+
3249
+ </body>
3250
+ </html>