facets 1.4.5 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1429) hide show
  1. data/demo/tkxml/helloworld.rb +32 -0
  2. data/demo/tkxml/ui.xml +32 -0
  3. data/doc/AUTHORS +2 -0
  4. data/doc/ChangeLog +92 -337
  5. data/doc/ChangeLog.pre1.5 +337 -0
  6. data/doc/LATEST +41 -0
  7. data/doc/manifest +1209 -0
  8. data/lib/facet/array/op_div.rb +1 -0
  9. data/lib/facet/autoarray.rb +1 -0
  10. data/lib/facet/cut.rb +1 -0
  11. data/lib/facet/enumerable/divide.rb +1 -0
  12. data/lib/facet/eventhook.rb +1 -0
  13. data/lib/facet/hash/diff.rb +1 -0
  14. data/lib/facet/hash/having_aquisition.rb +1 -0
  15. data/lib/facet/hash/having_fallback.rb +1 -0
  16. data/lib/facet/hash/normalize_keys.rb +1 -0
  17. data/lib/facet/hash/op_div.rb +1 -0
  18. data/lib/facet/hash/reverse_merge.rb +1 -0
  19. data/lib/facet/hash/reverse_update.rb +1 -0
  20. data/lib/facet/hash/self/auto.rb +1 -0
  21. data/lib/facet/hash/symbolize_keys.rb +1 -0
  22. data/lib/facet/hash/to_struct.rb +1 -0
  23. data/lib/facet/infinity.rb +1 -0
  24. data/lib/facet/instance_intercept.rb +1 -0
  25. data/lib/facet/integer/each.rb +1 -0
  26. data/lib/facet/integer/of.rb +1 -0
  27. data/lib/facet/kernel/callee.rb +1 -0
  28. data/lib/facet/kernel/deep_clone.rb +1 -0
  29. data/lib/facet/kernel/instance_exec.rb +1 -0
  30. data/lib/facet/kernel/meta.rb +1 -0
  31. data/lib/facet/kernel/object_clone.rb +1 -0
  32. data/lib/facet/kernel/object_dup.rb +1 -0
  33. data/lib/facet/kernel/to_data.rb +1 -0
  34. data/lib/facet/methodfilter.rb +1 -0
  35. data/lib/facet/numeric/distance.rb +1 -0
  36. data/lib/facet/predicate.rb +1 -0
  37. data/lib/facet/rwdelegator.rb +1 -0
  38. data/lib/facet/settings.rb +1 -0
  39. data/lib/facet/string/divide.rb +1 -0
  40. data/lib/facet/symbol/self/generate.rb +1 -0
  41. data/lib/facet/tkxml.rb +1 -0
  42. data/lib/facets.rb +4 -2
  43. data/lib/facets/core/array/op_div.rb +11 -0
  44. data/lib/facets/core/enumerable/divide.rb +20 -0
  45. data/lib/facets/core/hash/diff.rb +8 -0
  46. data/lib/facets/core/hash/having_aquisition.rb +37 -0
  47. data/lib/facets/core/hash/having_fallback.rb +28 -0
  48. data/lib/facets/core/hash/keys_to_s.rb +2 -80
  49. data/lib/facets/core/hash/keys_to_sym.rb +2 -91
  50. data/lib/facets/core/hash/normalize_keys.rb +65 -0
  51. data/lib/facets/core/hash/op_div.rb +8 -0
  52. data/lib/facets/core/hash/reverse_merge.rb +22 -0
  53. data/lib/facets/core/hash/reverse_update.rb +3 -0
  54. data/lib/facets/core/hash/self/auto.rb +28 -0
  55. data/lib/facets/core/hash/stringify_keys.rb +74 -2
  56. data/lib/facets/core/hash/symbolize_keys.rb +87 -0
  57. data/lib/facets/core/hash/to_struct.rb +16 -0
  58. data/lib/facets/core/integer/each.rb +9 -0
  59. data/lib/facets/core/integer/of.rb +37 -0
  60. data/lib/facets/core/kernel/__method__.rb +2 -45
  61. data/lib/facets/core/kernel/callee.rb +46 -0
  62. data/lib/facets/core/kernel/deep_clone.rb +50 -0
  63. data/lib/facets/core/kernel/instance_exec.rb +58 -0
  64. data/lib/facets/core/kernel/meta.rb +21 -0
  65. data/lib/facets/core/kernel/object_clone.rb +4 -0
  66. data/lib/facets/core/kernel/object_dup.rb +2 -0
  67. data/lib/facets/core/kernel/to_data.rb +114 -0
  68. data/lib/facets/core/module/alias_method_chain.rb +1 -1
  69. data/lib/facets/core/module/wrap_method.rb +2 -2
  70. data/lib/facets/core/nilclass/status.rb +4 -4
  71. data/lib/facets/core/numeric/distance.rb +37 -0
  72. data/lib/facets/core/proc/compose.rb +3 -21
  73. data/lib/facets/core/proc/op_mul.rb +51 -2
  74. data/lib/facets/core/proc/to_method.rb +37 -36
  75. data/lib/facets/core/string/divide.rb +43 -0
  76. data/lib/facets/core/string/singular.rb +152 -67
  77. data/lib/facets/core/symbol/self/generate.rb +18 -0
  78. data/lib/facets/more/annattr.rb +4 -4
  79. data/lib/facets/more/annotation.rb +359 -296
  80. data/lib/facets/more/aspects.rb +1 -1
  81. data/lib/facets/more/autoarray.rb +82 -0
  82. data/lib/facets/more/builderobject.rb +5 -3
  83. data/lib/facets/more/command.rb +2 -0
  84. data/lib/facets/more/cut.rb +507 -0
  85. data/lib/facets/more/dictionary.rb +64 -30
  86. data/lib/facets/more/downloader.rb +6 -3
  87. data/lib/facets/more/elementor.rb +26 -16
  88. data/lib/facets/more/eventhook.rb +113 -0
  89. data/lib/facets/more/filelist.rb +8 -0
  90. data/lib/facets/more/functor.rb +28 -11
  91. data/lib/facets/more/hashbuilder.rb +7 -3
  92. data/lib/facets/more/infinity.rb +221 -0
  93. data/{snip/more/aspect.rb → lib/facets/more/instance_intercept.rb} +56 -20
  94. data/lib/facets/more/json.rb +5 -5
  95. data/lib/facets/more/methodfilter.rb +118 -0
  96. data/lib/facets/more/opencascade.rb +35 -66
  97. data/lib/facets/more/openobject.rb +213 -162
  98. data/lib/facets/more/orderedhash.rb +7 -0
  99. data/{snip → lib/facets}/more/predicate.rb +3 -0
  100. data/lib/facets/more/recorder.rb +9 -3
  101. data/lib/facets/more/reference.rb +7 -2
  102. data/lib/facets/more/rexmlbuilder.rb +7 -2
  103. data/lib/facets/more/rwdelegator.rb +51 -0
  104. data/lib/facets/more/settings.rb +219 -0
  105. data/lib/facets/more/snapshot.rb +4 -2
  106. data/lib/facets/more/tagiterator.rb +4 -4
  107. data/lib/facets/more/taskable.rb +5 -5
  108. data/lib/facets/more/tkxml.rb +171 -0
  109. data/meta/projectinfo +38 -0
  110. data/{Reapfile → meta/reapfile} +0 -0
  111. data/meta/task +74 -0
  112. data/meta/tasks/calibre.rb +16 -0
  113. data/meta/version +1 -0
  114. data/test/lib/facets/core/array/test_at_rand.rb +1 -1
  115. data/test/lib/facets/core/array/test_delete_unless.rb +1 -1
  116. data/test/lib/facets/core/array/test_delete_values.rb +1 -1
  117. data/test/lib/facets/core/array/test_delete_values_at.rb +1 -1
  118. data/test/lib/facets/core/array/test_first.rb +1 -1
  119. data/test/lib/facets/core/array/test_head.rb +1 -1
  120. data/test/lib/facets/core/array/test_last_index.rb +1 -1
  121. data/test/lib/facets/core/array/test_merge.rb +1 -1
  122. data/test/lib/facets/core/array/test_mid.rb +1 -1
  123. data/test/lib/facets/core/array/test_middle.rb +1 -1
  124. data/test/lib/facets/core/array/test_op_fetch.rb +1 -1
  125. data/test/lib/facets/core/array/test_op_store.rb +1 -1
  126. data/test/lib/facets/core/array/test_pick.rb +1 -1
  127. data/test/lib/facets/core/array/test_pos.rb +1 -1
  128. data/test/lib/facets/core/array/test_pot.rb +1 -1
  129. data/test/lib/facets/core/array/test_pull.rb +1 -1
  130. data/test/lib/facets/core/array/test_rand_index.rb +1 -1
  131. data/test/lib/facets/core/array/test_rand_subset.rb +1 -1
  132. data/test/lib/facets/core/array/test_range.rb +1 -1
  133. data/test/lib/facets/core/array/test_rotate.rb +1 -1
  134. data/test/lib/facets/core/array/test_select.rb +1 -1
  135. data/test/lib/facets/core/array/test_shuffle.rb +1 -1
  136. data/test/lib/facets/core/array/test_thru.rb +1 -1
  137. data/test/lib/facets/core/array/test_to_b.rb +1 -1
  138. data/test/lib/facets/core/array/test_to_h.rb +1 -1
  139. data/test/lib/facets/core/array/test_to_hash.rb +1 -1
  140. data/test/lib/facets/core/binding/self/test_of_caller.rb +1 -1
  141. data/test/lib/facets/core/binding/test___LINE__.rb +1 -1
  142. data/test/lib/facets/core/binding/test_call_stack.rb +1 -1
  143. data/test/lib/facets/core/binding/test_called.rb +1 -1
  144. data/test/lib/facets/core/binding/test_caller.rb +1 -1
  145. data/test/lib/facets/core/binding/test_defined.rb +1 -1
  146. data/test/lib/facets/core/binding/test_eval.rb +1 -1
  147. data/test/lib/facets/core/binding/test_local_variables.rb +1 -1
  148. data/test/lib/facets/core/binding/test_method_name.rb +1 -1
  149. data/test/lib/facets/core/binding/test_op_fetch.rb +1 -1
  150. data/test/lib/facets/core/binding/test_op_store.rb +1 -1
  151. data/test/lib/facets/core/binding/test_self.rb +1 -1
  152. data/test/lib/facets/core/class/test_cattr.rb +1 -1
  153. data/test/lib/facets/core/class/test_descendents.rb +1 -1
  154. data/test/lib/facets/core/class/test_method_name.rb +1 -1
  155. data/test/lib/facets/core/class/test_remove_descendents.rb +1 -1
  156. data/test/lib/facets/core/class/test_unix_path.rb +1 -1
  157. data/test/lib/facets/core/comparable/test_at_least.rb +1 -1
  158. data/test/lib/facets/core/comparable/test_clip.rb +1 -1
  159. data/test/lib/facets/core/comparable/test_cmp.rb +1 -1
  160. data/test/lib/facets/core/continuation/self/test_create.rb +1 -1
  161. data/test/lib/facets/core/date/test_days_in_month.rb +1 -1
  162. data/test/lib/facets/core/date/test_days_of_month.rb +1 -1
  163. data/test/lib/facets/core/date/test_stamp.rb +1 -1
  164. data/test/lib/facets/core/date/test_to_date.rb +1 -1
  165. data/test/lib/facets/core/date/test_to_s.rb +1 -1
  166. data/test/lib/facets/core/date/test_to_time.rb +1 -1
  167. data/test/lib/facets/core/dir/self/test_ancestor.rb +1 -1
  168. data/test/lib/facets/core/dir/self/test_ascend.rb +1 -1
  169. data/test/lib/facets/core/enumerable/self/test_combinations.rb +1 -1
  170. data/test/lib/facets/core/enumerable/self/test_cross.rb +1 -1
  171. data/test/lib/facets/core/enumerable/test_collect_with_index.rb +1 -1
  172. data/test/lib/facets/core/enumerable/test_commonality.rb +1 -1
  173. data/test/lib/facets/core/enumerable/test_compact_collect.rb +1 -1
  174. data/test/lib/facets/core/enumerable/test_count.rb +1 -1
  175. data/test/lib/facets/core/enumerable/test_cross.rb +1 -1
  176. data/test/lib/facets/core/enumerable/test_each_combination.rb +1 -1
  177. data/test/lib/facets/core/enumerable/test_each_pair.rb +1 -1
  178. data/test/lib/facets/core/enumerable/test_each_slice.rb +1 -1
  179. data/test/lib/facets/core/enumerable/test_each_unique_pair.rb +1 -1
  180. data/test/lib/facets/core/enumerable/test_entropy.rb +1 -1
  181. data/test/lib/facets/core/enumerable/test_every.rb +1 -1
  182. data/test/lib/facets/core/enumerable/test_ew.rb +1 -1
  183. data/test/lib/facets/core/enumerable/test_filter_collect.rb +1 -1
  184. data/test/lib/facets/core/enumerable/test_find_collisions.rb +1 -1
  185. data/test/lib/facets/core/enumerable/test_frequency.rb +1 -1
  186. data/test/lib/facets/core/enumerable/test_graph.rb +1 -1
  187. data/test/lib/facets/core/enumerable/test_ideal_entropy.rb +1 -1
  188. data/test/lib/facets/core/enumerable/test_none.rb +1 -1
  189. data/test/lib/facets/core/enumerable/test_occur.rb +1 -1
  190. data/test/lib/facets/core/enumerable/test_one.rb +1 -1
  191. data/test/lib/facets/core/enumerable/test_op_pow.rb +1 -1
  192. data/test/lib/facets/core/enumerable/test_partition_by.rb +1 -1
  193. data/test/lib/facets/core/enumerable/test_permute.rb +1 -1
  194. data/test/lib/facets/core/enumerable/test_probability.rb +1 -1
  195. data/test/lib/facets/core/enumerable/test_to_h.rb +1 -1
  196. data/test/lib/facets/core/enumerable/test_uniq_by.rb +1 -1
  197. data/test/lib/facets/core/file/self/test_create.rb +1 -1
  198. data/test/lib/facets/core/file/self/test_open_as_string.rb +1 -1
  199. data/test/lib/facets/core/file/self/test_read_list.rb +1 -1
  200. data/test/lib/facets/core/file/self/test_sanitize.rb +1 -1
  201. data/test/lib/facets/core/file/self/test_split_all.rb +1 -1
  202. data/test/lib/facets/core/float/test_round_at.rb +1 -1
  203. data/test/lib/facets/core/float/test_round_to.rb +1 -1
  204. data/test/lib/facets/core/hash/self/test_zipnew.rb +1 -1
  205. data/test/lib/facets/core/hash/test_alias.rb +1 -1
  206. data/test/lib/facets/core/hash/test_assert_has_keys.rb +1 -1
  207. data/test/lib/facets/core/hash/test_assert_has_only_keys.rb +1 -1
  208. data/test/lib/facets/core/hash/test_at.rb +1 -1
  209. data/test/lib/facets/core/hash/test_collate.rb +1 -1
  210. data/test/lib/facets/core/hash/test_each.rb +1 -1
  211. data/test/lib/facets/core/hash/test_each_with_index.rb +1 -1
  212. data/test/lib/facets/core/hash/test_each_with_key.rb +1 -1
  213. data/test/lib/facets/core/hash/test_graph.rb +1 -1
  214. data/test/lib/facets/core/hash/test_has_keys.rb +1 -1
  215. data/test/lib/facets/core/hash/test_has_only_keys.rb +1 -1
  216. data/test/lib/facets/core/hash/test_inverse.rb +1 -1
  217. data/test/lib/facets/core/hash/test_normalize_keys.rb +34 -0
  218. data/test/lib/facets/core/hash/test_op_fetch.rb +1 -1
  219. data/test/lib/facets/core/hash/test_op_lshift.rb +1 -1
  220. data/test/lib/facets/core/hash/test_rand_key.rb +1 -1
  221. data/test/lib/facets/core/hash/test_rand_pair.rb +1 -1
  222. data/test/lib/facets/core/hash/test_rand_value.rb +1 -1
  223. data/test/lib/facets/core/hash/test_replace_each.rb +1 -1
  224. data/test/lib/facets/core/hash/test_shuffle.rb +1 -1
  225. data/test/lib/facets/core/hash/test_slice.rb +1 -1
  226. data/test/lib/facets/core/hash/{test_keys_to_s.rb → test_stringify_keys.rb} +5 -5
  227. data/test/lib/facets/core/hash/test_swap.rb +1 -1
  228. data/test/lib/facets/core/hash/test_swapkey.rb +1 -1
  229. data/test/lib/facets/core/hash/{test_keys_to_sym.rb → test_symbolize_keys.rb} +5 -5
  230. data/test/lib/facets/core/hash/test_to_h.rb +1 -1
  231. data/test/lib/facets/core/hash/test_to_ostruct.rb +1 -1
  232. data/test/lib/facets/core/hash/test_to_ostruct_recurse.rb +1 -1
  233. data/test/lib/facets/core/hash/test_traverse.rb +1 -1
  234. data/test/lib/facets/core/hash/test_update_each.rb +1 -1
  235. data/test/lib/facets/core/hash/test_update_keys.rb +1 -1
  236. data/test/lib/facets/core/hash/test_update_values.rb +1 -1
  237. data/test/lib/facets/core/hash/test_weave.rb +1 -1
  238. data/test/lib/facets/core/integer/test_factorial.rb +1 -1
  239. data/test/lib/facets/core/integer/test_multiple.rb +1 -1
  240. data/test/lib/facets/core/integer/test_of.rb +28 -0
  241. data/test/lib/facets/core/integer/test_ordinal.rb +1 -1
  242. data/test/lib/facets/core/integer/test_times_collect.rb +1 -1
  243. data/test/lib/facets/core/kernel/test___class__.rb +1 -1
  244. data/test/lib/facets/core/kernel/test___method__.rb +1 -1
  245. data/test/lib/facets/core/kernel/test_as.rb +1 -1
  246. data/test/lib/facets/core/kernel/test_assign_from.rb +1 -1
  247. data/test/lib/facets/core/kernel/test_assign_with.rb +1 -1
  248. data/test/lib/facets/core/kernel/test_bool.rb +1 -1
  249. data/test/lib/facets/core/kernel/test_bug.rb +1 -1
  250. data/test/lib/facets/core/kernel/test_call_stack.rb +1 -1
  251. data/test/lib/facets/core/kernel/test_called.rb +1 -1
  252. data/test/lib/facets/core/kernel/test_callee.rb +26 -0
  253. data/test/lib/facets/core/kernel/test_constant.rb +1 -1
  254. data/test/lib/facets/core/kernel/test_copy.rb +1 -1
  255. data/test/lib/facets/core/kernel/test_deep_copy.rb +1 -1
  256. data/test/lib/facets/core/kernel/test_demo.rb +1 -1
  257. data/test/lib/facets/core/kernel/test_fn.rb +1 -1
  258. data/test/lib/facets/core/kernel/test_get_by_id.rb +1 -1
  259. data/test/lib/facets/core/kernel/test_here.rb +1 -1
  260. data/test/lib/facets/core/kernel/test_in.rb +1 -1
  261. data/test/lib/facets/core/kernel/test_instance_exec.rb +52 -0
  262. data/test/lib/facets/core/kernel/test_maybe.rb +1 -1
  263. data/test/lib/facets/core/kernel/test_metaclass.rb +1 -1
  264. data/test/lib/facets/core/kernel/test_method.rb +1 -1
  265. data/test/lib/facets/core/kernel/test_methods.rb +1 -1
  266. data/test/lib/facets/core/kernel/test_new.rb +1 -1
  267. data/test/lib/facets/core/kernel/test_object_class.rb +1 -1
  268. data/test/lib/facets/core/kernel/test_object_hexid.rb +1 -1
  269. data/test/lib/facets/core/kernel/test_quaclass.rb +1 -1
  270. data/test/lib/facets/core/kernel/test_require_all.rb +1 -1
  271. data/test/lib/facets/core/kernel/test_require_esc.rb +1 -1
  272. data/test/lib/facets/core/kernel/test_require_facet.rb +1 -1
  273. data/test/lib/facets/core/kernel/test_resc.rb +1 -1
  274. data/test/lib/facets/core/kernel/test_returning.rb +1 -1
  275. data/test/lib/facets/core/kernel/test_send_as.rb +1 -1
  276. data/test/lib/facets/core/kernel/test_set_from.rb +1 -1
  277. data/test/lib/facets/core/kernel/test_set_with.rb +1 -1
  278. data/test/lib/facets/core/kernel/test_silently.rb +1 -1
  279. data/test/lib/facets/core/kernel/test_singleton.rb +1 -1
  280. data/test/lib/facets/core/kernel/test_singleton_class.rb +1 -1
  281. data/test/lib/facets/core/kernel/test_superior.rb +1 -1
  282. data/test/lib/facets/core/kernel/test_supermethod.rb +1 -1
  283. data/test/lib/facets/core/kernel/test_this.rb +1 -1
  284. data/test/lib/facets/core/kernel/test_to_b.rb +1 -1
  285. data/test/lib/facets/core/kernel/test_to_bool.rb +1 -1
  286. data/test/lib/facets/core/kernel/test_to_data.rb +59 -0
  287. data/test/lib/facets/core/kernel/test_uri.rb +1 -1
  288. data/test/lib/facets/core/kernel/test_val.rb +1 -1
  289. data/test/lib/facets/core/kernel/test_with_accessor.rb +1 -1
  290. data/test/lib/facets/core/matchdata/test_match.rb +1 -1
  291. data/test/lib/facets/core/matchdata/test_matchtree.rb +1 -1
  292. data/test/lib/facets/core/module/test_abstract.rb +1 -1
  293. data/test/lib/facets/core/module/test_alias_module_function.rb +1 -1
  294. data/test/lib/facets/core/module/test_ancestor.rb +1 -1
  295. data/test/lib/facets/core/module/test_basename.rb +1 -1
  296. data/test/lib/facets/core/module/test_by_name.rb +1 -1
  297. data/test/lib/facets/core/module/test_class_extension.rb +1 -1
  298. data/test/lib/facets/core/module/test_clone_using.rb +1 -1
  299. data/test/lib/facets/core/module/test_dirname.rb +1 -1
  300. data/test/lib/facets/core/module/test_equate_on.rb +1 -1
  301. data/test/lib/facets/core/module/test_include_as.rb +1 -1
  302. data/test/lib/facets/core/module/test_initializer.rb +1 -1
  303. data/test/lib/facets/core/module/test_instance_methods.rb +1 -1
  304. data/test/lib/facets/core/module/test_integrate.rb +1 -1
  305. data/test/lib/facets/core/module/test_memoize.rb +1 -1
  306. data/test/lib/facets/core/module/test_modspace.rb +1 -1
  307. data/test/lib/facets/core/module/test_namespace.rb +1 -1
  308. data/test/lib/facets/core/module/test_nesting.rb +1 -1
  309. data/test/lib/facets/core/module/test_nodef.rb +1 -1
  310. data/test/lib/facets/core/module/test_on_included.rb +1 -1
  311. data/test/lib/facets/core/module/test_redef.rb +1 -1
  312. data/test/lib/facets/core/module/test_redefine_method.rb +1 -1
  313. data/test/lib/facets/core/module/test_redirect.rb +1 -1
  314. data/test/lib/facets/core/module/test_redirect_method.rb +1 -1
  315. data/test/lib/facets/core/module/test_remove.rb +1 -1
  316. data/test/lib/facets/core/module/test_rename.rb +1 -1
  317. data/test/lib/facets/core/module/test_rename_method.rb +1 -1
  318. data/test/lib/facets/core/module/test_revisal.rb +1 -1
  319. data/test/lib/facets/core/module/test_shadow_method.rb +1 -1
  320. data/test/lib/facets/core/module/test_sort_on.rb +1 -1
  321. data/test/lib/facets/core/module/test_this.rb +1 -1
  322. data/test/lib/facets/core/module/test_wrap.rb +1 -1
  323. data/test/lib/facets/core/module/test_wrap_method.rb +1 -1
  324. data/test/lib/facets/core/nilclass/test_blank.rb +1 -1
  325. data/test/lib/facets/core/nilclass/test_empty.rb +1 -1
  326. data/test/lib/facets/core/nilclass/test_include.rb +1 -1
  327. data/test/lib/facets/core/nilclass/test_op_fetch.rb +1 -1
  328. data/test/lib/facets/core/nilclass/test_size.rb +1 -1
  329. data/test/lib/facets/core/nilclass/test_to_h.rb +1 -1
  330. data/test/lib/facets/core/numeric/test_approx.rb +1 -1
  331. data/test/lib/facets/core/numeric/test_ceil_multiple.rb +1 -1
  332. data/test/lib/facets/core/numeric/test_distance.rb +28 -0
  333. data/test/lib/facets/core/numeric/test_succ.rb +1 -1
  334. data/test/lib/facets/core/numeric/test_to_b.rb +1 -1
  335. data/test/lib/facets/core/ostruct/test___merge__.rb +1 -1
  336. data/test/lib/facets/core/ostruct/test___update__.rb +1 -1
  337. data/test/lib/facets/core/ostruct/test_op_fetch.rb +1 -1
  338. data/test/lib/facets/core/ostruct/test_op_store.rb +1 -1
  339. data/test/lib/facets/core/proc/test_compose.rb +1 -8
  340. data/test/lib/facets/core/proc/test_op_mul.rb +34 -0
  341. data/test/lib/facets/core/proc/test_to_method.rb +15 -2
  342. data/test/lib/facets/core/range/test_to_r.rb +1 -1
  343. data/test/lib/facets/core/range/test_to_range.rb +1 -1
  344. data/test/lib/facets/core/range/test_umbrella.rb +1 -1
  345. data/test/lib/facets/core/range/test_within.rb +1 -1
  346. data/test/lib/facets/core/regexp/test_arity.rb +1 -1
  347. data/test/lib/facets/core/regexp/test_to_re.rb +1 -1
  348. data/test/lib/facets/core/regexp/test_to_regexp.rb +1 -1
  349. data/test/lib/facets/core/string/self/test_interpolate.rb +1 -1
  350. data/test/lib/facets/core/string/self/test_patterns.rb +1 -1
  351. data/test/lib/facets/core/string/self/test_rand_letter.rb +1 -1
  352. data/test/lib/facets/core/string/test_align_center.rb +1 -1
  353. data/test/lib/facets/core/string/test_at_rand.rb +1 -1
  354. data/test/lib/facets/core/string/test_basename.rb +1 -1
  355. data/test/lib/facets/core/string/test_blank.rb +1 -1
  356. data/test/lib/facets/core/string/test_bracket.rb +1 -1
  357. data/test/lib/facets/core/string/test_camelcase.rb +1 -1
  358. data/test/lib/facets/core/string/test_camelize.rb +1 -1
  359. data/test/lib/facets/core/string/test_capitalized.rb +1 -1
  360. data/test/lib/facets/core/string/test_chars.rb +1 -1
  361. data/test/lib/facets/core/string/test_cmp.rb +1 -1
  362. data/test/lib/facets/core/string/test_demodulize.rb +1 -1
  363. data/test/lib/facets/core/string/test_divide.rb +29 -0
  364. data/test/lib/facets/core/string/test_downcase.rb +1 -1
  365. data/test/lib/facets/core/string/test_dresner.rb +1 -1
  366. data/test/lib/facets/core/string/test_each_char.rb +1 -1
  367. data/test/lib/facets/core/string/test_each_word.rb +1 -1
  368. data/test/lib/facets/core/string/test_first.rb +1 -1
  369. data/test/lib/facets/core/string/test_fold.rb +1 -1
  370. data/test/lib/facets/core/string/test_humanize.rb +1 -1
  371. data/test/lib/facets/core/string/test_indent.rb +1 -1
  372. data/test/lib/facets/core/string/test_index_all.rb +1 -1
  373. data/test/lib/facets/core/string/test_last.rb +1 -1
  374. data/test/lib/facets/core/string/test_line_wrap.rb +1 -1
  375. data/test/lib/facets/core/string/test_lines.rb +1 -1
  376. data/test/lib/facets/core/string/test_lowercase.rb +1 -1
  377. data/test/lib/facets/core/string/test_margin.rb +1 -1
  378. data/test/lib/facets/core/string/test_methodize.rb +1 -1
  379. data/test/lib/facets/core/string/test_modulize.rb +1 -1
  380. data/test/lib/facets/core/string/test_mscan.rb +1 -1
  381. data/test/lib/facets/core/string/test_natcmp.rb +1 -1
  382. data/test/lib/facets/core/string/test_nchar.rb +1 -1
  383. data/test/lib/facets/core/string/test_pathize.rb +1 -1
  384. data/test/lib/facets/core/string/test_pop.rb +1 -1
  385. data/test/lib/facets/core/string/test_pot.rb +1 -1
  386. data/test/lib/facets/core/string/test_push.rb +1 -1
  387. data/test/lib/facets/core/string/test_quote.rb +1 -1
  388. data/test/lib/facets/core/string/test_rand_byte.rb +1 -1
  389. data/test/lib/facets/core/string/test_rand_index.rb +1 -1
  390. data/test/lib/facets/core/string/test_range.rb +1 -1
  391. data/test/lib/facets/core/string/test_range_all.rb +1 -1
  392. data/test/lib/facets/core/string/test_range_of_line.rb +1 -1
  393. data/test/lib/facets/core/string/test_regesc.rb +1 -1
  394. data/test/lib/facets/core/string/test_shatter.rb +1 -1
  395. data/test/lib/facets/core/string/test_shift.rb +1 -1
  396. data/test/lib/facets/core/string/test_shuffle.rb +1 -1
  397. data/test/lib/facets/core/string/test_similarity.rb +1 -1
  398. data/test/lib/facets/core/string/test_singular.rb +62 -8
  399. data/test/lib/facets/core/string/test_soundex.rb +1 -1
  400. data/test/lib/facets/core/string/test_succ.rb +1 -1
  401. data/test/lib/facets/core/string/test_to_a.rb +1 -1
  402. data/test/lib/facets/core/string/test_to_b.rb +1 -1
  403. data/test/lib/facets/core/string/test_to_const.rb +1 -1
  404. data/test/lib/facets/core/string/test_to_date.rb +1 -1
  405. data/test/lib/facets/core/string/test_to_proc.rb +1 -1
  406. data/test/lib/facets/core/string/test_to_re.rb +1 -1
  407. data/test/lib/facets/core/string/test_to_time.rb +1 -1
  408. data/test/lib/facets/core/string/test_unix_crypt.rb +1 -1
  409. data/test/lib/facets/core/string/test_unpack.rb +1 -1
  410. data/test/lib/facets/core/string/test_unshift.rb +1 -1
  411. data/test/lib/facets/core/string/test_upcase.rb +1 -1
  412. data/test/lib/facets/core/string/test_whitespace.rb +1 -1
  413. data/test/lib/facets/core/string/test_word_filter.rb +1 -1
  414. data/test/lib/facets/core/string/test_word_wrap.rb +1 -1
  415. data/test/lib/facets/core/string/test_words.rb +1 -1
  416. data/test/lib/facets/core/symbol/test_camelcase.rb +1 -1
  417. data/test/lib/facets/core/symbol/test_camelize.rb +1 -1
  418. data/test/lib/facets/core/symbol/test_capitalize.rb +1 -1
  419. data/test/lib/facets/core/symbol/test_capitalized.rb +1 -1
  420. data/test/lib/facets/core/symbol/test_downcase.rb +1 -1
  421. data/test/lib/facets/core/symbol/test_not.rb +1 -1
  422. data/test/lib/facets/core/symbol/test_pad.rb +1 -1
  423. data/test/lib/facets/core/symbol/test_succ.rb +1 -1
  424. data/test/lib/facets/core/symbol/test_to_const.rb +1 -1
  425. data/test/lib/facets/core/symbol/test_to_proc.rb +1 -1
  426. data/test/lib/facets/core/symbol/test_to_str.rb +1 -1
  427. data/test/lib/facets/core/symbol/test_underscore.rb +1 -1
  428. data/test/lib/facets/core/symbol/test_upcase.rb +1 -1
  429. data/test/lib/facets/core/time/test_change.rb +1 -1
  430. data/test/lib/facets/core/time/test_elapse.rb +1 -1
  431. data/test/lib/facets/core/time/test_stamp.rb +1 -1
  432. data/test/lib/facets/core/time/test_to_date.rb +1 -1
  433. data/test/lib/facets/core/time/test_to_s.rb +1 -1
  434. data/test/lib/facets/core/time/test_to_time.rb +1 -1
  435. data/test/lib/facets/more/test_annattr.rb +1 -1
  436. data/test/lib/facets/more/test_annotation.rb +225 -113
  437. data/test/lib/facets/more/test_ansicode.rb +1 -1
  438. data/test/lib/facets/more/test_association.rb +1 -1
  439. data/test/lib/facets/more/test_autoarray.rb +32 -0
  440. data/test/lib/facets/more/test_basicobject.rb +1 -1
  441. data/test/lib/facets/more/test_bbcode.rb +1 -1
  442. data/test/lib/facets/more/test_binaryreader.rb +1 -1
  443. data/test/lib/facets/more/test_bitmask.rb +1 -1
  444. data/test/lib/facets/more/test_bytes.rb +1 -1
  445. data/test/lib/facets/more/test_classmethods.rb +1 -1
  446. data/test/lib/facets/more/test_command.rb +1 -1
  447. data/test/lib/facets/more/test_coroutine.rb +1 -1
  448. data/test/lib/facets/more/test_crypt.rb +1 -1
  449. data/test/lib/facets/more/test_cut.rb +198 -0
  450. data/test/lib/facets/more/test_dictionary.rb +1 -1
  451. data/test/lib/facets/more/test_elementor.rb +5 -1
  452. data/test/lib/facets/more/test_enumerablepass.rb +1 -1
  453. data/test/lib/facets/more/test_floatstring.rb +1 -1
  454. data/test/lib/facets/more/test_functor.rb +1 -1
  455. data/test/lib/facets/more/test_htmlbuilder.rb +1 -1
  456. data/test/lib/facets/more/test_infinity.rb +50 -0
  457. data/test/lib/facets/more/test_inheritor.rb +1 -1
  458. data/test/lib/facets/more/test_instance_intercept.rb +50 -0
  459. data/test/lib/facets/more/test_interval.rb +1 -1
  460. data/test/lib/facets/more/test_json.rb +1 -1
  461. data/test/lib/facets/more/test_lisp.rb +1 -1
  462. data/test/lib/facets/more/test_lisp_format.rb +1 -1
  463. data/test/lib/facets/more/test_lrucache.rb +1 -1
  464. data/test/lib/facets/more/test_mathconstants.rb +1 -1
  465. data/test/lib/facets/more/test_methodfilter.rb +45 -0
  466. data/test/lib/facets/more/test_methodprobe.rb +1 -1
  467. data/test/lib/facets/more/test_multipliers.rb +1 -1
  468. data/test/lib/facets/more/test_multiton.rb +1 -1
  469. data/test/lib/facets/more/test_nackclass.rb +1 -1
  470. data/test/lib/facets/more/test_nilcomparable.rb +1 -1
  471. data/test/lib/facets/more/test_opencascade.rb +24 -15
  472. data/test/lib/facets/more/test_openobject.rb +70 -22
  473. data/test/lib/facets/more/test_overload.rb +1 -1
  474. data/test/lib/facets/more/test_paramix.rb +1 -1
  475. data/test/lib/facets/more/test_pqueue.rb +1 -1
  476. data/test/lib/facets/more/test_predicate.rb +79 -0
  477. data/test/lib/facets/more/test_preinitialize.rb +1 -1
  478. data/test/lib/facets/more/test_promoteself.rb +1 -1
  479. data/test/lib/facets/more/test_recorder.rb +1 -1
  480. data/test/lib/facets/more/test_snapshot.rb +1 -1
  481. data/test/lib/facets/more/test_statichash.rb +1 -1
  482. data/test/lib/facets/more/test_syncarray.rb +1 -1
  483. data/test/lib/facets/more/test_synchash.rb +1 -1
  484. data/test/lib/facets/more/test_tagiterator.rb +1 -1
  485. data/test/lib/facets/more/test_taskable.rb +1 -1
  486. data/test/lib/facets/more/test_timer.rb +1 -1
  487. data/test/lib/facets/more/test_times.rb +1 -1
  488. data/test/lib/facets/more/test_tuple.rb +1 -1
  489. data/test/lib/facets/more/test_typecast.rb +1 -1
  490. data/test/lib/facets/more/test_uninheritable.rb +1 -1
  491. data/test/lib/facets/more/test_units.rb +1 -1
  492. data/test/lib/facets/more/test_xmlbuilder.rb +1 -1
  493. data/test/lib/facets/more/test_xmlhelper.rb +1 -1
  494. data/test/lib/facets/more/test_xoxo.rb +1 -1
  495. data/test/lib/facets/more/test_yamlstruct.rb +1 -1
  496. metadata +1147 -2081
  497. data/doc/api/core/classes/Array.html +0 -1356
  498. data/doc/api/core/classes/Binding.html +0 -538
  499. data/doc/api/core/classes/Class.html +0 -476
  500. data/doc/api/core/classes/Comparable.html +0 -231
  501. data/doc/api/core/classes/Config.html +0 -120
  502. data/doc/api/core/classes/Continuation.html +0 -168
  503. data/doc/api/core/classes/Date.html +0 -219
  504. data/doc/api/core/classes/Dir.html +0 -208
  505. data/doc/api/core/classes/Enumerable.html +0 -1462
  506. data/doc/api/core/classes/FalseClass.html +0 -115
  507. data/doc/api/core/classes/File.html +0 -383
  508. data/doc/api/core/classes/FileUtils.html +0 -468
  509. data/doc/api/core/classes/Float.html +0 -157
  510. data/doc/api/core/classes/Gem.html +0 -150
  511. data/doc/api/core/classes/Hash.html +0 -1627
  512. data/doc/api/core/classes/Integer.html +0 -353
  513. data/doc/api/core/classes/Kernal.html +0 -86
  514. data/doc/api/core/classes/Kernel.html +0 -2010
  515. data/doc/api/core/classes/Logger.html +0 -157
  516. data/doc/api/core/classes/MatchData.html +0 -195
  517. data/doc/api/core/classes/Module.html +0 -1812
  518. data/doc/api/core/classes/NackClass.html +0 -92
  519. data/doc/api/core/classes/NilClass.html +0 -385
  520. data/doc/api/core/classes/Numeric.html +0 -306
  521. data/doc/api/core/classes/Object.html +0 -332
  522. data/doc/api/core/classes/OpenStruct.html +0 -315
  523. data/doc/api/core/classes/Pathname.html +0 -154
  524. data/doc/api/core/classes/Proc.html +0 -154
  525. data/doc/api/core/classes/Range.html +0 -235
  526. data/doc/api/core/classes/Regexp.html +0 -185
  527. data/doc/api/core/classes/ScriptBug.html +0 -92
  528. data/doc/api/core/classes/String.html +0 -3250
  529. data/doc/api/core/classes/Symbol.html +0 -463
  530. data/doc/api/core/classes/Time.html +0 -307
  531. data/doc/api/core/classes/TrueClass.html +0 -115
  532. data/doc/api/core/classes/UnboundMethod.html +0 -121
  533. data/doc/api/core/created.rid +0 -1
  534. data/doc/api/core/files/COPYING.html +0 -517
  535. data/doc/api/core/files/README.html +0 -386
  536. data/doc/api/core/files/lib/facets/core/all_rb.html +0 -96
  537. data/doc/api/core/files/lib/facets/core/array/at_rand_rb.html +0 -92
  538. data/doc/api/core/files/lib/facets/core/array/body_rb.html +0 -100
  539. data/doc/api/core/files/lib/facets/core/array/delete_unless_rb.html +0 -92
  540. data/doc/api/core/files/lib/facets/core/array/delete_values_at_rb.html +0 -92
  541. data/doc/api/core/files/lib/facets/core/array/delete_values_rb.html +0 -92
  542. data/doc/api/core/files/lib/facets/core/array/each_with_key_rb.html +0 -92
  543. data/doc/api/core/files/lib/facets/core/array/first_rb.html +0 -96
  544. data/doc/api/core/files/lib/facets/core/array/foot_rb.html +0 -100
  545. data/doc/api/core/files/lib/facets/core/array/head_rb.html +0 -92
  546. data/doc/api/core/files/lib/facets/core/array/join_sentence_rb.html +0 -92
  547. data/doc/api/core/files/lib/facets/core/array/last_index_rb.html +0 -92
  548. data/doc/api/core/files/lib/facets/core/array/last_rb.html +0 -100
  549. data/doc/api/core/files/lib/facets/core/array/merge_rb.html +0 -92
  550. data/doc/api/core/files/lib/facets/core/array/mid_rb.html +0 -92
  551. data/doc/api/core/files/lib/facets/core/array/middle_rb.html +0 -92
  552. data/doc/api/core/files/lib/facets/core/array/op_fetch_rb.html +0 -92
  553. data/doc/api/core/files/lib/facets/core/array/op_mod_rb.html +0 -92
  554. data/doc/api/core/files/lib/facets/core/array/op_store_rb.html +0 -96
  555. data/doc/api/core/files/lib/facets/core/array/pick_rb.html +0 -92
  556. data/doc/api/core/files/lib/facets/core/array/pos_rb.html +0 -92
  557. data/doc/api/core/files/lib/facets/core/array/pot_rb.html +0 -92
  558. data/doc/api/core/files/lib/facets/core/array/pull_rb.html +0 -92
  559. data/doc/api/core/files/lib/facets/core/array/rand_index_rb.html +0 -92
  560. data/doc/api/core/files/lib/facets/core/array/rand_subset_rb.html +0 -92
  561. data/doc/api/core/files/lib/facets/core/array/range_rb.html +0 -92
  562. data/doc/api/core/files/lib/facets/core/array/rotate_rb.html +0 -92
  563. data/doc/api/core/files/lib/facets/core/array/select_rb.html +0 -92
  564. data/doc/api/core/files/lib/facets/core/array/shuffle_rb.html +0 -92
  565. data/doc/api/core/files/lib/facets/core/array/store_rb.html +0 -92
  566. data/doc/api/core/files/lib/facets/core/array/tail_rb.html +0 -100
  567. data/doc/api/core/files/lib/facets/core/array/thru_rb.html +0 -92
  568. data/doc/api/core/files/lib/facets/core/array/to_b_rb.html +0 -92
  569. data/doc/api/core/files/lib/facets/core/array/to_h_rb.html +0 -92
  570. data/doc/api/core/files/lib/facets/core/array/to_hash_rb.html +0 -92
  571. data/doc/api/core/files/lib/facets/core/array/unzip_rb.html +0 -92
  572. data/doc/api/core/files/lib/facets/core/binding/__DIR___rb.html +0 -100
  573. data/doc/api/core/files/lib/facets/core/binding/__FILE___rb.html +0 -100
  574. data/doc/api/core/files/lib/facets/core/binding/__LINE___rb.html +0 -96
  575. data/doc/api/core/files/lib/facets/core/binding/call_stack_rb.html +0 -97
  576. data/doc/api/core/files/lib/facets/core/binding/called_rb.html +0 -96
  577. data/doc/api/core/files/lib/facets/core/binding/caller_rb.html +0 -96
  578. data/doc/api/core/files/lib/facets/core/binding/defined_rb.html +0 -96
  579. data/doc/api/core/files/lib/facets/core/binding/eval_rb.html +0 -92
  580. data/doc/api/core/files/lib/facets/core/binding/local_variables_rb.html +0 -96
  581. data/doc/api/core/files/lib/facets/core/binding/method_name_rb.html +0 -96
  582. data/doc/api/core/files/lib/facets/core/binding/op_fetch_rb.html +0 -97
  583. data/doc/api/core/files/lib/facets/core/binding/op_store_rb.html +0 -97
  584. data/doc/api/core/files/lib/facets/core/binding/self/of_caller_rb.html +0 -96
  585. data/doc/api/core/files/lib/facets/core/binding/self_rb.html +0 -96
  586. data/doc/api/core/files/lib/facets/core/binding_rb.html +0 -109
  587. data/doc/api/core/files/lib/facets/core/class/by_name_rb.html +0 -96
  588. data/doc/api/core/files/lib/facets/core/class/cattr_accessor_rb.html +0 -100
  589. data/doc/api/core/files/lib/facets/core/class/cattr_rb.html +0 -92
  590. data/doc/api/core/files/lib/facets/core/class/cattr_reader_rb.html +0 -100
  591. data/doc/api/core/files/lib/facets/core/class/cattr_writer_rb.html +0 -100
  592. data/doc/api/core/files/lib/facets/core/class/descendents_rb.html +0 -92
  593. data/doc/api/core/files/lib/facets/core/class/method_name_rb.html +0 -92
  594. data/doc/api/core/files/lib/facets/core/class/remove_descendents_rb.html +0 -96
  595. data/doc/api/core/files/lib/facets/core/class/remove_subclasses_rb.html +0 -100
  596. data/doc/api/core/files/lib/facets/core/class/subclasses_rb.html +0 -100
  597. data/doc/api/core/files/lib/facets/core/class/to_proc_rb.html +0 -98
  598. data/doc/api/core/files/lib/facets/core/class/unix_path_rb.html +0 -92
  599. data/doc/api/core/files/lib/facets/core/comparable/at_least_rb.html +0 -92
  600. data/doc/api/core/files/lib/facets/core/comparable/at_most_rb.html +0 -100
  601. data/doc/api/core/files/lib/facets/core/comparable/cap_rb.html +0 -100
  602. data/doc/api/core/files/lib/facets/core/comparable/clip_rb.html +0 -92
  603. data/doc/api/core/files/lib/facets/core/comparable/cmp_rb.html +0 -92
  604. data/doc/api/core/files/lib/facets/core/config/datadir_rb.html +0 -92
  605. data/doc/api/core/files/lib/facets/core/continuation/self/create_rb.html +0 -148
  606. data/doc/api/core/files/lib/facets/core/date/days_in_month_rb.html +0 -96
  607. data/doc/api/core/files/lib/facets/core/date/days_of_month_rb.html +0 -96
  608. data/doc/api/core/files/lib/facets/core/date/stamp_rb.html +0 -96
  609. data/doc/api/core/files/lib/facets/core/date/to_date_rb.html +0 -96
  610. data/doc/api/core/files/lib/facets/core/date/to_s_rb.html +0 -96
  611. data/doc/api/core/files/lib/facets/core/date/to_time_rb.html +0 -96
  612. data/doc/api/core/files/lib/facets/core/dir/self/ancestor_rb.html +0 -92
  613. data/doc/api/core/files/lib/facets/core/dir/self/ascend_rb.html +0 -92
  614. data/doc/api/core/files/lib/facets/core/dir/self/descend_rb.html +0 -92
  615. data/doc/api/core/files/lib/facets/core/dir/self/ls_r_rb.html +0 -92
  616. data/doc/api/core/files/lib/facets/core/dir/self/recurse_rb.html +0 -100
  617. data/doc/api/core/files/lib/facets/core/enumerable/accumulate_rb.html +0 -96
  618. data/doc/api/core/files/lib/facets/core/enumerable/cascade_rb.html +0 -92
  619. data/doc/api/core/files/lib/facets/core/enumerable/collect_if_rb.html +0 -92
  620. data/doc/api/core/files/lib/facets/core/enumerable/collect_with_counter_rb.html +0 -100
  621. data/doc/api/core/files/lib/facets/core/enumerable/collect_with_index_rb.html +0 -92
  622. data/doc/api/core/files/lib/facets/core/enumerable/commonality_rb.html +0 -92
  623. data/doc/api/core/files/lib/facets/core/enumerable/compact_collect_rb.html +0 -96
  624. data/doc/api/core/files/lib/facets/core/enumerable/compact_map_rb.html +0 -100
  625. data/doc/api/core/files/lib/facets/core/enumerable/count_rb.html +0 -92
  626. data/doc/api/core/files/lib/facets/core/enumerable/cross_rb.html +0 -96
  627. data/doc/api/core/files/lib/facets/core/enumerable/each_by_rb.html +0 -100
  628. data/doc/api/core/files/lib/facets/core/enumerable/each_combination_rb.html +0 -92
  629. data/doc/api/core/files/lib/facets/core/enumerable/each_pair_rb.html +0 -92
  630. data/doc/api/core/files/lib/facets/core/enumerable/each_permutation_rb.html +0 -100
  631. data/doc/api/core/files/lib/facets/core/enumerable/each_slice_rb.html +0 -92
  632. data/doc/api/core/files/lib/facets/core/enumerable/each_unique_pair_rb.html +0 -96
  633. data/doc/api/core/files/lib/facets/core/enumerable/each_with_counter_rb.html +0 -92
  634. data/doc/api/core/files/lib/facets/core/enumerable/elementwise_rb.html +0 -100
  635. data/doc/api/core/files/lib/facets/core/enumerable/entropy_rb.html +0 -97
  636. data/doc/api/core/files/lib/facets/core/enumerable/every_rb.html +0 -96
  637. data/doc/api/core/files/lib/facets/core/enumerable/ew_rb.html +0 -96
  638. data/doc/api/core/files/lib/facets/core/enumerable/filter_collect_rb.html +0 -92
  639. data/doc/api/core/files/lib/facets/core/enumerable/filter_map_rb.html +0 -100
  640. data/doc/api/core/files/lib/facets/core/enumerable/find_collisions_rb.html +0 -96
  641. data/doc/api/core/files/lib/facets/core/enumerable/frequency_rb.html +0 -92
  642. data/doc/api/core/files/lib/facets/core/enumerable/graph_rb.html +0 -96
  643. data/doc/api/core/files/lib/facets/core/enumerable/ideal_entropy_rb.html +0 -92
  644. data/doc/api/core/files/lib/facets/core/enumerable/map_if_rb.html +0 -100
  645. data/doc/api/core/files/lib/facets/core/enumerable/map_with_counter_rb.html +0 -100
  646. data/doc/api/core/files/lib/facets/core/enumerable/map_with_index_rb.html +0 -100
  647. data/doc/api/core/files/lib/facets/core/enumerable/mode_rb.html +0 -92
  648. data/doc/api/core/files/lib/facets/core/enumerable/none_rb.html +0 -92
  649. data/doc/api/core/files/lib/facets/core/enumerable/nonuniq_rb.html +0 -92
  650. data/doc/api/core/files/lib/facets/core/enumerable/occur_rb.html +0 -92
  651. data/doc/api/core/files/lib/facets/core/enumerable/one_rb.html +0 -92
  652. data/doc/api/core/files/lib/facets/core/enumerable/op_pow_rb.html +0 -96
  653. data/doc/api/core/files/lib/facets/core/enumerable/partition_by_rb.html +0 -92
  654. data/doc/api/core/files/lib/facets/core/enumerable/permute_rb.html +0 -96
  655. data/doc/api/core/files/lib/facets/core/enumerable/probability_rb.html +0 -92
  656. data/doc/api/core/files/lib/facets/core/enumerable/project_rb.html +0 -92
  657. data/doc/api/core/files/lib/facets/core/enumerable/self/combinations_rb.html +0 -92
  658. data/doc/api/core/files/lib/facets/core/enumerable/self/cross_rb.html +0 -96
  659. data/doc/api/core/files/lib/facets/core/enumerable/to_h_rb.html +0 -92
  660. data/doc/api/core/files/lib/facets/core/enumerable/uniq_by_rb.html +0 -92
  661. data/doc/api/core/files/lib/facets/core/enumerable/where_rb.html +0 -92
  662. data/doc/api/core/files/lib/facets/core/file/self/append_rb.html +0 -96
  663. data/doc/api/core/files/lib/facets/core/file/self/create_rb.html +0 -92
  664. data/doc/api/core/files/lib/facets/core/file/self/open_as_string_rb.html +0 -118
  665. data/doc/api/core/files/lib/facets/core/file/self/read_binary_rb.html +0 -96
  666. data/doc/api/core/files/lib/facets/core/file/self/read_list_rb.html +0 -97
  667. data/doc/api/core/files/lib/facets/core/file/self/rootname_rb.html +0 -92
  668. data/doc/api/core/files/lib/facets/core/file/self/sanitize_rb.html +0 -96
  669. data/doc/api/core/files/lib/facets/core/file/self/split_all_rb.html +0 -101
  670. data/doc/api/core/files/lib/facets/core/file/self/write_rb.html +0 -96
  671. data/doc/api/core/files/lib/facets/core/fileutils/head_rb.html +0 -100
  672. data/doc/api/core/files/lib/facets/core/fileutils/safe_ln_rb.html +0 -96
  673. data/doc/api/core/files/lib/facets/core/fileutils/slice_rb.html +0 -96
  674. data/doc/api/core/files/lib/facets/core/fileutils/split_all_rb.html +0 -92
  675. data/doc/api/core/files/lib/facets/core/fileutils/tail_rb.html +0 -100
  676. data/doc/api/core/files/lib/facets/core/fileutils/wc_rb.html +0 -96
  677. data/doc/api/core/files/lib/facets/core/fileutils/whereis_rb.html +0 -96
  678. data/doc/api/core/files/lib/facets/core/fileutils/which_rb.html +0 -96
  679. data/doc/api/core/files/lib/facets/core/float/approx_rb.html +0 -100
  680. data/doc/api/core/files/lib/facets/core/float/round_at_rb.html +0 -96
  681. data/doc/api/core/files/lib/facets/core/float/round_off_rb.html +0 -92
  682. data/doc/api/core/files/lib/facets/core/float/round_to_rb.html +0 -96
  683. data/doc/api/core/files/lib/facets/core/gem/self/active_rb.html +0 -92
  684. data/doc/api/core/files/lib/facets/core/gem/self/gempath_rb.html +0 -96
  685. data/doc/api/core/files/lib/facets/core/gem/self/gemspec_rb.html +0 -96
  686. data/doc/api/core/files/lib/facets/core/hash/alias_rb.html +0 -92
  687. data/doc/api/core/files/lib/facets/core/hash/assert_has_keys_rb.html +0 -96
  688. data/doc/api/core/files/lib/facets/core/hash/assert_has_only_keys_rb.html +0 -96
  689. data/doc/api/core/files/lib/facets/core/hash/at_rb.html +0 -92
  690. data/doc/api/core/files/lib/facets/core/hash/collate_rb.html +0 -92
  691. data/doc/api/core/files/lib/facets/core/hash/delete_unless_rb.html +0 -96
  692. data/doc/api/core/files/lib/facets/core/hash/each_rb.html +0 -92
  693. data/doc/api/core/files/lib/facets/core/hash/each_with_index_rb.html +0 -97
  694. data/doc/api/core/files/lib/facets/core/hash/each_with_key_rb.html +0 -92
  695. data/doc/api/core/files/lib/facets/core/hash/graph_rb.html +0 -96
  696. data/doc/api/core/files/lib/facets/core/hash/has_keys_rb.html +0 -92
  697. data/doc/api/core/files/lib/facets/core/hash/has_only_keys_rb.html +0 -92
  698. data/doc/api/core/files/lib/facets/core/hash/inverse_rb.html +0 -92
  699. data/doc/api/core/files/lib/facets/core/hash/join_rb.html +0 -92
  700. data/doc/api/core/files/lib/facets/core/hash/keys_to_s_rb.html +0 -92
  701. data/doc/api/core/files/lib/facets/core/hash/keys_to_sym_rb.html +0 -92
  702. data/doc/api/core/files/lib/facets/core/hash/op_fetch_rb.html +0 -96
  703. data/doc/api/core/files/lib/facets/core/hash/op_lshift_rb.html +0 -92
  704. data/doc/api/core/files/lib/facets/core/hash/op_store_rb.html +0 -100
  705. data/doc/api/core/files/lib/facets/core/hash/rand_key_rb.html +0 -92
  706. data/doc/api/core/files/lib/facets/core/hash/rand_pair_rb.html +0 -96
  707. data/doc/api/core/files/lib/facets/core/hash/rand_value_rb.html +0 -96
  708. data/doc/api/core/files/lib/facets/core/hash/replace_each_rb.html +0 -92
  709. data/doc/api/core/files/lib/facets/core/hash/self/zipnew_rb.html +0 -92
  710. data/doc/api/core/files/lib/facets/core/hash/shuffle_rb.html +0 -96
  711. data/doc/api/core/files/lib/facets/core/hash/slice_rb.html +0 -92
  712. data/doc/api/core/files/lib/facets/core/hash/stringify_keys_rb.html +0 -100
  713. data/doc/api/core/files/lib/facets/core/hash/swap_rb.html +0 -92
  714. data/doc/api/core/files/lib/facets/core/hash/swapkey_rb.html +0 -92
  715. data/doc/api/core/files/lib/facets/core/hash/symoblize_keys_rb.html +0 -100
  716. data/doc/api/core/files/lib/facets/core/hash/to_h_rb.html +0 -92
  717. data/doc/api/core/files/lib/facets/core/hash/to_ostruct_rb.html +0 -96
  718. data/doc/api/core/files/lib/facets/core/hash/to_ostruct_recurse_rb.html +0 -97
  719. data/doc/api/core/files/lib/facets/core/hash/to_proc_rb.html +0 -92
  720. data/doc/api/core/files/lib/facets/core/hash/traverse_rb.html +0 -92
  721. data/doc/api/core/files/lib/facets/core/hash/update_each_rb.html +0 -92
  722. data/doc/api/core/files/lib/facets/core/hash/update_keys_rb.html +0 -92
  723. data/doc/api/core/files/lib/facets/core/hash/update_values_rb.html +0 -92
  724. data/doc/api/core/files/lib/facets/core/hash/variablize_keys_rb.html +0 -92
  725. data/doc/api/core/files/lib/facets/core/hash/weave_rb.html +0 -92
  726. data/doc/api/core/files/lib/facets/core/inflect_rb.html +0 -117
  727. data/doc/api/core/files/lib/facets/core/integer/even_rb.html +0 -100
  728. data/doc/api/core/files/lib/facets/core/integer/fac_rb.html +0 -100
  729. data/doc/api/core/files/lib/facets/core/integer/fact_rb.html +0 -100
  730. data/doc/api/core/files/lib/facets/core/integer/factorial_rb.html +0 -92
  731. data/doc/api/core/files/lib/facets/core/integer/multiple_rb.html +0 -92
  732. data/doc/api/core/files/lib/facets/core/integer/odd_rb.html +0 -100
  733. data/doc/api/core/files/lib/facets/core/integer/ordinal_rb.html +0 -92
  734. data/doc/api/core/files/lib/facets/core/integer/times_collect_rb.html +0 -92
  735. data/doc/api/core/files/lib/facets/core/integer/times_map_rb.html +0 -100
  736. data/doc/api/core/files/lib/facets/core/kernel/__DIR___rb.html +0 -92
  737. data/doc/api/core/files/lib/facets/core/kernel/__callee___rb.html +0 -100
  738. data/doc/api/core/files/lib/facets/core/kernel/__class___rb.html +0 -92
  739. data/doc/api/core/files/lib/facets/core/kernel/__get___rb.html +0 -92
  740. data/doc/api/core/files/lib/facets/core/kernel/__method___rb.html +0 -92
  741. data/doc/api/core/files/lib/facets/core/kernel/__self___rb.html +0 -96
  742. data/doc/api/core/files/lib/facets/core/kernel/__set___rb.html +0 -100
  743. data/doc/api/core/files/lib/facets/core/kernel/as_rb.html +0 -96
  744. data/doc/api/core/files/lib/facets/core/kernel/assign_from_rb.html +0 -96
  745. data/doc/api/core/files/lib/facets/core/kernel/assign_with_rb.html +0 -97
  746. data/doc/api/core/files/lib/facets/core/kernel/autoreload_files_rb.html +0 -100
  747. data/doc/api/core/files/lib/facets/core/kernel/autoreload_glob_rb.html +0 -100
  748. data/doc/api/core/files/lib/facets/core/kernel/autoreload_rb.html +0 -92
  749. data/doc/api/core/files/lib/facets/core/kernel/bool_rb.html +0 -92
  750. data/doc/api/core/files/lib/facets/core/kernel/bug_rb.html +0 -92
  751. data/doc/api/core/files/lib/facets/core/kernel/cache_rb.html +0 -92
  752. data/doc/api/core/files/lib/facets/core/kernel/call_stack_rb.html +0 -92
  753. data/doc/api/core/files/lib/facets/core/kernel/called_rb.html +0 -92
  754. data/doc/api/core/files/lib/facets/core/kernel/complete_rb.html +0 -92
  755. data/doc/api/core/files/lib/facets/core/kernel/constant_rb.html +0 -92
  756. data/doc/api/core/files/lib/facets/core/kernel/copy_rb.html +0 -92
  757. data/doc/api/core/files/lib/facets/core/kernel/deep_copy_rb.html +0 -92
  758. data/doc/api/core/files/lib/facets/core/kernel/demo_rb.html +0 -92
  759. data/doc/api/core/files/lib/facets/core/kernel/eigenclass_rb.html +0 -103
  760. data/doc/api/core/files/lib/facets/core/kernel/false_rb.html +0 -100
  761. data/doc/api/core/files/lib/facets/core/kernel/fn_rb.html +0 -92
  762. data/doc/api/core/files/lib/facets/core/kernel/generate_method_name_rb.html +0 -92
  763. data/doc/api/core/files/lib/facets/core/kernel/get_by_id_rb.html +0 -92
  764. data/doc/api/core/files/lib/facets/core/kernel/here_rb.html +0 -92
  765. data/doc/api/core/files/lib/facets/core/kernel/in_rb.html +0 -92
  766. data/doc/api/core/files/lib/facets/core/kernel/instance_assign_rb.html +0 -92
  767. data/doc/api/core/files/lib/facets/core/kernel/instvar_rb.html +0 -92
  768. data/doc/api/core/files/lib/facets/core/kernel/is_rb.html +0 -96
  769. data/doc/api/core/files/lib/facets/core/kernel/maybe_rb.html +0 -92
  770. data/doc/api/core/files/lib/facets/core/kernel/metaclass_rb.html +0 -92
  771. data/doc/api/core/files/lib/facets/core/kernel/method_rb.html +0 -92
  772. data/doc/api/core/files/lib/facets/core/kernel/methods_rb.html +0 -96
  773. data/doc/api/core/files/lib/facets/core/kernel/nack_rb.html +0 -98
  774. data/doc/api/core/files/lib/facets/core/kernel/new_rb.html +0 -92
  775. data/doc/api/core/files/lib/facets/core/kernel/object_class_rb.html +0 -92
  776. data/doc/api/core/files/lib/facets/core/kernel/object_hexid_rb.html +0 -92
  777. data/doc/api/core/files/lib/facets/core/kernel/op_esc_rb.html +0 -92
  778. data/doc/api/core/files/lib/facets/core/kernel/own_rb.html +0 -92
  779. data/doc/api/core/files/lib/facets/core/kernel/p_rb.html +0 -92
  780. data/doc/api/core/files/lib/facets/core/kernel/pp_exception_rb.html +0 -92
  781. data/doc/api/core/files/lib/facets/core/kernel/quaclass_rb.html +0 -92
  782. data/doc/api/core/files/lib/facets/core/kernel/require_all_rb.html +0 -92
  783. data/doc/api/core/files/lib/facets/core/kernel/require_esc_rb.html +0 -96
  784. data/doc/api/core/files/lib/facets/core/kernel/require_facet_rb.html +0 -96
  785. data/doc/api/core/files/lib/facets/core/kernel/require_local_rb.html +0 -92
  786. data/doc/api/core/files/lib/facets/core/kernel/resc_rb.html +0 -92
  787. data/doc/api/core/files/lib/facets/core/kernel/respond_rb.html +0 -92
  788. data/doc/api/core/files/lib/facets/core/kernel/returning_rb.html +0 -92
  789. data/doc/api/core/files/lib/facets/core/kernel/send_as_rb.html +0 -92
  790. data/doc/api/core/files/lib/facets/core/kernel/set_from_rb.html +0 -96
  791. data/doc/api/core/files/lib/facets/core/kernel/set_with_rb.html +0 -96
  792. data/doc/api/core/files/lib/facets/core/kernel/silence_warnings_rb.html +0 -100
  793. data/doc/api/core/files/lib/facets/core/kernel/silently_rb.html +0 -92
  794. data/doc/api/core/files/lib/facets/core/kernel/singleton_class_rb.html +0 -92
  795. data/doc/api/core/files/lib/facets/core/kernel/singleton_rb.html +0 -92
  796. data/doc/api/core/files/lib/facets/core/kernel/superior_rb.html +0 -92
  797. data/doc/api/core/files/lib/facets/core/kernel/supermethod_rb.html +0 -92
  798. data/doc/api/core/files/lib/facets/core/kernel/this_rb.html +0 -92
  799. data/doc/api/core/files/lib/facets/core/kernel/to_b_rb.html +0 -92
  800. data/doc/api/core/files/lib/facets/core/kernel/to_bool_rb.html +0 -92
  801. data/doc/api/core/files/lib/facets/core/kernel/true_rb.html +0 -100
  802. data/doc/api/core/files/lib/facets/core/kernel/unuri_rb.html +0 -100
  803. data/doc/api/core/files/lib/facets/core/kernel/uri_rb.html +0 -96
  804. data/doc/api/core/files/lib/facets/core/kernel/val_rb.html +0 -92
  805. data/doc/api/core/files/lib/facets/core/kernel/warn_with_line_rb.html +0 -92
  806. data/doc/api/core/files/lib/facets/core/kernel/with_accessor_rb.html +0 -92
  807. data/doc/api/core/files/lib/facets/core/kernel/with_reader_rb.html +0 -100
  808. data/doc/api/core/files/lib/facets/core/kernel/with_writer_rb.html +0 -100
  809. data/doc/api/core/files/lib/facets/core/logger/format_message_rb.html +0 -96
  810. data/doc/api/core/files/lib/facets/core/logger/format_rb.html +0 -96
  811. data/doc/api/core/files/lib/facets/core/matchdata/match_rb.html +0 -92
  812. data/doc/api/core/files/lib/facets/core/matchdata/matchset_rb.html +0 -100
  813. data/doc/api/core/files/lib/facets/core/matchdata/matchtree_rb.html +0 -92
  814. data/doc/api/core/files/lib/facets/core/module/abstract_rb.html +0 -105
  815. data/doc/api/core/files/lib/facets/core/module/alias_method_chain_rb.html +0 -92
  816. data/doc/api/core/files/lib/facets/core/module/alias_module_function_rb.html +0 -92
  817. data/doc/api/core/files/lib/facets/core/module/ancestor_rb.html +0 -92
  818. data/doc/api/core/files/lib/facets/core/module/attr_query_rb.html +0 -96
  819. data/doc/api/core/files/lib/facets/core/module/attr_rb.html +0 -92
  820. data/doc/api/core/files/lib/facets/core/module/attr_setter_rb.html +0 -92
  821. data/doc/api/core/files/lib/facets/core/module/attr_tester_rb.html +0 -96
  822. data/doc/api/core/files/lib/facets/core/module/attr_validator_rb.html +0 -92
  823. data/doc/api/core/files/lib/facets/core/module/basename_rb.html +0 -92
  824. data/doc/api/core/files/lib/facets/core/module/by_name_rb.html +0 -96
  825. data/doc/api/core/files/lib/facets/core/module/class_extension_rb.html +0 -124
  826. data/doc/api/core/files/lib/facets/core/module/class_rb.html +0 -92
  827. data/doc/api/core/files/lib/facets/core/module/clone_removing_rb.html +0 -100
  828. data/doc/api/core/files/lib/facets/core/module/clone_renaming_rb.html +0 -100
  829. data/doc/api/core/files/lib/facets/core/module/clone_using_rb.html +0 -92
  830. data/doc/api/core/files/lib/facets/core/module/dirname_rb.html +0 -92
  831. data/doc/api/core/files/lib/facets/core/module/equate_on_rb.html +0 -92
  832. data/doc/api/core/files/lib/facets/core/module/generate_instance_method_name_rb.html +0 -92
  833. data/doc/api/core/files/lib/facets/core/module/include_as_rb.html +0 -96
  834. data/doc/api/core/files/lib/facets/core/module/initializer_rb.html +0 -92
  835. data/doc/api/core/files/lib/facets/core/module/instance_methods_rb.html +0 -96
  836. data/doc/api/core/files/lib/facets/core/module/integrate_rb.html +0 -104
  837. data/doc/api/core/files/lib/facets/core/module/is_rb.html +0 -96
  838. data/doc/api/core/files/lib/facets/core/module/memoize_rb.html +0 -92
  839. data/doc/api/core/files/lib/facets/core/module/modspace_rb.html +0 -97
  840. data/doc/api/core/files/lib/facets/core/module/namespace_rb.html +0 -96
  841. data/doc/api/core/files/lib/facets/core/module/nesting_rb.html +0 -92
  842. data/doc/api/core/files/lib/facets/core/module/nodef_rb.html +0 -92
  843. data/doc/api/core/files/lib/facets/core/module/on_included_rb.html +0 -92
  844. data/doc/api/core/files/lib/facets/core/module/redef_rb.html +0 -96
  845. data/doc/api/core/files/lib/facets/core/module/redefine_method_rb.html +0 -92
  846. data/doc/api/core/files/lib/facets/core/module/redirect_method_rb.html +0 -92
  847. data/doc/api/core/files/lib/facets/core/module/redirect_rb.html +0 -96
  848. data/doc/api/core/files/lib/facets/core/module/remove_rb.html +0 -92
  849. data/doc/api/core/files/lib/facets/core/module/rename_method_rb.html +0 -92
  850. data/doc/api/core/files/lib/facets/core/module/rename_rb.html +0 -96
  851. data/doc/api/core/files/lib/facets/core/module/revisal_rb.html +0 -100
  852. data/doc/api/core/files/lib/facets/core/module/shadow_all_rb.html +0 -96
  853. data/doc/api/core/files/lib/facets/core/module/shadow_method_rb.html +0 -92
  854. data/doc/api/core/files/lib/facets/core/module/sort_on_rb.html +0 -92
  855. data/doc/api/core/files/lib/facets/core/module/this_rb.html +0 -96
  856. data/doc/api/core/files/lib/facets/core/module/wrap_method_rb.html +0 -92
  857. data/doc/api/core/files/lib/facets/core/module/wrap_rb.html +0 -96
  858. data/doc/api/core/files/lib/facets/core/nil_as_emptiness_rb.html +0 -116
  859. data/doc/api/core/files/lib/facets/core/nilclass/blank_rb.html +0 -92
  860. data/doc/api/core/files/lib/facets/core/nilclass/empty_rb.html +0 -92
  861. data/doc/api/core/files/lib/facets/core/nilclass/include_rb.html +0 -92
  862. data/doc/api/core/files/lib/facets/core/nilclass/length_rb.html +0 -100
  863. data/doc/api/core/files/lib/facets/core/nilclass/op_cmp_rb.html +0 -92
  864. data/doc/api/core/files/lib/facets/core/nilclass/op_fetch_rb.html +0 -92
  865. data/doc/api/core/files/lib/facets/core/nilclass/size_rb.html +0 -92
  866. data/doc/api/core/files/lib/facets/core/nilclass/status_rb.html +0 -92
  867. data/doc/api/core/files/lib/facets/core/nilclass/succ_rb.html +0 -92
  868. data/doc/api/core/files/lib/facets/core/nilclass/to_h_rb.html +0 -92
  869. data/doc/api/core/files/lib/facets/core/numeric/approx_rb.html +0 -92
  870. data/doc/api/core/files/lib/facets/core/numeric/ceil_multiple_rb.html +0 -92
  871. data/doc/api/core/files/lib/facets/core/numeric/pred_rb.html +0 -100
  872. data/doc/api/core/files/lib/facets/core/numeric/succ_rb.html +0 -92
  873. data/doc/api/core/files/lib/facets/core/numeric/to_b_rb.html +0 -92
  874. data/doc/api/core/files/lib/facets/core/ostruct/__merge___rb.html +0 -97
  875. data/doc/api/core/files/lib/facets/core/ostruct/__table___rb.html +0 -92
  876. data/doc/api/core/files/lib/facets/core/ostruct/__update___rb.html +0 -98
  877. data/doc/api/core/files/lib/facets/core/ostruct/instance_rb.html +0 -96
  878. data/doc/api/core/files/lib/facets/core/ostruct/op_fetch_rb.html +0 -96
  879. data/doc/api/core/files/lib/facets/core/ostruct/op_store_rb.html +0 -96
  880. data/doc/api/core/files/lib/facets/core/ostruct/to_h_rb.html +0 -92
  881. data/doc/api/core/files/lib/facets/core/ostruct_rb.html +0 -102
  882. data/doc/api/core/files/lib/facets/core/pathname/ascend_rb.html +0 -96
  883. data/doc/api/core/files/lib/facets/core/pathname/descend_rb.html +0 -96
  884. data/doc/api/core/files/lib/facets/core/proc/compose_rb.html +0 -92
  885. data/doc/api/core/files/lib/facets/core/proc/op_mul_rb.html +0 -100
  886. data/doc/api/core/files/lib/facets/core/proc/to_method_rb.html +0 -133
  887. data/doc/api/core/files/lib/facets/core/random_rb.html +0 -111
  888. data/doc/api/core/files/lib/facets/core/range/to_r_rb.html +0 -92
  889. data/doc/api/core/files/lib/facets/core/range/to_range_rb.html +0 -92
  890. data/doc/api/core/files/lib/facets/core/range/umbrella_rb.html +0 -92
  891. data/doc/api/core/files/lib/facets/core/range/within_rb.html +0 -96
  892. data/doc/api/core/files/lib/facets/core/regexp/arity_rb.html +0 -92
  893. data/doc/api/core/files/lib/facets/core/regexp/to_re_rb.html +0 -92
  894. data/doc/api/core/files/lib/facets/core/regexp/to_regexp_rb.html +0 -92
  895. data/doc/api/core/files/lib/facets/core/string/align_center_rb.html +0 -92
  896. data/doc/api/core/files/lib/facets/core/string/align_left_rb.html +0 -100
  897. data/doc/api/core/files/lib/facets/core/string/align_right_rb.html +0 -100
  898. data/doc/api/core/files/lib/facets/core/string/at_rand_rb.html +0 -98
  899. data/doc/api/core/files/lib/facets/core/string/at_rb.html +0 -92
  900. data/doc/api/core/files/lib/facets/core/string/basename_rb.html +0 -92
  901. data/doc/api/core/files/lib/facets/core/string/blank_rb.html +0 -92
  902. data/doc/api/core/files/lib/facets/core/string/bracket_rb.html +0 -92
  903. data/doc/api/core/files/lib/facets/core/string/brief_rb.html +0 -92
  904. data/doc/api/core/files/lib/facets/core/string/bytes_rb.html +0 -92
  905. data/doc/api/core/files/lib/facets/core/string/camelcase_rb.html +0 -92
  906. data/doc/api/core/files/lib/facets/core/string/camelize_rb.html +0 -92
  907. data/doc/api/core/files/lib/facets/core/string/capitalized_rb.html +0 -92
  908. data/doc/api/core/files/lib/facets/core/string/chars_rb.html +0 -92
  909. data/doc/api/core/files/lib/facets/core/string/cmp_rb.html +0 -92
  910. data/doc/api/core/files/lib/facets/core/string/demodulize_rb.html +0 -96
  911. data/doc/api/core/files/lib/facets/core/string/dequote_rb.html +0 -92
  912. data/doc/api/core/files/lib/facets/core/string/downcase_rb.html +0 -92
  913. data/doc/api/core/files/lib/facets/core/string/dresner_rb.html +0 -92
  914. data/doc/api/core/files/lib/facets/core/string/each_char_rb.html +0 -92
  915. data/doc/api/core/files/lib/facets/core/string/each_word_rb.html +0 -92
  916. data/doc/api/core/files/lib/facets/core/string/ends_with_rb.html +0 -100
  917. data/doc/api/core/files/lib/facets/core/string/first_char_rb.html +0 -96
  918. data/doc/api/core/files/lib/facets/core/string/first_rb.html +0 -98
  919. data/doc/api/core/files/lib/facets/core/string/fold_rb.html +0 -92
  920. data/doc/api/core/files/lib/facets/core/string/format_rb.html +0 -96
  921. data/doc/api/core/files/lib/facets/core/string/humanize_rb.html +0 -92
  922. data/doc/api/core/files/lib/facets/core/string/indent_rb.html +0 -92
  923. data/doc/api/core/files/lib/facets/core/string/index_all_rb.html +0 -92
  924. data/doc/api/core/files/lib/facets/core/string/last_char_rb.html +0 -96
  925. data/doc/api/core/files/lib/facets/core/string/last_rb.html +0 -98
  926. data/doc/api/core/files/lib/facets/core/string/line_wrap_rb.html +0 -92
  927. data/doc/api/core/files/lib/facets/core/string/lines_rb.html +0 -92
  928. data/doc/api/core/files/lib/facets/core/string/lowercase_rb.html +0 -96
  929. data/doc/api/core/files/lib/facets/core/string/margin_rb.html +0 -92
  930. data/doc/api/core/files/lib/facets/core/string/methodize_rb.html +0 -92
  931. data/doc/api/core/files/lib/facets/core/string/modulize_rb.html +0 -92
  932. data/doc/api/core/files/lib/facets/core/string/mscan_rb.html +0 -92
  933. data/doc/api/core/files/lib/facets/core/string/natcmp_rb.html +0 -92
  934. data/doc/api/core/files/lib/facets/core/string/nchar_rb.html +0 -92
  935. data/doc/api/core/files/lib/facets/core/string/ordinal_rb.html +0 -96
  936. data/doc/api/core/files/lib/facets/core/string/pathize_rb.html +0 -92
  937. data/doc/api/core/files/lib/facets/core/string/plural_rb.html +0 -100
  938. data/doc/api/core/files/lib/facets/core/string/pop_rb.html +0 -92
  939. data/doc/api/core/files/lib/facets/core/string/pot_rb.html +0 -92
  940. data/doc/api/core/files/lib/facets/core/string/pull_rb.html +0 -92
  941. data/doc/api/core/files/lib/facets/core/string/push_rb.html +0 -92
  942. data/doc/api/core/files/lib/facets/core/string/quote_rb.html +0 -96
  943. data/doc/api/core/files/lib/facets/core/string/rand_byte_rb.html +0 -92
  944. data/doc/api/core/files/lib/facets/core/string/rand_index_rb.html +0 -92
  945. data/doc/api/core/files/lib/facets/core/string/range_all_rb.html +0 -96
  946. data/doc/api/core/files/lib/facets/core/string/range_of_line_rb.html +0 -92
  947. data/doc/api/core/files/lib/facets/core/string/range_rb.html +0 -92
  948. data/doc/api/core/files/lib/facets/core/string/regesc_rb.html +0 -92
  949. data/doc/api/core/files/lib/facets/core/string/self/format_rb.html +0 -92
  950. data/doc/api/core/files/lib/facets/core/string/self/interpolate_rb.html +0 -92
  951. data/doc/api/core/files/lib/facets/core/string/self/patterns_rb.html +0 -92
  952. data/doc/api/core/files/lib/facets/core/string/self/rand_letter_rb.html +0 -92
  953. data/doc/api/core/files/lib/facets/core/string/self/random_rb.html +0 -99
  954. data/doc/api/core/files/lib/facets/core/string/shatter_rb.html +0 -92
  955. data/doc/api/core/files/lib/facets/core/string/shell_escape_rb.html +0 -92
  956. data/doc/api/core/files/lib/facets/core/string/shift_rb.html +0 -92
  957. data/doc/api/core/files/lib/facets/core/string/shuffle_rb.html +0 -96
  958. data/doc/api/core/files/lib/facets/core/string/similarity_rb.html +0 -92
  959. data/doc/api/core/files/lib/facets/core/string/singular_rb.html +0 -92
  960. data/doc/api/core/files/lib/facets/core/string/soundex_rb.html +0 -92
  961. data/doc/api/core/files/lib/facets/core/string/starts_with_rb.html +0 -92
  962. data/doc/api/core/files/lib/facets/core/string/succ_rb.html +0 -92
  963. data/doc/api/core/files/lib/facets/core/string/tab_rb.html +0 -100
  964. data/doc/api/core/files/lib/facets/core/string/tabto_rb.html +0 -100
  965. data/doc/api/core/files/lib/facets/core/string/to_a_rb.html +0 -92
  966. data/doc/api/core/files/lib/facets/core/string/to_b_rb.html +0 -92
  967. data/doc/api/core/files/lib/facets/core/string/to_const_rb.html +0 -92
  968. data/doc/api/core/files/lib/facets/core/string/to_date_rb.html +0 -97
  969. data/doc/api/core/files/lib/facets/core/string/to_proc_rb.html +0 -92
  970. data/doc/api/core/files/lib/facets/core/string/to_re_rb.html +0 -92
  971. data/doc/api/core/files/lib/facets/core/string/to_rx_rb.html +0 -100
  972. data/doc/api/core/files/lib/facets/core/string/to_time_rb.html +0 -96
  973. data/doc/api/core/files/lib/facets/core/string/unbracket_rb.html +0 -96
  974. data/doc/api/core/files/lib/facets/core/string/underscore_rb.html +0 -92
  975. data/doc/api/core/files/lib/facets/core/string/unix_crypt_rb.html +0 -96
  976. data/doc/api/core/files/lib/facets/core/string/unpack_rb.html +0 -92
  977. data/doc/api/core/files/lib/facets/core/string/unshift_rb.html +0 -92
  978. data/doc/api/core/files/lib/facets/core/string/upcase_rb.html +0 -92
  979. data/doc/api/core/files/lib/facets/core/string/uppercase_rb.html +0 -100
  980. data/doc/api/core/files/lib/facets/core/string/whitespace_rb.html +0 -96
  981. data/doc/api/core/files/lib/facets/core/string/word_filter_rb.html +0 -92
  982. data/doc/api/core/files/lib/facets/core/string/word_wrap_rb.html +0 -92
  983. data/doc/api/core/files/lib/facets/core/string/words_rb.html +0 -92
  984. data/doc/api/core/files/lib/facets/core/string_as_array_rb.html +0 -109
  985. data/doc/api/core/files/lib/facets/core/symbol/camelcase_rb.html +0 -96
  986. data/doc/api/core/files/lib/facets/core/symbol/camelize_rb.html +0 -96
  987. data/doc/api/core/files/lib/facets/core/symbol/capitalize_rb.html +0 -96
  988. data/doc/api/core/files/lib/facets/core/symbol/capitalized_rb.html +0 -97
  989. data/doc/api/core/files/lib/facets/core/symbol/downcase_rb.html +0 -96
  990. data/doc/api/core/files/lib/facets/core/symbol/not_rb.html +0 -92
  991. data/doc/api/core/files/lib/facets/core/symbol/pad_rb.html +0 -92
  992. data/doc/api/core/files/lib/facets/core/symbol/succ_rb.html +0 -92
  993. data/doc/api/core/files/lib/facets/core/symbol/to_const_rb.html +0 -96
  994. data/doc/api/core/files/lib/facets/core/symbol/to_proc_rb.html +0 -92
  995. data/doc/api/core/files/lib/facets/core/symbol/to_str_rb.html +0 -92
  996. data/doc/api/core/files/lib/facets/core/symbol/underscore_rb.html +0 -96
  997. data/doc/api/core/files/lib/facets/core/symbol/upcase_rb.html +0 -96
  998. data/doc/api/core/files/lib/facets/core/time/change_rb.html +0 -92
  999. data/doc/api/core/files/lib/facets/core/time/elapse_rb.html +0 -92
  1000. data/doc/api/core/files/lib/facets/core/time/self/days_extrema_rb.html +0 -114
  1001. data/doc/api/core/files/lib/facets/core/time/self/stamp_rb.html +0 -100
  1002. data/doc/api/core/files/lib/facets/core/time/stamp_rb.html +0 -92
  1003. data/doc/api/core/files/lib/facets/core/time/to_date_rb.html +0 -96
  1004. data/doc/api/core/files/lib/facets/core/time/to_s_rb.html +0 -96
  1005. data/doc/api/core/files/lib/facets/core/time/to_time_rb.html +0 -92
  1006. data/doc/api/core/files/lib/facets/core/unboundmethod/name_rb.html +0 -92
  1007. data/doc/api/core/fr_class_index.html +0 -81
  1008. data/doc/api/core/fr_file_index.html +0 -521
  1009. data/doc/api/core/fr_method_index.html +0 -559
  1010. data/doc/api/core/index.html +0 -26
  1011. data/doc/api/core/rdoc-style.css +0 -175
  1012. data/doc/api/more/classes/Annotation.html +0 -258
  1013. data/doc/api/more/classes/Array.html +0 -363
  1014. data/doc/api/more/classes/Aspect.html +0 -159
  1015. data/doc/api/more/classes/Aspects.html +0 -240
  1016. data/doc/api/more/classes/Aspects/ClassMethods.html +0 -254
  1017. data/doc/api/more/classes/Association.html +0 -289
  1018. data/doc/api/more/classes/BBCode.html +0 -531
  1019. data/doc/api/more/classes/BasicObject.html +0 -281
  1020. data/doc/api/more/classes/BasicObject/Self.html +0 -143
  1021. data/doc/api/more/classes/BinaryReader.html +0 -535
  1022. data/doc/api/more/classes/BinaryReader/ByteOrder.html +0 -225
  1023. data/doc/api/more/classes/BuilderObject.html +0 -248
  1024. data/doc/api/more/classes/Class.html +0 -200
  1025. data/doc/api/more/classes/Client.html +0 -1251
  1026. data/doc/api/more/classes/Cloneable.html +0 -133
  1027. data/doc/api/more/classes/Console.html +0 -105
  1028. data/doc/api/more/classes/Console/ANSICode.html +0 -488
  1029. data/doc/api/more/classes/Console/Command.html +0 -286
  1030. data/doc/api/more/classes/Console/ProgressBar.html +0 -640
  1031. data/doc/api/more/classes/Coroutine.html +0 -284
  1032. data/doc/api/more/classes/Crypt.html +0 -270
  1033. data/doc/api/more/classes/DebugSocket.html +0 -242
  1034. data/doc/api/more/classes/Dictionary.html +0 -974
  1035. data/doc/api/more/classes/Downloader.html +0 -515
  1036. data/doc/api/more/classes/Downloader/Checksum.html +0 -96
  1037. data/doc/api/more/classes/Downloader/Mirror.html +0 -134
  1038. data/doc/api/more/classes/Elementor.html +0 -202
  1039. data/doc/api/more/classes/Enumerable.html +0 -86
  1040. data/doc/api/more/classes/EnumerablePass.html +0 -217
  1041. data/doc/api/more/classes/Expirable.html +0 -197
  1042. data/doc/api/more/classes/FalseClass.html +0 -119
  1043. data/doc/api/more/classes/FileList.html +0 -971
  1044. data/doc/api/more/classes/Float.html +0 -141
  1045. data/doc/api/more/classes/FloatString.html +0 -413
  1046. data/doc/api/more/classes/Functor.html +0 -224
  1047. data/doc/api/more/classes/HTMLBuilder.html +0 -132
  1048. data/doc/api/more/classes/HTMLHelper.html +0 -189
  1049. data/doc/api/more/classes/HTTP.html +0 -154
  1050. data/doc/api/more/classes/HTTP/BadResponseError.html +0 -94
  1051. data/doc/api/more/classes/HTTP/Error.html +0 -96
  1052. data/doc/api/more/classes/HTTP/Message.html +0 -633
  1053. data/doc/api/more/classes/HTTP/Message/Body.html +0 -299
  1054. data/doc/api/more/classes/HTTP/Message/Headers.html +0 -641
  1055. data/doc/api/more/classes/HTTP/Status.html +0 -148
  1056. data/doc/api/more/classes/HTTPAccess.html +0 -115
  1057. data/doc/api/more/classes/Hash.html +0 -257
  1058. data/doc/api/more/classes/HashBuilder.html +0 -216
  1059. data/doc/api/more/classes/Heap.html +0 -535
  1060. data/doc/api/more/classes/Heap/EmptyHeapException.html +0 -92
  1061. data/doc/api/more/classes/Heap/Max.html +0 -133
  1062. data/doc/api/more/classes/Heap/Min.html +0 -133
  1063. data/doc/api/more/classes/IORedirect.html +0 -224
  1064. data/doc/api/more/classes/Integer.html +0 -299
  1065. data/doc/api/more/classes/Interval.html +0 -853
  1066. data/doc/api/more/classes/InvalidNackError.html +0 -117
  1067. data/doc/api/more/classes/JSON.html +0 -410
  1068. data/doc/api/more/classes/JSON/Parser.html +0 -374
  1069. data/doc/api/more/classes/JSON/State.html +0 -280
  1070. data/doc/api/more/classes/Kernel.html +0 -400
  1071. data/doc/api/more/classes/LRUCache.html +0 -461
  1072. data/doc/api/more/classes/LRUCache/Item.html +0 -114
  1073. data/doc/api/more/classes/LRUCache/Sentinel.html +0 -102
  1074. data/doc/api/more/classes/Lazy.html +0 -96
  1075. data/doc/api/more/classes/Lazy/Future.html +0 -100
  1076. data/doc/api/more/classes/Lazy/Promise.html +0 -114
  1077. data/doc/api/more/classes/Lazy/PromiseSafe.html +0 -99
  1078. data/doc/api/more/classes/Lisp.html +0 -846
  1079. data/doc/api/more/classes/Lisp/DottedPair.html +0 -289
  1080. data/doc/api/more/classes/Lisp/Format.html +0 -147
  1081. data/doc/api/more/classes/Math.html +0 -110
  1082. data/doc/api/more/classes/Math/Constants.html +0 -691
  1083. data/doc/api/more/classes/Math/Constants/CGS.html +0 -584
  1084. data/doc/api/more/classes/Method.html +0 -170
  1085. data/doc/api/more/classes/Method/Probe.html +0 -267
  1086. data/doc/api/more/classes/Mock.html +0 -276
  1087. data/doc/api/more/classes/Module.html +0 -599
  1088. data/doc/api/more/classes/Multiton.html +0 -256
  1089. data/doc/api/more/classes/NackClass.html +0 -245
  1090. data/doc/api/more/classes/NilClass.html +0 -238
  1091. data/doc/api/more/classes/NullClass.html +0 -202
  1092. data/doc/api/more/classes/Numeric.html +0 -1104
  1093. data/doc/api/more/classes/ORMSupport.html +0 -357
  1094. data/doc/api/more/classes/Object.html +0 -328
  1095. data/doc/api/more/classes/OpenCascade.html +0 -230
  1096. data/doc/api/more/classes/OpenObject.html +0 -552
  1097. data/doc/api/more/classes/PQueue.html +0 -471
  1098. data/doc/api/more/classes/PathList.html +0 -162
  1099. data/doc/api/more/classes/PathList/Finder.html +0 -137
  1100. data/doc/api/more/classes/Pool.html +0 -207
  1101. data/doc/api/more/classes/Proc.html +0 -140
  1102. data/doc/api/more/classes/PromoteSelf.html +0 -138
  1103. data/doc/api/more/classes/Quaternion.html +0 -1497
  1104. data/doc/api/more/classes/REXMLBuilder.html +0 -357
  1105. data/doc/api/more/classes/REXMLBuilder/REXMLUtil.html +0 -396
  1106. data/doc/api/more/classes/Recorder.html +0 -208
  1107. data/doc/api/more/classes/Reference.html +0 -201
  1108. data/doc/api/more/classes/RubyOneLiners.html +0 -139
  1109. data/doc/api/more/classes/RubyTals.html +0 -316
  1110. data/doc/api/more/classes/SSLSocketWrap.html +0 -410
  1111. data/doc/api/more/classes/Semaphore.html +0 -264
  1112. data/doc/api/more/classes/SimpleStringIO.html +0 -139
  1113. data/doc/api/more/classes/Snapshot.html +0 -191
  1114. data/doc/api/more/classes/StateMachine.html +0 -248
  1115. data/doc/api/more/classes/StateParser.html +0 -276
  1116. data/doc/api/more/classes/StateParser/Constants.html +0 -109
  1117. data/doc/api/more/classes/StateParser/Marker.html +0 -269
  1118. data/doc/api/more/classes/StateParser/State.html +0 -448
  1119. data/doc/api/more/classes/StaticHash.html +0 -144
  1120. data/doc/api/more/classes/String.html +0 -300
  1121. data/doc/api/more/classes/Struct.html +0 -134
  1122. data/doc/api/more/classes/Symbol.html +0 -118
  1123. data/doc/api/more/classes/SyncArray.html +0 -131
  1124. data/doc/api/more/classes/SyncHash.html +0 -135
  1125. data/doc/api/more/classes/SyncHash/Delegator.html +0 -213
  1126. data/doc/api/more/classes/SyncHash/Inheritor.html +0 -213
  1127. data/doc/api/more/classes/System.html +0 -1055
  1128. data/doc/api/more/classes/TSort.html +0 -123
  1129. data/doc/api/more/classes/TagIterator.html +0 -706
  1130. data/doc/api/more/classes/Task.html +0 -237
  1131. data/doc/api/more/classes/Task/Graph.html +0 -165
  1132. data/doc/api/more/classes/Taskable.html +0 -300
  1133. data/doc/api/more/classes/Time.html +0 -746
  1134. data/doc/api/more/classes/Timer.html +0 -471
  1135. data/doc/api/more/classes/Timer/Dummy.html +0 -141
  1136. data/doc/api/more/classes/TracePoint.html +0 -456
  1137. data/doc/api/more/classes/TrueClass.html +0 -118
  1138. data/doc/api/more/classes/Tuple.html +0 -907
  1139. data/doc/api/more/classes/TypeCastException.html +0 -163
  1140. data/doc/api/more/classes/Uninheritable.html +0 -130
  1141. data/doc/api/more/classes/Units.html +0 -191
  1142. data/doc/api/more/classes/Units/Config.html +0 -120
  1143. data/doc/api/more/classes/Units/Converter.html +0 -808
  1144. data/doc/api/more/classes/Units/Converter/ExchangeRate.html +0 -155
  1145. data/doc/api/more/classes/Units/Converter/ExchangeRate/CachedXMethods.html +0 -143
  1146. data/doc/api/more/classes/Units/Converter/ExchangeRate/XMethods.html +0 -197
  1147. data/doc/api/more/classes/Units/Unit.html +0 -434
  1148. data/doc/api/more/classes/Units/Value.html +0 -331
  1149. data/doc/api/more/classes/ValueHolder.html +0 -167
  1150. data/doc/api/more/classes/Web.html +0 -103
  1151. data/doc/api/more/classes/Web/Cookie.html +0 -560
  1152. data/doc/api/more/classes/Web/CookieManager.html +0 -567
  1153. data/doc/api/more/classes/Web/CookieManager/Error.html +0 -96
  1154. data/doc/api/more/classes/Web/CookieManager/ErrorOverrideOK.html +0 -94
  1155. data/doc/api/more/classes/Web/CookieManager/NoDotError.html +0 -94
  1156. data/doc/api/more/classes/Web/CookieManager/SpecialError.html +0 -94
  1157. data/doc/api/more/classes/Web/CookieUtils.html +0 -179
  1158. data/doc/api/more/classes/XMLBuilder.html +0 -132
  1159. data/doc/api/more/classes/XMLHelper.html +0 -428
  1160. data/doc/api/more/classes/XOXO.html +0 -251
  1161. data/doc/api/more/classes/YAMLStruct.html +0 -166
  1162. data/doc/api/more/created.rid +0 -1
  1163. data/doc/api/more/files/COPYING.html +0 -517
  1164. data/doc/api/more/files/README.html +0 -389
  1165. data/doc/api/more/files/lib/facets/more/annattr_rb.html +0 -116
  1166. data/doc/api/more/files/lib/facets/more/annotation_rb.html +0 -117
  1167. data/doc/api/more/files/lib/facets/more/ansicode_rb.html +0 -128
  1168. data/doc/api/more/files/lib/facets/more/aspects_rb.html +0 -115
  1169. data/doc/api/more/files/lib/facets/more/association_rb.html +0 -111
  1170. data/doc/api/more/files/lib/facets/more/basicobject_rb.html +0 -129
  1171. data/doc/api/more/files/lib/facets/more/bbcode_rb.html +0 -111
  1172. data/doc/api/more/files/lib/facets/more/binaryreader_rb.html +0 -111
  1173. data/doc/api/more/files/lib/facets/more/bitmask_rb.html +0 -111
  1174. data/doc/api/more/files/lib/facets/more/blankslate_rb.html +0 -113
  1175. data/doc/api/more/files/lib/facets/more/builderobject_rb.html +0 -115
  1176. data/doc/api/more/files/lib/facets/more/bytes_rb.html +0 -131
  1177. data/doc/api/more/files/lib/facets/more/classmethods_rb.html +0 -121
  1178. data/doc/api/more/files/lib/facets/more/cloneable_rb.html +0 -132
  1179. data/doc/api/more/files/lib/facets/more/command_rb.html +0 -119
  1180. data/doc/api/more/files/lib/facets/more/cookie_rb.html +0 -136
  1181. data/doc/api/more/files/lib/facets/more/coroutine_rb.html +0 -111
  1182. data/doc/api/more/files/lib/facets/more/crypt_rb.html +0 -146
  1183. data/doc/api/more/files/lib/facets/more/dictionary_rb.html +0 -123
  1184. data/doc/api/more/files/lib/facets/more/downloader_rb.html +0 -124
  1185. data/doc/api/more/files/lib/facets/more/elementor_rb.html +0 -115
  1186. data/doc/api/more/files/lib/facets/more/enumerablepass_rb.html +0 -115
  1187. data/doc/api/more/files/lib/facets/more/expirable_rb.html +0 -111
  1188. data/doc/api/more/files/lib/facets/more/filelist_rb.html +0 -128
  1189. data/doc/api/more/files/lib/facets/more/floatstring_rb.html +0 -115
  1190. data/doc/api/more/files/lib/facets/more/functor_rb.html +0 -116
  1191. data/doc/api/more/files/lib/facets/more/hashbuilder_rb.html +0 -115
  1192. data/doc/api/more/files/lib/facets/more/heap_rb.html +0 -131
  1193. data/doc/api/more/files/lib/facets/more/htmlbuilder_rb.html +0 -116
  1194. data/doc/api/more/files/lib/facets/more/htmlhelper_rb.html +0 -119
  1195. data/doc/api/more/files/lib/facets/more/http_rb.html +0 -116
  1196. data/doc/api/more/files/lib/facets/more/httpaccess_rb.html +0 -137
  1197. data/doc/api/more/files/lib/facets/more/inheritor_rb.html +0 -115
  1198. data/doc/api/more/files/lib/facets/more/interval_rb.html +0 -120
  1199. data/doc/api/more/files/lib/facets/more/ioredirect_rb.html +0 -116
  1200. data/doc/api/more/files/lib/facets/more/json_rb.html +0 -141
  1201. data/doc/api/more/files/lib/facets/more/lazy_rb.html +0 -111
  1202. data/doc/api/more/files/lib/facets/more/lisp_format_rb.html +0 -129
  1203. data/doc/api/more/files/lib/facets/more/lisp_rb.html +0 -119
  1204. data/doc/api/more/files/lib/facets/more/lrucache_rb.html +0 -111
  1205. data/doc/api/more/files/lib/facets/more/mathconstants_rb.html +0 -121
  1206. data/doc/api/more/files/lib/facets/more/methodprobe_rb.html +0 -111
  1207. data/doc/api/more/files/lib/facets/more/mock_rb.html +0 -208
  1208. data/doc/api/more/files/lib/facets/more/multipliers_rb.html +0 -115
  1209. data/doc/api/more/files/lib/facets/more/multiton_rb.html +0 -114
  1210. data/doc/api/more/files/lib/facets/more/nackclass_rb.html +0 -151
  1211. data/doc/api/more/files/lib/facets/more/nilcomparable_rb.html +0 -118
  1212. data/doc/api/more/files/lib/facets/more/nullclass_rb.html +0 -111
  1213. data/doc/api/more/files/lib/facets/more/one_rb.html +0 -158
  1214. data/doc/api/more/files/lib/facets/more/opencascade_rb.html +0 -129
  1215. data/doc/api/more/files/lib/facets/more/openobject_rb.html +0 -120
  1216. data/doc/api/more/files/lib/facets/more/orderedhash_rb.html +0 -113
  1217. data/doc/api/more/files/lib/facets/more/ormsupport_rb.html +0 -125
  1218. data/doc/api/more/files/lib/facets/more/overload_rb.html +0 -111
  1219. data/doc/api/more/files/lib/facets/more/paramix_rb.html +0 -118
  1220. data/doc/api/more/files/lib/facets/more/pathlist_rb.html +0 -111
  1221. data/doc/api/more/files/lib/facets/more/pool_rb.html +0 -120
  1222. data/doc/api/more/files/lib/facets/more/pqueue_rb.html +0 -122
  1223. data/doc/api/more/files/lib/facets/more/preinitialize_rb.html +0 -115
  1224. data/doc/api/more/files/lib/facets/more/progressbar_rb.html +0 -111
  1225. data/doc/api/more/files/lib/facets/more/promoteself_rb.html +0 -111
  1226. data/doc/api/more/files/lib/facets/more/quaternion_rb.html +0 -150
  1227. data/doc/api/more/files/lib/facets/more/recorder_rb.html +0 -115
  1228. data/doc/api/more/files/lib/facets/more/reference_rb.html +0 -115
  1229. data/doc/api/more/files/lib/facets/more/rexmlbuilder_rb.html +0 -116
  1230. data/doc/api/more/files/lib/facets/more/rtals_rb.html +0 -115
  1231. data/doc/api/more/files/lib/facets/more/semaphore_rb.html +0 -111
  1232. data/doc/api/more/files/lib/facets/more/snapshot_rb.html +0 -121
  1233. data/doc/api/more/files/lib/facets/more/stateparser_rb.html +0 -115
  1234. data/doc/api/more/files/lib/facets/more/statichash_rb.html +0 -133
  1235. data/doc/api/more/files/lib/facets/more/syncarray_rb.html +0 -115
  1236. data/doc/api/more/files/lib/facets/more/synchash_rb.html +0 -115
  1237. data/doc/api/more/files/lib/facets/more/system_rb.html +0 -123
  1238. data/doc/api/more/files/lib/facets/more/tagiterator_rb.html +0 -111
  1239. data/doc/api/more/files/lib/facets/more/taskable_rb.html +0 -118
  1240. data/doc/api/more/files/lib/facets/more/timer_rb.html +0 -127
  1241. data/doc/api/more/files/lib/facets/more/times_rb.html +0 -127
  1242. data/doc/api/more/files/lib/facets/more/tracepoint_rb.html +0 -131
  1243. data/doc/api/more/files/lib/facets/more/tuple_rb.html +0 -122
  1244. data/doc/api/more/files/lib/facets/more/typecast_rb.html +0 -133
  1245. data/doc/api/more/files/lib/facets/more/uninheritable_rb.html +0 -111
  1246. data/doc/api/more/files/lib/facets/more/units_rb.html +0 -118
  1247. data/doc/api/more/files/lib/facets/more/xmlbuilder_rb.html +0 -116
  1248. data/doc/api/more/files/lib/facets/more/xmlhelper_rb.html +0 -111
  1249. data/doc/api/more/files/lib/facets/more/xoxo_rb.html +0 -125
  1250. data/doc/api/more/files/lib/facets/more/yamlstruct_rb.html +0 -123
  1251. data/doc/api/more/fr_class_index.html +0 -196
  1252. data/doc/api/more/fr_file_index.html +0 -133
  1253. data/doc/api/more/fr_method_index.html +0 -1284
  1254. data/doc/api/more/index.html +0 -26
  1255. data/doc/api/more/rdoc-style.css +0 -175
  1256. data/doc/web/documentation.html +0 -174
  1257. data/doc/web/images/abc.png +0 -0
  1258. data/doc/web/images/abc1.png +0 -0
  1259. data/doc/web/images/apple_core.jpg +0 -0
  1260. data/doc/web/images/apples3.jpg +0 -0
  1261. data/doc/web/images/core.jpg +0 -0
  1262. data/doc/web/images/favicon.ico +0 -0
  1263. data/doc/web/images/gray.jpg +0 -0
  1264. data/doc/web/images/ruby-lg.png +0 -0
  1265. data/doc/web/images/ruby.gif +0 -0
  1266. data/doc/web/images/three_apples.jpg +0 -0
  1267. data/doc/web/images/yellow_fade.jpg +0 -0
  1268. data/doc/web/images/yellow_fade2.jpg +0 -0
  1269. data/doc/web/index.html +0 -224
  1270. data/doc/web/style.css +0 -153
  1271. data/lib/facet/blankslate.rb +0 -1
  1272. data/lib/facet/hash/symoblize_keys.rb +0 -1
  1273. data/lib/facet/kernel/generate_method_name.rb +0 -1
  1274. data/lib/facet/module/generate_instance_method_name.rb +0 -1
  1275. data/lib/facets/core/hash/symoblize_keys.rb +0 -2
  1276. data/lib/facets/core/kernel/generate_method_name.rb +0 -39
  1277. data/lib/facets/core/module/generate_instance_method_name.rb +0 -47
  1278. data/lib/facets/more/blankslate.rb +0 -7
  1279. data/proj/calibre/ProjectInfo.annotation +0 -46
  1280. data/proj/calibre/ProjectInfo.ansicode +0 -33
  1281. data/proj/calibre/ProjectInfo.asociation +0 -34
  1282. data/proj/calibre/ProjectInfo.basicobject +0 -36
  1283. data/proj/calibre/ProjectInfo.bbcode +0 -34
  1284. data/proj/calibre/ProjectInfo.binaryreader +0 -35
  1285. data/proj/calibre/ProjectInfo.bitmask +0 -33
  1286. data/proj/calibre/ProjectInfo.classinherit +0 -36
  1287. data/proj/calibre/ProjectInfo.classmethods +0 -36
  1288. data/proj/calibre/ProjectInfo.cloneable +0 -33
  1289. data/proj/calibre/ProjectInfo.consoleapp +0 -35
  1290. data/proj/calibre/ProjectInfo.coroutine +0 -37
  1291. data/proj/calibre/ProjectInfo.crypt +0 -33
  1292. data/proj/calibre/ProjectInfo.dictionary +0 -40
  1293. data/proj/calibre/ProjectInfo.downloader +0 -39
  1294. data/proj/calibre/ProjectInfo.enumerablepass +0 -35
  1295. data/proj/calibre/ProjectInfo.expirable +0 -37
  1296. data/proj/calibre/ProjectInfo.floatstring +0 -35
  1297. data/proj/calibre/ProjectInfo.functor +0 -40
  1298. data/proj/calibre/ProjectInfo.heap +0 -33
  1299. data/proj/calibre/ProjectInfo.inheritor +0 -36
  1300. data/proj/calibre/ProjectInfo.interval +0 -36
  1301. data/proj/calibre/ProjectInfo.lisp +0 -38
  1302. data/proj/calibre/ProjectInfo.lrucache +0 -34
  1303. data/proj/calibre/ProjectInfo.mathconstants +0 -41
  1304. data/proj/calibre/ProjectInfo.methodprobe +0 -38
  1305. data/proj/calibre/ProjectInfo.mock +0 -34
  1306. data/proj/calibre/ProjectInfo.multiton +0 -36
  1307. data/proj/calibre/ProjectInfo.nackclass +0 -33
  1308. data/proj/calibre/ProjectInfo.nilcomparable +0 -35
  1309. data/proj/calibre/ProjectInfo.nullclass +0 -35
  1310. data/proj/calibre/ProjectInfo.one +0 -37
  1311. data/proj/calibre/ProjectInfo.openobject +0 -39
  1312. data/proj/calibre/ProjectInfo.paramix +0 -38
  1313. data/proj/calibre/ProjectInfo.pool +0 -33
  1314. data/proj/calibre/ProjectInfo.progressbar +0 -37
  1315. data/proj/calibre/ProjectInfo.reference +0 -36
  1316. data/proj/calibre/ProjectInfo.semaphore +0 -36
  1317. data/proj/calibre/ProjectInfo.stateparser +0 -39
  1318. data/proj/calibre/ProjectInfo.statichash +0 -33
  1319. data/proj/calibre/ProjectInfo.system +0 -34
  1320. data/proj/calibre/ProjectInfo.tagiterator +0 -36
  1321. data/proj/calibre/ProjectInfo.timer +0 -35
  1322. data/proj/calibre/ProjectInfo.tracepoint +0 -37
  1323. data/proj/calibre/ProjectInfo.tuple +0 -36
  1324. data/proj/calibre/ProjectInfo.uniheritable +0 -34
  1325. data/proj/calibre/ProjectInfo.units +0 -34
  1326. data/proj/calibre/ProjectInfo.yamlstruct +0 -34
  1327. data/proj/info +0 -117
  1328. data/proj/metadata +0 -36
  1329. data/proj/tasks/calibre.rb +0 -15
  1330. data/snip/ProjectInfo +0 -115
  1331. data/snip/README +0 -13
  1332. data/snip/TODO +0 -73
  1333. data/snip/autorequire.rb +0 -83
  1334. data/snip/core/array/at_rand.rb +0 -95
  1335. data/snip/core/array/each_slice.rb +0 -23
  1336. data/snip/core/array/pick_values.rb +0 -32
  1337. data/snip/core/array/rand_indexes.rb +0 -33
  1338. data/snip/core/binding/class.rb +0 -11
  1339. data/snip/core/binding/delegate-binding.rb +0 -19
  1340. data/snip/core/binding/delegate.rb +0 -15
  1341. data/snip/core/binding/proc.rb +0 -6
  1342. data/snip/core/class/to_module.rb +0 -3
  1343. data/snip/core/enumerable/op_fetch.rb +0 -30
  1344. data/snip/core/fileutils/nl_convert.rb +0 -133
  1345. data/snip/core/io/expect.rb +0 -127
  1346. data/snip/core/kernel/__clone__.rb +0 -4
  1347. data/snip/core/kernel/__dup__.rb +0 -4
  1348. data/snip/core/kernel/call_line.rb +0 -15
  1349. data/snip/core/kernel/does.rb +0 -7
  1350. data/snip/core/kernel/message.rb +0 -6
  1351. data/snip/core/kernel/query.rb +0 -15
  1352. data/snip/core/kernel/taint.rb +0 -10
  1353. data/snip/core/logger/clean_logger.rb +0 -10
  1354. data/snip/core/module/attr-old.rb +0 -308
  1355. data/snip/core/module/attr.rb +0 -98
  1356. data/snip/core/module/attr_xxx.rb +0 -22
  1357. data/snip/core/module/by_regexp.rb +0 -21
  1358. data/snip/core/module/cast.rb +0 -64
  1359. data/snip/core/module/class_attribute_accessors.rb +0 -57
  1360. data/snip/core/module/inherit.rb +0 -99
  1361. data/snip/core/module/inherit0.rb +0 -59
  1362. data/snip/core/module/let.rb +0 -51
  1363. data/snip/core/module/meta_attr.rb +0 -60
  1364. data/snip/core/module/module_attribute_accessors.rb +0 -57
  1365. data/snip/core/module/permissions.rb +0 -32
  1366. data/snip/core/module/preserved.rb +0 -108
  1367. data/snip/core/module/sattr_accessor.rb +0 -1
  1368. data/snip/core/module/sattr_reader.rb +0 -1
  1369. data/snip/core/module/sattr_setter.rb +0 -1
  1370. data/snip/core/module/sattr_tester.rb +0 -1
  1371. data/snip/core/module/sattr_writer.rb +0 -1
  1372. data/snip/core/module/tc_attr.rb +0 -107
  1373. data/snip/core/module/to_module.rb +0 -37
  1374. data/snip/core/module/version.rb +0 -23
  1375. data/snip/core/string/frequency.rb +0 -40
  1376. data/snip/core/string/op_add.rb +0 -24
  1377. data/snip/core/string/op_div.rb +0 -15
  1378. data/snip/core/string/pred.rb +0 -217
  1379. data/snip/core/string/probability.rb +0 -35
  1380. data/snip/core/string/to_arr.rb +0 -57
  1381. data/snip/core/string/to_ary.rb +0 -12
  1382. data/snip/core/string/word_wrap.rb +0 -62
  1383. data/snip/more/actionplan.rb +0 -21
  1384. data/snip/more/autoarray.rb +0 -29
  1385. data/snip/more/cache.rb +0 -189
  1386. data/snip/more/capsule2.rb +0 -152
  1387. data/snip/more/class_inheritable_attributes.rb +0 -120
  1388. data/snip/more/classinherit.rb +0 -198
  1389. data/snip/more/clean.rb +0 -35
  1390. data/snip/more/codepack.rb +0 -64
  1391. data/snip/more/commandrunner.rb +0 -101
  1392. data/snip/more/conditionals.rb +0 -106
  1393. data/snip/more/contracts.rb +0 -37
  1394. data/snip/more/daemon.rb +0 -70
  1395. data/snip/more/datetime.rb +0 -42
  1396. data/snip/more/detach.rb +0 -423
  1397. data/snip/more/enumtype.rb +0 -115
  1398. data/snip/more/fixnum_const.rb +0 -55
  1399. data/snip/more/function.rb +0 -278
  1400. data/snip/more/hookse.rb +0 -107
  1401. data/snip/more/indexable.rb +0 -85
  1402. data/snip/more/infinity.rb +0 -123
  1403. data/snip/more/ioreactor.rb +0 -671
  1404. data/snip/more/knowself.rb +0 -42
  1405. data/snip/more/logger_sing.rb +0 -207
  1406. data/snip/more/must.rb +0 -37
  1407. data/snip/more/openproxy.rb +0 -245
  1408. data/snip/more/ostructable.rb +0 -212
  1409. data/snip/more/pairhash.rb +0 -55
  1410. data/snip/more/pathname.rb +0 -1309
  1411. data/snip/more/prereq.rb +0 -36
  1412. data/snip/more/print_exception.rb +0 -35
  1413. data/snip/more/rand.rb +0 -412
  1414. data/snip/more/range.rb +0 -383
  1415. data/snip/more/sanitize.rb +0 -48
  1416. data/snip/more/service.rb +0 -266
  1417. data/snip/more/superstruct.rb +0 -735
  1418. data/snip/more/tag.rb +0 -27
  1419. data/snip/more/testfacility.rb +0 -80
  1420. data/snip/more/timer.rb +0 -164
  1421. data/snip/more/toplevel.rb +0 -76
  1422. data/snip/more/type.rb +0 -232
  1423. data/snip/more/vars.rb +0 -94
  1424. data/snip/more/version.rb +0 -245
  1425. data/snip/more/world.rb +0 -53
  1426. data/snip/reference/sys.rb +0 -186
  1427. data/snip/reference/utils.rb +0 -518
  1428. data/test/lib/facets/core/kernel/test_generate_method_name.rb +0 -26
  1429. data/test/lib/facets/core/module/test_generate_instance_method_name.rb +0 -33
@@ -1,92 +0,0 @@
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>
@@ -1,3250 +0,0 @@
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>