facets 1.4.0 → 1.4.1

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 (1260) hide show
  1. data/ProjectInfo +94 -0
  2. data/Reapfile +184 -0
  3. data/forge/README +13 -0
  4. data/forge/TODO +73 -0
  5. data/forge/autorequire.rb +83 -0
  6. data/forge/core/array/at_rand.rb +95 -0
  7. data/forge/core/array/each_slice.rb +23 -0
  8. data/forge/core/array/pick_values.rb +32 -0
  9. data/forge/core/array/rand_indexes.rb +33 -0
  10. data/forge/core/binding/class.rb +11 -0
  11. data/forge/core/binding/delegate-binding.rb +19 -0
  12. data/forge/core/binding/delegate.rb +15 -0
  13. data/forge/core/binding/proc.rb +6 -0
  14. data/forge/core/enumerable/op_fetch.rb +30 -0
  15. data/forge/core/fileutils/nl_convert.rb +133 -0
  16. data/forge/core/io/expect.rb +127 -0
  17. data/forge/core/kernel/__clone__.rb +4 -0
  18. data/forge/core/kernel/__dup__.rb +4 -0
  19. data/forge/core/kernel/call_line.rb +15 -0
  20. data/forge/core/kernel/does.rb +7 -0
  21. data/forge/core/kernel/message.rb +6 -0
  22. data/forge/core/kernel/query.rb +15 -0
  23. data/forge/core/kernel/taint.rb +10 -0
  24. data/forge/core/logger/clean_logger.rb +10 -0
  25. data/forge/core/module/attr-old.rb +308 -0
  26. data/forge/core/module/attr.rb +98 -0
  27. data/forge/core/module/attr_xxx.rb +22 -0
  28. data/forge/core/module/by_regexp.rb +21 -0
  29. data/forge/core/module/cast.rb +64 -0
  30. data/forge/core/module/class_attribute_accessors.rb +57 -0
  31. data/forge/core/module/inherit.rb +59 -0
  32. data/forge/core/module/let.rb +51 -0
  33. data/forge/core/module/meta_attr.rb +60 -0
  34. data/forge/core/module/module_attribute_accessors.rb +57 -0
  35. data/forge/core/module/permissions.rb +32 -0
  36. data/forge/core/module/preserved.rb +108 -0
  37. data/forge/core/module/sattr_accessor.rb +1 -0
  38. data/forge/core/module/sattr_reader.rb +1 -0
  39. data/forge/core/module/sattr_setter.rb +1 -0
  40. data/forge/core/module/sattr_tester.rb +1 -0
  41. data/forge/core/module/sattr_writer.rb +1 -0
  42. data/forge/core/module/tc_attr.rb +107 -0
  43. data/forge/core/module/version.rb +23 -0
  44. data/forge/core/string/op_add.rb +24 -0
  45. data/forge/core/string/op_div.rb +15 -0
  46. data/forge/core/string/pred.rb +217 -0
  47. data/forge/core/string/to_ary.rb +12 -0
  48. data/forge/core/string/word_wrap.rb +62 -0
  49. data/forge/more/autoarray.rb +29 -0
  50. data/forge/more/cache.rb +189 -0
  51. data/forge/more/class_inheritable_attributes.rb +120 -0
  52. data/forge/more/codepack.rb +58 -0
  53. data/forge/more/commandrunner.rb +101 -0
  54. data/forge/more/conditionals.rb +106 -0
  55. data/forge/more/contracts.rb +37 -0
  56. data/forge/more/daemon.rb +70 -0
  57. data/forge/more/datetime.rb +42 -0
  58. data/forge/more/detach.rb +423 -0
  59. data/forge/more/enumtype.rb +115 -0
  60. data/forge/more/fixnum_const.rb +55 -0
  61. data/forge/more/function.rb +278 -0
  62. data/forge/more/hookse.rb +107 -0
  63. data/forge/more/indexable.rb +85 -0
  64. data/forge/more/infinity.rb +123 -0
  65. data/forge/more/ioreactor.rb +671 -0
  66. data/forge/more/knowself.rb +42 -0
  67. data/forge/more/logger_sing.rb +207 -0
  68. data/forge/more/must.rb +37 -0
  69. data/forge/more/openproxy.rb +245 -0
  70. data/forge/more/ostructable.rb +212 -0
  71. data/forge/more/pairhash.rb +55 -0
  72. data/forge/more/pathname.rb +1309 -0
  73. data/forge/more/predicate.rb +181 -0
  74. data/forge/more/prereq.rb +36 -0
  75. data/forge/more/print_exception.rb +35 -0
  76. data/forge/more/rand.rb +412 -0
  77. data/forge/more/range.rb +383 -0
  78. data/forge/more/sanitize.rb +48 -0
  79. data/forge/more/service.rb +266 -0
  80. data/forge/more/superstruct.rb +735 -0
  81. data/forge/more/tag.rb +27 -0
  82. data/forge/more/testfacility.rb +80 -0
  83. data/forge/more/timer.rb +164 -0
  84. data/forge/more/toplevel.rb +76 -0
  85. data/forge/more/type.rb +232 -0
  86. data/forge/more/vars.rb +94 -0
  87. data/forge/more/version.rb +245 -0
  88. data/forge/more/world.rb +53 -0
  89. data/forge/reference/sys.rb +186 -0
  90. data/forge/reference/utils.rb +518 -0
  91. data/lib/facet/enumerable/mode.rb +1 -0
  92. data/lib/facets/core/enumerable/mode.rb +13 -0
  93. data/lib/facets/core/hash/to_ostruct.rb +1 -1
  94. data/lib/facets/core/hash/to_ostruct_recurse.rb +33 -6
  95. data/lib/facets/core/ostruct/__update__.rb +1 -0
  96. data/lib/facets/more/binaryreader.rb +3 -3
  97. data/lib/facets/more/taskable.rb +29 -0
  98. data/note/CHANGELOG +294 -0
  99. data/note/IMPORTANT +8 -0
  100. data/note/Rakefile.old +181 -0
  101. data/note/history/ANN-0.6.0 +40 -0
  102. data/note/history/ANN-0.6.1 +36 -0
  103. data/note/history/ANN-0.6.3 +43 -0
  104. data/note/history/ANN-0.7.0 +59 -0
  105. data/note/history/ANN-0.8.1 +127 -0
  106. data/note/history/INTRO +172 -0
  107. data/note/history/README +223 -0
  108. data/note/history/README-OLD +180 -0
  109. data/test/lib/facets/core/array/test_at_rand.rb +1 -1
  110. data/test/lib/facets/core/array/test_delete_unless.rb +1 -1
  111. data/test/lib/facets/core/array/test_delete_values.rb +1 -1
  112. data/test/lib/facets/core/array/test_delete_values_at.rb +1 -1
  113. data/test/lib/facets/core/array/test_first.rb +1 -1
  114. data/test/lib/facets/core/array/test_head.rb +1 -1
  115. data/test/lib/facets/core/array/test_last_index.rb +1 -1
  116. data/test/lib/facets/core/array/test_merge.rb +1 -1
  117. data/test/lib/facets/core/array/test_mid.rb +1 -1
  118. data/test/lib/facets/core/array/test_middle.rb +1 -1
  119. data/test/lib/facets/core/array/test_op_fetch.rb +1 -1
  120. data/test/lib/facets/core/array/test_op_store.rb +1 -1
  121. data/test/lib/facets/core/array/test_pick.rb +1 -1
  122. data/test/lib/facets/core/array/test_pos.rb +1 -1
  123. data/test/lib/facets/core/array/test_pot.rb +1 -1
  124. data/test/lib/facets/core/array/test_pull.rb +1 -1
  125. data/test/lib/facets/core/array/test_rand_index.rb +1 -1
  126. data/test/lib/facets/core/array/test_rand_subset.rb +1 -1
  127. data/test/lib/facets/core/array/test_range.rb +1 -1
  128. data/test/lib/facets/core/array/test_rotate.rb +1 -1
  129. data/test/lib/facets/core/array/test_select.rb +1 -1
  130. data/test/lib/facets/core/array/test_shuffle.rb +1 -1
  131. data/test/lib/facets/core/array/test_thru.rb +1 -1
  132. data/test/lib/facets/core/array/test_to_b.rb +1 -1
  133. data/test/lib/facets/core/array/test_to_h.rb +1 -1
  134. data/test/lib/facets/core/array/test_to_hash.rb +1 -1
  135. data/test/lib/facets/core/binding/self/test_of_caller.rb +1 -1
  136. data/test/lib/facets/core/binding/test___LINE__.rb +1 -1
  137. data/test/lib/facets/core/binding/test_call_stack.rb +1 -1
  138. data/test/lib/facets/core/binding/test_called.rb +1 -1
  139. data/test/lib/facets/core/binding/test_caller.rb +1 -1
  140. data/test/lib/facets/core/binding/test_defined.rb +1 -1
  141. data/test/lib/facets/core/binding/test_eval.rb +1 -1
  142. data/test/lib/facets/core/binding/test_local_variables.rb +1 -1
  143. data/test/lib/facets/core/binding/test_method_name.rb +1 -1
  144. data/test/lib/facets/core/binding/test_op_fetch.rb +1 -1
  145. data/test/lib/facets/core/binding/test_op_store.rb +1 -1
  146. data/test/lib/facets/core/binding/test_self.rb +1 -1
  147. data/test/lib/facets/core/class/test_cattr.rb +1 -1
  148. data/test/lib/facets/core/class/test_descendents.rb +1 -1
  149. data/test/lib/facets/core/class/test_method_name.rb +1 -1
  150. data/test/lib/facets/core/class/test_remove_descendents.rb +1 -1
  151. data/test/lib/facets/core/class/test_unix_path.rb +1 -1
  152. data/test/lib/facets/core/comparable/test_at_least.rb +1 -1
  153. data/test/lib/facets/core/comparable/test_clip.rb +1 -1
  154. data/test/lib/facets/core/comparable/test_cmp.rb +1 -1
  155. data/test/lib/facets/core/continuation/self/test_create.rb +1 -1
  156. data/test/lib/facets/core/date/test_days_in_month.rb +1 -1
  157. data/test/lib/facets/core/date/test_days_of_month.rb +1 -1
  158. data/test/lib/facets/core/date/test_stamp.rb +1 -1
  159. data/test/lib/facets/core/date/test_to_date.rb +1 -1
  160. data/test/lib/facets/core/date/test_to_s.rb +1 -1
  161. data/test/lib/facets/core/date/test_to_time.rb +1 -1
  162. data/test/lib/facets/core/dir/self/test_ancestor.rb +1 -1
  163. data/test/lib/facets/core/dir/self/test_ascend.rb +1 -1
  164. data/test/lib/facets/core/enumerable/self/test_combinations.rb +1 -1
  165. data/test/lib/facets/core/enumerable/self/test_cross.rb +1 -1
  166. data/test/lib/facets/core/enumerable/test_collect_with_index.rb +1 -1
  167. data/test/lib/facets/core/enumerable/test_commonality.rb +1 -1
  168. data/test/lib/facets/core/enumerable/test_compact_collect.rb +1 -1
  169. data/test/lib/facets/core/enumerable/test_count.rb +1 -1
  170. data/test/lib/facets/core/enumerable/test_cross.rb +1 -1
  171. data/test/lib/facets/core/enumerable/test_each_combination.rb +1 -1
  172. data/test/lib/facets/core/enumerable/test_each_pair.rb +1 -1
  173. data/test/lib/facets/core/enumerable/test_each_slice.rb +1 -1
  174. data/test/lib/facets/core/enumerable/test_each_unique_pair.rb +1 -1
  175. data/test/lib/facets/core/enumerable/test_entropy.rb +1 -1
  176. data/test/lib/facets/core/enumerable/test_every.rb +1 -1
  177. data/test/lib/facets/core/enumerable/test_ew.rb +1 -1
  178. data/test/lib/facets/core/enumerable/test_filter_collect.rb +1 -1
  179. data/test/lib/facets/core/enumerable/test_find_collisions.rb +1 -1
  180. data/test/lib/facets/core/enumerable/test_frequency.rb +1 -1
  181. data/test/lib/facets/core/enumerable/test_graph.rb +1 -1
  182. data/test/lib/facets/core/enumerable/test_ideal_entropy.rb +1 -1
  183. data/test/lib/facets/core/enumerable/test_none.rb +1 -1
  184. data/test/lib/facets/core/enumerable/test_occur.rb +1 -1
  185. data/test/lib/facets/core/enumerable/test_one.rb +1 -1
  186. data/test/lib/facets/core/enumerable/test_op_pow.rb +1 -1
  187. data/test/lib/facets/core/enumerable/test_partition_by.rb +1 -1
  188. data/test/lib/facets/core/enumerable/test_permute.rb +1 -1
  189. data/test/lib/facets/core/enumerable/test_probability.rb +1 -1
  190. data/test/lib/facets/core/enumerable/test_to_h.rb +1 -1
  191. data/test/lib/facets/core/enumerable/test_uniq_by.rb +1 -1
  192. data/test/lib/facets/core/file/self/test_create.rb +1 -1
  193. data/test/lib/facets/core/file/self/test_open_as_string.rb +1 -1
  194. data/test/lib/facets/core/file/self/test_read_list.rb +1 -1
  195. data/test/lib/facets/core/file/self/test_sanitize.rb +1 -1
  196. data/test/lib/facets/core/file/self/test_split_all.rb +1 -1
  197. data/test/lib/facets/core/float/test_round_at.rb +1 -1
  198. data/test/lib/facets/core/float/test_round_to.rb +1 -1
  199. data/test/lib/facets/core/hash/self/test_zipnew.rb +1 -1
  200. data/test/lib/facets/core/hash/test_alias.rb +1 -1
  201. data/test/lib/facets/core/hash/test_assert_has_keys.rb +1 -1
  202. data/test/lib/facets/core/hash/test_assert_has_only_keys.rb +1 -1
  203. data/test/lib/facets/core/hash/test_at.rb +1 -1
  204. data/test/lib/facets/core/hash/test_collate.rb +1 -1
  205. data/test/lib/facets/core/hash/test_each.rb +1 -1
  206. data/test/lib/facets/core/hash/test_each_with_index.rb +1 -1
  207. data/test/lib/facets/core/hash/test_each_with_key.rb +1 -1
  208. data/test/lib/facets/core/hash/test_graph.rb +1 -1
  209. data/test/lib/facets/core/hash/test_has_keys.rb +1 -1
  210. data/test/lib/facets/core/hash/test_has_only_keys.rb +1 -1
  211. data/test/lib/facets/core/hash/test_inverse.rb +1 -1
  212. data/test/lib/facets/core/hash/test_keys_to_s.rb +1 -1
  213. data/test/lib/facets/core/hash/test_keys_to_sym.rb +1 -1
  214. data/test/lib/facets/core/hash/test_op_fetch.rb +1 -1
  215. data/test/lib/facets/core/hash/test_op_lshift.rb +1 -1
  216. data/test/lib/facets/core/hash/test_rand_key.rb +1 -1
  217. data/test/lib/facets/core/hash/test_rand_pair.rb +1 -1
  218. data/test/lib/facets/core/hash/test_rand_value.rb +1 -1
  219. data/test/lib/facets/core/hash/test_replace_each.rb +1 -1
  220. data/test/lib/facets/core/hash/test_shuffle.rb +1 -1
  221. data/test/lib/facets/core/hash/test_slice.rb +1 -1
  222. data/test/lib/facets/core/hash/test_swap.rb +1 -1
  223. data/test/lib/facets/core/hash/test_swapkey.rb +1 -1
  224. data/test/lib/facets/core/hash/test_to_h.rb +1 -1
  225. data/test/lib/facets/core/hash/test_to_ostruct.rb +1 -1
  226. data/test/lib/facets/core/hash/test_to_ostruct_recurse.rb +15 -1
  227. data/test/lib/facets/core/hash/test_traverse.rb +1 -1
  228. data/test/lib/facets/core/hash/test_update_each.rb +1 -1
  229. data/test/lib/facets/core/hash/test_update_keys.rb +1 -1
  230. data/test/lib/facets/core/hash/test_update_values.rb +1 -1
  231. data/test/lib/facets/core/hash/test_weave.rb +1 -1
  232. data/test/lib/facets/core/integer/test_factorial.rb +1 -1
  233. data/test/lib/facets/core/integer/test_multiple.rb +1 -1
  234. data/test/lib/facets/core/integer/test_ordinal.rb +1 -1
  235. data/test/lib/facets/core/integer/test_times_collect.rb +1 -1
  236. data/test/lib/facets/core/kernel/test___class__.rb +1 -1
  237. data/test/lib/facets/core/kernel/test_as.rb +1 -1
  238. data/test/lib/facets/core/kernel/test_assign_from.rb +1 -1
  239. data/test/lib/facets/core/kernel/test_assign_with.rb +1 -1
  240. data/test/lib/facets/core/kernel/test_bool.rb +1 -1
  241. data/test/lib/facets/core/kernel/test_bug.rb +1 -1
  242. data/test/lib/facets/core/kernel/test_call_stack.rb +1 -1
  243. data/test/lib/facets/core/kernel/test_called.rb +1 -1
  244. data/test/lib/facets/core/kernel/test_constant.rb +1 -1
  245. data/test/lib/facets/core/kernel/test_copy.rb +1 -1
  246. data/test/lib/facets/core/kernel/test_deep_copy.rb +1 -1
  247. data/test/lib/facets/core/kernel/test_demo.rb +1 -1
  248. data/test/lib/facets/core/kernel/test_fn.rb +1 -1
  249. data/test/lib/facets/core/kernel/test_generate_method_name.rb +1 -1
  250. data/test/lib/facets/core/kernel/test_get_by_id.rb +1 -1
  251. data/test/lib/facets/core/kernel/test_here.rb +1 -1
  252. data/test/lib/facets/core/kernel/test_in.rb +1 -1
  253. data/test/lib/facets/core/kernel/test_maybe.rb +1 -1
  254. data/test/lib/facets/core/kernel/test_metaclass.rb +1 -1
  255. data/test/lib/facets/core/kernel/test_method.rb +1 -1
  256. data/test/lib/facets/core/kernel/test_methodname.rb +1 -1
  257. data/test/lib/facets/core/kernel/test_methods.rb +1 -1
  258. data/test/lib/facets/core/kernel/test_new.rb +1 -1
  259. data/test/lib/facets/core/kernel/test_object_class.rb +1 -1
  260. data/test/lib/facets/core/kernel/test_object_hexid.rb +1 -1
  261. data/test/lib/facets/core/kernel/test_require_all.rb +1 -1
  262. data/test/lib/facets/core/kernel/test_require_esc.rb +1 -1
  263. data/test/lib/facets/core/kernel/test_require_facet.rb +1 -1
  264. data/test/lib/facets/core/kernel/test_resc.rb +1 -1
  265. data/test/lib/facets/core/kernel/test_returning.rb +1 -1
  266. data/test/lib/facets/core/kernel/test_send_as.rb +1 -1
  267. data/test/lib/facets/core/kernel/test_set_from.rb +1 -1
  268. data/test/lib/facets/core/kernel/test_set_with.rb +1 -1
  269. data/test/lib/facets/core/kernel/test_silently.rb +1 -1
  270. data/test/lib/facets/core/kernel/test_singleton.rb +1 -1
  271. data/test/lib/facets/core/kernel/test_superior.rb +1 -1
  272. data/test/lib/facets/core/kernel/test_supermethod.rb +1 -1
  273. data/test/lib/facets/core/kernel/test_this.rb +1 -1
  274. data/test/lib/facets/core/kernel/test_to_b.rb +1 -1
  275. data/test/lib/facets/core/kernel/test_to_bool.rb +1 -1
  276. data/test/lib/facets/core/kernel/test_uri.rb +1 -1
  277. data/test/lib/facets/core/kernel/test_val.rb +1 -1
  278. data/test/lib/facets/core/kernel/test_with_accessor.rb +1 -1
  279. data/test/lib/facets/core/matchdata/test_match.rb +1 -1
  280. data/test/lib/facets/core/matchdata/test_matchtree.rb +1 -1
  281. data/test/lib/facets/core/module/test_abstract.rb +1 -1
  282. data/test/lib/facets/core/module/test_alias_module_function.rb +1 -1
  283. data/test/lib/facets/core/module/test_ancestor.rb +1 -1
  284. data/test/lib/facets/core/module/test_basename.rb +1 -1
  285. data/test/lib/facets/core/module/test_by_name.rb +1 -1
  286. data/test/lib/facets/core/module/test_clone_using.rb +1 -1
  287. data/test/lib/facets/core/module/test_dirname.rb +1 -1
  288. data/test/lib/facets/core/module/test_equate_on.rb +1 -1
  289. data/test/lib/facets/core/module/test_generate_instance_method_name.rb +1 -1
  290. data/test/lib/facets/core/module/test_include_as.rb +1 -1
  291. data/test/lib/facets/core/module/test_inherit.rb +1 -1
  292. data/test/lib/facets/core/module/test_initializer.rb +1 -1
  293. data/test/lib/facets/core/module/test_instance_methods.rb +1 -1
  294. data/test/lib/facets/core/module/test_integrate.rb +1 -1
  295. data/test/lib/facets/core/module/test_memoize.rb +1 -1
  296. data/test/lib/facets/core/module/test_modspace.rb +1 -1
  297. data/test/lib/facets/core/module/test_namespace.rb +1 -1
  298. data/test/lib/facets/core/module/test_nesting.rb +1 -1
  299. data/test/lib/facets/core/module/test_nodef.rb +1 -1
  300. data/test/lib/facets/core/module/test_on_included.rb +1 -1
  301. data/test/lib/facets/core/module/test_redef.rb +1 -1
  302. data/test/lib/facets/core/module/test_redefine_method.rb +1 -1
  303. data/test/lib/facets/core/module/test_redirect.rb +1 -1
  304. data/test/lib/facets/core/module/test_redirect_method.rb +1 -1
  305. data/test/lib/facets/core/module/test_remove.rb +1 -1
  306. data/test/lib/facets/core/module/test_rename.rb +1 -1
  307. data/test/lib/facets/core/module/test_rename_method.rb +1 -1
  308. data/test/lib/facets/core/module/test_revisal.rb +1 -1
  309. data/test/lib/facets/core/module/test_shadow_method.rb +1 -1
  310. data/test/lib/facets/core/module/test_sort_on.rb +1 -1
  311. data/test/lib/facets/core/module/test_this.rb +1 -1
  312. data/test/lib/facets/core/module/test_wrap.rb +1 -1
  313. data/test/lib/facets/core/module/test_wrap_method.rb +1 -1
  314. data/test/lib/facets/core/nilclass/test_blank.rb +1 -1
  315. data/test/lib/facets/core/nilclass/test_empty.rb +1 -1
  316. data/test/lib/facets/core/nilclass/test_include.rb +1 -1
  317. data/test/lib/facets/core/nilclass/test_op_fetch.rb +1 -1
  318. data/test/lib/facets/core/nilclass/test_size.rb +1 -1
  319. data/test/lib/facets/core/nilclass/test_to_h.rb +1 -1
  320. data/test/lib/facets/core/numeric/test_approx.rb +1 -1
  321. data/test/lib/facets/core/numeric/test_ceil_multiple.rb +1 -1
  322. data/test/lib/facets/core/numeric/test_succ.rb +1 -1
  323. data/test/lib/facets/core/numeric/test_to_b.rb +1 -1
  324. data/test/lib/facets/core/ostruct/test___merge__.rb +1 -1
  325. data/test/lib/facets/core/ostruct/test___update__.rb +1 -1
  326. data/test/lib/facets/core/ostruct/test_op_fetch.rb +1 -1
  327. data/test/lib/facets/core/ostruct/test_op_store.rb +1 -1
  328. data/test/lib/facets/core/proc/test_compose.rb +1 -1
  329. data/test/lib/facets/core/proc/test_to_method.rb +1 -1
  330. data/test/lib/facets/core/range/test_to_r.rb +1 -1
  331. data/test/lib/facets/core/range/test_to_range.rb +1 -1
  332. data/test/lib/facets/core/range/test_umbrella.rb +1 -1
  333. data/test/lib/facets/core/range/test_within.rb +1 -1
  334. data/test/lib/facets/core/regexp/test_arity.rb +1 -1
  335. data/test/lib/facets/core/regexp/test_to_re.rb +1 -1
  336. data/test/lib/facets/core/regexp/test_to_regexp.rb +1 -1
  337. data/test/lib/facets/core/string/self/test_interpolate.rb +1 -1
  338. data/test/lib/facets/core/string/self/test_patterns.rb +1 -1
  339. data/test/lib/facets/core/string/self/test_rand_letter.rb +1 -1
  340. data/test/lib/facets/core/string/test_align_center.rb +1 -1
  341. data/test/lib/facets/core/string/test_at_rand.rb +1 -1
  342. data/test/lib/facets/core/string/test_basename.rb +1 -1
  343. data/test/lib/facets/core/string/test_blank.rb +1 -1
  344. data/test/lib/facets/core/string/test_bracket.rb +1 -1
  345. data/test/lib/facets/core/string/test_camelcase.rb +1 -1
  346. data/test/lib/facets/core/string/test_camelize.rb +1 -1
  347. data/test/lib/facets/core/string/test_capitalized.rb +1 -1
  348. data/test/lib/facets/core/string/test_chars.rb +1 -1
  349. data/test/lib/facets/core/string/test_cmp.rb +1 -1
  350. data/test/lib/facets/core/string/test_demodulize.rb +1 -1
  351. data/test/lib/facets/core/string/test_downcase.rb +1 -1
  352. data/test/lib/facets/core/string/test_dresner.rb +1 -1
  353. data/test/lib/facets/core/string/test_each_char.rb +1 -1
  354. data/test/lib/facets/core/string/test_each_word.rb +1 -1
  355. data/test/lib/facets/core/string/test_first.rb +1 -1
  356. data/test/lib/facets/core/string/test_fold.rb +1 -1
  357. data/test/lib/facets/core/string/test_frequency.rb +1 -1
  358. data/test/lib/facets/core/string/test_humanize.rb +1 -1
  359. data/test/lib/facets/core/string/test_indent.rb +1 -1
  360. data/test/lib/facets/core/string/test_index_all.rb +1 -1
  361. data/test/lib/facets/core/string/test_last.rb +1 -1
  362. data/test/lib/facets/core/string/test_line_wrap.rb +1 -1
  363. data/test/lib/facets/core/string/test_lines.rb +1 -1
  364. data/test/lib/facets/core/string/test_lowercase.rb +1 -1
  365. data/test/lib/facets/core/string/test_margin.rb +1 -1
  366. data/test/lib/facets/core/string/test_methodize.rb +1 -1
  367. data/test/lib/facets/core/string/test_modulize.rb +1 -1
  368. data/test/lib/facets/core/string/test_mscan.rb +1 -1
  369. data/test/lib/facets/core/string/test_natcmp.rb +1 -1
  370. data/test/lib/facets/core/string/test_nchar.rb +1 -1
  371. data/test/lib/facets/core/string/test_pathize.rb +1 -1
  372. data/test/lib/facets/core/string/test_pop.rb +1 -1
  373. data/test/lib/facets/core/string/test_pot.rb +1 -1
  374. data/test/lib/facets/core/string/test_probability.rb +1 -1
  375. data/test/lib/facets/core/string/test_push.rb +1 -1
  376. data/test/lib/facets/core/string/test_quote.rb +1 -1
  377. data/test/lib/facets/core/string/test_rand_byte.rb +1 -1
  378. data/test/lib/facets/core/string/test_rand_index.rb +1 -1
  379. data/test/lib/facets/core/string/test_range.rb +1 -1
  380. data/test/lib/facets/core/string/test_range_all.rb +1 -1
  381. data/test/lib/facets/core/string/test_range_of_line.rb +1 -1
  382. data/test/lib/facets/core/string/test_regesc.rb +1 -1
  383. data/test/lib/facets/core/string/test_shatter.rb +1 -1
  384. data/test/lib/facets/core/string/test_shift.rb +1 -1
  385. data/test/lib/facets/core/string/test_shuffle.rb +1 -1
  386. data/test/lib/facets/core/string/test_similarity.rb +1 -1
  387. data/test/lib/facets/core/string/test_singular.rb +1 -1
  388. data/test/lib/facets/core/string/test_soundex.rb +1 -1
  389. data/test/lib/facets/core/string/test_succ.rb +1 -1
  390. data/test/lib/facets/core/string/test_to_a.rb +1 -1
  391. data/test/lib/facets/core/string/test_to_b.rb +1 -1
  392. data/test/lib/facets/core/string/test_to_const.rb +1 -1
  393. data/test/lib/facets/core/string/test_to_date.rb +1 -1
  394. data/test/lib/facets/core/string/test_to_proc.rb +1 -1
  395. data/test/lib/facets/core/string/test_to_re.rb +1 -1
  396. data/test/lib/facets/core/string/test_to_time.rb +1 -1
  397. data/test/lib/facets/core/string/test_unix_crypt.rb +1 -1
  398. data/test/lib/facets/core/string/test_unpack.rb +1 -1
  399. data/test/lib/facets/core/string/test_unshift.rb +1 -1
  400. data/test/lib/facets/core/string/test_upcase.rb +1 -1
  401. data/test/lib/facets/core/string/test_whitespace.rb +1 -1
  402. data/test/lib/facets/core/string/test_word_filter.rb +1 -1
  403. data/test/lib/facets/core/string/test_word_wrap.rb +1 -1
  404. data/test/lib/facets/core/string/test_words.rb +1 -1
  405. data/test/lib/facets/core/symbol/test_camelcase.rb +1 -1
  406. data/test/lib/facets/core/symbol/test_camelize.rb +1 -1
  407. data/test/lib/facets/core/symbol/test_capitalize.rb +1 -1
  408. data/test/lib/facets/core/symbol/test_capitalized.rb +1 -1
  409. data/test/lib/facets/core/symbol/test_downcase.rb +1 -1
  410. data/test/lib/facets/core/symbol/test_not.rb +1 -1
  411. data/test/lib/facets/core/symbol/test_pad.rb +1 -1
  412. data/test/lib/facets/core/symbol/test_succ.rb +1 -1
  413. data/test/lib/facets/core/symbol/test_to_const.rb +1 -1
  414. data/test/lib/facets/core/symbol/test_to_proc.rb +1 -1
  415. data/test/lib/facets/core/symbol/test_to_str.rb +1 -1
  416. data/test/lib/facets/core/symbol/test_underscore.rb +1 -1
  417. data/test/lib/facets/core/symbol/test_upcase.rb +1 -1
  418. data/test/lib/facets/core/time/test_change.rb +1 -1
  419. data/test/lib/facets/core/time/test_elapse.rb +1 -1
  420. data/test/lib/facets/core/time/test_stamp.rb +1 -1
  421. data/test/lib/facets/core/time/test_to_date.rb +1 -1
  422. data/test/lib/facets/core/time/test_to_s.rb +1 -1
  423. data/test/lib/facets/core/time/test_to_time.rb +1 -1
  424. data/test/lib/facets/more/test_annattr.rb +1 -1
  425. data/test/lib/facets/more/test_annotation.rb +1 -1
  426. data/test/lib/facets/more/test_ansicode.rb +1 -1
  427. data/test/lib/facets/more/test_association.rb +1 -1
  428. data/test/lib/facets/more/test_basicobject.rb +1 -1
  429. data/test/lib/facets/more/test_bbcode.rb +1 -1
  430. data/test/lib/facets/more/test_binaryreader.rb +1 -1
  431. data/test/lib/facets/more/test_bitmask.rb +1 -1
  432. data/test/lib/facets/more/test_bytes.rb +1 -1
  433. data/test/lib/facets/more/test_classinherit.rb +1 -1
  434. data/test/lib/facets/more/test_classmethods.rb +1 -1
  435. data/test/lib/facets/more/test_coroutine.rb +1 -1
  436. data/test/lib/facets/more/test_crypt.rb +1 -1
  437. data/test/lib/facets/more/test_dictionary.rb +1 -1
  438. data/test/lib/facets/more/test_elementor.rb +1 -1
  439. data/test/lib/facets/more/test_enumerablepass.rb +1 -1
  440. data/test/lib/facets/more/test_floatstring.rb +1 -1
  441. data/test/lib/facets/more/test_functor.rb +1 -1
  442. data/test/lib/facets/more/test_htmlbuilder.rb +1 -1
  443. data/test/lib/facets/more/test_inheritor.rb +1 -1
  444. data/test/lib/facets/more/test_interval.rb +1 -1
  445. data/test/lib/facets/more/test_json.rb +1 -1
  446. data/test/lib/facets/more/test_lisp.rb +1 -1
  447. data/test/lib/facets/more/test_lisp_format.rb +1 -1
  448. data/test/lib/facets/more/test_lrucache.rb +1 -1
  449. data/test/lib/facets/more/test_mathconstants.rb +1 -1
  450. data/test/lib/facets/more/test_methodprobe.rb +1 -1
  451. data/test/lib/facets/more/test_multipliers.rb +1 -1
  452. data/test/lib/facets/more/test_multiton.rb +1 -1
  453. data/test/lib/facets/more/test_nackclass.rb +1 -1
  454. data/test/lib/facets/more/test_nilcomparable.rb +1 -1
  455. data/test/lib/facets/more/test_opencascade.rb +1 -1
  456. data/test/lib/facets/more/test_openobject.rb +1 -1
  457. data/test/lib/facets/more/test_overload.rb +1 -1
  458. data/test/lib/facets/more/test_paramix.rb +1 -1
  459. data/test/lib/facets/more/test_pqueue.rb +1 -1
  460. data/test/lib/facets/more/test_preinitialize.rb +1 -1
  461. data/test/lib/facets/more/test_promoteself.rb +1 -1
  462. data/test/lib/facets/more/test_recorder.rb +1 -1
  463. data/test/lib/facets/more/test_snapshot.rb +1 -1
  464. data/test/lib/facets/more/test_statichash.rb +1 -1
  465. data/test/lib/facets/more/test_syncarray.rb +1 -1
  466. data/test/lib/facets/more/test_synchash.rb +1 -1
  467. data/test/lib/facets/more/test_tagiterator.rb +1 -1
  468. data/test/lib/facets/more/test_taskable.rb +19 -1
  469. data/test/lib/facets/more/test_timer.rb +1 -1
  470. data/test/lib/facets/more/test_times.rb +1 -1
  471. data/test/lib/facets/more/test_tuple.rb +1 -1
  472. data/test/lib/facets/more/test_typecast.rb +1 -1
  473. data/test/lib/facets/more/test_uninheritable.rb +1 -1
  474. data/test/lib/facets/more/test_units.rb +1 -1
  475. data/test/lib/facets/more/test_xmlbuilder.rb +1 -1
  476. data/test/lib/facets/more/test_xmlhelper.rb +1 -1
  477. data/test/lib/facets/more/test_xoxo.rb +1 -1
  478. data/test/lib/facets/more/test_yamlstruct.rb +1 -1
  479. data/web/doc/api/core/classes/Array.html +1356 -0
  480. data/web/doc/api/core/classes/Binding.html +538 -0
  481. data/web/doc/api/core/classes/Class.html +475 -0
  482. data/web/doc/api/core/classes/Comparable.html +231 -0
  483. data/web/doc/api/core/classes/Continuation.html +168 -0
  484. data/web/doc/api/core/classes/Date.html +219 -0
  485. data/web/doc/api/core/classes/Dir.html +208 -0
  486. data/web/doc/api/core/classes/Enumerable.html +1435 -0
  487. data/web/doc/api/core/classes/FalseClass.html +115 -0
  488. data/web/doc/api/core/classes/File.html +349 -0
  489. data/web/doc/api/core/classes/FileUtils.html +468 -0
  490. data/web/doc/api/core/classes/Float.html +157 -0
  491. data/web/doc/api/core/classes/Gem.html +171 -0
  492. data/web/doc/api/core/classes/Hash.html +1657 -0
  493. data/web/doc/api/core/classes/Integer.html +353 -0
  494. data/web/doc/api/core/classes/Kernal.html +86 -0
  495. data/web/doc/api/core/classes/Kernel.html +1972 -0
  496. data/web/doc/api/core/classes/Logger.html +157 -0
  497. data/web/doc/api/core/classes/MatchData.html +195 -0
  498. data/web/doc/api/core/classes/Module.html +1712 -0
  499. data/web/doc/api/core/classes/NackClass.html +92 -0
  500. data/web/doc/api/core/classes/NilClass.html +332 -0
  501. data/web/doc/api/core/classes/Numeric.html +306 -0
  502. data/web/doc/api/core/classes/Object.html +332 -0
  503. data/web/doc/api/core/classes/OpenStruct.html +315 -0
  504. data/web/doc/api/core/classes/Pathname.html +154 -0
  505. data/web/doc/api/core/classes/Proc.html +154 -0
  506. data/web/doc/api/core/classes/Range.html +235 -0
  507. data/web/doc/api/core/classes/Regexp.html +185 -0
  508. data/web/doc/api/core/classes/ScriptBug.html +92 -0
  509. data/web/doc/api/core/classes/String.html +3286 -0
  510. data/web/doc/api/core/classes/Symbol.html +463 -0
  511. data/web/doc/api/core/classes/Time.html +307 -0
  512. data/web/doc/api/core/classes/TrueClass.html +115 -0
  513. data/web/doc/api/core/classes/UnboundMethod.html +121 -0
  514. data/web/doc/api/core/created.rid +1 -0
  515. data/web/doc/api/core/files/AUTHORS.html +206 -0
  516. data/web/doc/api/core/files/COPYING.html +517 -0
  517. data/web/doc/api/core/files/README.html +386 -0
  518. data/web/doc/api/core/files/WARNING.html +151 -0
  519. data/web/doc/api/core/files/lib/facets/core/all_rb.html +96 -0
  520. data/web/doc/api/core/files/lib/facets/core/array/at_rand_rb.html +92 -0
  521. data/web/doc/api/core/files/lib/facets/core/array/body_rb.html +100 -0
  522. data/web/doc/api/core/files/lib/facets/core/array/delete_unless_rb.html +92 -0
  523. data/web/doc/api/core/files/lib/facets/core/array/delete_values_at_rb.html +92 -0
  524. data/web/doc/api/core/files/lib/facets/core/array/delete_values_rb.html +92 -0
  525. data/web/doc/api/core/files/lib/facets/core/array/each_with_key_rb.html +92 -0
  526. data/web/doc/api/core/files/lib/facets/core/array/first_rb.html +96 -0
  527. data/web/doc/api/core/files/lib/facets/core/array/foot_rb.html +100 -0
  528. data/web/doc/api/core/files/lib/facets/core/array/head_rb.html +92 -0
  529. data/web/doc/api/core/files/lib/facets/core/array/join_sentence_rb.html +92 -0
  530. data/web/doc/api/core/files/lib/facets/core/array/last_index_rb.html +92 -0
  531. data/web/doc/api/core/files/lib/facets/core/array/last_rb.html +100 -0
  532. data/web/doc/api/core/files/lib/facets/core/array/merge_rb.html +92 -0
  533. data/web/doc/api/core/files/lib/facets/core/array/mid_rb.html +92 -0
  534. data/web/doc/api/core/files/lib/facets/core/array/middle_rb.html +92 -0
  535. data/web/doc/api/core/files/lib/facets/core/array/op_fetch_rb.html +92 -0
  536. data/web/doc/api/core/files/lib/facets/core/array/op_mod_rb.html +92 -0
  537. data/web/doc/api/core/files/lib/facets/core/array/op_store_rb.html +96 -0
  538. data/web/doc/api/core/files/lib/facets/core/array/pick_rb.html +92 -0
  539. data/web/doc/api/core/files/lib/facets/core/array/pos_rb.html +92 -0
  540. data/web/doc/api/core/files/lib/facets/core/array/pot_rb.html +92 -0
  541. data/web/doc/api/core/files/lib/facets/core/array/pull_rb.html +92 -0
  542. data/web/doc/api/core/files/lib/facets/core/array/rand_index_rb.html +92 -0
  543. data/web/doc/api/core/files/lib/facets/core/array/rand_subset_rb.html +92 -0
  544. data/web/doc/api/core/files/lib/facets/core/array/range_rb.html +92 -0
  545. data/web/doc/api/core/files/lib/facets/core/array/rotate_rb.html +92 -0
  546. data/web/doc/api/core/files/lib/facets/core/array/select_rb.html +92 -0
  547. data/web/doc/api/core/files/lib/facets/core/array/shuffle_rb.html +92 -0
  548. data/web/doc/api/core/files/lib/facets/core/array/store_rb.html +92 -0
  549. data/web/doc/api/core/files/lib/facets/core/array/tail_rb.html +100 -0
  550. data/web/doc/api/core/files/lib/facets/core/array/thru_rb.html +92 -0
  551. data/web/doc/api/core/files/lib/facets/core/array/to_b_rb.html +92 -0
  552. data/web/doc/api/core/files/lib/facets/core/array/to_h_rb.html +92 -0
  553. data/web/doc/api/core/files/lib/facets/core/array/to_hash_rb.html +92 -0
  554. data/web/doc/api/core/files/lib/facets/core/array/unzip_rb.html +92 -0
  555. data/web/doc/api/core/files/lib/facets/core/binding/__DIR___rb.html +100 -0
  556. data/web/doc/api/core/files/lib/facets/core/binding/__FILE___rb.html +100 -0
  557. data/web/doc/api/core/files/lib/facets/core/binding/__LINE___rb.html +96 -0
  558. data/web/doc/api/core/files/lib/facets/core/binding/call_stack_rb.html +97 -0
  559. data/web/doc/api/core/files/lib/facets/core/binding/called_rb.html +96 -0
  560. data/web/doc/api/core/files/lib/facets/core/binding/caller_rb.html +96 -0
  561. data/web/doc/api/core/files/lib/facets/core/binding/defined_rb.html +96 -0
  562. data/web/doc/api/core/files/lib/facets/core/binding/eval_rb.html +92 -0
  563. data/web/doc/api/core/files/lib/facets/core/binding/local_variables_rb.html +96 -0
  564. data/web/doc/api/core/files/lib/facets/core/binding/method_name_rb.html +96 -0
  565. data/web/doc/api/core/files/lib/facets/core/binding/op_fetch_rb.html +97 -0
  566. data/web/doc/api/core/files/lib/facets/core/binding/op_store_rb.html +97 -0
  567. data/web/doc/api/core/files/lib/facets/core/binding/self/of_caller_rb.html +96 -0
  568. data/web/doc/api/core/files/lib/facets/core/binding/self_rb.html +96 -0
  569. data/web/doc/api/core/files/lib/facets/core/binding_rb.html +109 -0
  570. data/web/doc/api/core/files/lib/facets/core/class/by_name_rb.html +96 -0
  571. data/web/doc/api/core/files/lib/facets/core/class/cattr_accessor_rb.html +100 -0
  572. data/web/doc/api/core/files/lib/facets/core/class/cattr_rb.html +92 -0
  573. data/web/doc/api/core/files/lib/facets/core/class/cattr_reader_rb.html +100 -0
  574. data/web/doc/api/core/files/lib/facets/core/class/cattr_writer_rb.html +100 -0
  575. data/web/doc/api/core/files/lib/facets/core/class/descendents_rb.html +92 -0
  576. data/web/doc/api/core/files/lib/facets/core/class/method_name_rb.html +92 -0
  577. data/web/doc/api/core/files/lib/facets/core/class/remove_descendents_rb.html +96 -0
  578. data/web/doc/api/core/files/lib/facets/core/class/remove_subclasses_rb.html +100 -0
  579. data/web/doc/api/core/files/lib/facets/core/class/subclasses_rb.html +100 -0
  580. data/web/doc/api/core/files/lib/facets/core/class/to_proc_rb.html +98 -0
  581. data/web/doc/api/core/files/lib/facets/core/class/unix_path_rb.html +92 -0
  582. data/web/doc/api/core/files/lib/facets/core/comparable/at_least_rb.html +92 -0
  583. data/web/doc/api/core/files/lib/facets/core/comparable/at_most_rb.html +100 -0
  584. data/web/doc/api/core/files/lib/facets/core/comparable/cap_rb.html +100 -0
  585. data/web/doc/api/core/files/lib/facets/core/comparable/clip_rb.html +92 -0
  586. data/web/doc/api/core/files/lib/facets/core/comparable/cmp_rb.html +92 -0
  587. data/web/doc/api/core/files/lib/facets/core/continuation/self/create_rb.html +148 -0
  588. data/web/doc/api/core/files/lib/facets/core/date/days_in_month_rb.html +96 -0
  589. data/web/doc/api/core/files/lib/facets/core/date/days_of_month_rb.html +96 -0
  590. data/web/doc/api/core/files/lib/facets/core/date/stamp_rb.html +96 -0
  591. data/web/doc/api/core/files/lib/facets/core/date/to_date_rb.html +96 -0
  592. data/web/doc/api/core/files/lib/facets/core/date/to_s_rb.html +96 -0
  593. data/web/doc/api/core/files/lib/facets/core/date/to_time_rb.html +96 -0
  594. data/web/doc/api/core/files/lib/facets/core/dir/self/ancestor_rb.html +92 -0
  595. data/web/doc/api/core/files/lib/facets/core/dir/self/ascend_rb.html +92 -0
  596. data/web/doc/api/core/files/lib/facets/core/dir/self/descend_rb.html +92 -0
  597. data/web/doc/api/core/files/lib/facets/core/dir/self/ls_r_rb.html +92 -0
  598. data/web/doc/api/core/files/lib/facets/core/dir/self/recurse_rb.html +100 -0
  599. data/web/doc/api/core/files/lib/facets/core/enumerable/accumulate_rb.html +96 -0
  600. data/web/doc/api/core/files/lib/facets/core/enumerable/collect_if_rb.html +92 -0
  601. data/web/doc/api/core/files/lib/facets/core/enumerable/collect_with_counter_rb.html +100 -0
  602. data/web/doc/api/core/files/lib/facets/core/enumerable/collect_with_index_rb.html +92 -0
  603. data/web/doc/api/core/files/lib/facets/core/enumerable/commonality_rb.html +92 -0
  604. data/web/doc/api/core/files/lib/facets/core/enumerable/compact_collect_rb.html +96 -0
  605. data/web/doc/api/core/files/lib/facets/core/enumerable/compact_map_rb.html +100 -0
  606. data/web/doc/api/core/files/lib/facets/core/enumerable/count_rb.html +92 -0
  607. data/web/doc/api/core/files/lib/facets/core/enumerable/cross_rb.html +96 -0
  608. data/web/doc/api/core/files/lib/facets/core/enumerable/each_by_rb.html +100 -0
  609. data/web/doc/api/core/files/lib/facets/core/enumerable/each_combination_rb.html +92 -0
  610. data/web/doc/api/core/files/lib/facets/core/enumerable/each_pair_rb.html +92 -0
  611. data/web/doc/api/core/files/lib/facets/core/enumerable/each_permutation_rb.html +100 -0
  612. data/web/doc/api/core/files/lib/facets/core/enumerable/each_slice_rb.html +92 -0
  613. data/web/doc/api/core/files/lib/facets/core/enumerable/each_unique_pair_rb.html +96 -0
  614. data/web/doc/api/core/files/lib/facets/core/enumerable/each_with_counter_rb.html +92 -0
  615. data/web/doc/api/core/files/lib/facets/core/enumerable/elementwise_rb.html +100 -0
  616. data/web/doc/api/core/files/lib/facets/core/enumerable/entropy_rb.html +97 -0
  617. data/web/doc/api/core/files/lib/facets/core/enumerable/every_rb.html +96 -0
  618. data/web/doc/api/core/files/lib/facets/core/enumerable/ew_rb.html +96 -0
  619. data/web/doc/api/core/files/lib/facets/core/enumerable/filter_collect_rb.html +92 -0
  620. data/web/doc/api/core/files/lib/facets/core/enumerable/filter_map_rb.html +100 -0
  621. data/web/doc/api/core/files/lib/facets/core/enumerable/find_collisions_rb.html +96 -0
  622. data/web/doc/api/core/files/lib/facets/core/enumerable/frequency_rb.html +92 -0
  623. data/web/doc/api/core/files/lib/facets/core/enumerable/graph_rb.html +96 -0
  624. data/web/doc/api/core/files/lib/facets/core/enumerable/ideal_entropy_rb.html +92 -0
  625. data/web/doc/api/core/files/lib/facets/core/enumerable/map_if_rb.html +100 -0
  626. data/web/doc/api/core/files/lib/facets/core/enumerable/map_with_counter_rb.html +100 -0
  627. data/web/doc/api/core/files/lib/facets/core/enumerable/map_with_index_rb.html +100 -0
  628. data/web/doc/api/core/files/lib/facets/core/enumerable/mode_rb.html +92 -0
  629. data/web/doc/api/core/files/lib/facets/core/enumerable/none_rb.html +92 -0
  630. data/web/doc/api/core/files/lib/facets/core/enumerable/nonuniq_rb.html +92 -0
  631. data/web/doc/api/core/files/lib/facets/core/enumerable/occur_rb.html +92 -0
  632. data/web/doc/api/core/files/lib/facets/core/enumerable/one_rb.html +92 -0
  633. data/web/doc/api/core/files/lib/facets/core/enumerable/op_pow_rb.html +96 -0
  634. data/web/doc/api/core/files/lib/facets/core/enumerable/partition_by_rb.html +92 -0
  635. data/web/doc/api/core/files/lib/facets/core/enumerable/permute_rb.html +96 -0
  636. data/web/doc/api/core/files/lib/facets/core/enumerable/probability_rb.html +92 -0
  637. data/web/doc/api/core/files/lib/facets/core/enumerable/project_rb.html +92 -0
  638. data/web/doc/api/core/files/lib/facets/core/enumerable/self/combinations_rb.html +92 -0
  639. data/web/doc/api/core/files/lib/facets/core/enumerable/self/cross_rb.html +96 -0
  640. data/web/doc/api/core/files/lib/facets/core/enumerable/to_h_rb.html +92 -0
  641. data/web/doc/api/core/files/lib/facets/core/enumerable/uniq_by_rb.html +92 -0
  642. data/web/doc/api/core/files/lib/facets/core/enumerable/where_rb.html +92 -0
  643. data/web/doc/api/core/files/lib/facets/core/file/self/append_rb.html +96 -0
  644. data/web/doc/api/core/files/lib/facets/core/file/self/create_rb.html +92 -0
  645. data/web/doc/api/core/files/lib/facets/core/file/self/open_as_string_rb.html +118 -0
  646. data/web/doc/api/core/files/lib/facets/core/file/self/read_binary_rb.html +96 -0
  647. data/web/doc/api/core/files/lib/facets/core/file/self/read_list_rb.html +97 -0
  648. data/web/doc/api/core/files/lib/facets/core/file/self/sanitize_rb.html +96 -0
  649. data/web/doc/api/core/files/lib/facets/core/file/self/split_all_rb.html +101 -0
  650. data/web/doc/api/core/files/lib/facets/core/file/self/write_rb.html +96 -0
  651. data/web/doc/api/core/files/lib/facets/core/fileutils/head_rb.html +100 -0
  652. data/web/doc/api/core/files/lib/facets/core/fileutils/safe_ln_rb.html +96 -0
  653. data/web/doc/api/core/files/lib/facets/core/fileutils/slice_rb.html +96 -0
  654. data/web/doc/api/core/files/lib/facets/core/fileutils/split_all_rb.html +92 -0
  655. data/web/doc/api/core/files/lib/facets/core/fileutils/tail_rb.html +100 -0
  656. data/web/doc/api/core/files/lib/facets/core/fileutils/wc_rb.html +96 -0
  657. data/web/doc/api/core/files/lib/facets/core/fileutils/whereis_rb.html +96 -0
  658. data/web/doc/api/core/files/lib/facets/core/fileutils/which_rb.html +96 -0
  659. data/web/doc/api/core/files/lib/facets/core/float/approx_rb.html +100 -0
  660. data/web/doc/api/core/files/lib/facets/core/float/round_at_rb.html +96 -0
  661. data/web/doc/api/core/files/lib/facets/core/float/round_off_rb.html +92 -0
  662. data/web/doc/api/core/files/lib/facets/core/float/round_to_rb.html +96 -0
  663. data/web/doc/api/core/files/lib/facets/core/gem/self/active_rb.html +92 -0
  664. data/web/doc/api/core/files/lib/facets/core/gem/self/gemdir_rb.html +96 -0
  665. data/web/doc/api/core/files/lib/facets/core/gem/self/gempath_rb.html +96 -0
  666. data/web/doc/api/core/files/lib/facets/core/gem/self/gemspec_rb.html +96 -0
  667. data/web/doc/api/core/files/lib/facets/core/hash/alias_rb.html +92 -0
  668. data/web/doc/api/core/files/lib/facets/core/hash/assert_has_keys_rb.html +96 -0
  669. data/web/doc/api/core/files/lib/facets/core/hash/assert_has_only_keys_rb.html +96 -0
  670. data/web/doc/api/core/files/lib/facets/core/hash/at_rb.html +92 -0
  671. data/web/doc/api/core/files/lib/facets/core/hash/collate_rb.html +92 -0
  672. data/web/doc/api/core/files/lib/facets/core/hash/delete_unless_rb.html +96 -0
  673. data/web/doc/api/core/files/lib/facets/core/hash/each_rb.html +92 -0
  674. data/web/doc/api/core/files/lib/facets/core/hash/each_with_index_rb.html +97 -0
  675. data/web/doc/api/core/files/lib/facets/core/hash/each_with_key_rb.html +92 -0
  676. data/web/doc/api/core/files/lib/facets/core/hash/graph_rb.html +96 -0
  677. data/web/doc/api/core/files/lib/facets/core/hash/has_keys_rb.html +92 -0
  678. data/web/doc/api/core/files/lib/facets/core/hash/has_only_keys_rb.html +92 -0
  679. data/web/doc/api/core/files/lib/facets/core/hash/inverse_rb.html +92 -0
  680. data/web/doc/api/core/files/lib/facets/core/hash/join_rb.html +92 -0
  681. data/web/doc/api/core/files/lib/facets/core/hash/keys_to_iv_rb.html +92 -0
  682. data/web/doc/api/core/files/lib/facets/core/hash/keys_to_s_rb.html +92 -0
  683. data/web/doc/api/core/files/lib/facets/core/hash/keys_to_sym_rb.html +92 -0
  684. data/web/doc/api/core/files/lib/facets/core/hash/op_fetch_rb.html +96 -0
  685. data/web/doc/api/core/files/lib/facets/core/hash/op_lshift_rb.html +92 -0
  686. data/web/doc/api/core/files/lib/facets/core/hash/op_store_rb.html +100 -0
  687. data/web/doc/api/core/files/lib/facets/core/hash/rand_key_rb.html +92 -0
  688. data/web/doc/api/core/files/lib/facets/core/hash/rand_pair_rb.html +96 -0
  689. data/web/doc/api/core/files/lib/facets/core/hash/rand_value_rb.html +96 -0
  690. data/web/doc/api/core/files/lib/facets/core/hash/replace_each_rb.html +92 -0
  691. data/web/doc/api/core/files/lib/facets/core/hash/self/zipnew_rb.html +92 -0
  692. data/web/doc/api/core/files/lib/facets/core/hash/shuffle_rb.html +96 -0
  693. data/web/doc/api/core/files/lib/facets/core/hash/slice_rb.html +92 -0
  694. data/web/doc/api/core/files/lib/facets/core/hash/stringify_keys_rb.html +100 -0
  695. data/web/doc/api/core/files/lib/facets/core/hash/swap_rb.html +92 -0
  696. data/web/doc/api/core/files/lib/facets/core/hash/swapkey_rb.html +92 -0
  697. data/web/doc/api/core/files/lib/facets/core/hash/symoblize_keys_rb.html +100 -0
  698. data/web/doc/api/core/files/lib/facets/core/hash/to_h_rb.html +92 -0
  699. data/web/doc/api/core/files/lib/facets/core/hash/to_ostruct_rb.html +96 -0
  700. data/web/doc/api/core/files/lib/facets/core/hash/to_ostruct_recurse_rb.html +97 -0
  701. data/web/doc/api/core/files/lib/facets/core/hash/to_proc_rb.html +92 -0
  702. data/web/doc/api/core/files/lib/facets/core/hash/traverse_rb.html +92 -0
  703. data/web/doc/api/core/files/lib/facets/core/hash/update_each_rb.html +92 -0
  704. data/web/doc/api/core/files/lib/facets/core/hash/update_keys_rb.html +92 -0
  705. data/web/doc/api/core/files/lib/facets/core/hash/update_values_rb.html +92 -0
  706. data/web/doc/api/core/files/lib/facets/core/hash/variablize_keys_rb.html +100 -0
  707. data/web/doc/api/core/files/lib/facets/core/hash/weave_rb.html +92 -0
  708. data/web/doc/api/core/files/lib/facets/core/inflect_rb.html +117 -0
  709. data/web/doc/api/core/files/lib/facets/core/integer/even_rb.html +100 -0
  710. data/web/doc/api/core/files/lib/facets/core/integer/fac_rb.html +100 -0
  711. data/web/doc/api/core/files/lib/facets/core/integer/fact_rb.html +100 -0
  712. data/web/doc/api/core/files/lib/facets/core/integer/factorial_rb.html +92 -0
  713. data/web/doc/api/core/files/lib/facets/core/integer/multiple_rb.html +92 -0
  714. data/web/doc/api/core/files/lib/facets/core/integer/odd_rb.html +100 -0
  715. data/web/doc/api/core/files/lib/facets/core/integer/ordinal_rb.html +92 -0
  716. data/web/doc/api/core/files/lib/facets/core/integer/times_collect_rb.html +92 -0
  717. data/web/doc/api/core/files/lib/facets/core/integer/times_map_rb.html +100 -0
  718. data/web/doc/api/core/files/lib/facets/core/kernel/__DIR___rb.html +92 -0
  719. data/web/doc/api/core/files/lib/facets/core/kernel/__class___rb.html +92 -0
  720. data/web/doc/api/core/files/lib/facets/core/kernel/__get___rb.html +92 -0
  721. data/web/doc/api/core/files/lib/facets/core/kernel/__self___rb.html +96 -0
  722. data/web/doc/api/core/files/lib/facets/core/kernel/__set___rb.html +100 -0
  723. data/web/doc/api/core/files/lib/facets/core/kernel/adhoc_rb.html +99 -0
  724. data/web/doc/api/core/files/lib/facets/core/kernel/as_rb.html +96 -0
  725. data/web/doc/api/core/files/lib/facets/core/kernel/assign_from_rb.html +96 -0
  726. data/web/doc/api/core/files/lib/facets/core/kernel/assign_with_rb.html +97 -0
  727. data/web/doc/api/core/files/lib/facets/core/kernel/autoreload_files_rb.html +100 -0
  728. data/web/doc/api/core/files/lib/facets/core/kernel/autoreload_glob_rb.html +100 -0
  729. data/web/doc/api/core/files/lib/facets/core/kernel/autoreload_rb.html +92 -0
  730. data/web/doc/api/core/files/lib/facets/core/kernel/bool_rb.html +92 -0
  731. data/web/doc/api/core/files/lib/facets/core/kernel/bug_rb.html +92 -0
  732. data/web/doc/api/core/files/lib/facets/core/kernel/cache_rb.html +92 -0
  733. data/web/doc/api/core/files/lib/facets/core/kernel/call_stack_rb.html +92 -0
  734. data/web/doc/api/core/files/lib/facets/core/kernel/called_rb.html +92 -0
  735. data/web/doc/api/core/files/lib/facets/core/kernel/complete_rb.html +92 -0
  736. data/web/doc/api/core/files/lib/facets/core/kernel/constant_rb.html +92 -0
  737. data/web/doc/api/core/files/lib/facets/core/kernel/copy_rb.html +92 -0
  738. data/web/doc/api/core/files/lib/facets/core/kernel/deep_copy_rb.html +92 -0
  739. data/web/doc/api/core/files/lib/facets/core/kernel/demo_rb.html +92 -0
  740. data/web/doc/api/core/files/lib/facets/core/kernel/eigenclass_rb.html +103 -0
  741. data/web/doc/api/core/files/lib/facets/core/kernel/false_rb.html +100 -0
  742. data/web/doc/api/core/files/lib/facets/core/kernel/fn_rb.html +92 -0
  743. data/web/doc/api/core/files/lib/facets/core/kernel/generate_method_name_rb.html +92 -0
  744. data/web/doc/api/core/files/lib/facets/core/kernel/get_by_id_rb.html +92 -0
  745. data/web/doc/api/core/files/lib/facets/core/kernel/here_rb.html +92 -0
  746. data/web/doc/api/core/files/lib/facets/core/kernel/in_rb.html +92 -0
  747. data/web/doc/api/core/files/lib/facets/core/kernel/instance_assign_rb.html +92 -0
  748. data/web/doc/api/core/files/lib/facets/core/kernel/instvar_rb.html +92 -0
  749. data/web/doc/api/core/files/lib/facets/core/kernel/is_rb.html +96 -0
  750. data/web/doc/api/core/files/lib/facets/core/kernel/maybe_rb.html +92 -0
  751. data/web/doc/api/core/files/lib/facets/core/kernel/me_rb.html +92 -0
  752. data/web/doc/api/core/files/lib/facets/core/kernel/metaclass_rb.html +92 -0
  753. data/web/doc/api/core/files/lib/facets/core/kernel/method_name_rb.html +100 -0
  754. data/web/doc/api/core/files/lib/facets/core/kernel/method_rb.html +92 -0
  755. data/web/doc/api/core/files/lib/facets/core/kernel/methodname_rb.html +92 -0
  756. data/web/doc/api/core/files/lib/facets/core/kernel/methods_rb.html +96 -0
  757. data/web/doc/api/core/files/lib/facets/core/kernel/nack_rb.html +98 -0
  758. data/web/doc/api/core/files/lib/facets/core/kernel/new_rb.html +92 -0
  759. data/web/doc/api/core/files/lib/facets/core/kernel/object_class_rb.html +92 -0
  760. data/web/doc/api/core/files/lib/facets/core/kernel/object_hexid_rb.html +92 -0
  761. data/web/doc/api/core/files/lib/facets/core/kernel/op_esc_rb.html +92 -0
  762. data/web/doc/api/core/files/lib/facets/core/kernel/own_rb.html +92 -0
  763. data/web/doc/api/core/files/lib/facets/core/kernel/p_rb.html +92 -0
  764. data/web/doc/api/core/files/lib/facets/core/kernel/pp_exception_rb.html +92 -0
  765. data/web/doc/api/core/files/lib/facets/core/kernel/require_all_rb.html +92 -0
  766. data/web/doc/api/core/files/lib/facets/core/kernel/require_esc_rb.html +96 -0
  767. data/web/doc/api/core/files/lib/facets/core/kernel/require_facet_rb.html +96 -0
  768. data/web/doc/api/core/files/lib/facets/core/kernel/require_local_rb.html +92 -0
  769. data/web/doc/api/core/files/lib/facets/core/kernel/resc_rb.html +92 -0
  770. data/web/doc/api/core/files/lib/facets/core/kernel/respond_rb.html +92 -0
  771. data/web/doc/api/core/files/lib/facets/core/kernel/returning_rb.html +92 -0
  772. data/web/doc/api/core/files/lib/facets/core/kernel/send_as_rb.html +92 -0
  773. data/web/doc/api/core/files/lib/facets/core/kernel/set_from_rb.html +96 -0
  774. data/web/doc/api/core/files/lib/facets/core/kernel/set_with_rb.html +96 -0
  775. data/web/doc/api/core/files/lib/facets/core/kernel/silence_warnings_rb.html +100 -0
  776. data/web/doc/api/core/files/lib/facets/core/kernel/silently_rb.html +92 -0
  777. data/web/doc/api/core/files/lib/facets/core/kernel/singleton_rb.html +92 -0
  778. data/web/doc/api/core/files/lib/facets/core/kernel/superior_rb.html +92 -0
  779. data/web/doc/api/core/files/lib/facets/core/kernel/supermethod_rb.html +92 -0
  780. data/web/doc/api/core/files/lib/facets/core/kernel/this_rb.html +92 -0
  781. data/web/doc/api/core/files/lib/facets/core/kernel/to_b_rb.html +92 -0
  782. data/web/doc/api/core/files/lib/facets/core/kernel/to_bool_rb.html +92 -0
  783. data/web/doc/api/core/files/lib/facets/core/kernel/true_rb.html +100 -0
  784. data/web/doc/api/core/files/lib/facets/core/kernel/unuri_rb.html +100 -0
  785. data/web/doc/api/core/files/lib/facets/core/kernel/uri_rb.html +96 -0
  786. data/web/doc/api/core/files/lib/facets/core/kernel/val_rb.html +92 -0
  787. data/web/doc/api/core/files/lib/facets/core/kernel/warn_with_line_rb.html +92 -0
  788. data/web/doc/api/core/files/lib/facets/core/kernel/with_accessor_rb.html +92 -0
  789. data/web/doc/api/core/files/lib/facets/core/kernel/with_reader_rb.html +100 -0
  790. data/web/doc/api/core/files/lib/facets/core/kernel/with_writer_rb.html +100 -0
  791. data/web/doc/api/core/files/lib/facets/core/logger/format_message_rb.html +96 -0
  792. data/web/doc/api/core/files/lib/facets/core/logger/format_rb.html +96 -0
  793. data/web/doc/api/core/files/lib/facets/core/matchdata/match_rb.html +92 -0
  794. data/web/doc/api/core/files/lib/facets/core/matchdata/matchset_rb.html +100 -0
  795. data/web/doc/api/core/files/lib/facets/core/matchdata/matchtree_rb.html +92 -0
  796. data/web/doc/api/core/files/lib/facets/core/module/abstract_rb.html +105 -0
  797. data/web/doc/api/core/files/lib/facets/core/module/alias_module_function_rb.html +92 -0
  798. data/web/doc/api/core/files/lib/facets/core/module/ancestor_rb.html +92 -0
  799. data/web/doc/api/core/files/lib/facets/core/module/attr_query_rb.html +96 -0
  800. data/web/doc/api/core/files/lib/facets/core/module/attr_rb.html +92 -0
  801. data/web/doc/api/core/files/lib/facets/core/module/attr_setter_rb.html +92 -0
  802. data/web/doc/api/core/files/lib/facets/core/module/attr_tester_rb.html +96 -0
  803. data/web/doc/api/core/files/lib/facets/core/module/attr_validator_rb.html +92 -0
  804. data/web/doc/api/core/files/lib/facets/core/module/basename_rb.html +92 -0
  805. data/web/doc/api/core/files/lib/facets/core/module/by_name_rb.html +96 -0
  806. data/web/doc/api/core/files/lib/facets/core/module/class_rb.html +92 -0
  807. data/web/doc/api/core/files/lib/facets/core/module/clone_removing_rb.html +100 -0
  808. data/web/doc/api/core/files/lib/facets/core/module/clone_renaming_rb.html +100 -0
  809. data/web/doc/api/core/files/lib/facets/core/module/clone_using_rb.html +92 -0
  810. data/web/doc/api/core/files/lib/facets/core/module/dirname_rb.html +92 -0
  811. data/web/doc/api/core/files/lib/facets/core/module/equate_on_rb.html +92 -0
  812. data/web/doc/api/core/files/lib/facets/core/module/generate_instance_method_name_rb.html +92 -0
  813. data/web/doc/api/core/files/lib/facets/core/module/include_as_rb.html +96 -0
  814. data/web/doc/api/core/files/lib/facets/core/module/inherit_rb.html +96 -0
  815. data/web/doc/api/core/files/lib/facets/core/module/initializer_rb.html +92 -0
  816. data/web/doc/api/core/files/lib/facets/core/module/instance_methods_rb.html +96 -0
  817. data/web/doc/api/core/files/lib/facets/core/module/integrate_rb.html +104 -0
  818. data/web/doc/api/core/files/lib/facets/core/module/is_rb.html +96 -0
  819. data/web/doc/api/core/files/lib/facets/core/module/memoize_rb.html +92 -0
  820. data/web/doc/api/core/files/lib/facets/core/module/modspace_rb.html +97 -0
  821. data/web/doc/api/core/files/lib/facets/core/module/namespace_rb.html +96 -0
  822. data/web/doc/api/core/files/lib/facets/core/module/nesting_rb.html +92 -0
  823. data/web/doc/api/core/files/lib/facets/core/module/nodef_rb.html +92 -0
  824. data/web/doc/api/core/files/lib/facets/core/module/on_included_rb.html +92 -0
  825. data/web/doc/api/core/files/lib/facets/core/module/redef_rb.html +96 -0
  826. data/web/doc/api/core/files/lib/facets/core/module/redefine_method_rb.html +92 -0
  827. data/web/doc/api/core/files/lib/facets/core/module/redirect_method_rb.html +92 -0
  828. data/web/doc/api/core/files/lib/facets/core/module/redirect_rb.html +96 -0
  829. data/web/doc/api/core/files/lib/facets/core/module/remove_rb.html +92 -0
  830. data/web/doc/api/core/files/lib/facets/core/module/rename_method_rb.html +92 -0
  831. data/web/doc/api/core/files/lib/facets/core/module/rename_rb.html +96 -0
  832. data/web/doc/api/core/files/lib/facets/core/module/revisal_rb.html +100 -0
  833. data/web/doc/api/core/files/lib/facets/core/module/shadow_all_rb.html +96 -0
  834. data/web/doc/api/core/files/lib/facets/core/module/shadow_method_rb.html +92 -0
  835. data/web/doc/api/core/files/lib/facets/core/module/singleton_to_module_rb.html +92 -0
  836. data/web/doc/api/core/files/lib/facets/core/module/sort_on_rb.html +92 -0
  837. data/web/doc/api/core/files/lib/facets/core/module/this_rb.html +96 -0
  838. data/web/doc/api/core/files/lib/facets/core/module/wrap_method_rb.html +92 -0
  839. data/web/doc/api/core/files/lib/facets/core/module/wrap_rb.html +96 -0
  840. data/web/doc/api/core/files/lib/facets/core/nil_as_emptiness_rb.html +116 -0
  841. data/web/doc/api/core/files/lib/facets/core/nilclass/blank_rb.html +92 -0
  842. data/web/doc/api/core/files/lib/facets/core/nilclass/empty_rb.html +92 -0
  843. data/web/doc/api/core/files/lib/facets/core/nilclass/include_rb.html +92 -0
  844. data/web/doc/api/core/files/lib/facets/core/nilclass/length_rb.html +100 -0
  845. data/web/doc/api/core/files/lib/facets/core/nilclass/op_cmp_rb.html +92 -0
  846. data/web/doc/api/core/files/lib/facets/core/nilclass/op_fetch_rb.html +92 -0
  847. data/web/doc/api/core/files/lib/facets/core/nilclass/size_rb.html +92 -0
  848. data/web/doc/api/core/files/lib/facets/core/nilclass/succ_rb.html +92 -0
  849. data/web/doc/api/core/files/lib/facets/core/nilclass/to_h_rb.html +92 -0
  850. data/web/doc/api/core/files/lib/facets/core/numeric/approx_rb.html +92 -0
  851. data/web/doc/api/core/files/lib/facets/core/numeric/ceil_multiple_rb.html +92 -0
  852. data/web/doc/api/core/files/lib/facets/core/numeric/pred_rb.html +100 -0
  853. data/web/doc/api/core/files/lib/facets/core/numeric/succ_rb.html +92 -0
  854. data/web/doc/api/core/files/lib/facets/core/numeric/to_b_rb.html +92 -0
  855. data/web/doc/api/core/files/lib/facets/core/ostruct/__merge___rb.html +97 -0
  856. data/web/doc/api/core/files/lib/facets/core/ostruct/__table___rb.html +92 -0
  857. data/web/doc/api/core/files/lib/facets/core/ostruct/__update___rb.html +98 -0
  858. data/web/doc/api/core/files/lib/facets/core/ostruct/instance_rb.html +96 -0
  859. data/web/doc/api/core/files/lib/facets/core/ostruct/op_fetch_rb.html +96 -0
  860. data/web/doc/api/core/files/lib/facets/core/ostruct/op_store_rb.html +96 -0
  861. data/web/doc/api/core/files/lib/facets/core/ostruct/to_h_rb.html +92 -0
  862. data/web/doc/api/core/files/lib/facets/core/ostruct_rb.html +102 -0
  863. data/web/doc/api/core/files/lib/facets/core/pathname/ascend_rb.html +96 -0
  864. data/web/doc/api/core/files/lib/facets/core/pathname/descend_rb.html +96 -0
  865. data/web/doc/api/core/files/lib/facets/core/proc/compose_rb.html +92 -0
  866. data/web/doc/api/core/files/lib/facets/core/proc/op_mul_rb.html +100 -0
  867. data/web/doc/api/core/files/lib/facets/core/proc/to_method_rb.html +133 -0
  868. data/web/doc/api/core/files/lib/facets/core/random_rb.html +111 -0
  869. data/web/doc/api/core/files/lib/facets/core/range/to_r_rb.html +92 -0
  870. data/web/doc/api/core/files/lib/facets/core/range/to_range_rb.html +92 -0
  871. data/web/doc/api/core/files/lib/facets/core/range/umbrella_rb.html +92 -0
  872. data/web/doc/api/core/files/lib/facets/core/range/within_rb.html +96 -0
  873. data/web/doc/api/core/files/lib/facets/core/regexp/arity_rb.html +92 -0
  874. data/web/doc/api/core/files/lib/facets/core/regexp/to_re_rb.html +92 -0
  875. data/web/doc/api/core/files/lib/facets/core/regexp/to_regexp_rb.html +92 -0
  876. data/web/doc/api/core/files/lib/facets/core/string/align_center_rb.html +92 -0
  877. data/web/doc/api/core/files/lib/facets/core/string/align_left_rb.html +100 -0
  878. data/web/doc/api/core/files/lib/facets/core/string/align_right_rb.html +100 -0
  879. data/web/doc/api/core/files/lib/facets/core/string/at_rand_rb.html +98 -0
  880. data/web/doc/api/core/files/lib/facets/core/string/at_rb.html +92 -0
  881. data/web/doc/api/core/files/lib/facets/core/string/basename_rb.html +92 -0
  882. data/web/doc/api/core/files/lib/facets/core/string/blank_rb.html +92 -0
  883. data/web/doc/api/core/files/lib/facets/core/string/bracket_rb.html +92 -0
  884. data/web/doc/api/core/files/lib/facets/core/string/brief_rb.html +92 -0
  885. data/web/doc/api/core/files/lib/facets/core/string/bytes_rb.html +92 -0
  886. data/web/doc/api/core/files/lib/facets/core/string/camelcase_rb.html +92 -0
  887. data/web/doc/api/core/files/lib/facets/core/string/camelize_rb.html +92 -0
  888. data/web/doc/api/core/files/lib/facets/core/string/capitalized_rb.html +92 -0
  889. data/web/doc/api/core/files/lib/facets/core/string/chars_rb.html +92 -0
  890. data/web/doc/api/core/files/lib/facets/core/string/cmp_rb.html +92 -0
  891. data/web/doc/api/core/files/lib/facets/core/string/demodulize_rb.html +96 -0
  892. data/web/doc/api/core/files/lib/facets/core/string/dequote_rb.html +92 -0
  893. data/web/doc/api/core/files/lib/facets/core/string/downcase_rb.html +92 -0
  894. data/web/doc/api/core/files/lib/facets/core/string/dresner_rb.html +92 -0
  895. data/web/doc/api/core/files/lib/facets/core/string/each_char_rb.html +92 -0
  896. data/web/doc/api/core/files/lib/facets/core/string/each_word_rb.html +92 -0
  897. data/web/doc/api/core/files/lib/facets/core/string/ends_with_rb.html +100 -0
  898. data/web/doc/api/core/files/lib/facets/core/string/first_char_rb.html +96 -0
  899. data/web/doc/api/core/files/lib/facets/core/string/first_rb.html +98 -0
  900. data/web/doc/api/core/files/lib/facets/core/string/fold_rb.html +92 -0
  901. data/web/doc/api/core/files/lib/facets/core/string/format_rb.html +96 -0
  902. data/web/doc/api/core/files/lib/facets/core/string/frequency_rb.html +97 -0
  903. data/web/doc/api/core/files/lib/facets/core/string/humanize_rb.html +92 -0
  904. data/web/doc/api/core/files/lib/facets/core/string/indent_rb.html +92 -0
  905. data/web/doc/api/core/files/lib/facets/core/string/index_all_rb.html +92 -0
  906. data/web/doc/api/core/files/lib/facets/core/string/last_char_rb.html +96 -0
  907. data/web/doc/api/core/files/lib/facets/core/string/last_rb.html +98 -0
  908. data/web/doc/api/core/files/lib/facets/core/string/line_wrap_rb.html +92 -0
  909. data/web/doc/api/core/files/lib/facets/core/string/lines_rb.html +92 -0
  910. data/web/doc/api/core/files/lib/facets/core/string/lowercase_rb.html +96 -0
  911. data/web/doc/api/core/files/lib/facets/core/string/margin_rb.html +92 -0
  912. data/web/doc/api/core/files/lib/facets/core/string/methodize_rb.html +92 -0
  913. data/web/doc/api/core/files/lib/facets/core/string/modulize_rb.html +92 -0
  914. data/web/doc/api/core/files/lib/facets/core/string/mscan_rb.html +92 -0
  915. data/web/doc/api/core/files/lib/facets/core/string/natcmp_rb.html +92 -0
  916. data/web/doc/api/core/files/lib/facets/core/string/nchar_rb.html +92 -0
  917. data/web/doc/api/core/files/lib/facets/core/string/ordinal_rb.html +96 -0
  918. data/web/doc/api/core/files/lib/facets/core/string/pathize_rb.html +92 -0
  919. data/web/doc/api/core/files/lib/facets/core/string/plural_rb.html +100 -0
  920. data/web/doc/api/core/files/lib/facets/core/string/pop_rb.html +92 -0
  921. data/web/doc/api/core/files/lib/facets/core/string/pot_rb.html +92 -0
  922. data/web/doc/api/core/files/lib/facets/core/string/probability_rb.html +97 -0
  923. data/web/doc/api/core/files/lib/facets/core/string/pull_rb.html +92 -0
  924. data/web/doc/api/core/files/lib/facets/core/string/push_rb.html +92 -0
  925. data/web/doc/api/core/files/lib/facets/core/string/quote_rb.html +96 -0
  926. data/web/doc/api/core/files/lib/facets/core/string/rand_byte_rb.html +92 -0
  927. data/web/doc/api/core/files/lib/facets/core/string/rand_index_rb.html +92 -0
  928. data/web/doc/api/core/files/lib/facets/core/string/range_all_rb.html +96 -0
  929. data/web/doc/api/core/files/lib/facets/core/string/range_of_line_rb.html +92 -0
  930. data/web/doc/api/core/files/lib/facets/core/string/range_rb.html +92 -0
  931. data/web/doc/api/core/files/lib/facets/core/string/regesc_rb.html +92 -0
  932. data/web/doc/api/core/files/lib/facets/core/string/self/format_rb.html +92 -0
  933. data/web/doc/api/core/files/lib/facets/core/string/self/interpolate_rb.html +92 -0
  934. data/web/doc/api/core/files/lib/facets/core/string/self/patterns_rb.html +92 -0
  935. data/web/doc/api/core/files/lib/facets/core/string/self/rand_letter_rb.html +92 -0
  936. data/web/doc/api/core/files/lib/facets/core/string/self/random_rb.html +99 -0
  937. data/web/doc/api/core/files/lib/facets/core/string/shatter_rb.html +92 -0
  938. data/web/doc/api/core/files/lib/facets/core/string/shell_escape_rb.html +92 -0
  939. data/web/doc/api/core/files/lib/facets/core/string/shift_rb.html +92 -0
  940. data/web/doc/api/core/files/lib/facets/core/string/shuffle_rb.html +96 -0
  941. data/web/doc/api/core/files/lib/facets/core/string/similarity_rb.html +92 -0
  942. data/web/doc/api/core/files/lib/facets/core/string/singular_rb.html +92 -0
  943. data/web/doc/api/core/files/lib/facets/core/string/soundex_rb.html +92 -0
  944. data/web/doc/api/core/files/lib/facets/core/string/starts_with_rb.html +92 -0
  945. data/web/doc/api/core/files/lib/facets/core/string/succ_rb.html +92 -0
  946. data/web/doc/api/core/files/lib/facets/core/string/tab_rb.html +100 -0
  947. data/web/doc/api/core/files/lib/facets/core/string/tabto_rb.html +100 -0
  948. data/web/doc/api/core/files/lib/facets/core/string/to_a_rb.html +92 -0
  949. data/web/doc/api/core/files/lib/facets/core/string/to_b_rb.html +92 -0
  950. data/web/doc/api/core/files/lib/facets/core/string/to_const_rb.html +92 -0
  951. data/web/doc/api/core/files/lib/facets/core/string/to_date_rb.html +97 -0
  952. data/web/doc/api/core/files/lib/facets/core/string/to_proc_rb.html +92 -0
  953. data/web/doc/api/core/files/lib/facets/core/string/to_re_rb.html +92 -0
  954. data/web/doc/api/core/files/lib/facets/core/string/to_rx_rb.html +100 -0
  955. data/web/doc/api/core/files/lib/facets/core/string/to_time_rb.html +96 -0
  956. data/web/doc/api/core/files/lib/facets/core/string/unbracket_rb.html +96 -0
  957. data/web/doc/api/core/files/lib/facets/core/string/underscore_rb.html +92 -0
  958. data/web/doc/api/core/files/lib/facets/core/string/unix_crypt_rb.html +96 -0
  959. data/web/doc/api/core/files/lib/facets/core/string/unpack_rb.html +92 -0
  960. data/web/doc/api/core/files/lib/facets/core/string/unshift_rb.html +92 -0
  961. data/web/doc/api/core/files/lib/facets/core/string/upcase_rb.html +92 -0
  962. data/web/doc/api/core/files/lib/facets/core/string/uppercase_rb.html +100 -0
  963. data/web/doc/api/core/files/lib/facets/core/string/whitespace_rb.html +96 -0
  964. data/web/doc/api/core/files/lib/facets/core/string/word_filter_rb.html +92 -0
  965. data/web/doc/api/core/files/lib/facets/core/string/word_wrap_rb.html +92 -0
  966. data/web/doc/api/core/files/lib/facets/core/string/words_rb.html +92 -0
  967. data/web/doc/api/core/files/lib/facets/core/string_as_array_rb.html +109 -0
  968. data/web/doc/api/core/files/lib/facets/core/symbol/camelcase_rb.html +96 -0
  969. data/web/doc/api/core/files/lib/facets/core/symbol/camelize_rb.html +96 -0
  970. data/web/doc/api/core/files/lib/facets/core/symbol/capitalize_rb.html +96 -0
  971. data/web/doc/api/core/files/lib/facets/core/symbol/capitalized_rb.html +97 -0
  972. data/web/doc/api/core/files/lib/facets/core/symbol/downcase_rb.html +96 -0
  973. data/web/doc/api/core/files/lib/facets/core/symbol/not_rb.html +92 -0
  974. data/web/doc/api/core/files/lib/facets/core/symbol/pad_rb.html +92 -0
  975. data/web/doc/api/core/files/lib/facets/core/symbol/succ_rb.html +92 -0
  976. data/web/doc/api/core/files/lib/facets/core/symbol/to_const_rb.html +96 -0
  977. data/web/doc/api/core/files/lib/facets/core/symbol/to_proc_rb.html +92 -0
  978. data/web/doc/api/core/files/lib/facets/core/symbol/to_str_rb.html +92 -0
  979. data/web/doc/api/core/files/lib/facets/core/symbol/underscore_rb.html +96 -0
  980. data/web/doc/api/core/files/lib/facets/core/symbol/upcase_rb.html +96 -0
  981. data/web/doc/api/core/files/lib/facets/core/time/change_rb.html +92 -0
  982. data/web/doc/api/core/files/lib/facets/core/time/elapse_rb.html +92 -0
  983. data/web/doc/api/core/files/lib/facets/core/time/self/days_extrema_rb.html +114 -0
  984. data/web/doc/api/core/files/lib/facets/core/time/self/stamp_rb.html +100 -0
  985. data/web/doc/api/core/files/lib/facets/core/time/stamp_rb.html +92 -0
  986. data/web/doc/api/core/files/lib/facets/core/time/to_date_rb.html +96 -0
  987. data/web/doc/api/core/files/lib/facets/core/time/to_s_rb.html +96 -0
  988. data/web/doc/api/core/files/lib/facets/core/time/to_time_rb.html +92 -0
  989. data/web/doc/api/core/files/lib/facets/core/unboundmethod/name_rb.html +92 -0
  990. data/web/doc/api/core/fr_class_index.html +80 -0
  991. data/web/doc/api/core/fr_file_index.html +521 -0
  992. data/web/doc/api/core/fr_method_index.html +555 -0
  993. data/web/doc/api/core/index.html +26 -0
  994. data/web/doc/api/core/rdoc-style.css +175 -0
  995. data/web/doc/api/more/classes/Annotation.html +258 -0
  996. data/web/doc/api/more/classes/Array.html +362 -0
  997. data/web/doc/api/more/classes/Aspect.html +159 -0
  998. data/web/doc/api/more/classes/Aspects.html +240 -0
  999. data/web/doc/api/more/classes/Aspects/ClassMethods.html +254 -0
  1000. data/web/doc/api/more/classes/Association.html +289 -0
  1001. data/web/doc/api/more/classes/BBCode.html +531 -0
  1002. data/web/doc/api/more/classes/BasicObject.html +260 -0
  1003. data/web/doc/api/more/classes/BasicObject/Self.html +142 -0
  1004. data/web/doc/api/more/classes/BinaryReader.html +535 -0
  1005. data/web/doc/api/more/classes/BinaryReader/ByteOrder.html +225 -0
  1006. data/web/doc/api/more/classes/BuilderObject.html +248 -0
  1007. data/web/doc/api/more/classes/Class.html +201 -0
  1008. data/web/doc/api/more/classes/Client.html +1251 -0
  1009. data/web/doc/api/more/classes/Cloneable.html +133 -0
  1010. data/web/doc/api/more/classes/Console.html +105 -0
  1011. data/web/doc/api/more/classes/Console/ANSICode.html +488 -0
  1012. data/web/doc/api/more/classes/Console/Command.html +275 -0
  1013. data/web/doc/api/more/classes/Console/ProgressBar.html +640 -0
  1014. data/web/doc/api/more/classes/Coroutine.html +284 -0
  1015. data/web/doc/api/more/classes/Crypt.html +270 -0
  1016. data/web/doc/api/more/classes/DebugSocket.html +242 -0
  1017. data/web/doc/api/more/classes/Dictionary.html +974 -0
  1018. data/web/doc/api/more/classes/Downloader.html +515 -0
  1019. data/web/doc/api/more/classes/Downloader/Checksum.html +96 -0
  1020. data/web/doc/api/more/classes/Downloader/Mirror.html +134 -0
  1021. data/web/doc/api/more/classes/Elementor.html +202 -0
  1022. data/web/doc/api/more/classes/Enumerable.html +86 -0
  1023. data/web/doc/api/more/classes/EnumerablePass.html +217 -0
  1024. data/web/doc/api/more/classes/Expirable.html +197 -0
  1025. data/web/doc/api/more/classes/FalseClass.html +119 -0
  1026. data/web/doc/api/more/classes/FileList.html +971 -0
  1027. data/web/doc/api/more/classes/Float.html +140 -0
  1028. data/web/doc/api/more/classes/FloatString.html +413 -0
  1029. data/web/doc/api/more/classes/Functor.html +203 -0
  1030. data/web/doc/api/more/classes/HTMLBuilder.html +132 -0
  1031. data/web/doc/api/more/classes/HTMLHelper.html +189 -0
  1032. data/web/doc/api/more/classes/HTTP.html +154 -0
  1033. data/web/doc/api/more/classes/HTTP/BadResponseError.html +94 -0
  1034. data/web/doc/api/more/classes/HTTP/Error.html +96 -0
  1035. data/web/doc/api/more/classes/HTTP/Message.html +633 -0
  1036. data/web/doc/api/more/classes/HTTP/Message/Body.html +299 -0
  1037. data/web/doc/api/more/classes/HTTP/Message/Headers.html +641 -0
  1038. data/web/doc/api/more/classes/HTTP/Status.html +148 -0
  1039. data/web/doc/api/more/classes/HTTPAccess.html +115 -0
  1040. data/web/doc/api/more/classes/Hash.html +257 -0
  1041. data/web/doc/api/more/classes/HashBuilder.html +216 -0
  1042. data/web/doc/api/more/classes/Heap.html +535 -0
  1043. data/web/doc/api/more/classes/Heap/EmptyHeapException.html +92 -0
  1044. data/web/doc/api/more/classes/Heap/Max.html +133 -0
  1045. data/web/doc/api/more/classes/Heap/Min.html +133 -0
  1046. data/web/doc/api/more/classes/IORedirect.html +225 -0
  1047. data/web/doc/api/more/classes/Integer.html +298 -0
  1048. data/web/doc/api/more/classes/Interval.html +853 -0
  1049. data/web/doc/api/more/classes/InvalidNackError.html +117 -0
  1050. data/web/doc/api/more/classes/JSON.html +410 -0
  1051. data/web/doc/api/more/classes/JSON/Parser.html +374 -0
  1052. data/web/doc/api/more/classes/JSON/State.html +280 -0
  1053. data/web/doc/api/more/classes/Kernel.html +400 -0
  1054. data/web/doc/api/more/classes/LRUCache.html +461 -0
  1055. data/web/doc/api/more/classes/LRUCache/Item.html +114 -0
  1056. data/web/doc/api/more/classes/LRUCache/Sentinel.html +102 -0
  1057. data/web/doc/api/more/classes/Lazy.html +96 -0
  1058. data/web/doc/api/more/classes/Lazy/Future.html +100 -0
  1059. data/web/doc/api/more/classes/Lazy/Promise.html +114 -0
  1060. data/web/doc/api/more/classes/Lazy/PromiseSafe.html +99 -0
  1061. data/web/doc/api/more/classes/Lisp.html +846 -0
  1062. data/web/doc/api/more/classes/Lisp/DottedPair.html +289 -0
  1063. data/web/doc/api/more/classes/Lisp/Format.html +147 -0
  1064. data/web/doc/api/more/classes/Math.html +110 -0
  1065. data/web/doc/api/more/classes/Math/Constants.html +691 -0
  1066. data/web/doc/api/more/classes/Math/Constants/CGS.html +584 -0
  1067. data/web/doc/api/more/classes/Method.html +170 -0
  1068. data/web/doc/api/more/classes/Method/Probe.html +267 -0
  1069. data/web/doc/api/more/classes/Mock.html +276 -0
  1070. data/web/doc/api/more/classes/Module.html +691 -0
  1071. data/web/doc/api/more/classes/Multiton.html +256 -0
  1072. data/web/doc/api/more/classes/NackClass.html +245 -0
  1073. data/web/doc/api/more/classes/NilClass.html +238 -0
  1074. data/web/doc/api/more/classes/NullClass.html +202 -0
  1075. data/web/doc/api/more/classes/Numeric.html +1104 -0
  1076. data/web/doc/api/more/classes/ORMSupport.html +357 -0
  1077. data/web/doc/api/more/classes/Object.html +323 -0
  1078. data/web/doc/api/more/classes/OpenCascade.html +230 -0
  1079. data/web/doc/api/more/classes/OpenObject.html +552 -0
  1080. data/web/doc/api/more/classes/PQueue.html +471 -0
  1081. data/web/doc/api/more/classes/PathList.html +162 -0
  1082. data/web/doc/api/more/classes/PathList/Finder.html +137 -0
  1083. data/web/doc/api/more/classes/Pool.html +207 -0
  1084. data/web/doc/api/more/classes/Proc.html +140 -0
  1085. data/web/doc/api/more/classes/PromoteSelf.html +138 -0
  1086. data/web/doc/api/more/classes/Quaternion.html +1497 -0
  1087. data/web/doc/api/more/classes/REXMLBuilder.html +357 -0
  1088. data/web/doc/api/more/classes/REXMLBuilder/REXMLUtil.html +396 -0
  1089. data/web/doc/api/more/classes/Recorder.html +208 -0
  1090. data/web/doc/api/more/classes/Reference.html +201 -0
  1091. data/web/doc/api/more/classes/RubyOneLiners.html +139 -0
  1092. data/web/doc/api/more/classes/RubyTals.html +316 -0
  1093. data/web/doc/api/more/classes/SSLSocketWrap.html +410 -0
  1094. data/web/doc/api/more/classes/Semaphore.html +264 -0
  1095. data/web/doc/api/more/classes/SimpleStringIO.html +139 -0
  1096. data/web/doc/api/more/classes/Snapshot.html +191 -0
  1097. data/web/doc/api/more/classes/StateMachine.html +248 -0
  1098. data/web/doc/api/more/classes/StateParser.html +276 -0
  1099. data/web/doc/api/more/classes/StateParser/Constants.html +109 -0
  1100. data/web/doc/api/more/classes/StateParser/Marker.html +269 -0
  1101. data/web/doc/api/more/classes/StateParser/State.html +448 -0
  1102. data/web/doc/api/more/classes/StaticHash.html +144 -0
  1103. data/web/doc/api/more/classes/String.html +278 -0
  1104. data/web/doc/api/more/classes/StringIO.html +123 -0
  1105. data/web/doc/api/more/classes/Struct.html +134 -0
  1106. data/web/doc/api/more/classes/Symbol.html +116 -0
  1107. data/web/doc/api/more/classes/SyncArray.html +131 -0
  1108. data/web/doc/api/more/classes/SyncHash.html +135 -0
  1109. data/web/doc/api/more/classes/SyncHash/Delegator.html +213 -0
  1110. data/web/doc/api/more/classes/SyncHash/Inheritor.html +213 -0
  1111. data/web/doc/api/more/classes/System.html +1055 -0
  1112. data/web/doc/api/more/classes/TSort.html +123 -0
  1113. data/web/doc/api/more/classes/TagIterator.html +706 -0
  1114. data/web/doc/api/more/classes/Task.html +237 -0
  1115. data/web/doc/api/more/classes/Task/Graph.html +165 -0
  1116. data/web/doc/api/more/classes/Taskable.html +300 -0
  1117. data/web/doc/api/more/classes/Time.html +746 -0
  1118. data/web/doc/api/more/classes/Timer.html +471 -0
  1119. data/web/doc/api/more/classes/Timer/Dummy.html +141 -0
  1120. data/web/doc/api/more/classes/TracePoint.html +453 -0
  1121. data/web/doc/api/more/classes/TrueClass.html +118 -0
  1122. data/web/doc/api/more/classes/Tuple.html +861 -0
  1123. data/web/doc/api/more/classes/URI.html +107 -0
  1124. data/web/doc/api/more/classes/Uninheritable.html +130 -0
  1125. data/web/doc/api/more/classes/Units.html +191 -0
  1126. data/web/doc/api/more/classes/Units/Config.html +120 -0
  1127. data/web/doc/api/more/classes/Units/Converter.html +808 -0
  1128. data/web/doc/api/more/classes/Units/Converter/ExchangeRate.html +155 -0
  1129. data/web/doc/api/more/classes/Units/Converter/ExchangeRate/CachedXMethods.html +143 -0
  1130. data/web/doc/api/more/classes/Units/Converter/ExchangeRate/XMethods.html +197 -0
  1131. data/web/doc/api/more/classes/Units/Unit.html +434 -0
  1132. data/web/doc/api/more/classes/Units/Value.html +331 -0
  1133. data/web/doc/api/more/classes/ValueHolder.html +167 -0
  1134. data/web/doc/api/more/classes/WebAgent.html +103 -0
  1135. data/web/doc/api/more/classes/WebAgent/Cookie.html +513 -0
  1136. data/web/doc/api/more/classes/WebAgent/CookieManager.html +515 -0
  1137. data/web/doc/api/more/classes/WebAgent/CookieManager/Error.html +96 -0
  1138. data/web/doc/api/more/classes/WebAgent/CookieManager/ErrorOverrideOK.html +94 -0
  1139. data/web/doc/api/more/classes/WebAgent/CookieManager/NoDotError.html +94 -0
  1140. data/web/doc/api/more/classes/WebAgent/CookieManager/SpecialError.html +94 -0
  1141. data/web/doc/api/more/classes/WebAgent/CookieUtils.html +171 -0
  1142. data/web/doc/api/more/classes/XMLBuilder.html +132 -0
  1143. data/web/doc/api/more/classes/XMLHelper.html +428 -0
  1144. data/web/doc/api/more/classes/XOXO.html +252 -0
  1145. data/web/doc/api/more/classes/YAMLStruct.html +166 -0
  1146. data/web/doc/api/more/created.rid +1 -0
  1147. data/web/doc/api/more/files/AUTHORS.html +206 -0
  1148. data/web/doc/api/more/files/COPYING.html +517 -0
  1149. data/web/doc/api/more/files/README.html +389 -0
  1150. data/web/doc/api/more/files/WARNING.html +151 -0
  1151. data/web/doc/api/more/files/lib/facets/more/annattr_rb.html +115 -0
  1152. data/web/doc/api/more/files/lib/facets/more/annotation_rb.html +118 -0
  1153. data/web/doc/api/more/files/lib/facets/more/ansicode_rb.html +128 -0
  1154. data/web/doc/api/more/files/lib/facets/more/aspects_rb.html +115 -0
  1155. data/web/doc/api/more/files/lib/facets/more/association_rb.html +111 -0
  1156. data/web/doc/api/more/files/lib/facets/more/basicobject_rb.html +129 -0
  1157. data/web/doc/api/more/files/lib/facets/more/bbcode_rb.html +111 -0
  1158. data/web/doc/api/more/files/lib/facets/more/binaryreader_rb.html +111 -0
  1159. data/web/doc/api/more/files/lib/facets/more/bitmask_rb.html +111 -0
  1160. data/web/doc/api/more/files/lib/facets/more/blankslate_rb.html +113 -0
  1161. data/web/doc/api/more/files/lib/facets/more/builderobject_rb.html +115 -0
  1162. data/web/doc/api/more/files/lib/facets/more/bytes_rb.html +131 -0
  1163. data/web/doc/api/more/files/lib/facets/more/classinherit_rb.html +111 -0
  1164. data/web/doc/api/more/files/lib/facets/more/classmethods_rb.html +121 -0
  1165. data/web/doc/api/more/files/lib/facets/more/cloneable_rb.html +132 -0
  1166. data/web/doc/api/more/files/lib/facets/more/consoleapp_rb.html +131 -0
  1167. data/web/doc/api/more/files/lib/facets/more/cookie_rb.html +133 -0
  1168. data/web/doc/api/more/files/lib/facets/more/coroutine_rb.html +111 -0
  1169. data/web/doc/api/more/files/lib/facets/more/crypt_rb.html +146 -0
  1170. data/web/doc/api/more/files/lib/facets/more/dictionary_rb.html +123 -0
  1171. data/web/doc/api/more/files/lib/facets/more/downloader_rb.html +124 -0
  1172. data/web/doc/api/more/files/lib/facets/more/elementor_rb.html +115 -0
  1173. data/web/doc/api/more/files/lib/facets/more/enumerablepass_rb.html +115 -0
  1174. data/web/doc/api/more/files/lib/facets/more/expirable_rb.html +111 -0
  1175. data/web/doc/api/more/files/lib/facets/more/filelist_rb.html +128 -0
  1176. data/web/doc/api/more/files/lib/facets/more/floatstring_rb.html +115 -0
  1177. data/web/doc/api/more/files/lib/facets/more/functor_rb.html +115 -0
  1178. data/web/doc/api/more/files/lib/facets/more/hashbuilder_rb.html +115 -0
  1179. data/web/doc/api/more/files/lib/facets/more/heap_rb.html +131 -0
  1180. data/web/doc/api/more/files/lib/facets/more/htmlbuilder_rb.html +116 -0
  1181. data/web/doc/api/more/files/lib/facets/more/htmlhelper_rb.html +119 -0
  1182. data/web/doc/api/more/files/lib/facets/more/http_rb.html +116 -0
  1183. data/web/doc/api/more/files/lib/facets/more/httpaccess_rb.html +137 -0
  1184. data/web/doc/api/more/files/lib/facets/more/inheritor_rb.html +115 -0
  1185. data/web/doc/api/more/files/lib/facets/more/interval_rb.html +120 -0
  1186. data/web/doc/api/more/files/lib/facets/more/ioredirect_rb.html +116 -0
  1187. data/web/doc/api/more/files/lib/facets/more/json_rb.html +141 -0
  1188. data/web/doc/api/more/files/lib/facets/more/lazy_rb.html +111 -0
  1189. data/web/doc/api/more/files/lib/facets/more/lisp_format_rb.html +129 -0
  1190. data/web/doc/api/more/files/lib/facets/more/lisp_rb.html +119 -0
  1191. data/web/doc/api/more/files/lib/facets/more/lrucache_rb.html +111 -0
  1192. data/web/doc/api/more/files/lib/facets/more/mathconstants_rb.html +121 -0
  1193. data/web/doc/api/more/files/lib/facets/more/methodprobe_rb.html +111 -0
  1194. data/web/doc/api/more/files/lib/facets/more/mock_rb.html +208 -0
  1195. data/web/doc/api/more/files/lib/facets/more/multipliers_rb.html +115 -0
  1196. data/web/doc/api/more/files/lib/facets/more/multiton_rb.html +114 -0
  1197. data/web/doc/api/more/files/lib/facets/more/nackclass_rb.html +151 -0
  1198. data/web/doc/api/more/files/lib/facets/more/nilcomparable_rb.html +118 -0
  1199. data/web/doc/api/more/files/lib/facets/more/nullclass_rb.html +111 -0
  1200. data/web/doc/api/more/files/lib/facets/more/one_rb.html +158 -0
  1201. data/web/doc/api/more/files/lib/facets/more/opencascade_rb.html +129 -0
  1202. data/web/doc/api/more/files/lib/facets/more/openobject_rb.html +120 -0
  1203. data/web/doc/api/more/files/lib/facets/more/orderedhash_rb.html +113 -0
  1204. data/web/doc/api/more/files/lib/facets/more/ormsupport_rb.html +125 -0
  1205. data/web/doc/api/more/files/lib/facets/more/overload_rb.html +111 -0
  1206. data/web/doc/api/more/files/lib/facets/more/paramix_rb.html +118 -0
  1207. data/web/doc/api/more/files/lib/facets/more/pathlist_rb.html +111 -0
  1208. data/web/doc/api/more/files/lib/facets/more/pool_rb.html +120 -0
  1209. data/web/doc/api/more/files/lib/facets/more/pqueue_rb.html +122 -0
  1210. data/web/doc/api/more/files/lib/facets/more/preinitialize_rb.html +115 -0
  1211. data/web/doc/api/more/files/lib/facets/more/progressbar_rb.html +111 -0
  1212. data/web/doc/api/more/files/lib/facets/more/promoteself_rb.html +111 -0
  1213. data/web/doc/api/more/files/lib/facets/more/quaternion_rb.html +150 -0
  1214. data/web/doc/api/more/files/lib/facets/more/recorder_rb.html +115 -0
  1215. data/web/doc/api/more/files/lib/facets/more/reference_rb.html +115 -0
  1216. data/web/doc/api/more/files/lib/facets/more/rexmlbuilder_rb.html +116 -0
  1217. data/web/doc/api/more/files/lib/facets/more/rtals_rb.html +115 -0
  1218. data/web/doc/api/more/files/lib/facets/more/semaphore_rb.html +111 -0
  1219. data/web/doc/api/more/files/lib/facets/more/snapshot_rb.html +121 -0
  1220. data/web/doc/api/more/files/lib/facets/more/stateparser_rb.html +115 -0
  1221. data/web/doc/api/more/files/lib/facets/more/statichash_rb.html +133 -0
  1222. data/web/doc/api/more/files/lib/facets/more/syncarray_rb.html +115 -0
  1223. data/web/doc/api/more/files/lib/facets/more/synchash_rb.html +115 -0
  1224. data/web/doc/api/more/files/lib/facets/more/system_rb.html +123 -0
  1225. data/web/doc/api/more/files/lib/facets/more/tagiterator_rb.html +111 -0
  1226. data/web/doc/api/more/files/lib/facets/more/taskable_rb.html +118 -0
  1227. data/web/doc/api/more/files/lib/facets/more/timer_rb.html +127 -0
  1228. data/web/doc/api/more/files/lib/facets/more/times_rb.html +127 -0
  1229. data/web/doc/api/more/files/lib/facets/more/tracepoint_rb.html +131 -0
  1230. data/web/doc/api/more/files/lib/facets/more/tuple_rb.html +122 -0
  1231. data/web/doc/api/more/files/lib/facets/more/typecast_rb.html +124 -0
  1232. data/web/doc/api/more/files/lib/facets/more/uninheritable_rb.html +111 -0
  1233. data/web/doc/api/more/files/lib/facets/more/units_rb.html +118 -0
  1234. data/web/doc/api/more/files/lib/facets/more/xmlbuilder_rb.html +116 -0
  1235. data/web/doc/api/more/files/lib/facets/more/xmlhelper_rb.html +111 -0
  1236. data/web/doc/api/more/files/lib/facets/more/xoxo_rb.html +125 -0
  1237. data/web/doc/api/more/files/lib/facets/more/yamlstruct_rb.html +123 -0
  1238. data/web/doc/api/more/fr_class_index.html +197 -0
  1239. data/web/doc/api/more/fr_file_index.html +136 -0
  1240. data/web/doc/api/more/fr_method_index.html +1290 -0
  1241. data/web/doc/api/more/index.html +26 -0
  1242. data/web/doc/api/more/rdoc-style.css +175 -0
  1243. data/web/documentation.html +174 -0
  1244. data/web/favicon.ico +0 -0
  1245. data/web/images/abc.png +0 -0
  1246. data/web/images/abc1.png +0 -0
  1247. data/web/images/apple_core.jpg +0 -0
  1248. data/web/images/apples3.jpg +0 -0
  1249. data/web/images/best_jupiter_cass.jpg +0 -0
  1250. data/web/images/core.jpg +0 -0
  1251. data/web/images/gray.jpg +0 -0
  1252. data/web/images/ruby-lg.png +0 -0
  1253. data/web/images/ruby.gif +0 -0
  1254. data/web/images/super-friends-volume-two-20050606010933166-001.jpg +0 -0
  1255. data/web/images/three_apples.jpg +0 -0
  1256. data/web/images/yellow_fade.jpg +0 -0
  1257. data/web/images/yellow_fade2.jpg +0 -0
  1258. data/web/index.html +224 -0
  1259. data/web/style.css +153 -0
  1260. metadata +1433 -457
