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,212 +0,0 @@
1
- #--
2
- # OpenStructable
3
- #
4
- # Copyright (c) 2005 Thomas Sawyer
5
- #
6
- # Ruby License
7
- #
8
- # This module is free software. You may use, modify, and/or redistribute this
9
- # software under the same terms as Ruby.
10
- #
11
- # This program is distributed in the hope that it will be useful, but WITHOUT
12
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
- # FOR A PARTICULAR PURPOSE.
14
- #
15
- # ==========================================================================
16
- # Revision History ::
17
- # --------------------------------------------------------------------------
18
- # 05.04.28 Trans
19
- # - Minor modifications to documentation.
20
- # ==========================================================================
21
- #
22
- # TODO
23
- # Keep this uptodate with ostruct.rb.
24
- #
25
- # TODO Ask Matz
26
- # See if Matz will accept it into core so we don't have to anymore.
27
- #
28
- # TODO Marshalling
29
- # As with OpenStruct, marshalling is problematic at the moment.
30
- #
31
- #++
32
-
33
- #:title: OpenStructable
34
- #
35
- # OpensStructable is a mixin module which can provide OpenStruct behavior to
36
- # any class or object. OpenStructable allows extention of data objects
37
- # with arbitrary attributes.
38
- #
39
- # == Usage
40
- #
41
- # require 'mega/ostructable'
42
- #
43
- # class Record
44
- # include OpenStructable
45
- # end
46
- #
47
- # record = Record.new
48
- # record.name = "John Smith"
49
- # record.age = 70
50
- # record.pension = 300
51
- #
52
- # puts record.name # -> "John Smith"
53
- # puts record.address # -> nil
54
- #
55
- # == Author(s)
56
- #
57
- # * Thomas Sawyer
58
- # * Yukihiro Matsumoto
59
- # * Gavin Sinclair (Documentation)
60
- #
61
-
62
- module OpenStructable
63
-
64
- def initialize(hash=nil)
65
- @__table__ = {}
66
- if hash
67
- for k,v in hash
68
- @__table__[k.to_sym] = v
69
- new_ostruct_member(k)
70
- end
71
- end
72
- end
73
-
74
- # duplicate an OpenStruct object members.
75
- def initialize_copy(orig)
76
- super
77
- @__table__ = @__table__.dup
78
- end
79
-
80
- def marshal_dump
81
- @table
82
- end
83
- def marshal_load(x)
84
- @table = x
85
- @table.each_key{|key| new_ostruct_member(key)}
86
- end
87
-
88
- def new_ostruct_member(name)
89
- unless self.respond_to?(name)
90
- self.instance_eval %{
91
- def #{name}; @__table__[:#{name}]; end
92
- def #{name}=(x); @__table__[:#{name}] = x; end
93
- }
94
- end
95
- end
96
-
97
- #
98
- # Generate additional attributes and values.
99
- #
100
- def update(hash)
101
- @__table__ ||= {}
102
- if hash
103
- for k,v in hash
104
- @__table__[k.to_sym] = v
105
- new_ostruct_member(k)
106
- end
107
- end
108
- end
109
-
110
- def method_missing(mid, *args) # :nodoc:
111
- mname = mid.to_s
112
- len = args.length
113
- if mname =~ /=$/
114
- if len != 1
115
- raise ArgumentError, "wrong number of arguments (#{len} for 1)", caller(1)
116
- end
117
- if self.frozen?
118
- raise TypeError, "can't modify frozen #{self.class}", caller(1)
119
- end
120
- mname.chop!
121
- @__table__ ||= {}
122
- @__table__[mname.intern] = args[0]
123
- self.new_ostruct_member(mname)
124
- elsif len == 0
125
- @__table__ ||= {}
126
- @__table__[mid]
127
- else
128
- raise NoMethodError, "undefined method `#{mname}' for #{self}", caller(1)
129
- end
130
- end
131
-
132
- #
133
- # Remove the named field from the object.
134
- #
135
- def delete_field(name)
136
- @__table__ ||= {}
137
- @__table__.delete name.to_sym
138
- end
139
-
140
- #
141
- # Returns a string containing a detailed summary of the keys and values.
142
- #
143
- def inspect
144
- str = "<#{self.class}"
145
- for k,v in (@__table__ ||= {})
146
- str << " #{k}=#{v.inspect}"
147
- end
148
- str << ">"
149
- end
150
-
151
- def __table__ # :nodoc:
152
- @__table__ ||= {}
153
- end
154
- protected :__table__
155
-
156
- # Compare this object and +other+ for equality.
157
- def ==(other)
158
- return false unless(other.kind_of?(OpenStruct))
159
- return @__table__ == other.table
160
- end
161
-
162
- end
163
-
164
- =begin
165
- #
166
- # It is possibe to implement OpenStruct itself with
167
- # this OpenStructable module as follows:
168
- #
169
- class OpenStruct
170
- include OpenStructable
171
- end
172
- =end
173
-
174
-
175
-
176
- # _____ _
177
- # |_ _|__ ___| |_
178
- # | |/ _ \/ __| __|
179
- # | | __/\__ \ |_
180
- # |_|\___||___/\__|
181
- #
182
-
183
- =begin testing
184
-
185
- require 'test/unit'
186
-
187
- # fixture
188
-
189
- class Record
190
- include OpenStructable
191
- end
192
-
193
- # test
194
-
195
- class TC_OpenStructable < Test::Unit::TestCase
196
-
197
- def test_record
198
- record = nil
199
- assert_nothing_raised {
200
- record = Record.new
201
- record.name = "John Smith"
202
- record.age = 70
203
- record.pension = 300
204
- }
205
- assert_equal( "John Smith", record.name )
206
- assert_equal( 70, record.age )
207
- assert_equal( nil, record.address )
208
- end
209
-
210
- end
211
-
212
- =end
@@ -1,55 +0,0 @@
1
-
2
- class PairHash
3
-
4
- def initialize( *args )
5
- @outer = Hash.new([])
6
- end
7
-
8
- def add_entry( x, y, z )
9
- a = [y,z]
10
- @outer[x] << a
11
- a
12
- end
13
-
14
- def del_entry( x, y=nil )
15
- if y
16
- @outer[x].reject! { |e| e[0] == y }
17
- else
18
- @outer.delete(x)
19
- end
20
- end
21
-
22
- def inner_value?( v, x, y )
23
- @outer[x].select { |e| e == [y,v] }
24
- end
25
-
26
- end
27
-
28
-
29
- # test
30
-
31
- if $0 == __FILE__
32
-
33
- require 'test/unit'
34
-
35
- class TC < Test::Unit::TestCase
36
-
37
- def setup
38
- @ph = ::PairHash.new
39
- end
40
-
41
- def test01
42
- @ph.add_entry( "x", "aa", 2 )
43
- @ph.add_entry( "x", "aa", 3 )
44
- @ph.add_entry( "x", "bb", "boo" )
45
- end
46
-
47
- def test02
48
- assert( @ph.inner_value?( 3, "x", "aa" ) )
49
- end
50
-
51
- end
52
-
53
- end
54
-
55
-
@@ -1,1309 +0,0 @@
1
- # = pathname.rb
2
- #
3
- # Object-Oriented Pathname Class
4
- #
5
- # Author:: Tanaka Akira <akr@m17n.org>
6
- # Documentation:: Author and Gavin Sinclair
7
- #
8
- # For documentation, see class Pathname.
9
- #
10
- # <tt>pathname.rb</tt> is distributed with Ruby since 1.8.0.
11
- #
12
-
13
- # THIS IS AN IMPROVED VERSION THAT USES AN ARRAY INSTEAD OF A STRING FOR PATH.
14
-
15
- #
16
- # == Pathname
17
- #
18
- # Pathname represents a pathname which locates a file in a filesystem.
19
- # It supports only Unix style pathnames. It does not represent the file
20
- # itself. A Pathname can be relative or absolute. It's not until you try to
21
- # reference the file that it even matters whether the file exists or not.
22
- #
23
- # Pathname is immutable. It has no method for destructive update.
24
- #
25
- # The value of this class is to manipulate file path information in a neater
26
- # way than standard Ruby provides. The examples below demonstrate the
27
- # difference. *All* functionality from File, FileTest, and some from Dir and
28
- # FileUtils is included, in an unsurprising way. It is essentially a facade for
29
- # all of these, and more.
30
- #
31
- # == Examples
32
- #
33
- # === Example 1: Using Pathname
34
- #
35
- # require 'pathname'
36
- # p = Pathname.new("/usr/bin/ruby")
37
- # size = p.size # 27662
38
- # isdir = p.directory? # false
39
- # dir = p.dirname # Pathname:/usr/bin
40
- # base = p.basename # Pathname:ruby
41
- # dir, base = p.split # [Pathname:/usr/bin, Pathname:ruby]
42
- # data = p.read
43
- # p.open { |f| _ }
44
- # p.each_line { |line| _ }
45
- #
46
- # === Example 2: Using standard Ruby
47
- #
48
- # p = "/usr/bin/ruby"
49
- # size = File.size(p) # 27662
50
- # isdir = File.directory?(p) # false
51
- # dir = File.dirname(p) # "/usr/bin"
52
- # base = File.basename(p) # "ruby"
53
- # dir, base = File.split(p) # ["/usr/bin", "ruby"]
54
- # data = File.read(p)
55
- # File.open(p) { |f| _ }
56
- # File.foreach(p) { |line| _ }
57
- #
58
- # === Example 3: Special features
59
- #
60
- # p1 = Pathname.new("/usr/lib") # Pathname:/usr/lib
61
- # p2 = p1 + "ruby/1.8" # Pathname:/usr/lib/ruby/1.8
62
- # p3 = p1.parent # Pathname:/usr
63
- # p4 = p2.relative_path_from(p3) # Pathname:lib/ruby/1.8
64
- # pwd = Pathname.pwd # Pathname:/home/gavin
65
- # pwd.absolute? # true
66
- # p5 = Pathname.new "." # Pathname:.
67
- # p5 = p5 + "music/../articles" # Pathname:music/../articles
68
- # p5.cleanpath # Pathname:articles
69
- # p5.realpath # Pathname:/home/gavin/articles
70
- # p5.children # [Pathname:/home/gavin/articles/linux, ...]
71
- #
72
- # == Breakdown of functionality
73
- #
74
- # === Core methods
75
- #
76
- # These methods are effectively manipulating a String, because that's all a path
77
- # is. Except for #mountpoint?, #children, and #realpath, they don't access the
78
- # filesystem.
79
- #
80
- # - +
81
- # - #join
82
- # - #parent
83
- # - #root?
84
- # - #absolute?
85
- # - #relative?
86
- # - #relative_path_from
87
- # - #each_filename
88
- # - #cleanpath
89
- # - #realpath
90
- # - #children
91
- # - #mountpoint?
92
- #
93
- # === File status predicate methods
94
- #
95
- # These methods are a facade for FileTest:
96
- # - #blockdev?
97
- # - #chardev?
98
- # - #directory?
99
- # - #executable?
100
- # - #executable_real?
101
- # - #exist?
102
- # - #file?
103
- # - #grpowned?
104
- # - #owned?
105
- # - #pipe?
106
- # - #readable?
107
- # - #readable_real?
108
- # - #setgid?
109
- # - #setuid?
110
- # - #size
111
- # - #size?
112
- # - #socket?
113
- # - #sticky?
114
- # - #symlink?
115
- # - #writable?
116
- # - #writable_real?
117
- # - #zero?
118
- #
119
- # === File property and manipulation methods
120
- #
121
- # These methods are a facade for File:
122
- # - #atime
123
- # - #ctime
124
- # - #mtime
125
- # - #chmod(mode)
126
- # - #lchmod(mode)
127
- # - #chown(owner, group)
128
- # - #lchown(owner, group)
129
- # - #fnmatch(pattern, *args)
130
- # - #fnmatch?(pattern, *args)
131
- # - #ftype
132
- # - #make_link(old)
133
- # - #open(*args, &block)
134
- # - #readlink
135
- # - #rename(to)
136
- # - #stat
137
- # - #lstat
138
- # - #make_symlink(old)
139
- # - #truncate(length)
140
- # - #utime(atime, mtime)
141
- # - #basename(*args)
142
- # - #dirname
143
- # - #extname
144
- # - #expand_path(*args)
145
- # - #split
146
- #
147
- # === Directory methods
148
- #
149
- # These methods are a facade for Dir:
150
- # - Pathname.glob(*args)
151
- # - Pathname.getwd / Pathname.pwd
152
- # - #rmdir
153
- # - #entries
154
- # - #each_entry(&block)
155
- # - #mkdir(*args)
156
- # - #opendir(*args)
157
- #
158
- # === IO
159
- #
160
- # These methods are a facade for IO:
161
- # - #each_line(*args, &block)
162
- # - #read(*args)
163
- # - #readlines(*args)
164
- # - #sysopen(*args)
165
- #
166
- # === Utilities
167
- #
168
- # These methods are a mixture of Find, FileUtils, and others:
169
- # - #find(&block)
170
- # - #mkpath
171
- # - #rmtree
172
- # - #unlink / #delete
173
- #
174
- #
175
- # == Method documentation
176
- #
177
- # As the above section shows, most of the methods in Pathname are facades. The
178
- # documentation for these methods generally just says, for instance, "See
179
- # FileTest.writable?", as you should be familiar with the original method
180
- # anyway, and its documentation (e.g. through +ri+) will contain more
181
- # information. In some cases, a brief description will follow.
182
- #
183
- class Pathname
184
-
185
- class << self
186
-
187
- def create( path=[], abs=false, trail=false )
188
- o = self.allocate
189
- o.instance_variable_set("@path", path.dup)
190
- o.instance_variable_set("@absolute", abs ? true : false)
191
- o.instance_variable_set("@trail", trail ? true : false)
192
- o
193
- end
194
-
195
- def [](path)
196
- new(path)
197
- end
198
- end
199
-
200
- # Create a Pathname object from the given String (or String-like object).
201
- # If +path+ contains a NUL character (<tt>\0</tt>), an ArgumentError is raised.
202
- #
203
- def initialize(*path)
204
- path = path.join('/')
205
- @absolute = path[0,1] == '/' ? true : false
206
- @trail = (path.size > 1 and path[-1,1] == '/') ? true : false
207
- @path = path.split(%r{/})
208
- @path.delete('')
209
-
210
- #case path
211
- #when Pathname
212
- # @path = path.pathlist.dup
213
- # @absolute = path.absolute?
214
- #when Array
215
- # @path = path.collect{|e| e.to_str}
216
- # @absolute = absolute
217
- #else
218
- # path = path.to_str if path.respond_to?(:to_str)
219
- # raise ArgumentError, "pathname contains \\0: #{@path.inspect}" if /\0/ =~ @path
220
- # @path = path.split(%r{/})
221
- # @path.unshift('') if path[0,1] == '/' # absolute path
222
- #end
223
-
224
- self.taint if path.tainted?
225
- end
226
-
227
- def freeze() super; @path.freeze; self end
228
- def taint() super; @path.taint; self end
229
- def untaint() super; @path.untaint; self end
230
-
231
- # Stores the array of the componet parts of the pathname.
232
- #
233
- # protected
234
- def pathlist
235
- @path
236
- end
237
-
238
- # Compare this pathname with +other+. The comparison is string-based.
239
- # Be aware that two different paths (<tt>foo.txt</tt> and <tt>./foo.txt</tt>)
240
- # can refer to the same file.
241
- #
242
- def ==(other)
243
- return false unless Pathname === other
244
- if @absolute
245
- return false unless other.absolute?
246
- end
247
- @path == other.pathlist
248
- end
249
- alias_method :===, :==
250
- alias_method :eql?, :==
251
-
252
- # Provides for comparing pathnames, case-sensitively.
253
- def <=>(other)
254
- return nil unless Pathname === other
255
- return 1 if absolute? and not other.absolute?
256
- return -1 if other.absolute? and not absolute?
257
- r = @path <=> other.pathlist
258
- return r unless r == 0
259
- return 1 if trail? and not other.trail?
260
- return -1 if other.trail? and not trail?
261
- 0
262
- end
263
-
264
- def hash # :nodoc:
265
- to_s.hash
266
- end
267
-
268
- # Return the path as a String (same as to_s).
269
- def path
270
- s = ''
271
- s << '/' if @absolute
272
- s << @path.join('/')
273
- s << '/' if @trail
274
- s << '.' if s.empty?
275
- s
276
- end
277
-
278
- # Return the path as a String (same as pathname).
279
- def to_s
280
- s = ''
281
- s << '/' if @absolute
282
- s << @path.join('/')
283
- s << '/' if @trail
284
- s << '.' if s.empty?
285
- s
286
- end
287
-
288
- # to_str is implemented so Pathname objects are usable with File.open, etc.
289
- alias_method :to_str, :to_s
290
-
291
- def inspect # :nodoc:
292
- "#<#{self.class}: #{to_s}>"
293
- end
294
-
295
- # append directory or file name to path
296
- def <<(name)
297
- name = name.to_str
298
- @path << name unless name.strip.empty?
299
- @path
300
- end
301
-
302
- #
303
- # Returns clean pathname of +self+ with consecutive slashes and useless dots
304
- # removed. The filesystem is not accessed.
305
- #
306
- # If +consider_symlink+ is +true+, then a more conservative algorithm is used
307
- # to avoid breaking symbolic linkages. This may retain more <tt>..</tt>
308
- # entries than absolutely necessary, but without accessing the filesystem,
309
- # this can't be avoided. See #realpath.
310
- #
311
- def cleanpath(consider_symlink=false)
312
- if consider_symlink
313
- cleanpath_conservative
314
- else
315
- cleanpath_aggressive
316
- end
317
- end
318
-
319
- # Clean the path simply by resolving and removing excess "." and ".." entries.
320
- # Nothing more, nothing less.
321
- #
322
- def cleanpath_aggressive
323
- # cleanpath_aggressive assumes:
324
- # * no symlink
325
- # * all pathname prefix contained in the pathname is existing directory
326
- return Pathname.create([],@absolute,@trail) if path.empty?
327
- absolute = absolute?
328
- trail = trail?
329
- names = []
330
- @path.each {|name|
331
- next if name == '.'
332
- if name == '..'
333
- if names.empty?
334
- next if absolute
335
- else
336
- if names.last != '..'
337
- names.pop
338
- next
339
- end
340
- end
341
- end
342
- names << name
343
- }
344
- return Pathname.new(absolute ? '/' : '.') if names.empty?
345
- #path = []
346
- #path << '' if absolute
347
- #path.concat(names)
348
- Pathname.create(names, absolute) #, trail)
349
- end
350
- private :cleanpath_aggressive
351
-
352
- def cleanpath_conservative
353
- return Pathname.create([],@absolute) if @path.empty?
354
- names = @path.dup #.scan(%r{[^/]+})
355
- last_dot = (names.last == '.')
356
- names.delete('.')
357
- names.shift while names.first == '..' if absolute?
358
- return Pathname.new(absolute? ? '/' : '.') if names.empty?
359
- newpath = []
360
- trail = false
361
- #newpath << '' if absolute?
362
- newpath.concat(names)
363
- if names.last != '..'
364
- if last_dot
365
- newpath << '.'
366
- elsif trail? #%r{/\z} =~ @path #HOW TO DEAL WITH TRAILING '/' ?
367
- trail = true
368
- end
369
- end
370
- Pathname.create(newpath, absolute?, trail)
371
- end
372
- private :cleanpath_conservative
373
-
374
- #
375
- # Returns a real (absolute) pathname of +self+ in the actual filesystem.
376
- # The real pathname doesn't contain symlinks or useless dots.
377
- #
378
- # No arguments should be given; the old behaviour is *obsoleted*.
379
- #
380
- def realpath(*args)
381
- unless args.empty?
382
- warn "The argument for Pathname#realpath is obsoleted."
383
- end
384
- force_absolute = args.fetch(0, true)
385
-
386
- if @path.first == ''
387
- top = '/'
388
- unresolved = @path.slice(1..-1) #.scan(%r{[^/]+})
389
- elsif force_absolute
390
- # Although POSIX getcwd returns a pathname which contains no symlink,
391
- # 4.4BSD-Lite2 derived getcwd may return the environment variable $PWD
392
- # which may contain a symlink.
393
- # So the return value of Dir.pwd should be examined.
394
- top = '/'
395
- unresolved = Dir.pwd.split(%r{/}) + @path
396
- else
397
- top = ''
398
- unresolved = @path.dup #.scan(%r{[^/]+})
399
- end
400
- resolved = []
401
-
402
- until unresolved.empty?
403
- case unresolved.last
404
- when '.'
405
- unresolved.pop
406
- when '..'
407
- resolved.unshift unresolved.pop
408
- else
409
- loop_check = {}
410
- while (stat = File.lstat(path = top + unresolved.join('/'))).symlink?
411
- symlink_id = "#{stat.dev}:#{stat.ino}"
412
- raise Errno::ELOOP.new(path) if loop_check[symlink_id]
413
- loop_check[symlink_id] = true
414
- if %r{\A/} =~ (link = File.readlink(path))
415
- top = '/'
416
- unresolved = link.split(%r{/}) #scan(%r{[^/]+})
417
- else
418
- unresolved[-1,1] = link.split(%r{/}) #.scan(%r{[^/]+})
419
- end
420
- end
421
- next if (filename = unresolved.pop) == '.'
422
- if filename != '..' && resolved.first == '..'
423
- resolved.shift
424
- else
425
- resolved.unshift filename
426
- end
427
- end
428
- end
429
-
430
- if top == '/'
431
- resolved.shift while resolved[0] == '..'
432
- end
433
-
434
- if resolved.empty?
435
- Pathname.new(top.empty? ? '.' : '/')
436
- else
437
- if top.empty?
438
- Pathname.new(resolved)
439
- else
440
- Pathname.new(resolved, true)
441
- end
442
- end
443
- end
444
-
445
- # #parent returns the parent directory.
446
- #
447
- # This is same as <tt>self + '..'</tt>.
448
- def parent
449
- self << '..'
450
- end
451
-
452
- # #mountpoint? returns +true+ if <tt>self</tt> points to a mountpoint.
453
- def mountpoint?
454
- begin
455
- stat1 = self.lstat
456
- stat2 = self.parent.lstat
457
- stat1.dev == stat2.dev && stat1.ino == stat2.ino ||
458
- stat1.dev != stat2.dev
459
- rescue Errno::ENOENT
460
- false
461
- end
462
- end
463
-
464
- #
465
- # #root? is a predicate for root directories. I.e. it returns +true+ if the
466
- # pathname consists of consecutive slashes.
467
- #
468
- # It doesn't access actual filesystem. So it may return +false+ for some
469
- # pathnames which points to roots such as <tt>/usr/..</tt>.
470
- #
471
- def root?
472
- #%r{\A/+\z} =~ @path ? true : false
473
- @absolute and @path.empty?
474
- end
475
-
476
- def current?
477
- #%r{\A/+\z} =~ @path ? true : false
478
- (!@absolute) and @path.empty?
479
- end
480
-
481
- # Predicate method for testing whether a path is absolute.
482
- # It returns +true+ if the pathname begins with a slash.
483
- def absolute?
484
- #%r{\A/} =~ @path ? true : false
485
- @absolute
486
- end
487
-
488
- # The opposite of #absolute?
489
- def relative?
490
- !@absolute
491
- end
492
-
493
- def trail?
494
- @trail
495
- end
496
-
497
- #
498
- # Iterates over each component of the path.
499
- #
500
- # Pathname.new("/usr/bin/ruby").each_filename {|filename| ... }
501
- # # yields "usr", "bin", and "ruby".
502
- #
503
- def each_filename # :yield: e
504
- #@path.scan(%r{[^/]+}) { yield $& }
505
- @path.each { |e| yield e }
506
- end
507
-
508
- #
509
- # Pathname#+ appends a pathname fragment to this one to produce a new Pathname
510
- # object.
511
- #
512
- # p1 = Pathname.new("/usr") # Pathname:/usr
513
- # p2 = p1 + "bin/ruby" # Pathname:/usr/bin/ruby
514
- # p3 = p1 + "/etc/passwd" # Pathname:/etc/passwd
515
- #
516
- # This method doesn't access the file system; it is pure string manipulation.
517
- #
518
- def +(other)
519
- File.join( to_s,other )
520
-
521
- #other = Pathname.new(other) unless Pathname === other
522
- #return other if other.absolute?
523
- #pth = (@path + other.pathlist)
524
- #pth.delete('.')
525
- #Pathname.create(pth, @absolute, other.trail?)
526
-
527
- # path1 = @path#
528
- # path2 = other.to_s
529
- # while m2 = %r{\A\.\.(?:/+|\z)}.match(path2) and
530
- # m1 = %r{(\A|/+)([^/]+)\z}.match(path1) and
531
- # %r{\A(?:\.|\.\.)\z} !~ m1[2]
532
- # path1 = m1[1].empty? ? '.' : '/' if (path1 = m1.pre_match).empty?
533
- # path2 = '.' if (path2 = m2.post_match).empty?
534
- # end
535
- # if %r{\A/+\z} =~ path1
536
- # while m2 = %r{\A\.\.(?:/+|\z)}.match(path2)
537
- # path2 = '.' if (path2 = m2.post_match).empty?
538
- # end
539
- # end
540
- #
541
- # return Pathname.new(path2) if path1 == '.'
542
- # return Pathname.new(path1) if path2 == '.'
543
- #
544
- # if %r{/\z} =~ path1
545
- # Pathname.new(path1 + path2)
546
- # else
547
- # Pathname.new(path1 + '/' + path2)
548
- # end
549
- end
550
-
551
- #
552
- # Pathname#join joins pathnames.
553
- #
554
- # <tt>path0.join(path1, ..., pathN)</tt> is the same as
555
- # <tt>path0 + path1 + ... + pathN</tt>.
556
- #
557
- # HELP ME!!!
558
- #
559
- def join(*args)
560
- Pathname.new(*args)
561
- #args.unshift self
562
- #result = args.pop
563
- #result = Pathname.new(result) unless Pathname === result
564
- #return result if result.absolute?
565
- #args.reverse_each {|arg|
566
- # arg = Pathname.new(arg) unless Pathname === arg
567
- # result = arg + result
568
- # return result if result.absolute?
569
- #}
570
- #result
571
- end
572
-
573
- #
574
- # Returns the children of the directory (files and subdirectories, not
575
- # recursive) as an array of Pathname objects. By default, the returned
576
- # pathnames will have enough information to access the files. If you set
577
- # +with_directory+ to +false+, then the returned pathnames will contain the
578
- # filename only.
579
- #
580
- # For example:
581
- # p = Pathname("/usr/lib/ruby/1.8")
582
- # p.children
583
- # # -> [ Pathname:/usr/lib/ruby/1.8/English.rb,
584
- # Pathname:/usr/lib/ruby/1.8/Env.rb,
585
- # Pathname:/usr/lib/ruby/1.8/abbrev.rb, ... ]
586
- # p.children(false)
587
- # # -> [ Pathname:English.rb, Pathname:Env.rb, Pathname:abbrev.rb, ... ]
588
- #
589
- # Note that the result never contain the entries <tt>.</tt> and <tt>..</tt> in
590
- # the directory because they are not children.
591
- #
592
- # This method has existed since 1.8.1.
593
- #
594
- def children(with_directory=true)
595
- with_directory = false if @path == ['.']
596
- result = []
597
- Dir.foreach(to_s) {|e|
598
- next if e == '.' || e == '..'
599
- if with_directory
600
- result << Pathname.create(@path + [e], absolute?)
601
- else
602
- result << Pathname.new(e)
603
- end
604
- }
605
- result
606
- end
607
-
608
- #
609
- # #relative_path_from returns a relative path from the argument to the
610
- # receiver. If +self+ is absolute, the argument must be absolute too. If
611
- # +self+ is relative, the argument must be relative too.
612
- #
613
- # #relative_path_from doesn't access the filesystem. It assumes no symlinks.
614
- #
615
- # ArgumentError is raised when it cannot find a relative path.
616
- #
617
- # This method has existed since 1.8.1.
618
- #
619
- def relative_path_from(base_directory)
620
- if self.absolute? != base_directory.absolute?
621
- raise ArgumentError,
622
- "relative path between absolute and relative path: #{self.inspect}, #{base_directory.inspect}"
623
- end
624
-
625
- dest = []
626
- self.cleanpath.each_filename {|f|
627
- next if f == '.'
628
- dest << f
629
- }
630
-
631
- base = []
632
- base_directory.cleanpath.each_filename {|f|
633
- next if f == '.'
634
- base << f
635
- }
636
-
637
- while !base.empty? && !dest.empty? && base[0] == dest[0]
638
- base.shift
639
- dest.shift
640
- end
641
-
642
- if base.include? '..'
643
- raise ArgumentError, "base_directory has ..: #{base_directory.inspect}"
644
- end
645
-
646
- base.fill '..'
647
- relpath = base + dest
648
- if relpath.empty?
649
- Pathname.new('.')
650
- else
651
- Pathname.create(relpath, false) #.join('/'))
652
- end
653
- end
654
-
655
- end
656
-
657
-
658
- class Pathname # * IO *
659
- #
660
- # #each_line iterates over the line in the file. It yields a String object
661
- # for each line.
662
- #
663
- # This method has existed since 1.8.1.
664
- #
665
- def each_line(*args, &block) # :yield: line
666
- IO.foreach(path, *args, &block)
667
- end
668
-
669
- # Pathname#foreachline is *obsoleted* at 1.8.1. Use #each_line.
670
- def foreachline(*args, &block)
671
- warn "Pathname#foreachline is obsoleted. Use Pathname#each_line."
672
- each_line(*args, &block)
673
- end
674
-
675
- # See <tt>IO.read</tt>. Returns all the bytes from the file, or the first +N+
676
- # if specified.
677
- def read(*args) IO.read(path, *args) end
678
-
679
- # See <tt>IO.readlines</tt>. Returns all the lines from the file.
680
- def readlines(*args) IO.readlines(path, *args) end
681
-
682
- # See <tt>IO.sysopen</tt>.
683
- def sysopen(*args) IO.sysopen(path, *args) end
684
- end
685
-
686
-
687
- class Pathname # * File *
688
-
689
- # See <tt>File.atime</tt>. Returns last access time.
690
- def atime() File.atime(path) end
691
-
692
- # See <tt>File.ctime</tt>. Returns last (directory entry, not file) change time.
693
- def ctime() File.ctime(path) end
694
-
695
- # See <tt>File.mtime</tt>. Returns last modification time.
696
- def mtime() File.mtime(path) end
697
-
698
- # See <tt>File.chmod</tt>. Changes permissions.
699
- def chmod(mode) File.chmod(mode, path) end
700
-
701
- # See <tt>File.lchmod</tt>.
702
- def lchmod(mode) File.lchmod(mode, path) end
703
-
704
- # See <tt>File.chown</tt>. Change owner and group of file.
705
- def chown(owner, group) File.chown(owner, group, path) end
706
-
707
- # See <tt>File.lchown</tt>.
708
- def lchown(owner, group) File.lchown(owner, group, path) end
709
-
710
- # See <tt>File.fnmatch</tt>. Return +true+ if the receiver matches the given
711
- # pattern.
712
- def fnmatch(pattern, *args) File.fnmatch(pattern, path, *args) end
713
-
714
- # See <tt>File.fnmatch?</tt> (same as #fnmatch).
715
- def fnmatch?(pattern, *args) File.fnmatch?(pattern, path, *args) end
716
-
717
- # See <tt>File.ftype</tt>. Returns "type" of file ("file", "directory",
718
- # etc).
719
- def ftype() File.ftype(path) end
720
-
721
- # See <tt>File.link</tt>. Creates a hard link.
722
- def make_link(old) File.link(old, path) end
723
-
724
- # See <tt>File.open</tt>. Opens the file for reading or writing.
725
- def open(*args, &block) # :yield: file
726
- File.open(path, *args, &block)
727
- end
728
-
729
- # See <tt>File.readlink</tt>. Read symbolic link.
730
- def readlink() Pathname.new(File.readlink(path)) end
731
-
732
- # See <tt>File.rename</tt>. Rename the file.
733
- def rename(to) File.rename(path, to) end
734
-
735
- # See <tt>File.stat</tt>. Returns a <tt>File::Stat</tt> object.
736
- def stat() File.stat(path) end
737
-
738
- # See <tt>File.lstat</tt>.
739
- def lstat() File.lstat(path) end
740
-
741
- # See <tt>File.symlink</tt>. Creates a symbolic link.
742
- def make_symlink(old) File.symlink(old, path) end
743
-
744
- # See <tt>File.truncate</tt>. Truncate the file to +length+ bytes.
745
- def truncate(length) File.truncate(path, length) end
746
-
747
- # See <tt>File.utime</tt>. Update the access and modification times.
748
- def utime(atime, mtime) File.utime(atime, mtime, path) end
749
-
750
- # See <tt>File.basename</tt>. Returns the last component of the path.
751
- def basename(*args) Pathname.new(File.basename(path, *args)) end
752
-
753
- # See <tt>File.dirname</tt>. Returns all but the last component of the path.
754
- def dirname() Pathname.new(File.dirname(path)) end
755
-
756
- # See <tt>File.extname</tt>. Returns the file's extension.
757
- def extname() File.extname(path) end
758
-
759
- # See <tt>File.expand_path</tt>.
760
- def expand_path(*args) Pathname.new(File.expand_path(path, *args)) end
761
-
762
- # See <tt>File.split</tt>. Returns the #dirname and the #basename in an
763
- # Array.
764
- def split() File.split(path).map {|f| Pathname.new(f) } end
765
-
766
- # Pathname#link is confusing and *obsoleted* because the receiver/argument
767
- # order is inverted to corresponding system call.
768
- def link(old)
769
- warn 'Pathname#link is obsoleted. Use Pathname#make_link.'
770
- File.link(old, path)
771
- end
772
-
773
- # Pathname#symlink is confusing and *obsoleted* because the receiver/argument
774
- # order is inverted to corresponding system call.
775
- def symlink(old)
776
- warn 'Pathname#symlink is obsoleted. Use Pathname#make_symlink.'
777
- File.symlink(old, path)
778
- end
779
- end
780
-
781
-
782
- class Pathname # * FileTest *
783
-
784
- # See <tt>FileTest.blockdev?</tt>.
785
- def blockdev?() FileTest.blockdev?(path) end
786
-
787
- # See <tt>FileTest.chardev?</tt>.
788
- def chardev?() FileTest.chardev?(path) end
789
-
790
- # See <tt>FileTest.executable?</tt>.
791
- def executable?() FileTest.executable?(path) end
792
-
793
- # See <tt>FileTest.executable_real?</tt>.
794
- def executable_real?() FileTest.executable_real?(path) end
795
-
796
- # See <tt>FileTest.exist?</tt>.
797
- def exist?() FileTest.exist?(path) end
798
-
799
- # See <tt>FileTest.grpowned?</tt>.
800
- def grpowned?() FileTest.grpowned?(path) end
801
-
802
- # See <tt>FileTest.directory?</tt>.
803
- def directory?() FileTest.directory?(path) end
804
-
805
- # See <tt>FileTest.file?</tt>.
806
- def file?() FileTest.file?(path) end
807
-
808
- # See <tt>FileTest.pipe?</tt>.
809
- def pipe?() FileTest.pipe?(path) end
810
-
811
- # See <tt>FileTest.socket?</tt>.
812
- def socket?() FileTest.socket?(path) end
813
-
814
- # See <tt>FileTest.owned?</tt>.
815
- def owned?() FileTest.owned?(path) end
816
-
817
- # See <tt>FileTest.readable?</tt>.
818
- def readable?() FileTest.readable?(path) end
819
-
820
- # See <tt>FileTest.readable_real?</tt>.
821
- def readable_real?() FileTest.readable_real?(path) end
822
-
823
- # See <tt>FileTest.setuid?</tt>.
824
- def setuid?() FileTest.setuid?(path) end
825
-
826
- # See <tt>FileTest.setgid?</tt>.
827
- def setgid?() FileTest.setgid?(path) end
828
-
829
- # See <tt>FileTest.size</tt>.
830
- def size() FileTest.size(path) end
831
-
832
- # See <tt>FileTest.size?</tt>.
833
- def size?() FileTest.size?(path) end
834
-
835
- # See <tt>FileTest.sticky?</tt>.
836
- def sticky?() FileTest.sticky?(path) end
837
-
838
- # See <tt>FileTest.symlink?</tt>.
839
- def symlink?() FileTest.symlink?(path) end
840
-
841
- # See <tt>FileTest.writable?</tt>.
842
- def writable?() FileTest.writable?(path) end
843
-
844
- # See <tt>FileTest.writable_real?</tt>.
845
- def writable_real?() FileTest.writable_real?(path) end
846
-
847
- # See <tt>FileTest.zero?</tt>.
848
- def zero?() FileTest.zero?(path) end
849
- end
850
-
851
-
852
- class Pathname # * Dir *
853
- # See <tt>Dir.glob</tt>. Returns or yields Pathname objects.
854
- def Pathname.glob(*args) # :yield: p
855
- if block_given?
856
- Dir.glob(*args) {|f| yield Pathname.new(f) }
857
- else
858
- Dir.glob(*args).map {|f| Pathname.new(f) }
859
- end
860
- end
861
-
862
- # See <tt>Dir.getwd</tt>. Returns the current working directory as a Pathname.
863
- def Pathname.getwd() Pathname.new(Dir.getwd) end
864
- class << self; alias pwd getwd end
865
-
866
- # Pathname#chdir is *obsoleted* at 1.8.1.
867
- def chdir(&block)
868
- warn "Pathname#chdir is obsoleted. Use Dir.chdir."
869
- Dir.chdir(path, &block)
870
- end
871
-
872
- # Pathname#chroot is *obsoleted* at 1.8.1.
873
- def chroot
874
- warn "Pathname#chroot is obsoleted. Use Dir.chroot."
875
- Dir.chroot(path)
876
- end
877
-
878
- # Return the entries (files and subdirectories) in the directory, each as a
879
- # Pathname object.
880
- def entries() Dir.entries(path).map {|f| Pathname.new(f) } end
881
-
882
- # Iterates over the entries (files and subdirectories) in the directory. It
883
- # yields a Pathname object for each entry.
884
- #
885
- # This method has existed since 1.8.1.
886
- def each_entry(&block) # :yield: p
887
- Dir.foreach(path) {|f| yield Pathname.new(f) }
888
- end
889
-
890
- # Pathname#dir_foreach is *obsoleted* at 1.8.1.
891
- def dir_foreach(*args, &block)
892
- warn "Pathname#dir_foreach is obsoleted. Use Pathname#each_entry."
893
- each_entry(*args, &block)
894
- end
895
-
896
- # See <tt>Dir.mkdir</tt>. Create the referenced directory.
897
- def mkdir(*args) Dir.mkdir(path, *args) end
898
-
899
- # See <tt>Dir.rmdir</tt>. Remove the referenced directory.
900
- def rmdir() Dir.rmdir(path) end
901
-
902
- # See <tt>Dir.open</tt>.
903
- def opendir(&block) # :yield: dir
904
- Dir.open(path, &block)
905
- end
906
- end
907
-
908
-
909
- class Pathname # * Find *
910
- #
911
- # Pathname#find is an iterator to traverse a directory tree in a depth first
912
- # manner. It yields a Pathname for each file under "this" directory.
913
- #
914
- # Since it is implemented by <tt>find.rb</tt>, <tt>Find.prune</tt> can be used
915
- # to control the traverse.
916
- #
917
- # If +self+ is <tt>.</tt>, yielded pathnames begin with a filename in the
918
- # current directory, not <tt>./</tt>.
919
- #
920
- def find(&block) # :yield: p
921
- require 'find'
922
- if @path == ['.']
923
- Find.find(path) {|f| yield Pathname.new(f.sub(%r{\A\./}, '')) }
924
- else
925
- Find.find(path) {|f| yield Pathname.new(f) }
926
- end
927
- end
928
- end
929
-
930
-
931
- class Pathname # * FileUtils *
932
- # See <tt>FileUtils.mkpath</tt>. Creates a full path, including any
933
- # intermediate directories that don't yet exist.
934
- def mkpath
935
- require 'fileutils'
936
- FileUtils.mkpath(path)
937
- nil
938
- end
939
-
940
- # See <tt>FileUtils.rm_r</tt>. Deletes a directory and all beneath it.
941
- def rmtree
942
- # The name "rmtree" is borrowed from File::Path of Perl.
943
- # File::Path provides "mkpath" and "rmtree".
944
- require 'fileutils'
945
- FileUtils.rm_r(path)
946
- nil
947
- end
948
- end
949
-
950
-
951
- class Pathname # * mixed *
952
- # Removes a file or directory, using <tt>File.unlink</tt> or
953
- # <tt>Dir.unlink</tt> as necessary.
954
- def unlink()
955
- begin
956
- Dir.unlink path
957
- rescue Errno::ENOTDIR
958
- File.unlink path
959
- end
960
- end
961
- alias delete unlink
962
-
963
- # This method is *obsoleted* at 1.8.1. Use #each_line or #each_entry.
964
- def foreach(*args, &block)
965
- warn "Pathname#foreach is obsoleted. Use each_line or each_entry."
966
- if FileTest.directory? path
967
- # For polymorphism between Dir.foreach and IO.foreach,
968
- # Pathname#foreach doesn't yield Pathname object.
969
- Dir.foreach(path, *args, &block)
970
- else
971
- IO.foreach(path, *args, &block)
972
- end
973
- end
974
- end
975
-
976
-
977
-
978
- # _____ _
979
- # |_ _|__ ___| |_
980
- # | |/ _ \/ __| __|
981
- # | | __/\__ \ |_
982
- # |_|\___||___/\__|
983
- #
984
-
985
- if $0 == __FILE__
986
- require 'test/unit'
987
-
988
- class PathnameTest < Test::Unit::TestCase # :nodoc:
989
- def test_initialize
990
- p1 = Pathname.new('a')
991
- assert_equal('a', p1.to_s)
992
- p2 = Pathname.new(p1)
993
- assert_equal(p1, p2)
994
- end
995
-
996
- class AnotherStringLike # :nodoc:
997
- def initialize(s) @s = s end
998
- def to_str() @s end
999
- def ==(other) @s == other end
1000
- end
1001
-
1002
- def test_equality
1003
- obj = Pathname.new("a")
1004
- str = "a"
1005
- sym = :a
1006
- ano = AnotherStringLike.new("a")
1007
- assert_equal(false, obj == str)
1008
- assert_equal(false, str == obj)
1009
- assert_equal(false, obj == ano)
1010
- assert_equal(false, ano == obj)
1011
- assert_equal(false, obj == sym)
1012
- assert_equal(false, sym == obj)
1013
-
1014
- obj2 = Pathname.new("a")
1015
- assert_equal(true, obj == obj2)
1016
- assert_equal(true, obj === obj2)
1017
- assert_equal(true, obj.eql?(obj2))
1018
- end
1019
-
1020
- def test_hashkey
1021
- h = {}
1022
- h[Pathname.new("a")] = 1
1023
- h[Pathname.new("a")] = 2
1024
- assert_equal(1, h.size)
1025
- end
1026
-
1027
- def assert_pathname_cmp(e, s1, s2)
1028
- p1 = Pathname.new(s1)
1029
- p2 = Pathname.new(s2)
1030
- r = p1 <=> p2
1031
- assert(e == r,
1032
- "#{p1.inspect} <=> #{p2.inspect}: <#{e}> expected but was <#{r}>")
1033
- end
1034
- def test_comparison
1035
- assert_pathname_cmp( 0, "a", "a")
1036
- assert_pathname_cmp( 1, "b", "a")
1037
- assert_pathname_cmp(-1, "a", "b")
1038
- ss = %w(
1039
- a
1040
- a/
1041
- a/b
1042
- a.
1043
- a0
1044
- )
1045
- s1 = ss.shift
1046
- ss.each {|s2|
1047
- assert_pathname_cmp(-1, s1, s2)
1048
- s1 = s2
1049
- }
1050
- end
1051
-
1052
- def test_comparison_string
1053
- assert_equal(nil, Pathname.new("a") <=> "a")
1054
- assert_equal(nil, "a" <=> Pathname.new("a"))
1055
- end
1056
-
1057
- def test_syntactical
1058
- assert_equal(true, Pathname.new("/").root?)
1059
- assert_equal(true, Pathname.new("//").root?)
1060
- assert_equal(true, Pathname.new("///").root?)
1061
- assert_equal(false, Pathname.new("").root?)
1062
- assert_equal(false, Pathname.new("a").root?)
1063
- end
1064
-
1065
- def test_paths
1066
- assert_equal('/', Pathname.new('/').to_s)
1067
- assert_equal('a/', Pathname.new('a/').to_s)
1068
- assert_equal('/a', Pathname.new('/a').to_s)
1069
- assert_equal('.', Pathname.new('.').to_s)
1070
- assert_equal('..', Pathname.new('..').to_s)
1071
- end
1072
-
1073
- def test_cleanpath
1074
-
1075
- assert_equal('/', Pathname.new('/').cleanpath(true).to_s)
1076
- assert_equal('/', Pathname.new('//').cleanpath(true).to_s)
1077
- assert_equal('', Pathname.new('').cleanpath(true).to_s)
1078
-
1079
- assert_equal('.', Pathname.new('.').cleanpath(true).to_s)
1080
- assert_equal('..', Pathname.new('..').cleanpath(true).to_s)
1081
- assert_equal('a', Pathname.new('a').cleanpath(true).to_s)
1082
- assert_equal('/', Pathname.new('/.').cleanpath(true).to_s)
1083
- assert_equal('/', Pathname.new('/..').cleanpath(true).to_s)
1084
- assert_equal('/a', Pathname.new('/a').cleanpath(true).to_s)
1085
- assert_equal('.', Pathname.new('./').cleanpath(true).to_s)
1086
- assert_equal('..', Pathname.new('../').cleanpath(true).to_s)
1087
- assert_equal('a/', Pathname.new('a/').cleanpath(true).to_s)
1088
-
1089
- assert_equal('a/b', Pathname.new('a//b').cleanpath(true).to_s)
1090
- assert_equal('a/.', Pathname.new('a/.').cleanpath(true).to_s)
1091
- assert_equal('a/.', Pathname.new('a/./').cleanpath(true).to_s)
1092
- assert_equal('a/..', Pathname.new('a/../').cleanpath(true).to_s)
1093
- assert_equal('/a/.', Pathname.new('/a/.').cleanpath(true).to_s)
1094
- assert_equal('..', Pathname.new('./..').cleanpath(true).to_s)
1095
- assert_equal('..', Pathname.new('../.').cleanpath(true).to_s)
1096
- assert_equal('..', Pathname.new('./../').cleanpath(true).to_s)
1097
- assert_equal('..', Pathname.new('.././').cleanpath(true).to_s)
1098
- assert_equal('/', Pathname.new('/./..').cleanpath(true).to_s)
1099
- assert_equal('/', Pathname.new('/../.').cleanpath(true).to_s)
1100
- assert_equal('/', Pathname.new('/./../').cleanpath(true).to_s)
1101
- assert_equal('/', Pathname.new('/.././').cleanpath(true).to_s)
1102
-
1103
- assert_equal('a/b/c', Pathname.new('a/b/c').cleanpath(true).to_s)
1104
- assert_equal('b/c', Pathname.new('./b/c').cleanpath(true).to_s)
1105
- assert_equal('a/c', Pathname.new('a/./c').cleanpath(true).to_s)
1106
- assert_equal('a/b/.', Pathname.new('a/b/.').cleanpath(true).to_s)
1107
- assert_equal('a/..', Pathname.new('a/../.').cleanpath(true).to_s)
1108
-
1109
- assert_equal('/a', Pathname.new('/../.././../a').cleanpath(true).to_s)
1110
- assert_equal('a/b/../../../../c/../d',
1111
- Pathname.new('a/b/../../../../c/../d').cleanpath(true).to_s)
1112
- end
1113
-
1114
- def test_cleanpath_no_symlink
1115
- assert_equal('/', Pathname.new('/').cleanpath.to_s)
1116
- assert_equal('/', Pathname.new('//').cleanpath.to_s)
1117
- assert_equal('', Pathname.new('').cleanpath.to_s)
1118
-
1119
- assert_equal('.', Pathname.new('.').cleanpath.to_s)
1120
- assert_equal('..', Pathname.new('..').cleanpath.to_s)
1121
- assert_equal('a', Pathname.new('a').cleanpath.to_s)
1122
- assert_equal('/', Pathname.new('/.').cleanpath.to_s)
1123
- assert_equal('/', Pathname.new('/..').cleanpath.to_s)
1124
- assert_equal('/a', Pathname.new('/a').cleanpath.to_s)
1125
- assert_equal('.', Pathname.new('./').cleanpath.to_s)
1126
- assert_equal('..', Pathname.new('../').cleanpath.to_s)
1127
- assert_equal('a', Pathname.new('a/').cleanpath.to_s)
1128
-
1129
- assert_equal('a/b', Pathname.new('a//b').cleanpath.to_s)
1130
- assert_equal('a', Pathname.new('a/.').cleanpath.to_s)
1131
- assert_equal('a', Pathname.new('a/./').cleanpath.to_s)
1132
- assert_equal('.', Pathname.new('a/../').cleanpath.to_s)
1133
- assert_equal('/a', Pathname.new('/a/.').cleanpath.to_s)
1134
- assert_equal('..', Pathname.new('./..').cleanpath.to_s)
1135
- assert_equal('..', Pathname.new('../.').cleanpath.to_s)
1136
- assert_equal('..', Pathname.new('./../').cleanpath.to_s)
1137
- assert_equal('..', Pathname.new('.././').cleanpath.to_s)
1138
- assert_equal('/', Pathname.new('/./..').cleanpath.to_s)
1139
- assert_equal('/', Pathname.new('/../.').cleanpath.to_s)
1140
- assert_equal('/', Pathname.new('/./../').cleanpath.to_s)
1141
- assert_equal('/', Pathname.new('/.././').cleanpath.to_s)
1142
-
1143
- assert_equal('a/b/c', Pathname.new('a/b/c').cleanpath.to_s)
1144
- assert_equal('b/c', Pathname.new('./b/c').cleanpath.to_s)
1145
- assert_equal('a/c', Pathname.new('a/./c').cleanpath.to_s)
1146
- assert_equal('a/b', Pathname.new('a/b/.').cleanpath.to_s)
1147
- assert_equal('.', Pathname.new('a/../.').cleanpath.to_s)
1148
-
1149
- assert_equal('/a', Pathname.new('/../.././../a').cleanpath.to_s)
1150
- assert_equal('../../d', Pathname.new('a/b/../../../../c/../d').cleanpath.to_s)
1151
- end
1152
-
1153
- def test_destructive_update
1154
- path = Pathname.new("a")
1155
- path.to_s.replace "b"
1156
- assert_equal(Pathname.new("a"), path)
1157
- end
1158
-
1159
- #def test_null_character
1160
- # assert_raise(ArgumentError) { Pathname.new("\0") }
1161
- #end
1162
-
1163
- def assert_relpath(result, dest, base)
1164
- assert_equal(Pathname.new(result),
1165
- Pathname.new(dest).relative_path_from(Pathname.new(base)))
1166
- end
1167
-
1168
- def assert_relpath_err(dest, base)
1169
- assert_raise(ArgumentError) {
1170
- Pathname.new(dest).relative_path_from(Pathname.new(base))
1171
- }
1172
- end
1173
-
1174
- def test_relative_path_from
1175
- assert_relpath("../a", "a", "b")
1176
- assert_relpath("../a", "a", "b/")
1177
- assert_relpath("../a", "a/", "b")
1178
- assert_relpath("../a", "a/", "b/")
1179
- assert_relpath("../a", "/a", "/b")
1180
- assert_relpath("../a", "/a", "/b/")
1181
- assert_relpath("../a", "/a/", "/b")
1182
- assert_relpath("../a", "/a/", "/b/")
1183
-
1184
- assert_relpath("../b", "a/b", "a/c")
1185
- assert_relpath("../a", "../a", "../b")
1186
-
1187
- assert_relpath("a", "a", ".")
1188
- assert_relpath("..", ".", "a")
1189
-
1190
- assert_relpath(".", ".", ".")
1191
- assert_relpath(".", "..", "..")
1192
- assert_relpath("..", "..", ".")
1193
-
1194
- assert_relpath("c/d", "/a/b/c/d", "/a/b")
1195
- assert_relpath("../..", "/a/b", "/a/b/c/d")
1196
- assert_relpath("../../../../e", "/e", "/a/b/c/d")
1197
- assert_relpath("../b/c", "a/b/c", "a/d")
1198
-
1199
- assert_relpath("../a", "/../a", "/b")
1200
- assert_relpath("../../a", "../a", "b")
1201
- assert_relpath(".", "/a/../../b", "/b")
1202
- assert_relpath("..", "a/..", "a")
1203
- assert_relpath(".", "a/../b", "b")
1204
-
1205
- assert_relpath("a", "a", "b/..")
1206
- assert_relpath("b/c", "b/c", "b/..")
1207
-
1208
- assert_relpath_err("/", ".")
1209
- assert_relpath_err(".", "/")
1210
- assert_relpath_err("a", "..")
1211
- assert_relpath_err(".", "..")
1212
- end
1213
-
1214
- def assert_pathname_plus(a, b, c)
1215
- a = Pathname.new(a)
1216
- b = Pathname.new(b)
1217
- c = Pathname.new(c)
1218
- d = b + c
1219
- assert(a == d,
1220
- "#{b.inspect} + #{c.inspect}: #{a.inspect} expected but was #{d.inspect}")
1221
- end
1222
-
1223
- def test_plus
1224
- assert_pathname_plus('a/b', 'a', 'b')
1225
- assert_pathname_plus('a', 'a', '.')
1226
- assert_pathname_plus('b', '.', 'b')
1227
- assert_pathname_plus('.', '.', '.')
1228
- assert_pathname_plus('/b', 'a', '/b')
1229
-
1230
- assert_pathname_plus('/', '/', '..')
1231
- assert_pathname_plus('.', 'a', '..')
1232
- assert_pathname_plus('a', 'a/b', '..')
1233
- assert_pathname_plus('../..', '..', '..')
1234
- assert_pathname_plus('/c', '/', '../c')
1235
- assert_pathname_plus('c', 'a', '../c')
1236
- assert_pathname_plus('a/c', 'a/b', '../c')
1237
- assert_pathname_plus('../../c', '..', '../c')
1238
- end
1239
-
1240
- def test_taint
1241
- obj = Pathname.new("a"); assert_same(obj, obj.taint)
1242
- obj = Pathname.new("a"); assert_same(obj, obj.untaint)
1243
-
1244
- assert_equal(false, Pathname.new("a" ) .tainted?)
1245
- assert_equal(false, Pathname.new("a" ) .to_s.tainted?)
1246
- assert_equal(true, Pathname.new("a" ).taint .tainted?)
1247
- assert_equal(true, Pathname.new("a" ).taint.to_s.tainted?)
1248
- assert_equal(true, Pathname.new("a".taint) .tainted?)
1249
- assert_equal(true, Pathname.new("a".taint) .to_s.tainted?)
1250
- assert_equal(true, Pathname.new("a".taint).taint .tainted?)
1251
- assert_equal(true, Pathname.new("a".taint).taint.to_s.tainted?)
1252
-
1253
- str = "a"
1254
- path = Pathname.new(str)
1255
- str.taint
1256
- assert_equal(false, path .tainted?)
1257
- assert_equal(false, path.to_s.tainted?)
1258
- end
1259
-
1260
- def test_untaint
1261
- obj = Pathname.new("a"); assert_same(obj, obj.untaint)
1262
-
1263
- assert_equal(false, Pathname.new("a").taint.untaint .tainted?)
1264
- assert_equal(false, Pathname.new("a").taint.untaint.to_s.tainted?)
1265
-
1266
- str = "a".taint
1267
- path = Pathname.new(str)
1268
- str.untaint
1269
- assert_equal(true, path .tainted?)
1270
- assert_equal(true, path.to_s.tainted?)
1271
- end
1272
-
1273
- def test_freeze
1274
- obj = Pathname.new("a"); assert_same(obj, obj.freeze)
1275
-
1276
- assert_equal(false, Pathname.new("a" ) .frozen?)
1277
- assert_equal(false, Pathname.new("a".freeze) .frozen?)
1278
- assert_equal(true, Pathname.new("a" ).freeze .frozen?)
1279
- assert_equal(true, Pathname.new("a".freeze).freeze .frozen?)
1280
- assert_equal(false, Pathname.new("a" ) .to_s.frozen?)
1281
- assert_equal(false, Pathname.new("a".freeze) .to_s.frozen?)
1282
- assert_equal(false, Pathname.new("a" ).freeze.to_s.frozen?)
1283
- assert_equal(false, Pathname.new("a".freeze).freeze.to_s.frozen?)
1284
- end
1285
-
1286
- def test_to_s
1287
- str = "a"
1288
- obj = Pathname.new(str)
1289
- assert_equal(str, obj.to_s)
1290
- assert_not_same(str, obj.to_s)
1291
- assert_not_same(obj.to_s, obj.to_s)
1292
- end
1293
-
1294
- def test_kernel_open
1295
- count = 0
1296
- stat1 = File.stat(__FILE__)
1297
- result = Kernel.open(Pathname.new(__FILE__)) {|f|
1298
- stat2 = f.stat
1299
- assert_equal(stat1.dev, stat2.dev)
1300
- assert_equal(stat1.ino, stat2.ino)
1301
- assert_equal(stat1.size, stat2.size)
1302
- count += 1
1303
- 2
1304
- }
1305
- assert_equal(1, count)
1306
- assert_equal(2, result)
1307
- end
1308
- end
1309
- end