facets 1.4.3 → 1.4.4

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