facets 1.4.5 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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>