@@ -0,0 +1,157 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html>
6
+ <head>
7
+ <title>Class: Logger</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "show source"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "hide source"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "width=400,height=400,scrollbars=yes" )
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Class</span><br />Logger</td>
55
+ <td align="right">
56
+ <table cellspacing=0 cellpadding=2>
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ <a href="../files/lib/facets/core/logger/format_rb.html">lib/facets/core/logger/format.rb</a>
61
+ </td>
62
+ </tr>
63
+ <tr>
64
+ <td>Parent:</td>
65
+ <td>
66
+ <a href="Object.html">
67
+ Object
68
+ </a>
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </td>
73
+ </tr>
74
+ </table>
75
+ <!-- banner header -->
76
+
77
+ <div id="bodyContent">
78
+ <div id="content">
79
+
80
+
81
+
82
+
83
+ <div class="sectiontitle">Methods</div>
84
+ <ul>
85
+ <li><a href="#M000245">format</a></li>
86
+ <li><a href="#M000246">format_message</a></li>
87
+ </ul>
88
+
89
+
90
+
91
+
92
+
93
+
94
+ <div class="sectiontitle">Private Instance methods</div>
95
+ <div class="method">
96
+ <div class="title">
97
+ <a name="M000245"></a><b>format</b>(&amp;format_proc)
98
+ </div>
99
+ <div class="description">
100
+ <p>
101
+ Dictate the way in which this logger should format the messages it
102
+ displays. This method requires a block. The block should return formatted
103
+ strings given severity, timestamp, msg, progname.
104
+ </p>
105
+ <p>
106
+ Useless example:
107
+ </p>
108
+ <p>
109
+ logger = Logger.new logger.format do |severity, timestamp, msg, progname|
110
+ </p>
111
+ <pre>
112
+ &quot;#{progname}@#{timestamp} - #{severity}::#{msg}&quot;
113
+ </pre>
114
+ <p>
115
+ end
116
+ </p>
117
+ </div>
118
+ <div class="sourcecode">
119
+ <p class="source-link">[ <a href="javascript:toggleSource('M000245_source')" id="l_M000245_source">show source</a> ]</p>
120
+ <div id="M000245_source" class="dyn-source">
121
+ <pre>
122
+ <span class="ruby-comment cmt"># File lib/facets/core/logger/format.rb, line 18</span>
123
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">format</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">format_proc</span>)
124
+ <span class="ruby-identifier">raise</span> <span class="ruby-value str">'block expected'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">format_proc</span>
125
+ <span class="ruby-ivar">@format_proc</span> = <span class="ruby-identifier">format_proc</span>
126
+ <span class="ruby-keyword kw">end</span>
127
+ </pre>
128
+ </div>
129
+ </div>
130
+ </div>
131
+ <div class="method">
132
+ <div class="title">
133
+ <a name="M000246"></a><b>format_message</b>(*args)
134
+ </div>
135
+ <div class="description">
136
+ <p>
137
+ hackish use of *args, give me some love
138
+ </p>
139
+ </div>
140
+ <div class="sourcecode">
141
+ <p class="source-link">[ <a href="javascript:toggleSource('M000246_source')" id="l_M000246_source">show source</a> ]</p>
142
+ <div id="M000246_source" class="dyn-source">
143
+ <pre>
144
+ <span class="ruby-comment cmt"># File lib/facets/core/logger/format.rb, line 24</span>
145
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">format_message</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
146
+ <span class="ruby-ivar">@format_proc</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@format_proc</span>.<span class="ruby-identifier">call</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>) <span class="ruby-operator">:</span> <span class="ruby-keyword kw">super</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
147
+ <span class="ruby-keyword kw">end</span>
148
+ </pre>
149
+ </div>
150
+ </div>
151
+ </div>
152
+ </div>
153
+
154
+ </div>
155
+
156
+ </body>
157
+ </html>
@@ -0,0 +1,195 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html>
6
+ <head>
7
+ <title>Class: MatchData</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "show source"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "hide source"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "width=400,height=400,scrollbars=yes" )
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Class</span><br />MatchData</td>
55
+ <td align="right">
56
+ <table cellspacing=0 cellpadding=2>
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ <a href="../files/lib/facets/core/matchdata/matchtree_rb.html">lib/facets/core/matchdata/matchtree.rb</a>
61
+ <a href="../files/lib/facets/core/matchdata/match_rb.html">lib/facets/core/matchdata/match.rb</a>
62
+ </td>
63
+ </tr>
64
+ <tr>
65
+ <td>Parent:</td>
66
+ <td>
67
+ <a href="Object.html">
68
+ Object
69
+ </a>
70
+ </td>
71
+ </tr>
72
+ </table>
73
+ </td>
74
+ </tr>
75
+ </table>
76
+ <!-- banner header -->
77
+
78
+ <div id="bodyContent">
79
+ <div id="content">
80
+
81
+
82
+
83
+
84
+ <div class="sectiontitle">Methods</div>
85
+ <ul>
86
+ <li><a href="#M000149">match</a></li>
87
+ <li><a href="#M000147">matchset</a></li>
88
+ <li><a href="#M000148">matchtree</a></li>
89
+ </ul>
90
+
91
+
92
+
93
+
94
+
95
+
96
+ <div class="sectiontitle">Public Instance methods</div>
97
+ <div class="method">
98
+ <div class="title">
99
+ <a name="M000149"></a><b>match</b>()
100
+ </div>
101
+ <div class="description">
102
+ <p>
103
+ Return the primary match string. This is equivalent to +md[0]+.
104
+ </p>
105
+ <pre>
106
+ md = /123/.match &quot;123456&quot;
107
+ md.match #=&gt; &quot;123&quot;
108
+ </pre>
109
+ </div>
110
+ <div class="sourcecode">
111
+ <p class="source-link">[ <a href="javascript:toggleSource('M000149_source')" id="l_M000149_source">show source</a> ]</p>
112
+ <div id="M000149_source" class="dyn-source">
113
+ <pre>
114
+ <span class="ruby-comment cmt"># File lib/facets/core/matchdata/match.rb, line 9</span>
115
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">match</span>
116
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-value">0</span>]
117
+ <span class="ruby-keyword kw">end</span>
118
+ </pre>
119
+ </div>
120
+ </div>
121
+ </div>
122
+ <div class="method">
123
+ <div class="title">
124
+ <a name="M000147"></a><b>matchset</b>()
125
+ </div>
126
+ <div class="description">
127
+ <p>
128
+ Returns [ pre_match, matchtree, post_match ]. (see matchtree)
129
+ </p>
130
+ <pre>
131
+ md = /(bb)(cc(dd))(ee)/.match &quot;XXaabbccddeeffXX&quot;
132
+ md.to_a #=&gt; [&quot;XXaabbccddeeffXX&quot;, &quot;bb&quot;, &quot;ccdd&quot;, &quot;dd&quot;, &quot;ee&quot;]
133
+ md.matchset #=&gt; [&quot;XXaa&quot;, [[&quot;bb&quot;], [&quot;cc&quot;, [&quot;dd&quot;]], &quot;ee&quot;], &quot;ffXX&quot;]
134
+ </pre>
135
+ </div>
136
+ <div class="sourcecode">
137
+ <p class="source-link">[ <a href="javascript:toggleSource('M000147_source')" id="l_M000147_source">show source</a> ]</p>
138
+ <div id="M000147_source" class="dyn-source">
139
+ <pre>
140
+ <span class="ruby-comment cmt"># File lib/facets/core/matchdata/matchtree.rb, line 10</span>
141
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">matchset</span>
142
+ [<span class="ruby-identifier">pre_match</span>, <span class="ruby-identifier">matchtree</span>, <span class="ruby-identifier">post_match</span>]
143
+ <span class="ruby-keyword kw">end</span>
144
+ </pre>
145
+ </div>
146
+ </div>
147
+ </div>
148
+ <div class="method">
149
+ <div class="title">
150
+ <a name="M000148"></a><b>matchtree</b>(index=0)
151
+ </div>
152
+ <div class="description">
153
+ <p>
154
+ An alternate to to_a which returns the matches in order corresponding with
155
+ the regular expression.
156
+ </p>
157
+ <pre>
158
+ md = /(bb)(cc(dd))(ee)/.match &quot;XXaabbccddeeffXX&quot;
159
+ md.to_a #=&gt; [&quot;XXaabbccddeeffXX&quot;, &quot;bb&quot;, &quot;ccdd&quot;, &quot;dd&quot;, &quot;ee&quot;]
160
+ md.matchtree #=&gt; [[&quot;bb&quot;], [&quot;cc&quot;, [&quot;dd&quot;]], &quot;ee&quot;]
161
+ </pre>
162
+ </div>
163
+ <div class="sourcecode">
164
+ <p class="source-link">[ <a href="javascript:toggleSource('M000148_source')" id="l_M000148_source">show source</a> ]</p>
165
+ <div id="M000148_source" class="dyn-source">
166
+ <pre>
167
+ <span class="ruby-comment cmt"># File lib/facets/core/matchdata/matchtree.rb, line 21</span>
168
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">matchtree</span>(<span class="ruby-identifier">index</span>=<span class="ruby-value">0</span>)
169
+ <span class="ruby-identifier">ret</span>=[]
170
+ <span class="ruby-identifier">b</span>, <span class="ruby-identifier">e</span>=<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">begin</span>(<span class="ruby-identifier">index</span>), <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">end</span>(<span class="ruby-identifier">index</span>)
171
+ <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">index</span><span class="ruby-operator">+=</span><span class="ruby-value">1</span>)<span class="ruby-operator">&lt;=</span><span class="ruby-identifier">length</span>
172
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">index</span><span class="ruby-operator">==</span><span class="ruby-identifier">length</span> <span class="ruby-operator">||</span> (<span class="ruby-identifier">bi</span>=<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">begin</span>(<span class="ruby-identifier">index</span>))<span class="ruby-operator">&gt;=</span><span class="ruby-identifier">e</span>
173
+ <span class="ruby-comment cmt"># we are finished, if something is left, then add it</span>
174
+ <span class="ruby-identifier">ret</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">string</span>[<span class="ruby-identifier">b</span>, <span class="ruby-identifier">e</span><span class="ruby-operator">-</span><span class="ruby-identifier">b</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">e</span><span class="ruby-operator">&gt;</span><span class="ruby-identifier">b</span>
175
+ <span class="ruby-keyword kw">break</span>
176
+ <span class="ruby-keyword kw">else</span>
177
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bi</span><span class="ruby-operator">&gt;=</span><span class="ruby-identifier">b</span>
178
+ <span class="ruby-identifier">ret</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">string</span>[<span class="ruby-identifier">b</span>, <span class="ruby-identifier">bi</span><span class="ruby-operator">-</span><span class="ruby-identifier">b</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bi</span><span class="ruby-operator">&gt;</span><span class="ruby-identifier">b</span>
179
+ <span class="ruby-identifier">ret</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">matchtree</span>(<span class="ruby-identifier">index</span>)
180
+ <span class="ruby-identifier">b</span>=<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">end</span>(<span class="ruby-identifier">index</span>)
181
+ <span class="ruby-keyword kw">end</span>
182
+ <span class="ruby-keyword kw">end</span>
183
+ <span class="ruby-keyword kw">end</span>
184
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">ret</span>
185
+ <span class="ruby-keyword kw">end</span>
186
+ </pre>
187
+ </div>
188
+ </div>
189
+ </div>
190
+ </div>
191
+
192
+ </div>
193
+
194
+ </body>
195
+ </html>
@@ -0,0 +1,1712 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html>
6
+ <head>
7
+ <title>Class: Module</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "show source"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "hide source"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "width=400,height=400,scrollbars=yes" )
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Class</span><br />Module</td>
55
+ <td align="right">
56
+ <table cellspacing=0 cellpadding=2>
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ <a href="../files/lib/facets/core/kernel/method_rb.html">lib/facets/core/kernel/method.rb</a>
61
+ <a href="../files/lib/facets/core/module/redefine_method_rb.html">lib/facets/core/module/redefine_method.rb</a>
62
+ <a href="../files/lib/facets/core/module/redirect_method_rb.html">lib/facets/core/module/redirect_method.rb</a>
63
+ <a href="../files/lib/facets/core/module/initializer_rb.html">lib/facets/core/module/initializer.rb</a>
64
+ <a href="../files/lib/facets/core/module/shadow_all_rb.html">lib/facets/core/module/shadow_all.rb</a>
65
+ <a href="../files/lib/facets/core/module/is_rb.html">lib/facets/core/module/is.rb</a>
66
+ <a href="../files/lib/facets/core/module/modspace_rb.html">lib/facets/core/module/modspace.rb</a>
67
+ <a href="../files/lib/facets/core/module/instance_methods_rb.html">lib/facets/core/module/instance_methods.rb</a>
68
+ <a href="../files/lib/facets/core/module/attr_tester_rb.html">lib/facets/core/module/attr_tester.rb</a>
69
+ <a href="../files/lib/facets/core/module/integrate_rb.html">lib/facets/core/module/integrate.rb</a>
70
+ <a href="../files/lib/facets/core/module/basename_rb.html">lib/facets/core/module/basename.rb</a>
71
+ <a href="../files/lib/facets/core/module/generate_instance_method_name_rb.html">lib/facets/core/module/generate_instance_method_name.rb</a>
72
+ <a href="../files/lib/facets/core/module/redirect_rb.html">lib/facets/core/module/redirect.rb</a>
73
+ <a href="../files/lib/facets/core/module/shadow_method_rb.html">lib/facets/core/module/shadow_method.rb</a>
74
+ <a href="../files/lib/facets/core/module/alias_module_function_rb.html">lib/facets/core/module/alias_module_function.rb</a>
75
+ <a href="../files/lib/facets/core/module/namespace_rb.html">lib/facets/core/module/namespace.rb</a>
76
+ <a href="../files/lib/facets/core/module/abstract_rb.html">lib/facets/core/module/abstract.rb</a>
77
+ <a href="../files/lib/facets/core/module/this_rb.html">lib/facets/core/module/this.rb</a>
78
+ <a href="../files/lib/facets/core/module/nesting_rb.html">lib/facets/core/module/nesting.rb</a>
79
+ <a href="../files/lib/facets/core/module/wrap_method_rb.html">lib/facets/core/module/wrap_method.rb</a>
80
+ <a href="../files/lib/facets/core/module/class_rb.html">lib/facets/core/module/class.rb</a>
81
+ <a href="../files/lib/facets/core/module/ancestor_rb.html">lib/facets/core/module/ancestor.rb</a>
82
+ <a href="../files/lib/facets/core/module/include_as_rb.html">lib/facets/core/module/include_as.rb</a>
83
+ <a href="../files/lib/facets/core/module/rename_method_rb.html">lib/facets/core/module/rename_method.rb</a>
84
+ <a href="../files/lib/facets/core/module/attr_setter_rb.html">lib/facets/core/module/attr_setter.rb</a>
85
+ <a href="../files/lib/facets/core/module/rename_rb.html">lib/facets/core/module/rename.rb</a>
86
+ <a href="../files/lib/facets/core/module/dirname_rb.html">lib/facets/core/module/dirname.rb</a>
87
+ <a href="../files/lib/facets/core/module/attr_rb.html">lib/facets/core/module/attr.rb</a>
88
+ <a href="../files/lib/facets/core/module/remove_rb.html">lib/facets/core/module/remove.rb</a>
89
+ <a href="../files/lib/facets/core/module/sort_on_rb.html">lib/facets/core/module/sort_on.rb</a>
90
+ <a href="../files/lib/facets/core/module/nodef_rb.html">lib/facets/core/module/nodef.rb</a>
91
+ <a href="../files/lib/facets/core/module/equate_on_rb.html">lib/facets/core/module/equate_on.rb</a>
92
+ <a href="../files/lib/facets/core/module/redef_rb.html">lib/facets/core/module/redef.rb</a>
93
+ <a href="../files/lib/facets/core/module/clone_using_rb.html">lib/facets/core/module/clone_using.rb</a>
94
+ <a href="../files/lib/facets/core/module/by_name_rb.html">lib/facets/core/module/by_name.rb</a>
95
+ <a href="../files/lib/facets/core/module/memoize_rb.html">lib/facets/core/module/memoize.rb</a>
96
+ <a href="../files/lib/facets/core/module/wrap_rb.html">lib/facets/core/module/wrap.rb</a>
97
+ <a href="../files/lib/facets/core/module/revisal_rb.html">lib/facets/core/module/revisal.rb</a>
98
+ <a href="../files/lib/facets/core/module/on_included_rb.html">lib/facets/core/module/on_included.rb</a>
99
+ <a href="../files/lib/facets/core/module/attr_query_rb.html">lib/facets/core/module/attr_query.rb</a>
100
+ <a href="../files/lib/facets/core/module/inherit_rb.html">lib/facets/core/module/inherit.rb</a>
101
+ <a href="../files/lib/facets/core/module/attr_validator_rb.html">lib/facets/core/module/attr_validator.rb</a>
102
+ <a href="../files/lib/facets/core/module/singleton_to_module_rb.html">lib/facets/core/module/singleton_to_module.rb</a>
103
+ </td>
104
+ </tr>
105
+ <tr>
106
+ <td>Parent:</td>
107
+ <td>
108
+ <a href="Object.html">
109
+ Object
110
+ </a>
111
+ </td>
112
+ </tr>
113
+ </table>
114
+ </td>
115
+ </tr>
116
+ </table>
117
+ <!-- banner header -->
118
+
119
+ <div id="bodyContent">
120
+ <div id="content">
121
+
122
+
123
+
124
+
125
+ <div class="sectiontitle">Methods</div>
126
+ <ul>
127
+ <li><a href="#M000166">abstract</a></li>
128
+ <li><a href="#M000164">alias_module_function</a></li>
129
+ <li><a href="#M000170">ancestor?</a></li>
130
+ <li><a href="#M000176">attr</a></li>
131
+ <li><a href="#M000173">attr_setter</a></li>
132
+ <li><a href="#M000158">attr_tester</a></li>
133
+ <li><a href="#M000191">attr_tester</a></li>
134
+ <li><a href="#M000193">attr_validator</a></li>
135
+ <li><a href="#M000160">basename</a></li>
136
+ <li><a href="#M000186">by_name</a></li>
137
+ <li><a href="#M000184">clone_removing</a></li>
138
+ <li><a href="#M000183">clone_renaming</a></li>
139
+ <li><a href="#M000185">clone_using</a></li>
140
+ <li><a href="#M000178">compare_on</a></li>
141
+ <li><a href="#M000175">dirname</a></li>
142
+ <li><a href="#M000180">equate_on</a></li>
143
+ <li><a href="#M000161">generate_instance_method_name</a></li>
144
+ <li><a href="#M000171">include_as</a></li>
145
+ <li><a href="#M000192">inherit</a></li>
146
+ <li><a href="#M000153">initializer</a></li>
147
+ <li><a href="#M000150">instance_method!</a></li>
148
+ <li><a href="#M000157">instance_methods</a></li>
149
+ <li><a href="#M000159">integrate</a></li>
150
+ <li><a href="#M000155">is?</a></li>
151
+ <li><a href="#M000181">key_attributes</a></li>
152
+ <li><a href="#M000187">memoize</a></li>
153
+ <li><a href="#M000156">modspace</a></li>
154
+ <li><a href="#M000165">namespace</a></li>
155
+ <li><a href="#M000168">nesting</a></li>
156
+ <li><a href="#M000190">on_included</a></li>
157
+ <li><a href="#M000182">redef</a></li>
158
+ <li><a href="#M000151">redefine_method</a></li>
159
+ <li><a href="#M000162">redirect</a></li>
160
+ <li><a href="#M000152">redirect_method</a></li>
161
+ <li><a href="#M000174">rename</a></li>
162
+ <li><a href="#M000172">rename_method</a></li>
163
+ <li><a href="#M000189">revisal</a></li>
164
+ <li><a href="#M000154">shadow_all</a></li>
165
+ <li><a href="#M000163">shadow_method</a></li>
166
+ <li><a href="#M000194">singleton_to_module</a></li>
167
+ <li><a href="#M000179">sort_attributes</a></li>
168
+ <li><a href="#M000177">sort_on</a></li>
169
+ <li><a href="#M000167">this</a></li>
170
+ <li><a href="#M000188">wrap</a></li>
171
+ <li><a href="#M000169">wrap_method</a></li>
172
+ </ul>
173
+
174
+
175
+
176
+
177
+ <div class="sectiontitle">Constants</div>
178
+ <table border='0' cellpadding='5'>
179
+ <tr valign='top'>
180
+ <td class="attr-name">METHOD_TYPES</td>
181
+ <td>=</td>
182
+ <td class="attr-value">[ :inherited, :ancestors, :local, :public, :private, :protected, :all ]</td>
183
+ </tr>
184
+ </table>
185
+
186
+
187
+ <div class="sectiontitle">Public Instance methods</div>
188
+ <div class="method">
189
+ <div class="title">
190
+ <a name="M000166"></a><b>abstract</b>( *sym )
191
+ </div>
192
+ <div class="sourcecode">
193
+ <p class="source-link">[ <a href="javascript:toggleSource('M000166_source')" id="l_M000166_source">show source</a> ]</p>
194
+ <div id="M000166_source" class="dyn-source">
195
+ <pre>
196
+ <span class="ruby-comment cmt"># File lib/facets/core/module/abstract.rb, line 13</span>
197
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">abstract</span>( <span class="ruby-operator">*</span><span class="ruby-identifier">sym</span> )
198
+ <span class="ruby-identifier">sym</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
199
+ <span class="ruby-identifier">define_method</span>( <span class="ruby-identifier">s</span> ) { <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">&quot;undefined abstraction ##{s}&quot;</span> }
200
+ }
201
+ <span class="ruby-keyword kw">end</span>
202
+ </pre>
203
+ </div>
204
+ </div>
205
+ </div>
206
+ <div class="method">
207
+ <div class="title">
208
+ <a name="M000170"></a><b>ancestor?</b>( mod )
209
+ </div>
210
+ <div class="description">
211
+ <p>
212
+ Is a given class or module an ancestor of this class or module?
213
+ </p>
214
+ <pre>
215
+ class X ; end
216
+ class Y &lt; X ; end
217
+
218
+ X.ancestor?(Y)
219
+ </pre>
220
+ </div>
221
+ <div class="sourcecode">
222
+ <p class="source-link">[ <a href="javascript:toggleSource('M000170_source')" id="l_M000170_source">show source</a> ]</p>
223
+ <div id="M000170_source" class="dyn-source">
224
+ <pre>
225
+ <span class="ruby-comment cmt"># File lib/facets/core/module/ancestor.rb, line 12</span>
226
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ancestor?</span>( <span class="ruby-identifier">mod</span> )
227
+ <span class="ruby-identifier">ancestors</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">mod</span>
228
+ <span class="ruby-keyword kw">end</span>
229
+ </pre>
230
+ </div>
231
+ </div>
232
+ </div>
233
+ <div class="method">
234
+ <div class="title">
235
+ <a name="M000176"></a><b>attr</b>(*args)
236
+ </div>
237
+ <div class="description">
238
+ <p>
239
+ There&#8217;s a school of thought that says an attribute show always have a
240
+ reader and a writer.
241
+ </p>
242
+ </div>
243
+ <div class="sourcecode">
244
+ <p class="source-link">[ <a href="javascript:toggleSource('M000176_source')" id="l_M000176_source">show source</a> ]</p>
245
+ <div id="M000176_source" class="dyn-source">
246
+ <pre>
247
+ <span class="ruby-comment cmt"># File lib/facets/core/module/attr.rb, line 10</span>
248
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attr</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
249
+ <span class="ruby-identifier">args</span>.<span class="ruby-identifier">pop</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Symbol</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
250
+ <span class="ruby-identifier">attr_accessor</span> <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>
251
+ <span class="ruby-identifier">args</span>.<span class="ruby-identifier">collect</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> [ <span class="ruby-node">&quot;#{a}&quot;</span>.<span class="ruby-identifier">to_sym</span>, <span class="ruby-node">&quot;#{a}=&quot;</span>.<span class="ruby-identifier">to_sym</span> ] }.<span class="ruby-identifier">flatten</span>
252
+ <span class="ruby-keyword kw">end</span>
253
+ </pre>
254
+ </div>
255
+ </div>
256
+ </div>
257
+ <div class="method">
258
+ <div class="title">
259
+ <a name="M000173"></a><b>attr_setter</b>(*args)
260
+ </div>
261
+ <div class="description">
262
+ <p>
263
+ Create an attribute method for both getting and setting an instance
264
+ variable.
265
+ </p>
266
+ <pre>
267
+ attr_setter :a
268
+ </pre>
269
+ <p>
270
+ _is equivalent to_
271
+ </p>
272
+ <pre>
273
+ def a(*args)
274
+ if args.size &gt; 0
275
+ @a = args[0]
276
+ self
277
+ else
278
+ @a
279
+ end
280
+ end
281
+ </pre>
282
+ </div>
283
+ <div class="sourcecode">
284
+ <p class="source-link">[ <a href="javascript:toggleSource('M000173_source')" id="l_M000173_source">show source</a> ]</p>
285
+ <div id="M000173_source" class="dyn-source">
286
+ <pre>
287
+ <span class="ruby-comment cmt"># File lib/facets/core/module/attr_setter.rb, line 23</span>
288
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attr_setter</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
289
+
290
+ <span class="ruby-identifier">make</span> = {}
291
+ <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span>
292
+ <span class="ruby-identifier">make</span>[<span class="ruby-node">&quot;#{a}&quot;</span>.<span class="ruby-identifier">to_sym</span>] = <span class="ruby-node">%{
293
+ def #{a}(*args)
294
+ args.size &gt; 0 ? ( @#{a}=args[0] ; self ) : @#{a}
295
+ end
296
+ }</span>
297
+ }
298
+ <span class="ruby-identifier">module_eval</span>( <span class="ruby-identifier">make</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>) )
299
+
300
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">make</span>.<span class="ruby-identifier">keys</span>
301
+ <span class="ruby-keyword kw">end</span>
302
+ </pre>
303
+ </div>
304
+ </div>
305
+ </div>
306
+ <div class="method">
307
+ <div class="title">
308
+ <a name="M000158"></a><b>attr_tester</b>(*args)
309
+ </div>
310
+ <div class="description">
311
+ <p>
312
+ Create an tester attribute. This creates two methods for each given
313
+ variable name. One is used to test the attribute and the other is used to
314
+ set or toggle it.
315
+ </p>
316
+ <pre>
317
+ attr_switch :a
318
+ </pre>
319
+ <p>
320
+ is equivalent to
321
+ </p>
322
+ <pre>
323
+ def a?
324
+ @a ? true : @a
325
+ end
326
+
327
+ def a!(switch=nack)
328
+ if switch == nack
329
+ @a = ! @a
330
+ else
331
+ @a = @a ? switch : @a
332
+ self
333
+ end
334
+ end
335
+ </pre>
336
+ </div>
337
+ <div class="sourcecode">
338
+ <p class="source-link">[ <a href="javascript:toggleSource('M000158_source')" id="l_M000158_source">show source</a> ]</p>
339
+ <div id="M000158_source" class="dyn-source">
340
+ <pre>
341
+ <span class="ruby-comment cmt"># File lib/facets/core/module/attr_tester.rb, line 26</span>
342
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attr_tester</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
343
+ <span class="ruby-identifier">make</span> = {}
344
+ <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span>
345
+ <span class="ruby-identifier">make</span>[<span class="ruby-node">&quot;#{a}?&quot;</span>.<span class="ruby-identifier">to_sym</span>] = <span class="ruby-node">%{ def #{a}?; @#{a} ? true : @#{a}; end }</span>
346
+ <span class="ruby-identifier">make</span>[<span class="ruby-node">&quot;#{a}!&quot;</span>.<span class="ruby-identifier">to_sym</span>] = <span class="ruby-node">%{
347
+ def #{a}!(switch=nack)
348
+ if switch==nack
349
+ @#{a} = !@#{a}
350
+ else
351
+ @#{a} = @#{a} ? switch : @#{a}
352
+ self
353
+ end
354
+ end
355
+ }</span>
356
+ }
357
+ <span class="ruby-identifier">module_eval</span> <span class="ruby-identifier">make</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>)
358
+
359
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">make</span>.<span class="ruby-identifier">keys</span>
360
+ <span class="ruby-keyword kw">end</span>
361
+ </pre>
362
+ </div>
363
+ </div>
364
+ </div>
365
+ <div class="method">
366
+ <div class="title">
367
+ <a name="M000191"></a><b>attr_tester</b>(*args)
368
+ </div>
369
+ <div class="description">
370
+ <p>
371
+ Create an tester attribute. This creates two methods for each given
372
+ variable name. One is used to test the attribute and the other is used to
373
+ set or toggle it.
374
+ </p>
375
+ <pre>
376
+ attr_switch :a
377
+ </pre>
378
+ <p>
379
+ is equivalent to
380
+ </p>
381
+ <pre>
382
+ def a?
383
+ @a ? true : @a
384
+ end
385
+
386
+ def a!(switch=nack)
387
+ if switch == nack
388
+ @a = ! @a
389
+ else
390
+ @a = @a ? switch : @a
391
+ self
392
+ end
393
+ end
394
+ </pre>
395
+ </div>
396
+ <div class="sourcecode">
397
+ <p class="source-link">[ <a href="javascript:toggleSource('M000191_source')" id="l_M000191_source">show source</a> ]</p>
398
+ <div id="M000191_source" class="dyn-source">
399
+ <pre>
400
+ <span class="ruby-comment cmt"># File lib/facets/core/module/attr_query.rb, line 26</span>
401
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attr_tester</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
402
+ <span class="ruby-identifier">make</span> = {}
403
+ <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span>
404
+ <span class="ruby-identifier">make</span>[<span class="ruby-node">&quot;#{a}?&quot;</span>.<span class="ruby-identifier">to_sym</span>] = <span class="ruby-node">%{ def #{a}?; @#{a} ? true : @#{a}; end }</span>
405
+ <span class="ruby-identifier">make</span>[<span class="ruby-node">&quot;#{a}!&quot;</span>.<span class="ruby-identifier">to_sym</span>] = <span class="ruby-node">%{
406
+ def #{a}!(switch=nack)
407
+ if switch==nack
408
+ @#{a} = !@#{a}
409
+ else
410
+ @#{a} = @#{a} ? switch : @#{a}
411
+ self
412
+ end
413
+ end
414
+ }</span>
415
+ }
416
+ <span class="ruby-identifier">module_eval</span> <span class="ruby-identifier">make</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>)
417
+
418
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">make</span>.<span class="ruby-identifier">keys</span>
419
+ <span class="ruby-keyword kw">end</span>
420
+ </pre>
421
+ </div>
422
+ </div>
423
+ </div>
424
+ <div class="method">
425
+ <div class="title">
426
+ <a name="M000193"></a><b>attr_validator</b>(*symbols, &amp;validator)
427
+ </div>
428
+ <div class="description">
429
+ <p>
430
+ Like attr_writer, but the writer method validates the setting against the
431
+ given block.
432
+ </p>
433
+ </div>
434
+ <div class="sourcecode">
435
+ <p class="source-link">[ <a href="javascript:toggleSource('M000193_source')" id="l_M000193_source">show source</a> ]</p>
436
+ <div id="M000193_source" class="dyn-source">
437
+ <pre>
438
+ <span class="ruby-comment cmt"># File lib/facets/core/module/attr_validator.rb, line 7</span>
439
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attr_validator</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">symbols</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">validator</span>)
440
+ <span class="ruby-identifier">symbols</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">symbol</span><span class="ruby-operator">|</span>
441
+ <span class="ruby-identifier">define_method</span> <span class="ruby-node">&quot;#{symbol}=&quot;</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
442
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">validator</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">val</span>)
443
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;Invalid value provided for #{symbol}&quot;</span>
444
+ <span class="ruby-keyword kw">end</span>
445
+ <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-node">&quot;@#{symbol}&quot;</span>, <span class="ruby-identifier">val</span>)
446
+ <span class="ruby-keyword kw">end</span>
447
+ <span class="ruby-keyword kw">end</span>
448
+ <span class="ruby-keyword kw">end</span>
449
+ </pre>
450
+ </div>
451
+ </div>
452
+ </div>
453
+ <div class="method">
454
+ <div class="title">
455
+ <a name="M000160"></a><b>basename</b>()
456
+ </div>
457
+ <div class="description">
458
+ <p>
459
+ Returns the root name of the module/class.
460
+ </p>
461
+ <pre>
462
+ module Example
463
+ class Demo
464
+ end
465
+ end
466
+
467
+ Demo.name #=&gt; Example::Demo
468
+ Demo.basename #=&gt; Demo
469
+ </pre>
470
+ <p>
471
+ For anonymous modules this will provide a basename based on Module#inspect.
472
+ </p>
473
+ <pre>
474
+ m = Module.new
475
+ m.inspect #=&gt; &quot;#&lt;Module:0xb7bb0434&gt;&quot;
476
+ m.basename #=&gt; &quot;Module_0xb7bb0434&quot;
477
+ </pre>
478
+ </div>
479
+ <div class="sourcecode">
480
+ <p class="source-link">[ <a href="javascript:toggleSource('M000160_source')" id="l_M000160_source">show source</a> ]</p>
481
+ <div id="M000160_source" class="dyn-source">
482
+ <pre>
483
+ <span class="ruby-comment cmt"># File lib/facets/core/module/basename.rb, line 20</span>
484
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">basename</span>
485
+ <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span>
486
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/^.*::/</span>, <span class="ruby-value str">''</span>)
487
+ <span class="ruby-keyword kw">else</span>
488
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">inspect</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-value str">'#&lt;'</span>,<span class="ruby-value str">''</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-value str">'&gt;'</span>,<span class="ruby-value str">''</span>).<span class="ruby-identifier">sub</span>(<span class="ruby-value str">':'</span>, <span class="ruby-value str">'_'</span>)
489
+ <span class="ruby-keyword kw">end</span>
490
+ <span class="ruby-keyword kw">end</span>
491
+ </pre>
492
+ </div>
493
+ </div>
494
+ </div>
495
+ <div class="method">
496
+ <div class="title">
497
+ <a name="M000186"></a><b>by_name</b>(name)
498
+ </div>
499
+ <div class="description">
500
+ <p>
501
+ <em>Note: the following documentation uses &quot;class&quot; because
502
+ it&#8217;s more common, but it applies to modules as well.</em>
503
+ </p>
504
+ <p>
505
+ Given the <em>name</em> of a class, returns the class itself (i.e. instance
506
+ of <a href="Class.html">Class</a>). The dereferencing starts at <a
507
+ href="Object.html">Object</a>. That is,
508
+ </p>
509
+ <pre>
510
+ Class.by_name(&quot;String&quot;)
511
+ </pre>
512
+ <p>
513
+ is equivalent to
514
+ </p>
515
+ <pre>
516
+ Object.const_get(&quot;String&quot;)
517
+ </pre>
518
+ <p>
519
+ The parameter <em>name</em> is expected to be a <a
520
+ href="Symbol.html">Symbol</a> or <a href="String.html">String</a>, or at
521
+ least to respond to <tt>to_str</tt>.
522
+ </p>
523
+ <p>
524
+ An ArgumentError is raised if <em>name</em> does not correspond to an
525
+ existing class. If <em>name</em> is not even a valid class name, the error
526
+ you&#8217;ll get is not defined.
527
+ </p>
528
+ <p>
529
+ Examples:
530
+ </p>
531
+ <pre>
532
+ Class.by_name(&quot;String&quot;) # -&gt; String
533
+ Class.by_name(&quot;::String&quot;) # -&gt; String
534
+ Class.by_name(&quot;Process::Sys&quot;) # -&gt; Process::Sys
535
+ Class.by_name(&quot;GorillaZ&quot;) # -&gt; (ArgumentError)
536
+
537
+ Class.by_name(&quot;Enumerable&quot;) # -&gt; Enumerable
538
+ Module.by_name(&quot;Enumerable&quot;) # -&gt; Enumerable
539
+ </pre>
540
+ </div>
541
+ <div class="sourcecode">
542
+ <p class="source-link">[ <a href="javascript:toggleSource('M000186_source')" id="l_M000186_source">show source</a> ]</p>
543
+ <div id="M000186_source" class="dyn-source">
544
+ <pre>
545
+ <span class="ruby-comment cmt"># File lib/facets/core/module/by_name.rb, line 37</span>
546
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">by_name</span>(<span class="ruby-identifier">name</span>)
547
+ <span class="ruby-identifier">result</span> = <span class="ruby-constant">Object</span>.<span class="ruby-identifier">constant</span>(<span class="ruby-identifier">name</span>)
548
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">result</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">kind_of?</span>( <span class="ruby-constant">Module</span> )
549
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;#{name} is not a module or class&quot;</span>
550
+ <span class="ruby-keyword kw">end</span>
551
+ </pre>
552
+ </div>
553
+ </div>
554
+ </div>
555
+ <div class="method">
556
+ <div class="title">
557
+ <a name="M000184"></a><b>clone_removing</b>( *meths )
558
+ </div>
559
+ <div class="description">
560
+ <p>
561
+ Returns an anonymous module with the specified methods of the receiving
562
+ module removed.
563
+ </p>
564
+ </div>
565
+ <div class="sourcecode">
566
+ <p class="source-link">[ <a href="javascript:toggleSource('M000184_source')" id="l_M000184_source">show source</a> ]</p>
567
+ <div id="M000184_source" class="dyn-source">
568
+ <pre>
569
+ <span class="ruby-comment cmt"># File lib/facets/core/module/clone_using.rb, line 19</span>
570
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clone_removing</span>( <span class="ruby-operator">*</span><span class="ruby-identifier">meths</span> )
571
+ <span class="ruby-identifier">mod</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
572
+ <span class="ruby-identifier">methods_to_remove</span> = <span class="ruby-identifier">meths</span>
573
+ <span class="ruby-identifier">methods_to_remove</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span> <span class="ruby-identifier">mod</span>.<span class="ruby-identifier">class_eval</span> { <span class="ruby-identifier">remove_method</span> <span class="ruby-identifier">m</span> } }
574
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">mod</span>
575
+ <span class="ruby-keyword kw">end</span>
576
+ </pre>
577
+ </div>
578
+ </div>
579
+ </div>
580
+ <div class="method">
581
+ <div class="title">
582
+ <a name="M000183"></a><b>clone_renaming</b>( pairs )
583
+ </div>
584
+ <div class="description">
585
+ <p>
586
+ Returns an anonymous module with the specified methods of the receiving
587
+ module renamed.
588
+ </p>
589
+ </div>
590
+ <div class="sourcecode">
591
+ <p class="source-link">[ <a href="javascript:toggleSource('M000183_source')" id="l_M000183_source">show source</a> ]</p>
592
+ <div id="M000183_source" class="dyn-source">
593
+ <pre>
594
+ <span class="ruby-comment cmt"># File lib/facets/core/module/clone_using.rb, line 6</span>
595
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clone_renaming</span>( <span class="ruby-identifier">pairs</span> )
596
+ <span class="ruby-identifier">mod</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
597
+ <span class="ruby-identifier">pairs</span>.<span class="ruby-identifier">each_pair</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">to_sym</span>, <span class="ruby-identifier">from_sym</span><span class="ruby-operator">|</span>
598
+ <span class="ruby-identifier">mod</span>.<span class="ruby-identifier">class_eval</span> {
599
+ <span class="ruby-identifier">alias_method</span>( <span class="ruby-identifier">to_sym</span>, <span class="ruby-identifier">from_sym</span> )
600
+ <span class="ruby-identifier">undef_method</span>( <span class="ruby-identifier">from_sym</span> )
601
+ }
602
+ }
603
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">mod</span>
604
+ <span class="ruby-keyword kw">end</span>
605
+ </pre>
606
+ </div>
607
+ </div>
608
+ </div>
609
+ <div class="method">
610
+ <div class="title">
611
+ <a name="M000185"></a><b>clone_using</b>( *meths )
612
+ </div>
613
+ <div class="description">
614
+ <p>
615
+ Returns an anonymous module with only the specified methods of the
616
+ receiving module intact.
617
+ </p>
618
+ </div>
619
+ <div class="sourcecode">
620
+ <p class="source-link">[ <a href="javascript:toggleSource('M000185_source')" id="l_M000185_source">show source</a> ]</p>
621
+ <div id="M000185_source" class="dyn-source">
622
+ <pre>
623
+ <span class="ruby-comment cmt"># File lib/facets/core/module/clone_using.rb, line 28</span>
624
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clone_using</span>( <span class="ruby-operator">*</span><span class="ruby-identifier">meths</span> )
625
+ <span class="ruby-identifier">meths</span> = <span class="ruby-identifier">meths</span>.<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span> <span class="ruby-identifier">m</span>.<span class="ruby-identifier">to_s</span> }
626
+ <span class="ruby-identifier">methods_to_remove</span> = (<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">instance_methods</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">meths</span>)
627
+ <span class="ruby-identifier">mod</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
628
+ <span class="ruby-identifier">mod</span>.<span class="ruby-identifier">class_eval</span> { <span class="ruby-identifier">methods_to_remove</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span> <span class="ruby-identifier">undef_method</span> <span class="ruby-identifier">m</span> } }
629
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">mod</span>
630
+ <span class="ruby-keyword kw">end</span>
631
+ </pre>
632
+ </div>
633
+ </div>
634
+ </div>
635
+ <div class="method">
636
+ <div class="title">
637
+ <a name="M000178"></a><b>compare_on</b>(*fields)
638
+ </div>
639
+ <div class="description">
640
+ <p>
641
+ Alias for <a href="Module.html#M000177">sort_on</a>
642
+ </p>
643
+ </div>
644
+ </div>
645
+ <div class="method">
646
+ <div class="title">
647
+ <a name="M000175"></a><b>dirname</b>()
648
+ </div>
649
+ <div class="description">
650
+ <p>
651
+ Returns the name of module&#8217;s container module.
652
+ </p>
653
+ <pre>
654
+ module Example
655
+ class Demo
656
+ end
657
+ end
658
+
659
+ Demo.name #=&gt; &quot;Example::Demo&quot;
660
+ Demo.dirname #=&gt; &quot;Example&quot;
661
+ </pre>
662
+ <p>
663
+ See also <a href="Module.html#M000160">Module#basename</a>.
664
+ </p>
665
+ </div>
666
+ <div class="sourcecode">
667
+ <p class="source-link">[ <a href="javascript:toggleSource('M000175_source')" id="l_M000175_source">show source</a> ]</p>
668
+ <div id="M000175_source" class="dyn-source">
669
+ <pre>
670
+ <span class="ruby-comment cmt"># File lib/facets/core/module/dirname.rb, line 15</span>
671
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dirname</span>
672
+ <span class="ruby-identifier">name</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/::[^:]*$/</span>, <span class="ruby-value str">''</span>)
673
+ <span class="ruby-keyword kw">end</span>
674
+ </pre>
675
+ </div>
676
+ </div>
677
+ </div>
678
+ <div class="method">
679
+ <div class="title">
680
+ <a name="M000180"></a><b>equate_on</b>(*fields)
681
+ </div>
682
+ <div class="description">
683
+ <p>
684
+ Generates identity/key methods based on specified attributes.
685
+ </p>
686
+ <pre>
687
+ equate_on :a, :b
688
+ </pre>
689
+ <p>
690
+ _is equivalent to_
691
+ </p>
692
+ <pre>
693
+ def ==(o)
694
+ self.a == o.a &amp;&amp; self.b == o.b
695
+ end
696
+
697
+ def eql?(o)
698
+ self.a.eql?(o.a) &amp;&amp; self.b.eql?(o.b)
699
+ end
700
+
701
+ def hash()
702
+ self.a.hash ^ self.b.hash
703
+ end
704
+ </pre>
705
+ </div>
706
+ <div class="aka">
707
+ This method is also aliased as
708
+ <a href="Module.html#M000181">key_attributes</a>
709
+ </div>
710
+ <div class="sourcecode">
711
+ <p class="source-link">[ <a href="javascript:toggleSource('M000180_source')" id="l_M000180_source">show source</a> ]</p>
712
+ <div id="M000180_source" class="dyn-source">
713
+ <pre>
714
+ <span class="ruby-comment cmt"># File lib/facets/core/module/equate_on.rb, line 25</span>
715
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">equate_on</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">fields</span>)
716
+ <span class="ruby-identifier">code</span> = <span class="ruby-value str">&quot;&quot;</span>
717
+ <span class="ruby-identifier">code</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;def ==(o) &quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">fields</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;self.#{f} == o.#{f}&quot;</span> }.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot; &amp;&amp; &quot;</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; end\n&quot;</span>
718
+ <span class="ruby-identifier">code</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;def eql?(o) &quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">fields</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;self.#{f}.eql?(o.#{f})&quot;</span> }.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot; &amp;&amp; &quot;</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; end\n&quot;</span>
719
+ <span class="ruby-identifier">code</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;def hash() &quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">fields</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;self.#{f}.hash&quot;</span> }.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot; ^ &quot;</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; end\n&quot;</span>
720
+ <span class="ruby-identifier">class_eval</span>( <span class="ruby-identifier">code</span> )
721
+ <span class="ruby-identifier">fields</span>
722
+ <span class="ruby-keyword kw">end</span>
723
+ </pre>
724
+ </div>
725
+ </div>
726
+ </div>
727
+ <div class="method">
728
+ <div class="title">
729
+ <a name="M000161"></a><b>generate_instance_method_name</b>( name='a' )
730
+ </div>
731
+ <div class="description">
732
+ <p>
733
+ Generates a new symbol that is unique among the inctance methods of the
734
+ class/module. If a name argument is given, it will generate a similar name.
735
+ </p>
736
+ <pre>
737
+ Class.generate_instance_method_name( :class ) =&gt; :_clast_
738
+ </pre>
739
+ </div>
740
+ <div class="sourcecode">
741
+ <p class="source-link">[ <a href="javascript:toggleSource('M000161_source')" id="l_M000161_source">show source</a> ]</p>
742
+ <div id="M000161_source" class="dyn-source">
743
+ <pre>
744
+ <span class="ruby-comment cmt"># File lib/facets/core/module/generate_instance_method_name.rb, line 10</span>
745
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate_instance_method_name</span>( <span class="ruby-identifier">name</span>=<span class="ruby-value str">'a'</span> )
746
+ <span class="ruby-identifier">s</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>
747
+ <span class="ruby-keyword kw">while</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">method_defined?</span>( <span class="ruby-node">&quot;_#{s}_&quot;</span> )
748
+ <span class="ruby-identifier">s</span> = <span class="ruby-identifier">s</span>.<span class="ruby-identifier">succ</span>
749
+ <span class="ruby-keyword kw">end</span>
750
+ <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;_#{s}_&quot;</span>.<span class="ruby-identifier">to_sym</span>
751
+ <span class="ruby-keyword kw">end</span>
752
+ </pre>
753
+ </div>
754
+ </div>
755
+ </div>
756
+ <div class="method">
757
+ <div class="title">
758
+ <a name="M000171"></a><b>include_as</b>( h )
759
+ </div>
760
+ <div class="description">
761
+ <p>
762
+ Include a module via a specified namespace.
763
+ </p>
764
+ <pre>
765
+ module T
766
+ def t ; &quot;HERE&quot; ; end
767
+ end
768
+
769
+ class X
770
+ include_as :test =&gt; T
771
+ def t ; test.t ; end
772
+ end
773
+
774
+ X.new.t #=&gt; &quot;HERE&quot;
775
+ </pre>
776
+ </div>
777
+ <div class="sourcecode">
778
+ <p class="source-link">[ <a href="javascript:toggleSource('M000171_source')" id="l_M000171_source">show source</a> ]</p>
779
+ <div id="M000171_source" class="dyn-source">
780
+ <pre>
781
+ <span class="ruby-comment cmt"># File lib/facets/core/module/include_as.rb, line 19</span>
782
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">include_as</span>( <span class="ruby-identifier">h</span> )
783
+ <span class="ruby-identifier">h</span>.<span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">mod</span><span class="ruby-operator">|</span>
784
+ <span class="ruby-identifier">s</span> = <span class="ruby-keyword kw">self</span>
785
+ <span class="ruby-identifier">c</span> = <span class="ruby-constant">Class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">SimpleDelegator</span>) {
786
+ <span class="ruby-identifier">include</span> <span class="ruby-identifier">mod</span>
787
+ <span class="ruby-identifier">define_method</span>(<span class="ruby-identifier">:initialize</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">s</span>) }
788
+ }
789
+ <span class="ruby-identifier">class_eval</span> {
790
+ <span class="ruby-identifier">define_method</span>( <span class="ruby-identifier">name</span> ) {
791
+ <span class="ruby-identifier">instance_variable_set</span>( <span class="ruby-node">&quot;@#{name}&quot;</span>, <span class="ruby-identifier">instance_variable_get</span>( <span class="ruby-node">&quot;@#{name}&quot;</span> ) <span class="ruby-operator">||</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">s</span>) )
792
+ }
793
+ }
794
+ }
795
+ <span class="ruby-keyword kw">end</span>
796
+ </pre>
797
+ </div>
798
+ </div>
799
+ </div>
800
+ <div class="method">
801
+ <div class="title">
802
+ <a name="M000192"></a><b>inherit</b>( mod )
803
+ </div>
804
+ <div class="sourcecode">
805
+ <p class="source-link">[ <a href="javascript:toggleSource('M000192_source')" id="l_M000192_source">show source</a> ]</p>
806
+ <div id="M000192_source" class="dyn-source">
807
+ <pre>
808
+ <span class="ruby-comment cmt"># File lib/facets/core/module/inherit.rb, line 7</span>
809
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inherit</span>( <span class="ruby-identifier">mod</span> )
810
+ <span class="ruby-identifier">smod</span> = <span class="ruby-identifier">mod</span>.<span class="ruby-identifier">singleton_to_module</span>
811
+ <span class="ruby-comment cmt">#smethods -= ['included'] if Class === self</span>
812
+ <span class="ruby-identifier">extend</span> <span class="ruby-identifier">smod</span>
813
+ <span class="ruby-identifier">include</span> <span class="ruby-identifier">mod</span>
814
+ <span class="ruby-keyword kw">nil</span>
815
+ <span class="ruby-keyword kw">end</span>
816
+ </pre>
817
+ </div>
818
+ </div>
819
+ </div>
820
+ <div class="method">
821
+ <div class="title">
822
+ <a name="M000153"></a><b>initializer</b>(*attributes, &amp;block)
823
+ </div>
824
+ <div class="description">
825
+ <p>
826
+ Automatically create an initializer assigning the given arguments.
827
+ </p>
828
+ <pre>
829
+ class MyClass
830
+ initializer(:a, &quot;b&quot;, :c)
831
+ end
832
+ </pre>
833
+ <p>
834
+ _is equivalent to_
835
+ </p>
836
+ <pre>
837
+ class MyClass
838
+ def initialize(a, b, c)
839
+ @a,@b,@c = a,b,c
840
+ end
841
+ end
842
+ </pre>
843
+ <p>
844
+ Downside: Initializers defined like this can&#8217;t take blocks. This can
845
+ be fixed when Ruby 1.9 is out.
846
+ </p>
847
+ <p>
848
+ The initializer will not raise an Exception when the user does not supply a
849
+ value for each instance variable. In that case it will just set the
850
+ instance variable to nil. You can assign default values or raise an
851
+ Exception in the block.
852
+ </p>
853
+ </div>
854
+ <div class="sourcecode">
855
+ <p class="source-link">[ <a href="javascript:toggleSource('M000153_source')" id="l_M000153_source">show source</a> ]</p>
856
+ <div id="M000153_source" class="dyn-source">
857
+ <pre>
858
+ <span class="ruby-comment cmt"># File lib/facets/core/module/initializer.rb, line 27</span>
859
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initializer</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">attributes</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
860
+ <span class="ruby-identifier">define_method</span>(<span class="ruby-identifier">:initialize</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-operator">*</span><span class="ruby-identifier">args</span><span class="ruby-operator">|</span>
861
+ <span class="ruby-identifier">attributes</span>.<span class="ruby-identifier">zip</span>(<span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">sym</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
862
+ <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-node">&quot;@#{sym}&quot;</span>, <span class="ruby-identifier">value</span>)
863
+ <span class="ruby-keyword kw">end</span>
864
+
865
+ <span class="ruby-identifier">instance_eval</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block</span>
866
+ <span class="ruby-keyword kw">end</span>
867
+ <span class="ruby-keyword kw">end</span>
868
+ </pre>
869
+ </div>
870
+ </div>
871
+ </div>
872
+ <div class="method">
873
+ <div class="title">
874
+ <a name="M000150"></a><b>instance_method!</b>(s)
875
+ </div>
876
+ <div class="description">
877
+ <p>
878
+ Easy access to method as objects, and they retain state!
879
+ </p>
880
+ <pre>
881
+ module K
882
+ def hello
883
+ puts &quot;Hello World!&quot;
884
+ end
885
+ end
886
+ p K.instance_method!(:hello) #=&gt; &lt;UnboundMethod: #hello&gt;
887
+ </pre>
888
+ <p>
889
+ CAUTION! This will not work exactly right until class variable lookup is
890
+ fixed. Presently it is limited to the scope of the current module/class.
891
+ </p>
892
+ </div>
893
+ <div class="sourcecode">
894
+ <p class="source-link">[ <a href="javascript:toggleSource('M000150_source')" id="l_M000150_source">show source</a> ]</p>
895
+ <div id="M000150_source" class="dyn-source">
896
+ <pre>
897
+ <span class="ruby-comment cmt"># File lib/facets/core/kernel/method.rb, line 61</span>
898
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">instance_method!</span>(<span class="ruby-identifier">s</span>)
899
+ <span class="ruby-comment cmt">#( @@__instance_methods__ ||= {} )[s] ||= instance_method(s) # TODO when fixed</span>
900
+ ( <span class="ruby-ivar">@__instance_methods__</span> <span class="ruby-operator">||=</span> {} )[<span class="ruby-identifier">s</span>] <span class="ruby-operator">||=</span> <span class="ruby-identifier">instance_method</span>(<span class="ruby-identifier">s</span>)
901
+ <span class="ruby-keyword kw">end</span>
902
+ </pre>
903
+ </div>
904
+ </div>
905
+ </div>
906
+ <div class="method">
907
+ <div class="title">
908
+ <a name="M000157"></a><b>instance_methods</b>(*args)
909
+ </div>
910
+ <div class="description">
911
+ <p>
912
+ Provides an improved method lookup routnine. It returns a list of methods
913
+ according to symbol(s) given.
914
+ </p>
915
+ <p>
916
+ Recognized symbols are:
917
+ </p>
918
+ <ul>
919
+ <li><tt>:public</tt> include public methods
920
+
921
+ </li>
922
+ <li><tt>:private</tt> include private methods
923
+
924
+ </li>
925
+ <li><tt>:protected</tt> include protected methods
926
+
927
+ </li>
928
+ <li><tt>:ancestors</tt> include all ancestor&#8217;s methods
929
+
930
+ </li>
931
+ <li><tt>:inherited</tt> (same as above)
932
+
933
+ </li>
934
+ <li>&lt;tt&gt;:local&lt;/tti&gt; include non-ancestor methods
935
+
936
+ </li>
937
+ <li><tt>:all</tt> include all of the above
938
+
939
+ </li>
940
+ </ul>
941
+ <p>
942
+ This method also uses the symbol-not system. So you can specify the inverse
943
+ of all of the above. For instance ~:public would mean :private, :protected
944
+ (see facet/symbol/not).
945
+ </p>
946
+ <p>
947
+ If no symbol is given then :public, :local is assumed. Unrecognized symbols
948
+ raise an error.
949
+ </p>
950
+ <pre>
951
+ module Demo
952
+ def test
953
+ puts(&quot;Hello World!&quot;)
954
+ end
955
+ end
956
+
957
+ Demo.instance_methods(:local) #=&gt; ['test']
958
+ </pre>
959
+ <p>
960
+ To maintain backward compatibility <tt>true</tt> as an intitial argument is
961
+ converted to :local, :ancestors (i.e. it includes both).
962
+ </p>
963
+ </div>
964
+ <div class="sourcecode">
965
+ <p class="source-link">[ <a href="javascript:toggleSource('M000157_source')" id="l_M000157_source">show source</a> ]</p>
966
+ <div id="M000157_source" class="dyn-source">
967
+ <pre>
968
+ <span class="ruby-comment cmt"># File lib/facets/core/module/instance_methods.rb, line 40</span>
969
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">instance_methods</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
970
+
971
+ <span class="ruby-comment cmt"># for backward compatibility</span>
972
+ <span class="ruby-identifier">args</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">empty?</span>
973
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
974
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">TrueClass</span>
975
+ <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span>
976
+ <span class="ruby-identifier">args</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">:ancestors</span>
977
+ <span class="ruby-identifier">args</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">:local</span>
978
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">FalseClass</span>
979
+ <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span>
980
+ <span class="ruby-identifier">args</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">:local</span>
981
+ <span class="ruby-keyword kw">end</span>
982
+
983
+ <span class="ruby-comment cmt"># default public, local</span>
984
+ <span class="ruby-identifier">args</span> <span class="ruby-operator">|=</span> [<span class="ruby-identifier">:public</span>] <span class="ruby-keyword kw">unless</span> [<span class="ruby-identifier">:publix</span>,<span class="ruby-identifier">:private</span>,<span class="ruby-identifier">:protected</span>,<span class="ruby-identifier">:all</span>].<span class="ruby-identifier">any?</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">a</span>) }
985
+ <span class="ruby-identifier">args</span> <span class="ruby-operator">|=</span> [<span class="ruby-identifier">:ancestors</span>,<span class="ruby-identifier">:local</span>] <span class="ruby-keyword kw">unless</span> [<span class="ruby-identifier">:ancestors</span>,<span class="ruby-identifier">:inherited</span>,<span class="ruby-identifier">:local</span>,<span class="ruby-identifier">:all</span>].<span class="ruby-identifier">any?</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">a</span>) }
986
+
987
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">any?</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span> <span class="ruby-constant">METHOD_TYPES</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">a</span>) }
988
+
989
+ <span class="ruby-identifier">pos</span>, <span class="ruby-identifier">neg</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">partition</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">not?</span> }
990
+
991
+ <span class="ruby-identifier">m</span> = []
992
+
993
+ <span class="ruby-identifier">pos</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span>
994
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">n</span>
995
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:inherited</span>, <span class="ruby-identifier">:ancestors</span>
996
+ <span class="ruby-identifier">m</span> <span class="ruby-operator">|=</span> ( <span class="ruby-identifier">public_instance_methods</span>( <span class="ruby-keyword kw">true</span> ) <span class="ruby-operator">-</span> <span class="ruby-identifier">public_instance_methods</span>( <span class="ruby-keyword kw">false</span> ) ) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pos</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">:public</span>)
997
+ <span class="ruby-identifier">m</span> <span class="ruby-operator">|=</span> ( <span class="ruby-identifier">private_instance_methods</span>( <span class="ruby-keyword kw">true</span> ) <span class="ruby-operator">-</span> <span class="ruby-identifier">private_instance_methods</span>( <span class="ruby-keyword kw">false</span> ) ) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pos</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">:private</span>)
998
+ <span class="ruby-identifier">m</span> <span class="ruby-operator">|=</span> ( <span class="ruby-identifier">protected_instance_methods</span>( <span class="ruby-keyword kw">true</span> ) <span class="ruby-operator">-</span> <span class="ruby-identifier">protected_instance_methods</span>( <span class="ruby-keyword kw">false</span> ) ) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pos</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">:protected</span>)
999
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:local</span>
1000
+ <span class="ruby-identifier">m</span> <span class="ruby-operator">|=</span> <span class="ruby-identifier">public_instance_methods</span>( <span class="ruby-keyword kw">false</span> ) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pos</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">:public</span>)
1001
+ <span class="ruby-identifier">m</span> <span class="ruby-operator">|=</span> <span class="ruby-identifier">private_instance_methods</span>( <span class="ruby-keyword kw">false</span> ) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pos</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">:private</span>)
1002
+ <span class="ruby-identifier">m</span> <span class="ruby-operator">|=</span> <span class="ruby-identifier">protected_instance_methods</span>( <span class="ruby-keyword kw">false</span> ) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pos</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">:protected</span>)
1003
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:all</span>
1004
+ <span class="ruby-identifier">m</span> <span class="ruby-operator">|=</span> <span class="ruby-identifier">public_instance_methods</span>( <span class="ruby-keyword kw">true</span> )
1005
+ <span class="ruby-identifier">m</span> <span class="ruby-operator">|=</span> <span class="ruby-identifier">private_instance_methods</span>( <span class="ruby-keyword kw">true</span> )
1006
+ <span class="ruby-identifier">m</span> <span class="ruby-operator">|=</span> <span class="ruby-identifier">protected_instance_methods</span>( <span class="ruby-keyword kw">true</span> )
1007
+ <span class="ruby-keyword kw">end</span>
1008
+ <span class="ruby-keyword kw">end</span>
1009
+
1010
+ <span class="ruby-identifier">neg</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span>
1011
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">n</span>
1012
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:public</span>
1013
+ <span class="ruby-identifier">m</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">public_instance_methods</span>( <span class="ruby-keyword kw">true</span> )
1014
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:private</span>
1015
+ <span class="ruby-identifier">m</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">private_instance_methods</span>( <span class="ruby-keyword kw">true</span> )
1016
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:protected</span>
1017
+ <span class="ruby-identifier">m</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">protected_instance_methods</span>( <span class="ruby-keyword kw">true</span> )
1018
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:inherited</span>, <span class="ruby-identifier">:ancestors</span>
1019
+ <span class="ruby-identifier">m</span> <span class="ruby-operator">-=</span> ( <span class="ruby-identifier">public_instance_methods</span>( <span class="ruby-keyword kw">true</span> ) <span class="ruby-operator">-</span> <span class="ruby-identifier">public_instance_methods</span>( <span class="ruby-keyword kw">false</span> ) )
1020
+ <span class="ruby-identifier">m</span> <span class="ruby-operator">-=</span> ( <span class="ruby-identifier">private_instance_methods</span>( <span class="ruby-keyword kw">true</span> ) <span class="ruby-operator">-</span> <span class="ruby-identifier">private_instance_methods</span>( <span class="ruby-keyword kw">false</span> ) )
1021
+ <span class="ruby-identifier">m</span> <span class="ruby-operator">-=</span> ( <span class="ruby-identifier">protected_instance_methods</span>( <span class="ruby-keyword kw">true</span> ) <span class="ruby-operator">-</span> <span class="ruby-identifier">protected_instance_methods</span>( <span class="ruby-keyword kw">false</span> ) )
1022
+ <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:local</span>
1023
+ <span class="ruby-identifier">m</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">public_instance_methods</span>( <span class="ruby-keyword kw">false</span> )
1024
+ <span class="ruby-identifier">m</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">private_instance_methods</span>( <span class="ruby-keyword kw">false</span> )
1025
+ <span class="ruby-identifier">m</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">protected_instance_methods</span>( <span class="ruby-keyword kw">false</span> )
1026
+ <span class="ruby-keyword kw">end</span>
1027
+ <span class="ruby-keyword kw">end</span>
1028
+
1029
+ <span class="ruby-identifier">m</span>.<span class="ruby-identifier">sort</span>
1030
+ <span class="ruby-keyword kw">end</span>
1031
+ </pre>
1032
+ </div>
1033
+ </div>
1034
+ </div>
1035
+ <div class="method">
1036
+ <div class="title">
1037
+ <a name="M000159"></a><b>integrate</b>( mod, &amp;block )
1038
+ </div>
1039
+ <div class="sourcecode">
1040
+ <p class="source-link">[ <a href="javascript:toggleSource('M000159_source')" id="l_M000159_source">show source</a> ]</p>
1041
+ <div id="M000159_source" class="dyn-source">
1042
+ <pre>
1043
+ <span class="ruby-comment cmt"># File lib/facets/core/module/integrate.rb, line 39</span>
1044
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">integrate</span>( <span class="ruby-identifier">mod</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span> )
1045
+ <span class="ruby-comment cmt">#include mod.revisal( &amp;blk )</span>
1046
+ <span class="ruby-identifier">m</span> = <span class="ruby-constant">Module</span>.<span class="ruby-identifier">new</span> { <span class="ruby-identifier">include</span> <span class="ruby-identifier">mod</span> }
1047
+ <span class="ruby-identifier">m</span>.<span class="ruby-identifier">class_eval</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>
1048
+ <span class="ruby-identifier">include</span> <span class="ruby-identifier">m</span>
1049
+ <span class="ruby-keyword kw">end</span>
1050
+ </pre>
1051
+ </div>
1052
+ </div>
1053
+ </div>
1054
+ <div class="method">
1055
+ <div class="title">
1056
+ <a name="M000155"></a><b>is?</b>( base )
1057
+ </div>
1058
+ <div class="description">
1059
+ <p>
1060
+ Is a given class or module an ancestor of this class or module?
1061
+ </p>
1062
+ <pre>
1063
+ class X ; end
1064
+ class Y &lt; X ; end
1065
+
1066
+ Y.is?(X) #=&gt; true
1067
+ </pre>
1068
+ </div>
1069
+ <div class="sourcecode">
1070
+ <p class="source-link">[ <a href="javascript:toggleSource('M000155_source')" id="l_M000155_source">show source</a> ]</p>
1071
+ <div id="M000155_source" class="dyn-source">
1072
+ <pre>
1073
+ <span class="ruby-comment cmt"># File lib/facets/core/module/is.rb, line 22</span>
1074
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">is?</span>( <span class="ruby-identifier">base</span> )
1075
+ <span class="ruby-identifier">ancestors</span>.<span class="ruby-identifier">slice</span>(<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>).<span class="ruby-identifier">include?</span>( <span class="ruby-identifier">base</span> )
1076
+ <span class="ruby-keyword kw">end</span>
1077
+ </pre>
1078
+ </div>
1079
+ </div>
1080
+ </div>
1081
+ <div class="method">
1082
+ <div class="title">
1083
+ <a name="M000181"></a><b>key_attributes</b>(*fields)
1084
+ </div>
1085
+ <div class="description">
1086
+ <p>
1087
+ Alias for <a href="Module.html#M000180">equate_on</a>
1088
+ </p>
1089
+ </div>
1090
+ </div>
1091
+ <div class="method">
1092
+ <div class="title">
1093
+ <a name="M000187"></a><b>memoize</b>(*meths)
1094
+ </div>
1095
+ <div class="description">
1096
+ <p>
1097
+ Directive for making your functions faster by trading space for time. When
1098
+ you &quot;memoize&quot; a method/function its results are cached so that
1099
+ later calls with the same arguments returns results in the cache instead of
1100
+ recalculating them.
1101
+ </p>
1102
+ <pre>
1103
+ class T
1104
+ def initialize(a)
1105
+ @a = a
1106
+ end
1107
+ def a
1108
+ &quot;#{@a ^ 3 + 4}&quot;
1109
+ end
1110
+ memoize :a
1111
+ end
1112
+
1113
+ t = T.new
1114
+ t.a.__id__ == t.a.__id__ #=&gt; true
1115
+ </pre>
1116
+ </div>
1117
+ <div class="sourcecode">
1118
+ <p class="source-link">[ <a href="javascript:toggleSource('M000187_source')" id="l_M000187_source">show source</a> ]</p>
1119
+ <div id="M000187_source" class="dyn-source">
1120
+ <pre>
1121
+ <span class="ruby-comment cmt"># File lib/facets/core/module/memoize.rb, line 26</span>
1122
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">memoize</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">meths</span>)
1123
+ <span class="ruby-ivar">@_MEMOIZE_CACHE</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
1124
+ <span class="ruby-identifier">meths</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">meth</span><span class="ruby-operator">|</span>
1125
+ <span class="ruby-identifier">mc</span> = <span class="ruby-ivar">@_MEMOIZE_CACHE</span>[<span class="ruby-identifier">meth</span>] = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
1126
+ <span class="ruby-identifier">old</span> = <span class="ruby-identifier">instance_method</span>(<span class="ruby-identifier">meth</span>)
1127
+ <span class="ruby-identifier">new</span> = <span class="ruby-identifier">proc</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-operator">*</span><span class="ruby-identifier">args</span><span class="ruby-operator">|</span>
1128
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">mc</span>.<span class="ruby-identifier">has_key?</span> <span class="ruby-identifier">args</span>
1129
+ <span class="ruby-identifier">mc</span>[<span class="ruby-identifier">args</span>]
1130
+ <span class="ruby-keyword kw">else</span>
1131
+ <span class="ruby-identifier">mc</span>[<span class="ruby-identifier">args</span>] = <span class="ruby-identifier">old</span>.<span class="ruby-identifier">bind</span>(<span class="ruby-keyword kw">self</span>).<span class="ruby-identifier">call</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
1132
+ <span class="ruby-keyword kw">end</span>
1133
+ <span class="ruby-keyword kw">end</span>
1134
+ <span class="ruby-identifier">send</span>(<span class="ruby-identifier">:define_method</span>, <span class="ruby-identifier">meth</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">new</span>)
1135
+ <span class="ruby-keyword kw">end</span>
1136
+ <span class="ruby-keyword kw">end</span>
1137
+ </pre>
1138
+ </div>
1139
+ </div>
1140
+ </div>
1141
+ <div class="method">
1142
+ <div class="title">
1143
+ <a name="M000156"></a><b>modspace</b>()
1144
+ </div>
1145
+ <div class="description">
1146
+ <p>
1147
+ Returns the module&#8217;s container module.
1148
+ </p>
1149
+ <pre>
1150
+ module Example
1151
+ class Demo
1152
+ end
1153
+ end
1154
+
1155
+ Demo.modspace #=&gt; Example
1156
+ </pre>
1157
+ <p>
1158
+ See also <a href="Module.html#M000160">Module#basename</a>.
1159
+ </p>
1160
+ </div>
1161
+ <div class="sourcecode">
1162
+ <p class="source-link">[ <a href="javascript:toggleSource('M000156_source')" id="l_M000156_source">show source</a> ]</p>
1163
+ <div id="M000156_source" class="dyn-source">
1164
+ <pre>
1165
+ <span class="ruby-comment cmt"># File lib/facets/core/module/modspace.rb, line 17</span>
1166
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">modspace</span>
1167
+ <span class="ruby-identifier">eval</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span>[ <span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">rindex</span>( <span class="ruby-value str">'::'</span> ) ]
1168
+ <span class="ruby-keyword kw">end</span>
1169
+ </pre>
1170
+ </div>
1171
+ </div>
1172
+ </div>
1173
+ <div class="method">
1174
+ <div class="title">
1175
+ <a name="M000165"></a><b>namespace</b>( name, &amp;blk )
1176
+ </div>
1177
+ <div class="description">
1178
+ <p>
1179
+ Create a seperated method namespace.
1180
+ </p>
1181
+ <pre>
1182
+ module T
1183
+ def t ; &quot;HERE&quot; ; end
1184
+ end
1185
+
1186
+ class X
1187
+ namespace :test { include T }
1188
+ def t ; test.t ; end
1189
+ end
1190
+
1191
+ X.new.t #=&gt; &quot;HERE&quot;
1192
+ </pre>
1193
+ <p>
1194
+ NOTE: This is not as functional as it ought be in that the instance
1195
+ variables of the object are not accessible within the namespace.
1196
+ </p>
1197
+ </div>
1198
+ <div class="sourcecode">
1199
+ <p class="source-link">[ <a href="javascript:toggleSource('M000165_source')" id="l_M000165_source">show source</a> ]</p>
1200
+ <div id="M000165_source" class="dyn-source">
1201
+ <pre>
1202
+ <span class="ruby-comment cmt"># File lib/facets/core/module/namespace.rb, line 22</span>
1203
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">namespace</span>( <span class="ruby-identifier">name</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span> )
1204
+ <span class="ruby-identifier">s</span> = <span class="ruby-keyword kw">self</span>
1205
+ <span class="ruby-identifier">c</span> = <span class="ruby-constant">Class</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">SimpleDelegator</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
1206
+ <span class="ruby-identifier">c</span>.<span class="ruby-identifier">class_eval</span> { <span class="ruby-identifier">define_method</span>(<span class="ruby-identifier">:initialize</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">s</span>) } }
1207
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class_eval</span> {
1208
+ <span class="ruby-identifier">define_method</span>( <span class="ruby-identifier">name</span> ) {
1209
+ <span class="ruby-identifier">instance_variable_set</span>( <span class="ruby-node">&quot;@#{name}&quot;</span>, <span class="ruby-identifier">instance_variable_get</span>( <span class="ruby-node">&quot;@#{name}&quot;</span> ) <span class="ruby-operator">||</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">s</span>) )
1210
+ }
1211
+ }
1212
+ <span class="ruby-keyword kw">end</span>
1213
+ </pre>
1214
+ </div>
1215
+ </div>
1216
+ </div>
1217
+ <div class="method">
1218
+ <div class="title">
1219
+ <a name="M000168"></a><b>nesting</b>()
1220
+ </div>
1221
+ <div class="sourcecode">
1222
+ <p class="source-link">[ <a href="javascript:toggleSource('M000168_source')" id="l_M000168_source">show source</a> ]</p>
1223
+ <div id="M000168_source" class="dyn-source">
1224
+ <pre>
1225
+ <span class="ruby-comment cmt"># File lib/facets/core/module/nesting.rb, line 8</span>
1226
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nesting</span>
1227
+ <span class="ruby-identifier">n</span> = []
1228
+ <span class="ruby-identifier">name</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/::/</span>).<span class="ruby-identifier">inject</span>(<span class="ruby-keyword kw">self</span>){ <span class="ruby-operator">|</span><span class="ruby-identifier">mod</span>, <span class="ruby-identifier">name</span><span class="ruby-operator">|</span> <span class="ruby-identifier">c</span> = <span class="ruby-identifier">mod</span>.<span class="ruby-identifier">const_get</span>(<span class="ruby-identifier">name</span>) ; <span class="ruby-identifier">n</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">c</span> ; <span class="ruby-identifier">c</span> }
1229
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">n</span>
1230
+ <span class="ruby-keyword kw">end</span>
1231
+ </pre>
1232
+ </div>
1233
+ </div>
1234
+ </div>
1235
+ <div class="method">
1236
+ <div class="title">
1237
+ <a name="M000190"></a><b>on_included</b>(code)
1238
+ </div>
1239
+ <div class="description">
1240
+ <p>
1241
+ A useful macro for dynamic modules.
1242
+ </p>
1243
+ </div>
1244
+ <div class="sourcecode">
1245
+ <p class="source-link">[ <a href="javascript:toggleSource('M000190_source')" id="l_M000190_source">show source</a> ]</p>
1246
+ <div id="M000190_source" class="dyn-source">
1247
+ <pre>
1248
+ <span class="ruby-comment cmt"># File lib/facets/core/module/on_included.rb, line 13</span>
1249
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">on_included</span>(<span class="ruby-identifier">code</span>)
1250
+ <span class="ruby-identifier">tag</span> = <span class="ruby-identifier">caller</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">split</span>(<span class="ruby-value str">' '</span>).<span class="ruby-identifier">first</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/\/|\\/</span>).<span class="ruby-identifier">last</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/:|\.|\(|\)/</span>, <span class="ruby-value str">'_'</span>)
1251
+ <span class="ruby-identifier">old</span> = <span class="ruby-node">&quot;__included_#{tag}&quot;</span>
1252
+ <span class="ruby-identifier">module_eval</span> <span class="ruby-node">%{
1253
+ class &lt;&lt; self
1254
+ alias_method :#{old}, :included
1255
+ def included(base)
1256
+ #{old}(base)
1257
+ #{code}
1258
+ end
1259
+ end
1260
+ }</span>
1261
+ <span class="ruby-keyword kw">end</span>
1262
+ </pre>
1263
+ </div>
1264
+ </div>
1265
+ </div>
1266
+ <div class="method">
1267
+ <div class="title">
1268
+ <a name="M000152"></a><b>redirect_method</b>( method_hash )
1269
+ </div>
1270
+ <div class="description">
1271
+ <p>
1272
+ Redirect methods to other methods. This simply defines methods by the name
1273
+ of a hash key which calls the method with the name of the hash&#8217;s
1274
+ value.
1275
+ </p>
1276
+ <pre>
1277
+ class Example
1278
+ redirect_method :hi =&gt; :hello, :hey =&gt; :hello
1279
+ def hello(name)
1280
+ puts &quot;Hello, #{name}.&quot;
1281
+ end
1282
+ end
1283
+
1284
+ e = Example.new
1285
+ e.hello(&quot;Bob&quot;) #=&gt; &quot;Hello, Bob.&quot;
1286
+ e.hi(&quot;Bob&quot;) #=&gt; &quot;Hello, Bob.&quot;
1287
+ e.hey(&quot;Bob&quot;) #=&gt; &quot;Hello, Bob.&quot;
1288
+ </pre>
1289
+ <p>
1290
+ The above class definition is equivalent to:
1291
+ </p>
1292
+ <pre>
1293
+ class Example
1294
+ def hi(*args)
1295
+ hello(*args)
1296
+ end
1297
+ def hey(*args)
1298
+ hello(*args)
1299
+ end
1300
+ def hello
1301
+ puts &quot;Hello&quot;
1302
+ end
1303
+ end
1304
+ </pre>
1305
+ </div>
1306
+ <div class="aka">
1307
+ This method is also aliased as
1308
+ <a href="Module.html#M000162">redirect</a>
1309
+ </div>
1310
+ <div class="sourcecode">
1311
+ <p class="source-link">[ <a href="javascript:toggleSource('M000152_source')" id="l_M000152_source">show source</a> ]</p>
1312
+ <div id="M000152_source" class="dyn-source">
1313
+ <pre>
1314
+ <span class="ruby-comment cmt"># File lib/facets/core/module/redirect_method.rb, line 33</span>
1315
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">redirect_method</span>( <span class="ruby-identifier">method_hash</span> )
1316
+ <span class="ruby-identifier">method_hash</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">targ</span>,<span class="ruby-identifier">adv</span><span class="ruby-operator">|</span>
1317
+ <span class="ruby-identifier">define_method</span>(<span class="ruby-identifier">targ</span>) { <span class="ruby-operator">|</span><span class="ruby-operator">*</span><span class="ruby-identifier">args</span><span class="ruby-operator">|</span> <span class="ruby-identifier">send</span>(<span class="ruby-identifier">adv</span>,<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>) }
1318
+ <span class="ruby-keyword kw">end</span>
1319
+ <span class="ruby-keyword kw">end</span>
1320
+ </pre>
1321
+ </div>
1322
+ </div>
1323
+ </div>
1324
+ <div class="method">
1325
+ <div class="title">
1326
+ <a name="M000189"></a><b>revisal</b>( &amp;blk )
1327
+ </div>
1328
+ <div class="sourcecode">
1329
+ <p class="source-link">[ <a href="javascript:toggleSource('M000189_source')" id="l_M000189_source">show source</a> ]</p>
1330
+ <div id="M000189_source" class="dyn-source">
1331
+ <pre>
1332
+ <span class="ruby-comment cmt"># File lib/facets/core/module/revisal.rb, line 10</span>
1333
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">revisal</span>( <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span> )
1334
+ <span class="ruby-identifier">base</span> = <span class="ruby-keyword kw">self</span>
1335
+ <span class="ruby-identifier">nm</span> = <span class="ruby-constant">Module</span>.<span class="ruby-identifier">new</span> { <span class="ruby-identifier">include</span> <span class="ruby-identifier">base</span> }
1336
+ <span class="ruby-identifier">nm</span>.<span class="ruby-identifier">class_eval</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>
1337
+ <span class="ruby-identifier">nm</span>
1338
+ <span class="ruby-keyword kw">end</span>
1339
+ </pre>
1340
+ </div>
1341
+ </div>
1342
+ </div>
1343
+ <div class="method">
1344
+ <div class="title">
1345
+ <a name="M000154"></a><b>shadow_all</b>( include_ancestors=true )
1346
+ </div>
1347
+ <div class="description">
1348
+ <p>
1349
+ Creates a shadow method for every currently defined method.
1350
+ </p>
1351
+ </div>
1352
+ <div class="sourcecode">
1353
+ <p class="source-link">[ <a href="javascript:toggleSource('M000154_source')" id="l_M000154_source">show source</a> ]</p>
1354
+ <div id="M000154_source" class="dyn-source">
1355
+ <pre>
1356
+ <span class="ruby-comment cmt"># File lib/facets/core/module/shadow_all.rb, line 5</span>
1357
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shadow_all</span>( <span class="ruby-identifier">include_ancestors</span>=<span class="ruby-keyword kw">true</span> )
1358
+ <span class="ruby-identifier">instance_methods</span>(<span class="ruby-identifier">include_ancestors</span>).<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span> <span class="ruby-identifier">shadow_method</span>( <span class="ruby-identifier">m</span> ) }
1359
+ <span class="ruby-keyword kw">end</span>
1360
+ </pre>
1361
+ </div>
1362
+ </div>
1363
+ </div>
1364
+ <div class="method">
1365
+ <div class="title">
1366
+ <a name="M000163"></a><b>shadow_method</b>( name, old_name=name )
1367
+ </div>
1368
+ <div class="description">
1369
+ <p>
1370
+ Define a shadow alias for a method.
1371
+ </p>
1372
+ <pre>
1373
+ class X
1374
+ shadow_method( :class )
1375
+ end
1376
+
1377
+ X.new.__class__ #=&gt; X
1378
+ </pre>
1379
+ </div>
1380
+ <div class="sourcecode">
1381
+ <p class="source-link">[ <a href="javascript:toggleSource('M000163_source')" id="l_M000163_source">show source</a> ]</p>
1382
+ <div id="M000163_source" class="dyn-source">
1383
+ <pre>
1384
+ <span class="ruby-comment cmt"># File lib/facets/core/module/shadow_method.rb, line 11</span>
1385
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shadow_method</span>( <span class="ruby-identifier">name</span>, <span class="ruby-identifier">old_name</span>=<span class="ruby-identifier">name</span> )
1386
+ <span class="ruby-identifier">name</span>, <span class="ruby-identifier">old_name</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-identifier">old_name</span>.<span class="ruby-identifier">to_s</span>
1387
+ <span class="ruby-identifier">shadow_name</span> = <span class="ruby-value str">'__'</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/([=?!])$/</span>, <span class="ruby-value str">''</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'__'</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_s</span>
1388
+ <span class="ruby-identifier">alias_method</span>( <span class="ruby-identifier">shadow_name</span>, <span class="ruby-identifier">old_name</span> )
1389
+ <span class="ruby-keyword kw">end</span>
1390
+ </pre>
1391
+ </div>
1392
+ </div>
1393
+ </div>
1394
+ <div class="method">
1395
+ <div class="title">
1396
+ <a name="M000194"></a><b>singleton_to_module</b>(
1397
+ </div>
1398
+ <div class="sourcecode">
1399
+ <p class="source-link">[ <a href="javascript:toggleSource('M000194_source')" id="l_M000194_source">show source</a> ]</p>
1400
+ <div id="M000194_source" class="dyn-source">
1401
+ <pre>
1402
+ <span class="ruby-comment cmt"># File lib/facets/core/module/singleton_to_module.rb, line 11</span>
1403
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">singleton_to_module</span> <span class="ruby-comment cmt">#( include_ancestors=false )</span>
1404
+ <span class="ruby-identifier">new_module</span> = <span class="ruby-constant">Module</span>.<span class="ruby-identifier">new</span>
1405
+ <span class="ruby-identifier">klass</span> = <span class="ruby-keyword kw">self</span>
1406
+ <span class="ruby-identifier">meths</span> = <span class="ruby-identifier">singleton_methods</span>(<span class="ruby-keyword kw">true</span>) <span class="ruby-comment cmt">#-= ['included']</span>
1407
+ <span class="ruby-identifier">meths</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span>
1408
+ <span class="ruby-identifier">new_module</span>.<span class="ruby-identifier">class_eval</span> <span class="ruby-keyword kw">do</span>
1409
+ <span class="ruby-identifier">define_method</span>(<span class="ruby-identifier">m</span>, <span class="ruby-operator">&amp;</span>(<span class="ruby-identifier">klass</span>.<span class="ruby-identifier">method</span>(<span class="ruby-identifier">m</span>)))
1410
+ <span class="ruby-keyword kw">end</span>
1411
+ <span class="ruby-keyword kw">end</span>
1412
+ <span class="ruby-identifier">new_module</span>
1413
+ <span class="ruby-keyword kw">end</span>
1414
+ </pre>
1415
+ </div>
1416
+ </div>
1417
+ </div>
1418
+ <div class="method">
1419
+ <div class="title">
1420
+ <a name="M000179"></a><b>sort_attributes</b>(*fields)
1421
+ </div>
1422
+ <div class="description">
1423
+ <p>
1424
+ Alias for <a href="Module.html#M000177">sort_on</a>
1425
+ </p>
1426
+ </div>
1427
+ </div>
1428
+ <div class="method">
1429
+ <div class="title">
1430
+ <a name="M000177"></a><b>sort_on</b>(*fields)
1431
+ </div>
1432
+ <div class="description">
1433
+ <p>
1434
+ Automatically generate sorting defintions base on attribute fields.
1435
+ </p>
1436
+ <pre>
1437
+ sort_on :a, :b
1438
+ </pre>
1439
+ <p>
1440
+ _is equivalent to_
1441
+ </p>
1442
+ <pre>
1443
+ def &lt;=&gt;(o)
1444
+ cmp = self.a &lt;=&gt; o.a; return cmp unless cmp == 0
1445
+ cmp = self.b &lt;=&gt; o.b; return cmp unless cmp == 0
1446
+ 0
1447
+ end
1448
+ </pre>
1449
+ </div>
1450
+ <div class="aka">
1451
+ This method is also aliased as
1452
+ <a href="Module.html#M000178">compare_on</a>
1453
+ <a href="Module.html#M000179">sort_attributes</a>
1454
+ </div>
1455
+ <div class="sourcecode">
1456
+ <p class="source-link">[ <a href="javascript:toggleSource('M000177_source')" id="l_M000177_source">show source</a> ]</p>
1457
+ <div id="M000177_source" class="dyn-source">
1458
+ <pre>
1459
+ <span class="ruby-comment cmt"># File lib/facets/core/module/sort_on.rb, line 19</span>
1460
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sort_on</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">fields</span>)
1461
+ <span class="ruby-identifier">code</span> = <span class="ruby-value str">%{def &lt;=&gt;(o)\n}</span>
1462
+ <span class="ruby-identifier">fields</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
1463
+ <span class="ruby-identifier">code</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">%{cmp = ( @#{f} &lt;=&gt; o.instance_variable_get('@#{f}') );
1464
+ return cmp unless cmp == 0\n}</span>
1465
+ }
1466
+ <span class="ruby-identifier">code</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">%{0\nend; alias_method :cmp, :&lt;=&gt;;}</span>
1467
+ <span class="ruby-identifier">class_eval</span>( <span class="ruby-identifier">code</span> )
1468
+ <span class="ruby-identifier">fields</span>
1469
+ <span class="ruby-keyword kw">end</span>
1470
+ </pre>
1471
+ </div>
1472
+ </div>
1473
+ </div>
1474
+ <div class="method">
1475
+ <div class="title">
1476
+ <a name="M000167"></a><b>this</b>()
1477
+ </div>
1478
+ <div class="sourcecode">
1479
+ <p class="source-link">[ <a href="javascript:toggleSource('M000167_source')" id="l_M000167_source">show source</a> ]</p>
1480
+ <div id="M000167_source" class="dyn-source">
1481
+ <pre>
1482
+ <span class="ruby-comment cmt"># File lib/facets/core/module/this.rb, line 18</span>
1483
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">this</span>
1484
+ <span class="ruby-identifier">klass</span> = <span class="ruby-keyword kw">self</span>
1485
+ <span class="ruby-constant">Functor</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">op</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span><span class="ruby-operator">|</span>
1486
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">op</span>.<span class="ruby-identifier">to_s</span>[<span class="ruby-value">-1</span>,<span class="ruby-value">1</span>]
1487
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'='</span>
1488
+ <span class="ruby-identifier">op</span> = <span class="ruby-identifier">op</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">chomp</span>(<span class="ruby-value str">'='</span>)
1489
+ <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Proc</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
1490
+ <span class="ruby-identifier">define_method</span>( <span class="ruby-identifier">op</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>] )
1491
+ <span class="ruby-keyword kw">else</span>
1492
+ <span class="ruby-identifier">define_method</span>( <span class="ruby-identifier">op</span> ) <span class="ruby-keyword kw">do</span>
1493
+ <span class="ruby-identifier">r</span> = <span class="ruby-identifier">instance_variable_set</span>( <span class="ruby-node">&quot;@#{op}&quot;</span>, <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>] )
1494
+ <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">class_eval</span> <span class="ruby-node">%{
1495
+ def #{op}; @#{op}; end
1496
+ }</span>
1497
+ <span class="ruby-identifier">r</span>
1498
+ <span class="ruby-keyword kw">end</span>
1499
+ <span class="ruby-keyword kw">end</span>
1500
+ <span class="ruby-keyword kw">else</span>
1501
+ <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">class_eval</span> <span class="ruby-node">%{
1502
+ def #{op}; @#{op}; end
1503
+ }</span>
1504
+ <span class="ruby-keyword kw">end</span>
1505
+ <span class="ruby-keyword kw">end</span>
1506
+ <span class="ruby-keyword kw">end</span>
1507
+ </pre>
1508
+ </div>
1509
+ </div>
1510
+ </div>
1511
+ <div class="method">
1512
+ <div class="title">
1513
+ <a name="M000169"></a><b>wrap_method</b>( sym, &amp;blk )
1514
+ </div>
1515
+ <div class="description">
1516
+ <p>
1517
+ Creates a new method wrapping the previous of the same name. Reference to
1518
+ the old method is passed into the new definition block as the first
1519
+ parameter.
1520
+ </p>
1521
+ <pre>
1522
+ wrap_method( sym ) { |old_meth, *args|
1523
+ old_meth.call
1524
+ ...
1525
+ }
1526
+ </pre>
1527
+ <p>
1528
+ Keep in mind that this can not be used to wrap methods that take a block.
1529
+ </p>
1530
+ </div>
1531
+ <div class="aka">
1532
+ This method is also aliased as
1533
+ <a href="Module.html#M000188">wrap</a>
1534
+ </div>
1535
+ <div class="sourcecode">
1536
+ <p class="source-link">[ <a href="javascript:toggleSource('M000169_source')" id="l_M000169_source">show source</a> ]</p>
1537
+ <div id="M000169_source" class="dyn-source">
1538
+ <pre>
1539
+ <span class="ruby-comment cmt"># File lib/facets/core/module/wrap_method.rb, line 20</span>
1540
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">wrap_method</span>( <span class="ruby-identifier">sym</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span> )
1541
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;method does not exist&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">method_defined?</span>( <span class="ruby-identifier">sym</span> )
1542
+ <span class="ruby-identifier">old</span> = <span class="ruby-identifier">instance_method</span>(<span class="ruby-identifier">sym</span>)
1543
+ <span class="ruby-identifier">undef_method</span>(<span class="ruby-identifier">sym</span>)
1544
+ <span class="ruby-identifier">define_method</span>(<span class="ruby-identifier">sym</span>) { <span class="ruby-operator">|</span><span class="ruby-operator">*</span><span class="ruby-identifier">args</span><span class="ruby-operator">|</span> <span class="ruby-identifier">blk</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">old</span>.<span class="ruby-identifier">bind</span>(<span class="ruby-keyword kw">self</span>), <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>) }
1545
+ <span class="ruby-keyword kw">end</span>
1546
+ </pre>
1547
+ </div>
1548
+ </div>
1549
+ </div>
1550
+ <div class="sectiontitle">Private Instance methods</div>
1551
+ <div class="method">
1552
+ <div class="title">
1553
+ <a name="M000164"></a><b>alias_module_function</b>( new, old )
1554
+ </div>
1555
+ <div class="description">
1556
+ <p>
1557
+ Alias a module function so that the alias is also a module function. The
1558
+ typical alias_method does not do this.
1559
+ </p>
1560
+ <pre>
1561
+ module Demo
1562
+ module_function
1563
+ def hello
1564
+ &quot;Hello&quot;
1565
+ end
1566
+ end
1567
+
1568
+ Demo.hello #=&gt; Hello
1569
+
1570
+ module Demo
1571
+ alias_module_function( :hi , :hello )
1572
+ end
1573
+
1574
+ Demo.hi #=&gt; Hello
1575
+ </pre>
1576
+ </div>
1577
+ <div class="sourcecode">
1578
+ <p class="source-link">[ <a href="javascript:toggleSource('M000164_source')" id="l_M000164_source">show source</a> ]</p>
1579
+ <div id="M000164_source" class="dyn-source">
1580
+ <pre>
1581
+ <span class="ruby-comment cmt"># File lib/facets/core/module/alias_module_function.rb, line 23</span>
1582
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">alias_module_function</span>( <span class="ruby-identifier">new</span>, <span class="ruby-identifier">old</span> )
1583
+ <span class="ruby-identifier">alias_method</span>( <span class="ruby-identifier">new</span>, <span class="ruby-identifier">old</span> )
1584
+ <span class="ruby-identifier">module_function</span>( <span class="ruby-identifier">new</span> )
1585
+ <span class="ruby-keyword kw">end</span>
1586
+ </pre>
1587
+ </div>
1588
+ </div>
1589
+ </div>
1590
+ <div class="method">
1591
+ <div class="title">
1592
+ <a name="M000182"></a><b>redef</b>( sym, aka=nil, &amp;blk )
1593
+ </div>
1594
+ <div class="description">
1595
+ <p>
1596
+ Alias for <a href="Module.html#M000151">redefine_method</a>
1597
+ </p>
1598
+ </div>
1599
+ </div>
1600
+ <div class="method">
1601
+ <div class="title">
1602
+ <a name="M000151"></a><b>redefine_method</b>( sym, aka=nil, &amp;blk )
1603
+ </div>
1604
+ <div class="description">
1605
+ <p>
1606
+ Creates a new method for a pre-existing method.
1607
+ </p>
1608
+ <p>
1609
+ If <em>aka</em> is given, then the method being redefined will first be
1610
+ aliased to this name.
1611
+ </p>
1612
+ <pre>
1613
+ class Greeter
1614
+ def hello ; &quot;Hello&quot; ; end
1615
+ end
1616
+
1617
+ Greeter.new.hello #=&gt; &quot;Hello&quot;
1618
+
1619
+ class Greeter
1620
+ redefine_method( :hello, :hi ) do
1621
+ hi + &quot;, friend!&quot;
1622
+ end
1623
+ end
1624
+
1625
+ Greeter.new.hello #=&gt; &quot;Hello, friend!&quot;
1626
+ </pre>
1627
+ </div>
1628
+ <div class="aka">
1629
+ This method is also aliased as
1630
+ <a href="Module.html#M000182">redef</a>
1631
+ </div>
1632
+ <div class="sourcecode">
1633
+ <p class="source-link">[ <a href="javascript:toggleSource('M000151_source')" id="l_M000151_source">show source</a> ]</p>
1634
+ <div id="M000151_source" class="dyn-source">
1635
+ <pre>
1636
+ <span class="ruby-comment cmt"># File lib/facets/core/module/redefine_method.rb, line 25</span>
1637
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">redefine_method</span>( <span class="ruby-identifier">sym</span>, <span class="ruby-identifier">aka</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span> )
1638
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;method does not exist&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">method_defined?</span>( <span class="ruby-identifier">sym</span> )
1639
+ <span class="ruby-identifier">alias_method</span>( <span class="ruby-identifier">aka</span>, <span class="ruby-identifier">sym</span> ) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">aka</span>
1640
+ <span class="ruby-identifier">undef_method</span>( <span class="ruby-identifier">sym</span> )
1641
+ <span class="ruby-identifier">define_method</span>( <span class="ruby-identifier">sym</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span> )
1642
+ <span class="ruby-keyword kw">end</span>
1643
+ </pre>
1644
+ </div>
1645
+ </div>
1646
+ </div>
1647
+ <div class="method">
1648
+ <div class="title">
1649
+ <a name="M000162"></a><b>redirect</b>( method_hash )
1650
+ </div>
1651
+ <div class="description">
1652
+ <p>
1653
+ Alias for <a href="Module.html#M000152">redirect_method</a>
1654
+ </p>
1655
+ </div>
1656
+ </div>
1657
+ <div class="method">
1658
+ <div class="title">
1659
+ <a name="M000174"></a><b>rename</b>( to_sym, from_sym )
1660
+ </div>
1661
+ <div class="description">
1662
+ <p>
1663
+ Alias for <a href="Module.html#M000172">rename_method</a>
1664
+ </p>
1665
+ </div>
1666
+ </div>
1667
+ <div class="method">
1668
+ <div class="title">
1669
+ <a name="M000172"></a><b>rename_method</b>( to_sym, from_sym )
1670
+ </div>
1671
+ <div class="description">
1672
+ <p>
1673
+ Aliases a method and undefines the original.
1674
+ </p>
1675
+ <pre>
1676
+ rename_method( :to_method, :from_method )
1677
+ </pre>
1678
+ </div>
1679
+ <div class="aka">
1680
+ This method is also aliased as
1681
+ <a href="Module.html#M000174">rename</a>
1682
+ </div>
1683
+ <div class="sourcecode">
1684
+ <p class="source-link">[ <a href="javascript:toggleSource('M000172_source')" id="l_M000172_source">show source</a> ]</p>
1685
+ <div id="M000172_source" class="dyn-source">
1686
+ <pre>
1687
+ <span class="ruby-comment cmt"># File lib/facets/core/module/rename_method.rb, line 7</span>
1688
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rename_method</span>( <span class="ruby-identifier">to_sym</span>, <span class="ruby-identifier">from_sym</span> )
1689
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;method #{from_sym} does not exist&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">method_defined?</span>( <span class="ruby-identifier">from_sym</span> )
1690
+ <span class="ruby-identifier">alias_method</span>( <span class="ruby-identifier">to_sym</span>, <span class="ruby-identifier">from_sym</span> )
1691
+ <span class="ruby-identifier">undef_method</span>( <span class="ruby-identifier">from_sym</span> )
1692
+ <span class="ruby-keyword kw">end</span>
1693
+ </pre>
1694
+ </div>
1695
+ </div>
1696
+ </div>
1697
+ <div class="method">
1698
+ <div class="title">
1699
+ <a name="M000188"></a><b>wrap</b>( sym, &amp;blk )
1700
+ </div>
1701
+ <div class="description">
1702
+ <p>
1703
+ Alias for <a href="Module.html#M000169">wrap_method</a>
1704
+ </p>
1705
+ </div>
1706
+ </div>
1707
+ </div>
1708
+
1709
+ </div>
1710
+
1711
+ </body>
1712
+ </html>