facets 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1922) hide show
  1. data/AUTHORS +1 -1
  2. data/CHANGES +17 -3
  3. data/MANIFEST +1301 -0
  4. data/NOTES +42 -11
  5. data/README +16 -26
  6. data/doc/History.txt +73 -0
  7. data/doc/html/api.css +79 -0
  8. data/doc/html/api/core/classes/Array.html +894 -0
  9. data/doc/html/api/core/classes/Binding.html +419 -0
  10. data/doc/html/api/core/classes/Class.html +218 -0
  11. data/doc/html/api/core/classes/Comparable.html +261 -0
  12. data/doc/html/api/core/classes/Dir.html +397 -0
  13. data/doc/html/api/core/classes/Enumerable.html +1124 -0
  14. data/doc/html/api/core/classes/Exception.html +130 -0
  15. data/doc/html/api/core/classes/File.html +456 -0
  16. data/doc/html/api/core/classes/FileTest.html +118 -0
  17. data/doc/html/api/core/classes/Float.html +133 -0
  18. data/doc/html/api/core/classes/Functor.html +173 -0
  19. data/doc/html/api/core/classes/Hash.html +1992 -0
  20. data/doc/html/api/core/classes/Indexable.html +606 -0
  21. data/doc/html/api/core/classes/Integer.html +577 -0
  22. data/doc/html/api/core/classes/Kernel.html +2135 -0
  23. data/doc/html/api/core/classes/MatchData.html +203 -0
  24. data/doc/html/api/core/classes/MissingArgument.html +97 -0
  25. data/doc/html/api/core/classes/Module.html +1605 -0
  26. data/doc/html/api/core/classes/Module/CloneExtensions.html +188 -0
  27. data/doc/html/api/core/classes/Object.html +147 -0
  28. data/doc/html/api/core/classes/Proc.html +346 -0
  29. data/doc/html/api/core/classes/Range.html +360 -0
  30. data/doc/html/api/core/classes/Regexp.html +193 -0
  31. data/doc/html/api/core/classes/Stackable.html +264 -0
  32. data/doc/html/api/core/classes/String.html +2297 -0
  33. data/doc/html/api/core/classes/String/Words.html +330 -0
  34. data/doc/html/api/core/classes/Time.html +521 -0
  35. data/doc/html/api/core/classes/UnboundMethod.html +196 -0
  36. data/doc/html/api/core/created.rid +1 -0
  37. data/doc/html/api/core/files/AUTHORS.html +256 -0
  38. data/doc/html/api/core/files/CHANGES.html +259 -0
  39. data/doc/html/api/core/files/COPYING.html +462 -0
  40. data/doc/html/api/core/files/MANIFEST.html +597 -0
  41. data/doc/html/api/core/files/NOTES.html +135 -0
  42. data/doc/html/api/core/files/README.html +412 -0
  43. data/doc/html/api/core/files/lib/facets/array/conjoin_rb.html +92 -0
  44. data/doc/html/api/core/files/lib/facets/array/delete_rb.html +92 -0
  45. data/doc/html/api/core/files/lib/facets/array/indexable_rb.html +97 -0
  46. data/doc/html/api/core/files/lib/facets/array/merge_rb.html +92 -0
  47. data/doc/html/api/core/files/lib/facets/array/not_empty_rb.html +92 -0
  48. data/doc/html/api/core/files/lib/facets/array/only_rb.html +92 -0
  49. data/doc/html/api/core/files/lib/facets/array/pad_rb.html +92 -0
  50. data/doc/html/api/core/files/lib/facets/array/product_rb.html +96 -0
  51. data/doc/html/api/core/files/lib/facets/array/rotate_rb.html +92 -0
  52. data/doc/html/api/core/files/lib/facets/array/select_rb.html +92 -0
  53. data/doc/html/api/core/files/lib/facets/array/splice_rb.html +92 -0
  54. data/doc/html/api/core/files/lib/facets/array/stackable_rb.html +97 -0
  55. data/doc/html/api/core/files/lib/facets/array/traverse_rb.html +92 -0
  56. data/doc/html/api/core/files/lib/facets/array_rb.html +129 -0
  57. data/doc/html/api/core/files/lib/facets/binding/caller_rb.html +97 -0
  58. data/doc/html/api/core/files/lib/facets/binding/defined_rb.html +96 -0
  59. data/doc/html/api/core/files/lib/facets/binding/local_variables_rb.html +96 -0
  60. data/doc/html/api/core/files/lib/facets/binding/opvars_rb.html +96 -0
  61. data/doc/html/api/core/files/lib/facets/binding/self_rb.html +96 -0
  62. data/doc/html/api/core/files/lib/facets/binding_rb.html +99 -0
  63. data/doc/html/api/core/files/lib/facets/bitmask_rb.html +92 -0
  64. data/doc/html/api/core/files/lib/facets/blank_rb.html +97 -0
  65. data/doc/html/api/core/files/lib/facets/boolean_rb.html +126 -0
  66. data/doc/html/api/core/files/lib/facets/callstack_rb.html +92 -0
  67. data/doc/html/api/core/files/lib/facets/class/descendents_rb.html +92 -0
  68. data/doc/html/api/core/files/lib/facets/class/prepend_rb.html +92 -0
  69. data/doc/html/api/core/files/lib/facets/class/subclasses_rb.html +96 -0
  70. data/doc/html/api/core/files/lib/facets/class_rb.html +97 -0
  71. data/doc/html/api/core/files/lib/facets/comparable/bound_rb.html +92 -0
  72. data/doc/html/api/core/files/lib/facets/comparable/cmp_rb.html +92 -0
  73. data/doc/html/api/core/files/lib/facets/comparable/comparable_rb.html +109 -0
  74. data/doc/html/api/core/files/lib/facets/comparable_rb.html +99 -0
  75. data/doc/html/api/core/files/lib/facets/dir/ascend_rb.html +92 -0
  76. data/doc/html/api/core/files/lib/facets/dir/descend_rb.html +96 -0
  77. data/doc/html/api/core/files/lib/facets/dir/multiglob_rb.html +92 -0
  78. data/doc/html/api/core/files/lib/facets/dir/parent_rb.html +92 -0
  79. data/doc/html/api/core/files/lib/facets/dir/recurse_rb.html +92 -0
  80. data/doc/html/api/core/files/lib/facets/dir_rb.html +102 -0
  81. data/doc/html/api/core/files/lib/facets/duplicable_rb.html +100 -0
  82. data/doc/html/api/core/files/lib/facets/enumerable/accumulate_rb.html +96 -0
  83. data/doc/html/api/core/files/lib/facets/enumerable/cluster_by_rb.html +96 -0
  84. data/doc/html/api/core/files/lib/facets/enumerable/collect_rb.html +92 -0
  85. data/doc/html/api/core/files/lib/facets/enumerable/divide_rb.html +92 -0
  86. data/doc/html/api/core/files/lib/facets/enumerable/duplicates_rb.html +92 -0
  87. data/doc/html/api/core/files/lib/facets/enumerable/each_by_rb.html +96 -0
  88. data/doc/html/api/core/files/lib/facets/enumerable/inject_rb.html +92 -0
  89. data/doc/html/api/core/files/lib/facets/enumerable/map_send_rb.html +92 -0
  90. data/doc/html/api/core/files/lib/facets/enumerable/mash_rb.html +92 -0
  91. data/doc/html/api/core/files/lib/facets/enumerable/mode_rb.html +92 -0
  92. data/doc/html/api/core/files/lib/facets/enumerable/modulate_rb.html +92 -0
  93. data/doc/html/api/core/files/lib/facets/enumerable/occur_rb.html +92 -0
  94. data/doc/html/api/core/files/lib/facets/enumerable/probability_rb.html +92 -0
  95. data/doc/html/api/core/files/lib/facets/enumerable/split_rb.html +92 -0
  96. data/doc/html/api/core/files/lib/facets/enumerable/sum_rb.html +92 -0
  97. data/doc/html/api/core/files/lib/facets/enumerable/uniq_by_rb.html +92 -0
  98. data/doc/html/api/core/files/lib/facets/enumerable_rb.html +111 -0
  99. data/doc/html/api/core/files/lib/facets/exception/detail_rb.html +92 -0
  100. data/doc/html/api/core/files/lib/facets/exception_rb.html +96 -0
  101. data/doc/html/api/core/files/lib/facets/file/null_rb.html +92 -0
  102. data/doc/html/api/core/files/lib/facets/file/read_rb.html +92 -0
  103. data/doc/html/api/core/files/lib/facets/file/rewrite_rb.html +92 -0
  104. data/doc/html/api/core/files/lib/facets/file/rootname_rb.html +92 -0
  105. data/doc/html/api/core/files/lib/facets/file/write_rb.html +92 -0
  106. data/doc/html/api/core/files/lib/facets/file_rb.html +100 -0
  107. data/doc/html/api/core/files/lib/facets/filetest/root_rb.html +92 -0
  108. data/doc/html/api/core/files/lib/facets/filetest_rb.html +97 -0
  109. data/doc/html/api/core/files/lib/facets/functor_rb.html +151 -0
  110. data/doc/html/api/core/files/lib/facets/hash/alias_rb.html +92 -0
  111. data/doc/html/api/core/files/lib/facets/hash/argumentize_rb.html +92 -0
  112. data/doc/html/api/core/files/lib/facets/hash/at_rb.html +92 -0
  113. data/doc/html/api/core/files/lib/facets/hash/autonew_rb.html +92 -0
  114. data/doc/html/api/core/files/lib/facets/hash/collate_rb.html +92 -0
  115. data/doc/html/api/core/files/lib/facets/hash/delete_rb.html +92 -0
  116. data/doc/html/api/core/files/lib/facets/hash/diff_rb.html +92 -0
  117. data/doc/html/api/core/files/lib/facets/hash/except_rb.html +92 -0
  118. data/doc/html/api/core/files/lib/facets/hash/insert_rb.html +92 -0
  119. data/doc/html/api/core/files/lib/facets/hash/inverse_rb.html +92 -0
  120. data/doc/html/api/core/files/lib/facets/hash/join_rb.html +92 -0
  121. data/doc/html/api/core/files/lib/facets/hash/keys_rb.html +92 -0
  122. data/doc/html/api/core/files/lib/facets/hash/mash_rb.html +96 -0
  123. data/doc/html/api/core/files/lib/facets/hash/merge_rb.html +92 -0
  124. data/doc/html/api/core/files/lib/facets/hash/op_rb.html +92 -0
  125. data/doc/html/api/core/files/lib/facets/hash/rekey_rb.html +96 -0
  126. data/doc/html/api/core/files/lib/facets/hash/select_rb.html +92 -0
  127. data/doc/html/api/core/files/lib/facets/hash/slice_rb.html +92 -0
  128. data/doc/html/api/core/files/lib/facets/hash/stringify_keys_rb.html +96 -0
  129. data/doc/html/api/core/files/lib/facets/hash/swap_rb.html +92 -0
  130. data/doc/html/api/core/files/lib/facets/hash/symbolize_keys_rb.html +96 -0
  131. data/doc/html/api/core/files/lib/facets/hash/to_h_rb.html +96 -0
  132. data/doc/html/api/core/files/lib/facets/hash/to_proc_rb.html +92 -0
  133. data/doc/html/api/core/files/lib/facets/hash/to_struct_rb.html +92 -0
  134. data/doc/html/api/core/files/lib/facets/hash/traverse_rb.html +92 -0
  135. data/doc/html/api/core/files/lib/facets/hash/update_rb.html +92 -0
  136. data/doc/html/api/core/files/lib/facets/hash/weave_rb.html +92 -0
  137. data/doc/html/api/core/files/lib/facets/hash/zipnew_rb.html +96 -0
  138. data/doc/html/api/core/files/lib/facets/hash_rb.html +118 -0
  139. data/doc/html/api/core/files/lib/facets/indexable_rb.html +113 -0
  140. data/doc/html/api/core/files/lib/facets/integer/factorial_rb.html +92 -0
  141. data/doc/html/api/core/files/lib/facets/integer/multiple_rb.html +92 -0
  142. data/doc/html/api/core/files/lib/facets/integer/of_rb.html +92 -0
  143. data/doc/html/api/core/files/lib/facets/integer/ordinal_rb.html +92 -0
  144. data/doc/html/api/core/files/lib/facets/integer_rb.html +100 -0
  145. data/doc/html/api/core/files/lib/facets/kernel/__dir___rb.html +92 -0
  146. data/doc/html/api/core/files/lib/facets/kernel/as_rb.html +96 -0
  147. data/doc/html/api/core/files/lib/facets/kernel/ask_rb.html +92 -0
  148. data/doc/html/api/core/files/lib/facets/kernel/attr_singleton_rb.html +92 -0
  149. data/doc/html/api/core/files/lib/facets/kernel/complete_rb.html +92 -0
  150. data/doc/html/api/core/files/lib/facets/kernel/constant_rb.html +92 -0
  151. data/doc/html/api/core/files/lib/facets/kernel/d_rb.html +92 -0
  152. data/doc/html/api/core/files/lib/facets/kernel/deep_copy_rb.html +92 -0
  153. data/doc/html/api/core/files/lib/facets/kernel/demo_rb.html +92 -0
  154. data/doc/html/api/core/files/lib/facets/kernel/ergo_rb.html +96 -0
  155. data/doc/html/api/core/files/lib/facets/kernel/here_rb.html +92 -0
  156. data/doc/html/api/core/files/lib/facets/kernel/in_rb.html +92 -0
  157. data/doc/html/api/core/files/lib/facets/kernel/instance_exec_rb.html +96 -0
  158. data/doc/html/api/core/files/lib/facets/kernel/instance_rb.html +92 -0
  159. data/doc/html/api/core/files/lib/facets/kernel/load_rb.html +92 -0
  160. data/doc/html/api/core/files/lib/facets/kernel/maybe_rb.html +92 -0
  161. data/doc/html/api/core/files/lib/facets/kernel/not_nil_rb.html +92 -0
  162. data/doc/html/api/core/files/lib/facets/kernel/object_rb.html +92 -0
  163. data/doc/html/api/core/files/lib/facets/kernel/p_rb.html +92 -0
  164. data/doc/html/api/core/files/lib/facets/kernel/populate_rb.html +92 -0
  165. data/doc/html/api/core/files/lib/facets/kernel/resc_rb.html +92 -0
  166. data/doc/html/api/core/files/lib/facets/kernel/respond_rb.html +92 -0
  167. data/doc/html/api/core/files/lib/facets/kernel/returning_rb.html +92 -0
  168. data/doc/html/api/core/files/lib/facets/kernel/silence_rb.html +92 -0
  169. data/doc/html/api/core/files/lib/facets/kernel/singleton_class_rb.html +92 -0
  170. data/doc/html/api/core/files/lib/facets/kernel/try_rb.html +92 -0
  171. data/doc/html/api/core/files/lib/facets/kernel/val_rb.html +92 -0
  172. data/doc/html/api/core/files/lib/facets/kernel/with_rb.html +92 -0
  173. data/doc/html/api/core/files/lib/facets/kernel_rb.html +115 -0
  174. data/doc/html/api/core/files/lib/facets/matchdata/match_rb.html +92 -0
  175. data/doc/html/api/core/files/lib/facets/matchdata/matchset_rb.html +92 -0
  176. data/doc/html/api/core/files/lib/facets/matchdata_rb.html +98 -0
  177. data/doc/html/api/core/files/lib/facets/metaid_rb.html +92 -0
  178. data/doc/html/api/core/files/lib/facets/module/abstract_rb.html +92 -0
  179. data/doc/html/api/core/files/lib/facets/module/alias_rb.html +92 -0
  180. data/doc/html/api/core/files/lib/facets/module/ancestor_rb.html +92 -0
  181. data/doc/html/api/core/files/lib/facets/module/can_rb.html +92 -0
  182. data/doc/html/api/core/files/lib/facets/module/class_rb.html +92 -0
  183. data/doc/html/api/core/files/lib/facets/module/clone_rb.html +92 -0
  184. data/doc/html/api/core/files/lib/facets/module/conflict_rb.html +92 -0
  185. data/doc/html/api/core/files/lib/facets/module/include_function_module_rb.html +92 -0
  186. data/doc/html/api/core/files/lib/facets/module/instance_methods_rb.html +92 -0
  187. data/doc/html/api/core/files/lib/facets/module/is_rb.html +92 -0
  188. data/doc/html/api/core/files/lib/facets/module/module_load_rb.html +92 -0
  189. data/doc/html/api/core/files/lib/facets/module/nesting_rb.html +92 -0
  190. data/doc/html/api/core/files/lib/facets/module/op_rb.html +92 -0
  191. data/doc/html/api/core/files/lib/facets/module/pathize_rb.html +92 -0
  192. data/doc/html/api/core/files/lib/facets/module/prepend_rb.html +92 -0
  193. data/doc/html/api/core/files/lib/facets/module/revise_rb.html +92 -0
  194. data/doc/html/api/core/files/lib/facets/module_rb.html +109 -0
  195. data/doc/html/api/core/files/lib/facets/nilclass_rb.html +96 -0
  196. data/doc/html/api/core/files/lib/facets/numeric/approx_rb.html +92 -0
  197. data/doc/html/api/core/files/lib/facets/numeric/distance_rb.html +92 -0
  198. data/doc/html/api/core/files/lib/facets/numeric/round_rb.html +92 -0
  199. data/doc/html/api/core/files/lib/facets/numeric_rb.html +98 -0
  200. data/doc/html/api/core/files/lib/facets/proc/bind_rb.html +92 -0
  201. data/doc/html/api/core/files/lib/facets/proc/compose_rb.html +92 -0
  202. data/doc/html/api/core/files/lib/facets/proc/curry_rb.html +92 -0
  203. data/doc/html/api/core/files/lib/facets/proc/partial_rb.html +125 -0
  204. data/doc/html/api/core/files/lib/facets/proc/to_method_rb.html +96 -0
  205. data/doc/html/api/core/files/lib/facets/proc/update_rb.html +92 -0
  206. data/doc/html/api/core/files/lib/facets/proc_rb.html +99 -0
  207. data/doc/html/api/core/files/lib/facets/range/combine_rb.html +92 -0
  208. data/doc/html/api/core/files/lib/facets/range/overlap_rb.html +92 -0
  209. data/doc/html/api/core/files/lib/facets/range/to_r_rb.html +92 -0
  210. data/doc/html/api/core/files/lib/facets/range/umbrella_rb.html +96 -0
  211. data/doc/html/api/core/files/lib/facets/range/within_rb.html +92 -0
  212. data/doc/html/api/core/files/lib/facets/range_rb.html +99 -0
  213. data/doc/html/api/core/files/lib/facets/regexp/arity_rb.html +92 -0
  214. data/doc/html/api/core/files/lib/facets/regexp/to_re_rb.html +92 -0
  215. data/doc/html/api/core/files/lib/facets/regexp_rb.html +98 -0
  216. data/doc/html/api/core/files/lib/facets/ruby_rb.html +110 -0
  217. data/doc/html/api/core/files/lib/facets/stackable_rb.html +120 -0
  218. data/doc/html/api/core/files/lib/facets/string/align_rb.html +92 -0
  219. data/doc/html/api/core/files/lib/facets/string/bracket_rb.html +92 -0
  220. data/doc/html/api/core/files/lib/facets/string/camelcase_rb.html +92 -0
  221. data/doc/html/api/core/files/lib/facets/string/capitalized_rb.html +92 -0
  222. data/doc/html/api/core/files/lib/facets/string/chomp_rb.html +92 -0
  223. data/doc/html/api/core/files/lib/facets/string/cleave_rb.html +92 -0
  224. data/doc/html/api/core/files/lib/facets/string/divide_rb.html +92 -0
  225. data/doc/html/api/core/files/lib/facets/string/fold_rb.html +92 -0
  226. data/doc/html/api/core/files/lib/facets/string/interpolate_rb.html +92 -0
  227. data/doc/html/api/core/files/lib/facets/string/line_wrap_rb.html +92 -0
  228. data/doc/html/api/core/files/lib/facets/string/mscan_rb.html +92 -0
  229. data/doc/html/api/core/files/lib/facets/string/natcmp_rb.html +92 -0
  230. data/doc/html/api/core/files/lib/facets/string/nchar_rb.html +92 -0
  231. data/doc/html/api/core/files/lib/facets/string/range_rb.html +92 -0
  232. data/doc/html/api/core/files/lib/facets/string/rewrite_rb.html +92 -0
  233. data/doc/html/api/core/files/lib/facets/string/shatter_rb.html +92 -0
  234. data/doc/html/api/core/files/lib/facets/string/snakecase_rb.html +92 -0
  235. data/doc/html/api/core/files/lib/facets/string/splice_rb.html +92 -0
  236. data/doc/html/api/core/files/lib/facets/string/stylize_rb.html +92 -0
  237. data/doc/html/api/core/files/lib/facets/string/subtract_rb.html +92 -0
  238. data/doc/html/api/core/files/lib/facets/string/tab_rb.html +92 -0
  239. data/doc/html/api/core/files/lib/facets/string/titlecase_rb.html +92 -0
  240. data/doc/html/api/core/files/lib/facets/string/to_re_rb.html +92 -0
  241. data/doc/html/api/core/files/lib/facets/string/to_time_rb.html +98 -0
  242. data/doc/html/api/core/files/lib/facets/string/underscore_rb.html +92 -0
  243. data/doc/html/api/core/files/lib/facets/string/words_rb.html +96 -0
  244. data/doc/html/api/core/files/lib/facets/string/xor_rb.html +92 -0
  245. data/doc/html/api/core/files/lib/facets/string_rb.html +109 -0
  246. data/doc/html/api/core/files/lib/facets/symbol/chomp_rb.html +92 -0
  247. data/doc/html/api/core/files/lib/facets/symbol/generate_rb.html +92 -0
  248. data/doc/html/api/core/files/lib/facets/symbol/not_rb.html +92 -0
  249. data/doc/html/api/core/files/lib/facets/symbol_rb.html +98 -0
  250. data/doc/html/api/core/files/lib/facets/time/ago_rb.html +96 -0
  251. data/doc/html/api/core/files/lib/facets/time/change_rb.html +92 -0
  252. data/doc/html/api/core/files/lib/facets/time/elapse_rb.html +92 -0
  253. data/doc/html/api/core/files/lib/facets/time/hence_rb.html +92 -0
  254. data/doc/html/api/core/files/lib/facets/time/set_rb.html +96 -0
  255. data/doc/html/api/core/files/lib/facets/time/stamp_rb.html +92 -0
  256. data/doc/html/api/core/files/lib/facets/time_rb.html +99 -0
  257. data/doc/html/api/core/files/lib/facets/to_hash_rb.html +92 -0
  258. data/doc/html/api/core/files/lib/facets/unboundmethod/arguments_rb.html +92 -0
  259. data/doc/html/api/core/files/lib/facets/unboundmethod_rb.html +97 -0
  260. data/doc/html/api/core/fr_class_index.html +74 -0
  261. data/doc/html/api/core/fr_file_index.html +269 -0
  262. data/doc/html/api/core/fr_method_index.html +463 -0
  263. data/doc/html/api/core/index.html +26 -0
  264. data/doc/html/api/core/rdoc-style.css +175 -0
  265. data/doc/html/api/more/classes/ANSICode.html +495 -0
  266. data/doc/html/api/more/classes/Advisable.html +271 -0
  267. data/doc/html/api/more/classes/Advisable/Method.html +251 -0
  268. data/doc/html/api/more/classes/Archive.html +89 -0
  269. data/doc/html/api/more/classes/Archive/Tar.html +89 -0
  270. data/doc/html/api/more/classes/Archive/Tar/Minitar.html +470 -0
  271. data/doc/html/api/more/classes/Archive/Tar/Minitar/Input.html +380 -0
  272. data/doc/html/api/more/classes/Archive/Tar/Minitar/Output.html +218 -0
  273. data/doc/html/api/more/classes/Archive/Tar/Minitar/Reader.html +285 -0
  274. data/doc/html/api/more/classes/Archive/Tar/Minitar/Writer.html +419 -0
  275. data/doc/html/api/more/classes/Association.html +307 -0
  276. data/doc/html/api/more/classes/Association/Kernel.html +134 -0
  277. data/doc/html/api/more/classes/Autoarray.html +168 -0
  278. data/doc/html/api/more/classes/BBCode.html +534 -0
  279. data/doc/html/api/more/classes/BasicObject.html +260 -0
  280. data/doc/html/api/more/classes/Behavior.html +145 -0
  281. data/doc/html/api/more/classes/BiCrypt.html +543 -0
  282. data/doc/html/api/more/classes/BigDuration.html +327 -0
  283. data/doc/html/api/more/classes/BinReadable.html +536 -0
  284. data/doc/html/api/more/classes/BinReadable/ByteOrder.html +225 -0
  285. data/doc/html/api/more/classes/Buildable.html +154 -0
  286. data/doc/html/api/more/classes/BuildingBlock.html +362 -0
  287. data/doc/html/api/more/classes/CGI.html +187 -0
  288. data/doc/html/api/more/classes/CLI.html +108 -0
  289. data/doc/html/api/more/classes/CLI/Arguments.html +709 -0
  290. data/doc/html/api/more/classes/CLI/Command.html +436 -0
  291. data/doc/html/api/more/classes/CLI/Command/UniversalOptions.html +91 -0
  292. data/doc/html/api/more/classes/CLI/NoCommandError.html +113 -0
  293. data/doc/html/api/more/classes/CLI/NoOptionError.html +120 -0
  294. data/doc/html/api/more/classes/CacheDecorator.html +224 -0
  295. data/doc/html/api/more/classes/Capsule.html +410 -0
  296. data/doc/html/api/more/classes/Capsule/MissingFile.html +96 -0
  297. data/doc/html/api/more/classes/Chain.html +208 -0
  298. data/doc/html/api/more/classes/Cloneable.html +131 -0
  299. data/doc/html/api/more/classes/Config.html +137 -0
  300. data/doc/html/api/more/classes/ConsoleUtils.html +240 -0
  301. data/doc/html/api/more/classes/Continuation.html +115 -0
  302. data/doc/html/api/more/classes/Coroutine.html +286 -0
  303. data/doc/html/api/more/classes/Crypt.html +277 -0
  304. data/doc/html/api/more/classes/CssFilter.html +473 -0
  305. data/doc/html/api/more/classes/CssTree.html +149 -0
  306. data/doc/html/api/more/classes/Date.html +252 -0
  307. data/doc/html/api/more/classes/Dictionary.html +1247 -0
  308. data/doc/html/api/more/classes/Downloader.html +514 -0
  309. data/doc/html/api/more/classes/Duration.html +769 -0
  310. data/doc/html/api/more/classes/Enumerable.html +340 -0
  311. data/doc/html/api/more/classes/Enumerable/Elementor.html +172 -0
  312. data/doc/html/api/more/classes/Enumerable/Enumerator.html +118 -0
  313. data/doc/html/api/more/classes/EnumerablePass.html +216 -0
  314. data/doc/html/api/more/classes/Equatable.html +190 -0
  315. data/doc/html/api/more/classes/EventHook.html +176 -0
  316. data/doc/html/api/more/classes/Expirable.html +197 -0
  317. data/doc/html/api/more/classes/File.html +130 -0
  318. data/doc/html/api/more/classes/FileList.html +982 -0
  319. data/doc/html/api/more/classes/FileShell.html +774 -0
  320. data/doc/html/api/more/classes/FileUtils.html +454 -0
  321. data/doc/html/api/more/classes/Fileable.html +181 -0
  322. data/doc/html/api/more/classes/Fileable/DSL.html +306 -0
  323. data/doc/html/api/more/classes/GetoptLong.html +120 -0
  324. data/doc/html/api/more/classes/GetoptLong/DSL.html +210 -0
  325. data/doc/html/api/more/classes/Hash2Xml.html +177 -0
  326. data/doc/html/api/more/classes/HtmlFilter.html +850 -0
  327. data/doc/html/api/more/classes/IORedirect.html +222 -0
  328. data/doc/html/api/more/classes/InfinityClass.html +452 -0
  329. data/doc/html/api/more/classes/InfinityClass/Numeric.html +197 -0
  330. data/doc/html/api/more/classes/InstanceReflection.html +129 -0
  331. data/doc/html/api/more/classes/Instantiable.html +142 -0
  332. data/doc/html/api/more/classes/Instantise.html +162 -0
  333. data/doc/html/api/more/classes/Interval.html +879 -0
  334. data/doc/html/api/more/classes/It.html +207 -0
  335. data/doc/html/api/more/classes/LRUCache.html +464 -0
  336. data/doc/html/api/more/classes/LRUCache/Item.html +114 -0
  337. data/doc/html/api/more/classes/LRUCache/Sentinel.html +100 -0
  338. data/doc/html/api/more/classes/Lazy.html +96 -0
  339. data/doc/html/api/more/classes/Lazy/Future.html +100 -0
  340. data/doc/html/api/more/classes/Lazy/Promise.html +112 -0
  341. data/doc/html/api/more/classes/Lazy/PromiseSafe.html +99 -0
  342. data/doc/html/api/more/classes/LinkedList.html +494 -0
  343. data/doc/html/api/more/classes/LinkedList/Node.html +151 -0
  344. data/doc/html/api/more/classes/Logger.html +231 -0
  345. data/doc/html/api/more/classes/Logger/Ansicolor.html +279 -0
  346. data/doc/html/api/more/classes/Logger/LogDevice.html +123 -0
  347. data/doc/html/api/more/classes/Module.html +1410 -0
  348. data/doc/html/api/more/classes/Multiton.html +207 -0
  349. data/doc/html/api/more/classes/Multiton/Inclusive.html +128 -0
  350. data/doc/html/api/more/classes/Multiton/MetaMethods.html +270 -0
  351. data/doc/html/api/more/classes/NackClass.html +99 -0
  352. data/doc/html/api/more/classes/Net.html +88 -0
  353. data/doc/html/api/more/classes/Net/SMTP.html +259 -0
  354. data/doc/html/api/more/classes/NilClass.html +227 -0
  355. data/doc/html/api/more/classes/NullClass.html +204 -0
  356. data/doc/html/api/more/classes/Numeric.html +1188 -0
  357. data/doc/html/api/more/classes/ObjectReflection.html +145 -0
  358. data/doc/html/api/more/classes/OpEsc.html +138 -0
  359. data/doc/html/api/more/classes/OpenCascade.html +144 -0
  360. data/doc/html/api/more/classes/OpenCollection.html +140 -0
  361. data/doc/html/api/more/classes/OpenHash.html +158 -0
  362. data/doc/html/api/more/classes/OpenObject.html +604 -0
  363. data/doc/html/api/more/classes/OpenStruct.html +413 -0
  364. data/doc/html/api/more/classes/PQueue.html +734 -0
  365. data/doc/html/api/more/classes/PathList.html +161 -0
  366. data/doc/html/api/more/classes/PathList/Finder.html +137 -0
  367. data/doc/html/api/more/classes/Pathname.html +178 -0
  368. data/doc/html/api/more/classes/Pool.html +206 -0
  369. data/doc/html/api/more/classes/Proc.html +138 -0
  370. data/doc/html/api/more/classes/ProgressBar.html +683 -0
  371. data/doc/html/api/more/classes/Prototype.html +245 -0
  372. data/doc/html/api/more/classes/RWDelegator.html +196 -0
  373. data/doc/html/api/more/classes/Random.html +164 -0
  374. data/doc/html/api/more/classes/Random/Array.html +341 -0
  375. data/doc/html/api/more/classes/Random/Hash.html +380 -0
  376. data/doc/html/api/more/classes/Random/Object.html +121 -0
  377. data/doc/html/api/more/classes/Random/String.html +301 -0
  378. data/doc/html/api/more/classes/Random/String/Self.html +155 -0
  379. data/doc/html/api/more/classes/Recorder.html +205 -0
  380. data/doc/html/api/more/classes/RecursiveDependency.html +92 -0
  381. data/doc/html/api/more/classes/Reference.html +198 -0
  382. data/doc/html/api/more/classes/Registerable.html +159 -0
  383. data/doc/html/api/more/classes/Semaphore.html +262 -0
  384. data/doc/html/api/more/classes/Set.html +119 -0
  385. data/doc/html/api/more/classes/Settings.html +290 -0
  386. data/doc/html/api/more/classes/Settings/Setting.html +225 -0
  387. data/doc/html/api/more/classes/Settings/SettingCollection.html +144 -0
  388. data/doc/html/api/more/classes/Shellwords.html +113 -0
  389. data/doc/html/api/more/classes/SimpleStringIO.html +137 -0
  390. data/doc/html/api/more/classes/Snapshot.html +196 -0
  391. data/doc/html/api/more/classes/Snapshot/ValueHolder.html +165 -0
  392. data/doc/html/api/more/classes/String/Style.html +695 -0
  393. data/doc/html/api/more/classes/Struct.html +132 -0
  394. data/doc/html/api/more/classes/SyncArray.html +129 -0
  395. data/doc/html/api/more/classes/SyncHash.html +158 -0
  396. data/doc/html/api/more/classes/SyncHash/Delegator.html +213 -0
  397. data/doc/html/api/more/classes/SyncHash/Inheritor.html +213 -0
  398. data/doc/html/api/more/classes/System.html +1119 -0
  399. data/doc/html/api/more/classes/Timer.html +466 -0
  400. data/doc/html/api/more/classes/Timer/Dummy.html +141 -0
  401. data/doc/html/api/more/classes/TracePoint.html +455 -0
  402. data/doc/html/api/more/classes/Tuple.html +902 -0
  403. data/doc/html/api/more/classes/TypeCast.html +158 -0
  404. data/doc/html/api/more/classes/TypeCast/Class.html +129 -0
  405. data/doc/html/api/more/classes/TypeCast/Object.html +119 -0
  406. data/doc/html/api/more/classes/TypeCastException.html +96 -0
  407. data/doc/html/api/more/classes/URI.html +455 -0
  408. data/doc/html/api/more/classes/URI/Hash.html +107 -0
  409. data/doc/html/api/more/classes/URI/Kernel.html +124 -0
  410. data/doc/html/api/more/classes/Uninheritable.html +122 -0
  411. data/doc/html/api/more/classes/UploadUtils.html +499 -0
  412. data/doc/html/api/more/classes/VersionNumber.html +384 -0
  413. data/doc/html/api/more/classes/Weekdays.html +248 -0
  414. data/doc/html/api/more/classes/XOXO.html +252 -0
  415. data/doc/html/api/more/classes/ZipUtils.html +437 -0
  416. data/doc/html/api/more/classes/ZipUtils/DryRun.html +225 -0
  417. data/doc/html/api/more/classes/ZipUtils/NoWrite.html +225 -0
  418. data/doc/html/api/more/classes/ZipUtils/Verbose.html +225 -0
  419. data/doc/html/api/more/created.rid +1 -0
  420. data/doc/html/api/more/files/AUTHORS.html +257 -0
  421. data/doc/html/api/more/files/CHANGES.html +258 -0
  422. data/doc/html/api/more/files/COPYING.html +462 -0
  423. data/doc/html/api/more/files/MANIFEST.html +597 -0
  424. data/doc/html/api/more/files/NOTES.html +135 -0
  425. data/doc/html/api/more/files/README.html +411 -0
  426. data/doc/html/api/more/files/lib/facets/1stclassmethod_rb.html +181 -0
  427. data/doc/html/api/more/files/lib/facets/advisable_rb.html +124 -0
  428. data/doc/html/api/more/files/lib/facets/annotations_rb.html +179 -0
  429. data/doc/html/api/more/files/lib/facets/ansicode_rb.html +199 -0
  430. data/doc/html/api/more/files/lib/facets/arguments_rb.html +142 -0
  431. data/doc/html/api/more/files/lib/facets/association_rb.html +158 -0
  432. data/doc/html/api/more/files/lib/facets/attr_rb.html +92 -0
  433. data/doc/html/api/more/files/lib/facets/autoarray_rb.html +125 -0
  434. data/doc/html/api/more/files/lib/facets/autoreload_rb.html +134 -0
  435. data/doc/html/api/more/files/lib/facets/basicobject_rb.html +190 -0
  436. data/doc/html/api/more/files/lib/facets/bbcode_rb.html +138 -0
  437. data/doc/html/api/more/files/lib/facets/behavior_rb.html +125 -0
  438. data/doc/html/api/more/files/lib/facets/bicrypt_rb.html +124 -0
  439. data/doc/html/api/more/files/lib/facets/binreadable_rb.html +141 -0
  440. data/doc/html/api/more/files/lib/facets/buildable_rb.html +228 -0
  441. data/doc/html/api/more/files/lib/facets/bytes_rb.html +170 -0
  442. data/doc/html/api/more/files/lib/facets/cachedecorator_rb.html +178 -0
  443. data/doc/html/api/more/files/lib/facets/capsule_rb.html +143 -0
  444. data/doc/html/api/more/files/lib/facets/cattr_rb.html +125 -0
  445. data/doc/html/api/more/files/lib/facets/cgi_rb.html +111 -0
  446. data/doc/html/api/more/files/lib/facets/chain_rb.html +114 -0
  447. data/doc/html/api/more/files/lib/facets/class_extension_rb.html +155 -0
  448. data/doc/html/api/more/files/lib/facets/classmethods_rb.html +213 -0
  449. data/doc/html/api/more/files/lib/facets/cloneable_rb.html +134 -0
  450. data/doc/html/api/more/files/lib/facets/command_rb.html +170 -0
  451. data/doc/html/api/more/files/lib/facets/consoleutils_rb.html +109 -0
  452. data/doc/html/api/more/files/lib/facets/continuation_rb.html +145 -0
  453. data/doc/html/api/more/files/lib/facets/core_rb.html +133 -0
  454. data/doc/html/api/more/files/lib/facets/coroutine_rb.html +163 -0
  455. data/doc/html/api/more/files/lib/facets/crypt_rb.html +141 -0
  456. data/doc/html/api/more/files/lib/facets/cssfilter_rb.html +120 -0
  457. data/doc/html/api/more/files/lib/facets/daemonize_rb.html +118 -0
  458. data/doc/html/api/more/files/lib/facets/date_rb.html +121 -0
  459. data/doc/html/api/more/files/lib/facets/dependency_rb.html +158 -0
  460. data/doc/html/api/more/files/lib/facets/dictionary_rb.html +198 -0
  461. data/doc/html/api/more/files/lib/facets/downloader_rb.html +137 -0
  462. data/doc/html/api/more/files/lib/facets/duration_rb.html +132 -0
  463. data/doc/html/api/more/files/lib/facets/elementor_rb.html +148 -0
  464. data/doc/html/api/more/files/lib/facets/elementwise_rb.html +96 -0
  465. data/doc/html/api/more/files/lib/facets/enumerablepass_rb.html +153 -0
  466. data/doc/html/api/more/files/lib/facets/equatable_rb.html +145 -0
  467. data/doc/html/api/more/files/lib/facets/eventhook_rb.html +141 -0
  468. data/doc/html/api/more/files/lib/facets/expirable_rb.html +116 -0
  469. data/doc/html/api/more/files/lib/facets/fileable_rb.html +138 -0
  470. data/doc/html/api/more/files/lib/facets/filelist_rb.html +164 -0
  471. data/doc/html/api/more/files/lib/facets/fileshell_rb.html +124 -0
  472. data/doc/html/api/more/files/lib/facets/fileutils/head_rb.html +96 -0
  473. data/doc/html/api/more/files/lib/facets/fileutils/safe_ln_rb.html +96 -0
  474. data/doc/html/api/more/files/lib/facets/fileutils/slice_rb.html +96 -0
  475. data/doc/html/api/more/files/lib/facets/fileutils/tail_rb.html +96 -0
  476. data/doc/html/api/more/files/lib/facets/fileutils/wc_rb.html +96 -0
  477. data/doc/html/api/more/files/lib/facets/fileutils/whereis_rb.html +96 -0
  478. data/doc/html/api/more/files/lib/facets/fileutils/which_rb.html +96 -0
  479. data/doc/html/api/more/files/lib/facets/fileutils_rb.html +131 -0
  480. data/doc/html/api/more/files/lib/facets/float/round_rb.html +96 -0
  481. data/doc/html/api/more/files/lib/facets/getoptlong_rb.html +135 -0
  482. data/doc/html/api/more/files/lib/facets/heap_rb.html +132 -0
  483. data/doc/html/api/more/files/lib/facets/htmlfilter_rb.html +153 -0
  484. data/doc/html/api/more/files/lib/facets/infinity_rb.html +153 -0
  485. data/doc/html/api/more/files/lib/facets/inheritor_rb.html +149 -0
  486. data/doc/html/api/more/files/lib/facets/instantiable_rb.html +119 -0
  487. data/doc/html/api/more/files/lib/facets/instantise_rb.html +145 -0
  488. data/doc/html/api/more/files/lib/facets/interval_rb.html +163 -0
  489. data/doc/html/api/more/files/lib/facets/ioredirect_rb.html +133 -0
  490. data/doc/html/api/more/files/lib/facets/iteration_rb.html +94 -0
  491. data/doc/html/api/more/files/lib/facets/lazy_rb.html +120 -0
  492. data/doc/html/api/more/files/lib/facets/linkedlist_rb.html +159 -0
  493. data/doc/html/api/more/files/lib/facets/logger_rb.html +142 -0
  494. data/doc/html/api/more/files/lib/facets/lrucache_rb.html +129 -0
  495. data/doc/html/api/more/files/lib/facets/main_rb.html +126 -0
  496. data/doc/html/api/more/files/lib/facets/memoize_rb.html +163 -0
  497. data/doc/html/api/more/files/lib/facets/meta_rb.html +96 -0
  498. data/doc/html/api/more/files/lib/facets/methodspace_rb.html +138 -0
  499. data/doc/html/api/more/files/lib/facets/minitar_rb.html +203 -0
  500. data/doc/html/api/more/files/lib/facets/multipliers_rb.html +149 -0
  501. data/doc/html/api/more/files/lib/facets/multiton_rb.html +187 -0
  502. data/doc/html/api/more/files/lib/facets/nackclass_rb.html +121 -0
  503. data/doc/html/api/more/files/lib/facets/net/smtp_tls_rb.html +143 -0
  504. data/doc/html/api/more/files/lib/facets/nilstatus_rb.html +92 -0
  505. data/doc/html/api/more/files/lib/facets/nullclass_rb.html +122 -0
  506. data/doc/html/api/more/files/lib/facets/opencascade_rb.html +156 -0
  507. data/doc/html/api/more/files/lib/facets/opencollection_rb.html +123 -0
  508. data/doc/html/api/more/files/lib/facets/openhash_rb.html +107 -0
  509. data/doc/html/api/more/files/lib/facets/openobject_rb.html +167 -0
  510. data/doc/html/api/more/files/lib/facets/opesc_rb.html +94 -0
  511. data/doc/html/api/more/files/lib/facets/orderedhash_rb.html +142 -0
  512. data/doc/html/api/more/files/lib/facets/ostruct_rb.html +135 -0
  513. data/doc/html/api/more/files/lib/facets/overload_rb.html +119 -0
  514. data/doc/html/api/more/files/lib/facets/pathlist_rb.html +133 -0
  515. data/doc/html/api/more/files/lib/facets/pathname_rb.html +155 -0
  516. data/doc/html/api/more/files/lib/facets/pool_rb.html +131 -0
  517. data/doc/html/api/more/files/lib/facets/pqueue_rb.html +129 -0
  518. data/doc/html/api/more/files/lib/facets/progressbar_rb.html +126 -0
  519. data/doc/html/api/more/files/lib/facets/prototype_rb.html +102 -0
  520. data/doc/html/api/more/files/lib/facets/random_rb.html +148 -0
  521. data/doc/html/api/more/files/lib/facets/rbconfig_rb.html +124 -0
  522. data/doc/html/api/more/files/lib/facets/rbsystem_rb.html +143 -0
  523. data/doc/html/api/more/files/lib/facets/recorder_rb.html +154 -0
  524. data/doc/html/api/more/files/lib/facets/reference_rb.html +130 -0
  525. data/doc/html/api/more/files/lib/facets/reflection_rb.html +119 -0
  526. data/doc/html/api/more/files/lib/facets/registerable_rb.html +98 -0
  527. data/doc/html/api/more/files/lib/facets/rwdelegator_rb.html +122 -0
  528. data/doc/html/api/more/files/lib/facets/semaphore_rb.html +120 -0
  529. data/doc/html/api/more/files/lib/facets/set_rb.html +96 -0
  530. data/doc/html/api/more/files/lib/facets/settings_rb.html +141 -0
  531. data/doc/html/api/more/files/lib/facets/shellwords_rb.html +124 -0
  532. data/doc/html/api/more/files/lib/facets/snapshot_rb.html +177 -0
  533. data/doc/html/api/more/files/lib/facets/style_rb.html +96 -0
  534. data/doc/html/api/more/files/lib/facets/succ_rb.html +92 -0
  535. data/doc/html/api/more/files/lib/facets/syncarray_rb.html +125 -0
  536. data/doc/html/api/more/files/lib/facets/synchash_rb.html +138 -0
  537. data/doc/html/api/more/files/lib/facets/thread_rb.html +132 -0
  538. data/doc/html/api/more/files/lib/facets/timer_rb.html +174 -0
  539. data/doc/html/api/more/files/lib/facets/times_rb.html +163 -0
  540. data/doc/html/api/more/files/lib/facets/tracepoint_rb.html +167 -0
  541. data/doc/html/api/more/files/lib/facets/tuple_rb.html +160 -0
  542. data/doc/html/api/more/files/lib/facets/typecast_rb.html +214 -0
  543. data/doc/html/api/more/files/lib/facets/uninheritable_rb.html +129 -0
  544. data/doc/html/api/more/files/lib/facets/uploadutils_rb.html +176 -0
  545. data/doc/html/api/more/files/lib/facets/uri_rb.html +125 -0
  546. data/doc/html/api/more/files/lib/facets/version_rb.html +132 -0
  547. data/doc/html/api/more/files/lib/facets/xmlhash_rb.html +97 -0
  548. data/doc/html/api/more/files/lib/facets/xoxo_rb.html +136 -0
  549. data/doc/html/api/more/files/lib/facets/yaml_rb.html +145 -0
  550. data/doc/html/api/more/files/lib/facets/ziputils_rb.html +133 -0
  551. data/doc/html/api/more/fr_class_index.html +200 -0
  552. data/doc/html/api/more/fr_file_index.html +177 -0
  553. data/doc/html/api/more/fr_method_index.html +1181 -0
  554. data/doc/html/api/more/index.html +26 -0
  555. data/doc/html/api/more/rdoc-style.css +175 -0
  556. data/doc/html/authors.html +178 -0
  557. data/doc/html/changes.html +177 -0
  558. data/doc/html/copying.html +384 -0
  559. data/doc/html/img/APIdocs.png +0 -0
  560. data/doc/html/img/RubyFacets.png +0 -0
  561. data/doc/html/img/bomb.gif +0 -0
  562. data/doc/html/img/develop.gif +0 -0
  563. data/doc/html/img/email.gif +0 -0
  564. data/doc/html/img/fade_blue_down.gif +0 -0
  565. data/doc/html/img/fade_red_down.png +0 -0
  566. data/doc/html/img/folder.gif +0 -0
  567. data/doc/html/img/home.gif +0 -0
  568. data/doc/html/img/menu_bkg.png +0 -0
  569. data/doc/html/img/quill.gif +0 -0
  570. data/doc/html/img/ruby-h.png +0 -0
  571. data/doc/html/img/ruby.gif +0 -0
  572. data/doc/html/img/ruby.png +0 -0
  573. data/doc/html/img/source.gif +0 -0
  574. data/doc/html/index.html +16 -0
  575. data/doc/html/js/doclist.js +20 -0
  576. data/doc/html/js/jquery.js +3408 -0
  577. data/doc/html/list.json +1 -0
  578. data/doc/html/manifest.html +519 -0
  579. data/doc/html/menu.html +70 -0
  580. data/doc/html/notes.html +57 -0
  581. data/doc/html/rakefile.html +45 -0
  582. data/doc/html/readme.html +327 -0
  583. data/doc/html/style-rdoc.css +208 -0
  584. data/lib/facets.rb +2 -0
  585. data/lib/facets/1stclassmethod.rb +140 -0
  586. data/lib/facets/advisable.rb +162 -0
  587. data/lib/facets/annotations.rb +300 -0
  588. data/lib/facets/ansicode.rb +320 -0
  589. data/lib/facets/arguments.rb +349 -0
  590. data/lib/facets/array.rb +24 -0
  591. data/lib/facets/array/conjoin.rb +58 -0
  592. data/lib/facets/array/delete.rb +61 -0
  593. data/lib/facets/array/indexable.rb +73 -0
  594. data/lib/facets/array/merge.rb +21 -0
  595. data/lib/facets/array/not_empty.rb +13 -0
  596. data/lib/facets/array/only.rb +21 -0
  597. data/lib/facets/array/pad.rb +41 -0
  598. data/lib/facets/array/product.rb +15 -0
  599. data/lib/facets/array/rotate.rb +42 -0
  600. data/lib/facets/array/select.rb +16 -0
  601. data/lib/facets/array/splice.rb +30 -0
  602. data/lib/facets/array/stackable.rb +33 -0
  603. data/lib/facets/array/traverse.rb +22 -0
  604. data/lib/facets/association.rb +194 -0
  605. data/lib/{core/facets/module → facets}/attr.rb +0 -0
  606. data/lib/facets/autoarray.rb +62 -0
  607. data/lib/facets/autoreload.rb +150 -0
  608. data/lib/facets/basicobject.rb +263 -0
  609. data/lib/facets/bbcode.rb +397 -0
  610. data/lib/facets/behavior.rb +104 -0
  611. data/lib/facets/bicrypt.rb +265 -0
  612. data/lib/facets/binding.rb +6 -0
  613. data/lib/facets/binding/caller.rb +54 -0
  614. data/lib/facets/binding/defined.rb +13 -0
  615. data/lib/facets/binding/local_variables.rb +15 -0
  616. data/lib/facets/binding/opvars.rb +24 -0
  617. data/lib/facets/binding/self.rb +12 -0
  618. data/lib/facets/binreadable.rb +221 -0
  619. data/lib/{core/facets/integer → facets}/bitmask.rb +0 -0
  620. data/lib/facets/blank.rb +60 -0
  621. data/lib/facets/boolean.rb +156 -0
  622. data/lib/facets/buildable.rb +344 -0
  623. data/lib/facets/bytes.rb +173 -0
  624. data/lib/facets/cachedecorator.rb +117 -0
  625. data/lib/facets/callstack.rb +52 -0
  626. data/lib/facets/capsule.rb +258 -0
  627. data/lib/facets/cattr.rb +141 -0
  628. data/lib/facets/cgi.rb +50 -0
  629. data/lib/facets/chain.rb +58 -0
  630. data/lib/facets/class.rb +4 -0
  631. data/lib/facets/class/descendents.rb +28 -0
  632. data/lib/facets/class/prepend.rb +50 -0
  633. data/lib/facets/class/subclasses.rb +2 -0
  634. data/lib/facets/class_extension.rb +114 -0
  635. data/lib/facets/classmethods.rb +199 -0
  636. data/lib/facets/cloneable.rb +76 -0
  637. data/lib/facets/command.rb +422 -0
  638. data/lib/facets/comparable.rb +6 -0
  639. data/lib/facets/comparable/bound.rb +65 -0
  640. data/lib/facets/comparable/cmp.rb +38 -0
  641. data/lib/facets/comparable/comparable.rb +42 -0
  642. data/lib/facets/consoleutils.rb +113 -0
  643. data/lib/facets/continuation.rb +57 -0
  644. data/lib/facets/core.rb +50 -0
  645. data/lib/facets/coroutine.rb +158 -0
  646. data/lib/facets/crypt.rb +166 -0
  647. data/lib/facets/cssfilter.rb +254 -0
  648. data/lib/facets/daemonize.rb +44 -0
  649. data/lib/facets/date.rb +78 -0
  650. data/lib/facets/dependency.rb +151 -0
  651. data/lib/facets/dictionary.rb +474 -0
  652. data/lib/facets/dir.rb +9 -0
  653. data/lib/facets/dir/ascend.rb +59 -0
  654. data/lib/facets/dir/descend.rb +1 -0
  655. data/lib/{core/facets → facets}/dir/multiglob.rb +0 -0
  656. data/lib/facets/dir/parent.rb +13 -0
  657. data/lib/facets/dir/recurse.rb +29 -0
  658. data/lib/facets/downloader.rb +281 -0
  659. data/lib/facets/duplicable.rb +43 -0
  660. data/lib/facets/duration.rb +540 -0
  661. data/lib/facets/elementor.rb +133 -0
  662. data/lib/facets/elementwise.rb +61 -0
  663. data/lib/facets/enumerable.rb +19 -0
  664. data/lib/facets/enumerable/accumulate.rb +21 -0
  665. data/lib/facets/enumerable/cluster_by.rb +21 -0
  666. data/lib/facets/enumerable/collect.rb +54 -0
  667. data/lib/facets/enumerable/divide.rb +33 -0
  668. data/lib/facets/enumerable/duplicates.rb +38 -0
  669. data/lib/facets/enumerable/each_by.rb +33 -0
  670. data/lib/facets/enumerable/inject.rb +31 -0
  671. data/lib/facets/enumerable/map_send.rb +12 -0
  672. data/lib/facets/enumerable/mash.rb +32 -0
  673. data/lib/facets/enumerable/mode.rb +15 -0
  674. data/lib/facets/enumerable/modulate.rb +22 -0
  675. data/lib/facets/enumerable/occur.rb +38 -0
  676. data/lib/facets/enumerable/probability.rb +133 -0
  677. data/lib/facets/enumerable/split.rb +23 -0
  678. data/lib/facets/enumerable/sum.rb +16 -0
  679. data/lib/facets/enumerable/uniq_by.rb +18 -0
  680. data/lib/facets/enumerablepass.rb +217 -0
  681. data/lib/facets/equatable.rb +120 -0
  682. data/lib/facets/eventhook.rb +132 -0
  683. data/lib/{core/facets → facets}/exception.rb +0 -0
  684. data/lib/facets/exception/detail.rb +19 -0
  685. data/lib/facets/expirable.rb +82 -0
  686. data/lib/facets/file.rb +7 -0
  687. data/lib/facets/file/null.rb +21 -0
  688. data/lib/facets/file/read.rb +41 -0
  689. data/lib/facets/file/rewrite.rb +54 -0
  690. data/lib/facets/file/rootname.rb +23 -0
  691. data/lib/facets/file/write.rb +64 -0
  692. data/lib/facets/fileable.rb +162 -0
  693. data/lib/facets/filelist.rb +499 -0
  694. data/lib/facets/fileshell.rb +200 -0
  695. data/lib/facets/filetest.rb +3 -0
  696. data/lib/facets/filetest/root.rb +17 -0
  697. data/lib/facets/fileutils.rb +27 -0
  698. data/lib/facets/fileutils/head.rb +1 -0
  699. data/lib/facets/fileutils/safe_ln.rb +28 -0
  700. data/lib/facets/fileutils/slice.rb +141 -0
  701. data/lib/facets/fileutils/tail.rb +1 -0
  702. data/lib/facets/fileutils/wc.rb +114 -0
  703. data/lib/facets/fileutils/whereis.rb +63 -0
  704. data/lib/facets/fileutils/which.rb +101 -0
  705. data/lib/facets/float/round.rb +36 -0
  706. data/lib/facets/functor.rb +77 -0
  707. data/lib/facets/getoptlong.rb +71 -0
  708. data/lib/facets/hash.rb +25 -0
  709. data/lib/facets/hash/alias.rb +31 -0
  710. data/lib/facets/hash/argumentize.rb +21 -0
  711. data/lib/facets/hash/at.rb +8 -0
  712. data/lib/facets/hash/autonew.rb +42 -0
  713. data/lib/facets/hash/collate.rb +45 -0
  714. data/lib/facets/hash/delete.rb +47 -0
  715. data/lib/facets/hash/diff.rb +11 -0
  716. data/lib/{core/facets → facets}/hash/except.rb +0 -0
  717. data/lib/facets/hash/insert.rb +19 -0
  718. data/lib/facets/hash/inverse.rb +27 -0
  719. data/lib/facets/hash/join.rb +14 -0
  720. data/lib/facets/hash/keys.rb +45 -0
  721. data/lib/facets/hash/mash.rb +18 -0
  722. data/lib/facets/hash/merge.rb +74 -0
  723. data/lib/facets/hash/op.rb +85 -0
  724. data/lib/facets/hash/rekey.rb +59 -0
  725. data/lib/{core/facets → facets}/hash/select.rb +0 -0
  726. data/lib/{core/facets → facets}/hash/slice.rb +0 -0
  727. data/lib/facets/hash/stringify_keys.rb +1 -0
  728. data/lib/facets/hash/swap.rb +17 -0
  729. data/lib/facets/hash/symbolize_keys.rb +95 -0
  730. data/lib/facets/hash/to_h.rb +1 -0
  731. data/lib/facets/hash/to_proc.rb +41 -0
  732. data/lib/facets/hash/to_struct.rb +17 -0
  733. data/lib/facets/hash/traverse.rb +41 -0
  734. data/lib/facets/hash/update.rb +75 -0
  735. data/lib/{core/facets → facets}/hash/weave.rb +0 -0
  736. data/lib/facets/hash/zipnew.rb +2 -0
  737. data/lib/facets/heap.rb +22 -0
  738. data/lib/facets/htmlfilter.rb +595 -0
  739. data/lib/facets/indexable.rb +242 -0
  740. data/lib/facets/infinity.rb +193 -0
  741. data/lib/facets/inheritor.rb +126 -0
  742. data/lib/facets/instantiable.rb +47 -0
  743. data/lib/facets/instantise.rb +92 -0
  744. data/lib/facets/integer.rb +7 -0
  745. data/lib/facets/integer/factorial.rb +30 -0
  746. data/lib/facets/integer/multiple.rb +15 -0
  747. data/lib/facets/integer/of.rb +18 -0
  748. data/lib/facets/integer/ordinal.rb +24 -0
  749. data/lib/facets/interval.rb +282 -0
  750. data/lib/facets/ioredirect.rb +130 -0
  751. data/lib/facets/iteration.rb +65 -0
  752. data/lib/facets/kernel.rb +22 -0
  753. data/lib/facets/kernel/__dir__.rb +12 -0
  754. data/lib/facets/kernel/as.rb +100 -0
  755. data/lib/facets/kernel/ask.rb +27 -0
  756. data/lib/facets/kernel/attr_singleton.rb +62 -0
  757. data/lib/facets/kernel/complete.rb +18 -0
  758. data/lib/{core/facets → facets}/kernel/constant.rb +0 -0
  759. data/lib/facets/kernel/d.rb +26 -0
  760. data/lib/facets/kernel/deep_copy.rb +13 -0
  761. data/lib/facets/kernel/demo.rb +23 -0
  762. data/lib/facets/kernel/ergo.rb +42 -0
  763. data/lib/facets/kernel/here.rb +12 -0
  764. data/lib/facets/kernel/in.rb +13 -0
  765. data/lib/facets/kernel/instance.rb +73 -0
  766. data/lib/facets/kernel/instance_exec.rb +19 -0
  767. data/lib/facets/kernel/load.rb +41 -0
  768. data/lib/facets/kernel/maybe.rb +18 -0
  769. data/lib/facets/kernel/not_nil.rb +17 -0
  770. data/lib/facets/kernel/object.rb +53 -0
  771. data/lib/facets/kernel/p.rb +24 -0
  772. data/lib/facets/kernel/populate.rb +73 -0
  773. data/lib/facets/kernel/resc.rb +16 -0
  774. data/lib/facets/kernel/respond.rb +23 -0
  775. data/lib/facets/kernel/returning.rb +23 -0
  776. data/lib/facets/kernel/silence.rb +69 -0
  777. data/lib/facets/kernel/singleton_class.rb +14 -0
  778. data/lib/facets/kernel/try.rb +23 -0
  779. data/lib/facets/kernel/val.rb +19 -0
  780. data/lib/facets/kernel/with.rb +20 -0
  781. data/lib/facets/lazy.rb +238 -0
  782. data/lib/facets/linkedlist.rb +222 -0
  783. data/lib/facets/logger.rb +291 -0
  784. data/lib/facets/lrucache.rb +157 -0
  785. data/lib/facets/main.rb +70 -0
  786. data/lib/facets/matchdata.rb +6 -0
  787. data/lib/facets/matchdata/match.rb +15 -0
  788. data/lib/facets/matchdata/matchset.rb +44 -0
  789. data/lib/facets/memoize.rb +116 -0
  790. data/lib/facets/meta.rb +23 -0
  791. data/lib/facets/metaid.rb +145 -0
  792. data/lib/facets/methodspace.rb +141 -0
  793. data/lib/facets/minitar.rb +1063 -0
  794. data/lib/facets/module.rb +19 -0
  795. data/lib/facets/module/abstract.rb +21 -0
  796. data/lib/facets/module/alias.rb +115 -0
  797. data/lib/facets/module/ancestor.rb +16 -0
  798. data/lib/facets/module/can.rb +14 -0
  799. data/lib/facets/module/class.rb +14 -0
  800. data/lib/facets/module/clone.rb +57 -0
  801. data/lib/facets/module/conflict.rb +56 -0
  802. data/lib/facets/module/include_function_module.rb +25 -0
  803. data/lib/facets/module/instance_methods.rb +40 -0
  804. data/lib/facets/module/is.rb +57 -0
  805. data/lib/facets/module/module_load.rb +56 -0
  806. data/lib/facets/module/nesting.rb +84 -0
  807. data/lib/facets/module/op.rb +95 -0
  808. data/lib/facets/module/pathize.rb +19 -0
  809. data/lib/facets/module/prepend.rb +25 -0
  810. data/lib/facets/module/revise.rb +168 -0
  811. data/lib/facets/multipliers.rb +109 -0
  812. data/lib/facets/multiton.rb +386 -0
  813. data/lib/facets/nackclass.rb +41 -0
  814. data/lib/{more/facets → facets/net}/smtp_tls.rb +0 -0
  815. data/lib/facets/nilclass.rb +3 -0
  816. data/lib/facets/nilstatus.rb +47 -0
  817. data/lib/facets/nullclass.rb +74 -0
  818. data/lib/facets/numeric.rb +5 -0
  819. data/lib/facets/numeric/approx.rb +15 -0
  820. data/lib/facets/numeric/distance.rb +14 -0
  821. data/lib/facets/numeric/round.rb +51 -0
  822. data/lib/facets/opencascade.rb +92 -0
  823. data/lib/facets/opencollection.rb +43 -0
  824. data/lib/facets/openhash.rb +38 -0
  825. data/lib/facets/openobject.rb +261 -0
  826. data/lib/facets/opesc.rb +60 -0
  827. data/lib/facets/orderedhash.rb +37 -0
  828. data/lib/facets/ostruct.rb +222 -0
  829. data/lib/facets/overload.rb +94 -0
  830. data/lib/facets/pathlist.rb +112 -0
  831. data/lib/facets/pathname.rb +112 -0
  832. data/lib/facets/pool.rb +91 -0
  833. data/lib/facets/pqueue.rb +449 -0
  834. data/lib/facets/proc.rb +6 -0
  835. data/lib/facets/proc/bind.rb +22 -0
  836. data/lib/facets/proc/compose.rb +42 -0
  837. data/lib/facets/proc/curry.rb +31 -0
  838. data/lib/facets/proc/partial.rb +37 -0
  839. data/lib/facets/proc/to_method.rb +33 -0
  840. data/lib/facets/proc/update.rb +9 -0
  841. data/lib/facets/progressbar.rb +253 -0
  842. data/lib/facets/prototype.rb +88 -0
  843. data/lib/facets/random.rb +448 -0
  844. data/lib/facets/range.rb +6 -0
  845. data/lib/facets/range/combine.rb +47 -0
  846. data/lib/facets/range/overlap.rb +13 -0
  847. data/lib/facets/range/to_r.rb +26 -0
  848. data/lib/facets/range/umbrella.rb +1 -0
  849. data/lib/facets/range/within.rb +66 -0
  850. data/lib/facets/rbconfig.rb +45 -0
  851. data/lib/facets/rbsystem.rb +222 -0
  852. data/lib/facets/recorder.rb +109 -0
  853. data/lib/facets/reference.rb +99 -0
  854. data/lib/facets/reflection.rb +98 -0
  855. data/lib/facets/regexp.rb +5 -0
  856. data/lib/facets/regexp/arity.rb +17 -0
  857. data/lib/facets/regexp/to_re.rb +28 -0
  858. data/lib/facets/registerable.rb +35 -0
  859. data/lib/facets/ruby.rb +485 -0
  860. data/lib/facets/rwdelegator.rb +74 -0
  861. data/lib/facets/semaphore.rb +92 -0
  862. data/lib/{more/facets → facets}/set.rb +0 -0
  863. data/lib/facets/settings.rb +248 -0
  864. data/lib/facets/shellwords.rb +89 -0
  865. data/lib/facets/snapshot.rb +209 -0
  866. data/lib/facets/stackable.rb +86 -0
  867. data/lib/facets/string.rb +16 -0
  868. data/lib/facets/string/align.rb +106 -0
  869. data/lib/facets/string/bracket.rb +105 -0
  870. data/lib/facets/string/camelcase.rb +26 -0
  871. data/lib/facets/string/capitalized.rb +46 -0
  872. data/lib/facets/string/chomp.rb +33 -0
  873. data/lib/facets/string/cleave.rb +36 -0
  874. data/lib/facets/string/divide.rb +21 -0
  875. data/lib/facets/string/fold.rb +39 -0
  876. data/lib/facets/string/interpolate.rb +20 -0
  877. data/lib/facets/string/line_wrap.rb +21 -0
  878. data/lib/facets/string/mscan.rb +19 -0
  879. data/lib/{core/facets → facets}/string/natcmp.rb +0 -0
  880. data/lib/facets/string/nchar.rb +28 -0
  881. data/lib/facets/string/range.rb +77 -0
  882. data/lib/facets/string/rewrite.rb +28 -0
  883. data/lib/facets/string/shatter.rb +22 -0
  884. data/lib/facets/string/snakecase.rb +21 -0
  885. data/lib/facets/string/splice.rb +25 -0
  886. data/lib/facets/string/stylize.rb +73 -0
  887. data/lib/facets/string/subtract.rb +14 -0
  888. data/lib/facets/string/tab.rb +103 -0
  889. data/lib/facets/string/titlecase.rb +15 -0
  890. data/lib/facets/string/to_re.rb +26 -0
  891. data/lib/facets/string/to_time.rb +23 -0
  892. data/lib/facets/string/underscore.rb +28 -0
  893. data/lib/facets/string/words.rb +173 -0
  894. data/lib/facets/string/xor.rb +22 -0
  895. data/lib/facets/style.rb +235 -0
  896. data/lib/facets/succ.rb +44 -0
  897. data/lib/facets/symbol.rb +5 -0
  898. data/lib/facets/symbol/chomp.rb +24 -0
  899. data/lib/facets/symbol/generate.rb +24 -0
  900. data/lib/facets/symbol/not.rb +29 -0
  901. data/lib/facets/syncarray.rb +114 -0
  902. data/lib/facets/synchash.rb +157 -0
  903. data/lib/facets/thread.rb +51 -0
  904. data/lib/facets/time.rb +6 -0
  905. data/lib/facets/time/ago.rb +1 -0
  906. data/lib/facets/time/change.rb +99 -0
  907. data/lib/{core/facets → facets}/time/elapse.rb +0 -0
  908. data/lib/facets/time/hence.rb +56 -0
  909. data/lib/facets/time/set.rb +1 -0
  910. data/lib/facets/time/stamp.rb +46 -0
  911. data/lib/facets/timer.rb +274 -0
  912. data/lib/facets/times.rb +431 -0
  913. data/lib/facets/to_hash.rb +87 -0
  914. data/lib/facets/tracepoint.rb +209 -0
  915. data/lib/facets/tuple.rb +325 -0
  916. data/lib/facets/typecast.rb +260 -0
  917. data/lib/facets/unboundmethod.rb +4 -0
  918. data/lib/{core/facets → facets}/unboundmethod/arguments.rb +0 -0
  919. data/lib/facets/uninheritable.rb +50 -0
  920. data/lib/facets/uploadutils.rb +464 -0
  921. data/lib/facets/uri.rb +249 -0
  922. data/lib/facets/version.rb +122 -0
  923. data/lib/facets/xmlhash.rb +112 -0
  924. data/lib/facets/xoxo.rb +259 -0
  925. data/lib/facets/yaml.rb +66 -0
  926. data/lib/facets/ziputils.rb +349 -0
  927. data/log/Changelog.txt +314 -0
  928. data/log/Fixme.txt +7 -13
  929. data/log/Testlog.txt +202 -185
  930. data/log/Todo.txt +177 -257
  931. data/meta/contact +1 -0
  932. data/meta/corelibs +49 -0
  933. data/meta/created +1 -0
  934. data/meta/download +1 -0
  935. data/meta/homepage +1 -0
  936. data/meta/mailinglist +1 -0
  937. data/meta/project.yaml +3 -14
  938. data/meta/slogan +1 -0
  939. data/meta/unixname +1 -0
  940. data/meta/version +1 -0
  941. data/script/conflicts +38 -0
  942. data/script/document +231 -0
  943. data/script/methods +60 -0
  944. data/script/test +37 -0
  945. data/setup.rb +1478 -0
  946. data/test/array/test_delete.rb +30 -0
  947. data/test/array/test_indexable.rb +118 -0
  948. data/test/array/test_merge.rb +22 -0
  949. data/test/{core/array → array}/test_only.rb +0 -0
  950. data/test/array/test_pad.rb +33 -0
  951. data/test/array/test_product.rb +25 -0
  952. data/test/array/test_rotate.rb +23 -0
  953. data/test/array/test_select.rb +17 -0
  954. data/test/{core/array → array}/test_stackable.rb +0 -0
  955. data/test/binding/test_caller.rb +44 -0
  956. data/test/binding/test_defined.rb +18 -0
  957. data/test/binding/test_local_variables.rb +18 -0
  958. data/test/binding/test_opvars.rb +24 -0
  959. data/test/binding/test_self.rb +18 -0
  960. data/test/class/test_descendents.rb +14 -0
  961. data/test/comparable/test_bound.rb +41 -0
  962. data/test/comparable/test_cmp.rb +35 -0
  963. data/test/comparable/test_comparable.rb +52 -0
  964. data/test/dir/test_ascend.rb +40 -0
  965. data/test/dir/test_descend.rb +25 -0
  966. data/test/dir/test_multiglob.rb +41 -0
  967. data/test/dir/test_parent.rb +11 -0
  968. data/test/dir/test_recurse.rb +41 -0
  969. data/test/enumerable/test_cluster_by.rb +22 -0
  970. data/test/enumerable/test_collect.rb +39 -0
  971. data/test/enumerable/test_each_by.rb +55 -0
  972. data/test/enumerable/test_inject.rb +18 -0
  973. data/test/enumerable/test_mash.rb +38 -0
  974. data/test/enumerable/test_occur.rb +15 -0
  975. data/test/{core/enumerable → enumerable}/test_probability.rb +0 -0
  976. data/test/enumerable/test_uniq_by.rb +13 -0
  977. data/test/exception/test_exception.rb +17 -0
  978. data/test/file/test_file.rb +161 -0
  979. data/test/filetest/test_filetest.rb +10 -0
  980. data/test/hash/test_alias.rb +16 -0
  981. data/test/hash/test_at.rb +13 -0
  982. data/test/hash/test_autonew.rb +11 -0
  983. data/test/hash/test_collate.rb +33 -0
  984. data/test/hash/test_delete.rb +28 -0
  985. data/test/hash/test_insert.rb +13 -0
  986. data/test/hash/test_inverse.rb +15 -0
  987. data/test/hash/test_keys.rb +24 -0
  988. data/test/hash/test_mash.rb +20 -0
  989. data/test/hash/test_merge.rb +14 -0
  990. data/test/hash/test_op.rb +42 -0
  991. data/test/hash/test_rekey.rb +41 -0
  992. data/test/hash/test_rekey2.rb +37 -0
  993. data/test/hash/test_select.rb +35 -0
  994. data/test/hash/test_stringify_keys.rb +21 -0
  995. data/test/hash/test_swap.rb +11 -0
  996. data/test/hash/test_symbolize_keys.rb +20 -0
  997. data/test/hash/test_traverse.rb +22 -0
  998. data/test/hash/test_update.rb +40 -0
  999. data/test/{core/hash → hash}/test_weave.rb +0 -0
  1000. data/test/hash/test_zipnew.rb +13 -0
  1001. data/test/integer/test_bitmask.rb +53 -0
  1002. data/test/integer/test_factorial.rb +15 -0
  1003. data/test/integer/test_multiple.rb +14 -0
  1004. data/test/integer/test_of.rb +19 -0
  1005. data/test/integer/test_ordinal.rb +14 -0
  1006. data/test/kernel/test_as.rb +50 -0
  1007. data/test/kernel/test_attr_singleton.rb +41 -0
  1008. data/test/kernel/test_callstack.rb +10 -0
  1009. data/test/kernel/test_constant.rb +18 -0
  1010. data/test/kernel/test_deepcopy.rb +27 -0
  1011. data/test/kernel/test_here.rb +15 -0
  1012. data/test/kernel/test_in.rb +11 -0
  1013. data/test/kernel/test_instance.rb +24 -0
  1014. data/test/kernel/test_not_nil.rb +13 -0
  1015. data/test/{core/kernel → kernel}/test_object.rb +0 -0
  1016. data/test/kernel/test_populate.rb +46 -0
  1017. data/test/kernel/test_resc.rb +12 -0
  1018. data/test/{core/kernel → kernel}/test_returning.rb +0 -0
  1019. data/test/{core/kernel → kernel}/test_silence.rb +0 -0
  1020. data/test/kernel/test_val.rb +27 -0
  1021. data/test/{core/matchdata → matchdata}/test_match.rb +0 -0
  1022. data/test/matchdata/test_matchset.rb +21 -0
  1023. data/test/{core/module → module}/test_abstract.rb +0 -0
  1024. data/test/module/test_alias.rb +44 -0
  1025. data/test/module/test_ancestor.rb +11 -0
  1026. data/test/{core/module → module}/test_clone.rb +0 -0
  1027. data/test/module/test_nesting.rb +38 -0
  1028. data/test/module/test_op.rb +44 -0
  1029. data/test/module/test_pathize.rb +15 -0
  1030. data/test/module/test_revise.rb +174 -0
  1031. data/test/numeric/test_approx.rb +13 -0
  1032. data/test/numeric/test_distance.rb +13 -0
  1033. data/test/numeric/test_round.rb +49 -0
  1034. data/test/proc/test_bind.rb +26 -0
  1035. data/test/proc/test_compose.rb +20 -0
  1036. data/test/proc/test_curry.rb +25 -0
  1037. data/test/proc/test_partial.rb +27 -0
  1038. data/test/proc/test_to_method.rb +26 -0
  1039. data/test/range/test_combine.rb +18 -0
  1040. data/test/range/test_overlap.rb +15 -0
  1041. data/test/range/test_to_r.rb +17 -0
  1042. data/test/range/test_within.rb +36 -0
  1043. data/test/regexp/test_arity.rb +17 -0
  1044. data/test/regexp/test_to_re.rb +17 -0
  1045. data/test/{core/string → string}/test_align.rb +0 -0
  1046. data/test/{core/string → string}/test_bracket.rb +0 -0
  1047. data/test/string/test_camelcase.rb +42 -0
  1048. data/test/string/test_capitalized.rb +27 -0
  1049. data/test/string/test_cleave.rb +32 -0
  1050. data/test/string/test_divide.rb +14 -0
  1051. data/test/string/test_fold.rb +18 -0
  1052. data/test/{core/string → string}/test_interpolate.rb +0 -0
  1053. data/test/string/test_line_wrap.rb +12 -0
  1054. data/test/string/test_mscan.rb +15 -0
  1055. data/test/{core/string → string}/test_natcmp.rb +0 -0
  1056. data/test/string/test_nchar.rb +14 -0
  1057. data/test/string/test_range.rb +23 -0
  1058. data/test/string/test_shatter.rb +14 -0
  1059. data/test/string/test_snakecase.rb +14 -0
  1060. data/test/string/test_stylize.rb +52 -0
  1061. data/test/string/test_subtract.rb +13 -0
  1062. data/test/string/test_tab.rb +234 -0
  1063. data/test/string/test_titlecase.rb +13 -0
  1064. data/test/string/test_to_re.rb +27 -0
  1065. data/test/string/test_to_time.rb +24 -0
  1066. data/test/string/test_underscore.rb +13 -0
  1067. data/test/string/test_words.rb +82 -0
  1068. data/test/string/test_xor.rb +13 -0
  1069. data/test/symbol/test_chomp.rb +15 -0
  1070. data/test/symbol/test_generate.rb +20 -0
  1071. data/test/symbol/test_not.rb +13 -0
  1072. data/test/{core/test_1stclassmethod.rb → test_1stclassmethod.rb} +0 -0
  1073. data/test/test_advisable.rb +71 -0
  1074. data/test/test_annotations.rb +120 -0
  1075. data/test/{more/test_ansicode.rb → test_ansicode.rb} +0 -0
  1076. data/test/test_arguments.rb +56 -0
  1077. data/test/{class/test_association.rb → test_association.rb} +0 -0
  1078. data/test/{class/test_autoarray.rb → test_autoarray.rb} +0 -0
  1079. data/test/{class/test_basicobject.rb → test_basicobject.rb} +0 -0
  1080. data/test/{more/test_bbcode.rb → test_bbcode.rb} +0 -0
  1081. data/test/{mixin/test_binreadable.rb → test_binreadable.rb} +0 -0
  1082. data/test/test_blank.rb +12 -0
  1083. data/test/{core/test_boolean.rb → test_boolean.rb} +0 -0
  1084. data/test/test_buildable.rb +73 -0
  1085. data/test/{more/test_bytes.rb → test_bytes.rb} +0 -0
  1086. data/test/test_cattr.rb +47 -0
  1087. data/test/{more/test_class_extension.rb → test_class_extension.rb} +0 -0
  1088. data/test/{more/test_classmethods.rb → test_classmethods.rb} +0 -0
  1089. data/test/{mixin/test_cloneable.rb → test_cloneable.rb} +0 -0
  1090. data/test/test_command.rb +71 -0
  1091. data/test/{more/test_continuation.rb → test_continuation.rb} +0 -0
  1092. data/test/{class/test_coroutine.rb → test_coroutine.rb} +0 -0
  1093. data/test/{more/test_crypt.rb → test_crypt.rb} +0 -0
  1094. data/test/{more/test_date.rb → test_date.rb} +0 -0
  1095. data/test/{more/test_dependency.rb → test_dependency.rb} +0 -0
  1096. data/test/{class/test_dictionary.rb → test_dictionary.rb} +0 -0
  1097. data/test/test_elementor.rb +39 -0
  1098. data/test/test_elementwise.rb +25 -0
  1099. data/test/{mixin/test_enumerablepass.rb → test_enumerablepass.rb} +0 -0
  1100. data/test/test_equatable.rb +42 -0
  1101. data/test/{core/test_functor.rb → test_functor.rb} +0 -0
  1102. data/test/{more/test_getoptlong.rb → test_getoptlong.rb} +0 -0
  1103. data/test/{class/test_infinity.rb → test_infinity.rb} +0 -0
  1104. data/test/{more/test_inheritor.rb → test_inheritor.rb} +0 -0
  1105. data/test/test_instantiable.rb +37 -0
  1106. data/test/{more/test_instantise.rb → test_instantise.rb} +0 -0
  1107. data/test/{class/test_interval.rb → test_interval.rb} +0 -0
  1108. data/test/{class/test_linkedlist.rb → test_linkedlist.rb} +0 -0
  1109. data/test/{class/test_lrucache.rb → test_lrucache.rb} +0 -0
  1110. data/test/{more/test_memoize.rb → test_memoize.rb} +0 -0
  1111. data/test/test_metaid.rb +39 -0
  1112. data/test/test_methodspace.rb +78 -0
  1113. data/test/{more/test_multipliers.rb → test_multipliers.rb} +0 -0
  1114. data/test/{mixin/test_multiton.rb → test_multiton.rb} +0 -0
  1115. data/test/{class/test_opencascade.rb → test_opencascade.rb} +0 -0
  1116. data/test/{class/test_openobject.rb → test_openobject.rb} +0 -0
  1117. data/test/{more/test_ostruct.rb → test_ostruct.rb} +0 -0
  1118. data/test/test_overload.rb +120 -0
  1119. data/test/{more/test_prototype.rb → test_prototype.rb} +0 -0
  1120. data/test/{more/test_random.rb → test_random.rb} +0 -0
  1121. data/test/{class/test_recorder.rb → test_recorder.rb} +0 -0
  1122. data/test/test_ruby.rb +198 -0
  1123. data/test/test_ruby/array/test_combination.rb +29 -0
  1124. data/test/test_ruby/array/test_permutation.rb +14 -0
  1125. data/test/test_ruby/array/test_product.rb +23 -0
  1126. data/test/test_ruby/kernel/test_tap.rb +19 -0
  1127. data/test/test_ruby/symbol/test_succ.rb +13 -0
  1128. data/test/{more/test_snapshot.rb → test_snapshot.rb} +0 -0
  1129. data/test/test_style.rb +50 -0
  1130. data/test/test_succ.rb +35 -0
  1131. data/test/{class/test_syncarray.rb → test_syncarray.rb} +0 -0
  1132. data/test/{class/test_synchash.rb → test_synchash.rb} +0 -0
  1133. data/test/test_thread.rb +22 -0
  1134. data/test/{class/test_timer.rb → test_timer.rb} +0 -0
  1135. data/test/{more/test_times.rb → test_times.rb} +0 -0
  1136. data/test/test_to_hash.rb +58 -0
  1137. data/test/{class/test_tuple.rb → test_tuple.rb} +0 -0
  1138. data/test/test_typecast.rb +54 -0
  1139. data/test/{mixin/test_uninheritable.rb → test_uninheritable.rb} +0 -0
  1140. data/test/test_uri.rb +36 -0
  1141. data/test/test_xoxo.rb +274 -0
  1142. data/test/time/test_change.rb +15 -0
  1143. data/test/time/test_elapse.rb +13 -0
  1144. data/test/time/test_stamp.rb +28 -0
  1145. metadata +1503 -1127
  1146. data/Rakefile +0 -26
  1147. data/lib/class/facets/association.rb +0 -157
  1148. data/lib/class/facets/autoarray.rb +0 -59
  1149. data/lib/class/facets/basicobject.rb +0 -234
  1150. data/lib/class/facets/buildingblock.rb +0 -219
  1151. data/lib/class/facets/cachedelegator.rb +0 -93
  1152. data/lib/class/facets/coroutine.rb +0 -120
  1153. data/lib/class/facets/dictionary.rb +0 -435
  1154. data/lib/class/facets/downloader.rb +0 -279
  1155. data/lib/class/facets/filelist.rb +0 -493
  1156. data/lib/class/facets/fileshell.rb +0 -198
  1157. data/lib/class/facets/hashbuilder.rb +0 -97
  1158. data/lib/class/facets/heap.rb +0 -27
  1159. data/lib/class/facets/infinity.rb +0 -183
  1160. data/lib/class/facets/interval.rb +0 -266
  1161. data/lib/class/facets/ioredirect.rb +0 -133
  1162. data/lib/class/facets/linkedlist.rb +0 -214
  1163. data/lib/class/facets/lrucache.rb +0 -156
  1164. data/lib/class/facets/minitar.rb +0 -999
  1165. data/lib/class/facets/nackclass.rb +0 -43
  1166. data/lib/class/facets/nullclass.rb +0 -79
  1167. data/lib/class/facets/opencascade.rb +0 -92
  1168. data/lib/class/facets/opencollection.rb +0 -46
  1169. data/lib/class/facets/openhash.rb +0 -41
  1170. data/lib/class/facets/openobject.rb +0 -241
  1171. data/lib/class/facets/orderedhash.rb +0 -42
  1172. data/lib/class/facets/pathlist.rb +0 -106
  1173. data/lib/class/facets/pool.rb +0 -97
  1174. data/lib/class/facets/pqueue.rb +0 -468
  1175. data/lib/class/facets/progressbar.rb +0 -245
  1176. data/lib/class/facets/recorder.rb +0 -97
  1177. data/lib/class/facets/reference.rb +0 -100
  1178. data/lib/class/facets/rwdelegator.rb +0 -79
  1179. data/lib/class/facets/semaphore.rb +0 -97
  1180. data/lib/class/facets/syncarray.rb +0 -122
  1181. data/lib/class/facets/synchash.rb +0 -149
  1182. data/lib/class/facets/timer.rb +0 -247
  1183. data/lib/class/facets/tuple.rb +0 -310
  1184. data/lib/class/facets/version.rb +0 -127
  1185. data/lib/core/facets.rb +0 -1
  1186. data/lib/core/facets/1stclassmethod.rb +0 -117
  1187. data/lib/core/facets/array.rb +0 -12
  1188. data/lib/core/facets/array/conjoin.rb +0 -47
  1189. data/lib/core/facets/array/contains.rb +0 -1
  1190. data/lib/core/facets/array/delete.rb +0 -57
  1191. data/lib/core/facets/array/delete_unless.rb +0 -1
  1192. data/lib/core/facets/array/delete_values.rb +0 -1
  1193. data/lib/core/facets/array/delete_values_at.rb +0 -1
  1194. data/lib/core/facets/array/each_iteration.rb +0 -1
  1195. data/lib/core/facets/array/first.rb +0 -1
  1196. data/lib/core/facets/array/indexable.rb +0 -132
  1197. data/lib/core/facets/array/join_sentence.rb +0 -1
  1198. data/lib/core/facets/array/last.rb +0 -1
  1199. data/lib/core/facets/array/merge.rb +0 -23
  1200. data/lib/core/facets/array/only.rb +0 -20
  1201. data/lib/core/facets/array/pad.rb +0 -45
  1202. data/lib/core/facets/array/poke.rb +0 -1
  1203. data/lib/core/facets/array/pull.rb +0 -1
  1204. data/lib/core/facets/array/rotate.rb +0 -41
  1205. data/lib/core/facets/array/select.rb +0 -15
  1206. data/lib/core/facets/array/splice.rb +0 -30
  1207. data/lib/core/facets/array/stackable.rb +0 -30
  1208. data/lib/core/facets/array/store.rb +0 -1
  1209. data/lib/core/facets/array/to_b.rb +0 -1
  1210. data/lib/core/facets/array/to_h.rb +0 -1
  1211. data/lib/core/facets/array/to_path.rb +0 -1
  1212. data/lib/core/facets/binding.rb +0 -7
  1213. data/lib/core/facets/binding/__DIR__.rb +0 -1
  1214. data/lib/core/facets/binding/__FILE__.rb +0 -1
  1215. data/lib/core/facets/binding/__LINE__.rb +0 -1
  1216. data/lib/core/facets/binding/__callee__.rb +0 -1
  1217. data/lib/core/facets/binding/__method__.rb +0 -1
  1218. data/lib/core/facets/binding/call_stack.rb +0 -1
  1219. data/lib/core/facets/binding/called.rb +0 -1
  1220. data/lib/core/facets/binding/caller.rb +0 -72
  1221. data/lib/core/facets/binding/defined.rb +0 -10
  1222. data/lib/core/facets/binding/eval.rb +0 -17
  1223. data/lib/core/facets/binding/here.rb +0 -1
  1224. data/lib/core/facets/binding/included.rb +0 -1
  1225. data/lib/core/facets/binding/local_variables.rb +0 -1
  1226. data/lib/core/facets/binding/methodname.rb +0 -1
  1227. data/lib/core/facets/binding/op_fetch.rb +0 -1
  1228. data/lib/core/facets/binding/self.rb +0 -12
  1229. data/lib/core/facets/binding/vars.rb +0 -41
  1230. data/lib/core/facets/boolean.rb +0 -161
  1231. data/lib/core/facets/class.rb +0 -6
  1232. data/lib/core/facets/class/cattr.rb +0 -1
  1233. data/lib/core/facets/class/cattr_accessor.rb +0 -1
  1234. data/lib/core/facets/class/cattr_reader.rb +0 -1
  1235. data/lib/core/facets/class/cattr_writer.rb +0 -1
  1236. data/lib/core/facets/class/class_load.rb +0 -1
  1237. data/lib/core/facets/class/class_require.rb +0 -1
  1238. data/lib/core/facets/class/descendents.rb +0 -41
  1239. data/lib/core/facets/class/initializer.rb +0 -36
  1240. data/lib/core/facets/class/mattr.rb +0 -1
  1241. data/lib/core/facets/class/mattr_accessor.rb +0 -1
  1242. data/lib/core/facets/class/mattr_reader.rb +0 -1
  1243. data/lib/core/facets/class/mattr_writer.rb +0 -1
  1244. data/lib/core/facets/class/remove_descendents.rb +0 -19
  1245. data/lib/core/facets/class/remove_subclasses.rb +0 -1
  1246. data/lib/core/facets/class/subclasses.rb +0 -1
  1247. data/lib/core/facets/class/to_proc.rb +0 -1
  1248. data/lib/core/facets/comparable.rb +0 -2
  1249. data/lib/core/facets/comparable/at_least.rb +0 -1
  1250. data/lib/core/facets/comparable/at_most.rb +0 -1
  1251. data/lib/core/facets/comparable/bound.rb +0 -58
  1252. data/lib/core/facets/comparable/cap.rb +0 -1
  1253. data/lib/core/facets/comparable/clip.rb +0 -1
  1254. data/lib/core/facets/comparable/cmp.rb +0 -92
  1255. data/lib/core/facets/conversion.rb +0 -495
  1256. data/lib/core/facets/dir.rb +0 -4
  1257. data/lib/core/facets/dir/ancestor.rb +0 -1
  1258. data/lib/core/facets/dir/ascend.rb +0 -1
  1259. data/lib/core/facets/dir/descend.rb +0 -1
  1260. data/lib/core/facets/dir/ls_r.rb +0 -1
  1261. data/lib/core/facets/dir/multiglob_r.rb +0 -1
  1262. data/lib/core/facets/dir/parent.rb +0 -12
  1263. data/lib/core/facets/dir/recurse.rb +0 -28
  1264. data/lib/core/facets/dir/traverse.rb +0 -56
  1265. data/lib/core/facets/enumerable.rb +0 -9
  1266. data/lib/core/facets/enumerable/cart.rb +0 -1
  1267. data/lib/core/facets/enumerable/cartesian.rb +0 -62
  1268. data/lib/core/facets/enumerable/cartesian_product.rb +0 -1
  1269. data/lib/core/facets/enumerable/cluster_by.rb +0 -1
  1270. data/lib/core/facets/enumerable/collate.rb +0 -0
  1271. data/lib/core/facets/enumerable/collect.rb +0 -164
  1272. data/lib/core/facets/enumerable/collect_if.rb +0 -1
  1273. data/lib/core/facets/enumerable/collect_with_index.rb +0 -1
  1274. data/lib/core/facets/enumerable/combination.rb +0 -114
  1275. data/lib/core/facets/enumerable/combinations.rb +0 -1
  1276. data/lib/core/facets/enumerable/combos.rb +0 -48
  1277. data/lib/core/facets/enumerable/commonality.rb +0 -1
  1278. data/lib/core/facets/enumerable/compact_collect.rb +0 -1
  1279. data/lib/core/facets/enumerable/compact_map.rb +0 -1
  1280. data/lib/core/facets/enumerable/count.rb +0 -175
  1281. data/lib/core/facets/enumerable/divide.rb +0 -1
  1282. data/lib/core/facets/enumerable/duplicates.rb +0 -1
  1283. data/lib/core/facets/enumerable/each.rb +0 -86
  1284. data/lib/core/facets/enumerable/each_by.rb +0 -1
  1285. data/lib/core/facets/enumerable/each_combination.rb +0 -1
  1286. data/lib/core/facets/enumerable/each_combo.rb +0 -1
  1287. data/lib/core/facets/enumerable/each_pair.rb +0 -1
  1288. data/lib/core/facets/enumerable/each_permutation.rb +0 -1
  1289. data/lib/core/facets/enumerable/each_unique_pair.rb +0 -1
  1290. data/lib/core/facets/enumerable/eachn.rb +0 -1
  1291. data/lib/core/facets/enumerable/entropy.rb +0 -1
  1292. data/lib/core/facets/enumerable/filter_collect.rb +0 -1
  1293. data/lib/core/facets/enumerable/filter_map.rb +0 -1
  1294. data/lib/core/facets/enumerable/frequency.rb +0 -1
  1295. data/lib/core/facets/enumerable/graph.rb +0 -1
  1296. data/lib/core/facets/enumerable/group_by.rb +0 -1
  1297. data/lib/core/facets/enumerable/ideal_entropy.rb +0 -1
  1298. data/lib/core/facets/enumerable/inject.rb +0 -1
  1299. data/lib/core/facets/enumerable/injecting.rb +0 -1
  1300. data/lib/core/facets/enumerable/map_if.rb +0 -1
  1301. data/lib/core/facets/enumerable/map_send.rb +0 -1
  1302. data/lib/core/facets/enumerable/map_with_index.rb +0 -1
  1303. data/lib/core/facets/enumerable/mash.rb +0 -50
  1304. data/lib/core/facets/enumerable/mode.rb +0 -1
  1305. data/lib/core/facets/enumerable/modulate.rb +0 -1
  1306. data/lib/core/facets/enumerable/none.rb +0 -1
  1307. data/lib/core/facets/enumerable/nonuniq.rb +0 -1
  1308. data/lib/core/facets/enumerable/occur.rb +0 -1
  1309. data/lib/core/facets/enumerable/one.rb +0 -1
  1310. data/lib/core/facets/enumerable/op_pow.rb +0 -1
  1311. data/lib/core/facets/enumerable/partition_by.rb +0 -1
  1312. data/lib/core/facets/enumerable/permutation.rb +0 -101
  1313. data/lib/core/facets/enumerable/permutation_number.rb +0 -1
  1314. data/lib/core/facets/enumerable/permute.rb +0 -1
  1315. data/lib/core/facets/enumerable/probability.rb +0 -144
  1316. data/lib/core/facets/enumerable/split.rb +0 -113
  1317. data/lib/core/facets/enumerable/sum.rb +0 -1
  1318. data/lib/core/facets/enumerable/to_h.rb +0 -1
  1319. data/lib/core/facets/enumerable/to_hash.rb +0 -1
  1320. data/lib/core/facets/enumerable/uniq_by.rb +0 -1
  1321. data/lib/core/facets/exception/detail.rb +0 -19
  1322. data/lib/core/facets/facets.rb +0 -49
  1323. data/lib/core/facets/file.rb +0 -6
  1324. data/lib/core/facets/file/append.rb +0 -1
  1325. data/lib/core/facets/file/create.rb +0 -1
  1326. data/lib/core/facets/file/null.rb +0 -20
  1327. data/lib/core/facets/file/read.rb +0 -29
  1328. data/lib/core/facets/file/read_binary.rb +0 -1
  1329. data/lib/core/facets/file/read_list.rb +0 -1
  1330. data/lib/core/facets/file/rewrite.rb +0 -1
  1331. data/lib/core/facets/file/rootname.rb +0 -22
  1332. data/lib/core/facets/file/sanitize.rb +0 -14
  1333. data/lib/core/facets/file/split_all.rb +0 -19
  1334. data/lib/core/facets/file/write.rb +0 -113
  1335. data/lib/core/facets/file/writelines.rb +0 -1
  1336. data/lib/core/facets/filetest.rb +0 -1
  1337. data/lib/core/facets/filetest/root.rb +0 -16
  1338. data/lib/core/facets/float.rb +0 -1
  1339. data/lib/core/facets/float/round.rb +0 -8
  1340. data/lib/core/facets/float/round_at.rb +0 -1
  1341. data/lib/core/facets/float/round_off.rb +0 -1
  1342. data/lib/core/facets/float/round_to.rb +0 -1
  1343. data/lib/core/facets/functor.rb +0 -64
  1344. data/lib/core/facets/hash.rb +0 -24
  1345. data/lib/core/facets/hash/alias.rb +0 -28
  1346. data/lib/core/facets/hash/at.rb +0 -7
  1347. data/lib/core/facets/hash/autonew.rb +0 -26
  1348. data/lib/core/facets/hash/collate.rb +0 -44
  1349. data/lib/core/facets/hash/delete.rb +0 -46
  1350. data/lib/core/facets/hash/delete_at.rb +0 -1
  1351. data/lib/core/facets/hash/delete_unless.rb +0 -1
  1352. data/lib/core/facets/hash/delete_values.rb +0 -1
  1353. data/lib/core/facets/hash/delete_values_at.rb +0 -1
  1354. data/lib/core/facets/hash/diff.rb +0 -15
  1355. data/lib/core/facets/hash/each_with_key.rb +0 -12
  1356. data/lib/core/facets/hash/graph.rb +0 -1
  1357. data/lib/core/facets/hash/has_keys.rb +0 -31
  1358. data/lib/core/facets/hash/has_only_keys.rb +0 -1
  1359. data/lib/core/facets/hash/insert.rb +0 -19
  1360. data/lib/core/facets/hash/inverse.rb +0 -27
  1361. data/lib/core/facets/hash/join.rb +0 -14
  1362. data/lib/core/facets/hash/mash.rb +0 -1
  1363. data/lib/core/facets/hash/op.rb +0 -97
  1364. data/lib/core/facets/hash/op_and.rb +0 -1
  1365. data/lib/core/facets/hash/op_div.rb +0 -10
  1366. data/lib/core/facets/hash/op_lshift.rb +0 -1
  1367. data/lib/core/facets/hash/op_minus.rb +0 -1
  1368. data/lib/core/facets/hash/op_mul.rb +0 -1
  1369. data/lib/core/facets/hash/op_or.rb +0 -1
  1370. data/lib/core/facets/hash/op_plus.rb +0 -1
  1371. data/lib/core/facets/hash/pairs_at.rb +0 -15
  1372. data/lib/core/facets/hash/rekey.rb +0 -58
  1373. data/lib/core/facets/hash/replace_each.rb +0 -1
  1374. data/lib/core/facets/hash/reverse_merge.rb +0 -29
  1375. data/lib/core/facets/hash/reverse_update.rb +0 -1
  1376. data/lib/core/facets/hash/swap.rb +0 -36
  1377. data/lib/core/facets/hash/to_h.rb +0 -1
  1378. data/lib/core/facets/hash/to_proc.rb +0 -1
  1379. data/lib/core/facets/hash/to_proc_with_reponse.rb +0 -1
  1380. data/lib/core/facets/hash/to_struct.rb +0 -1
  1381. data/lib/core/facets/hash/traverse.rb +0 -41
  1382. data/lib/core/facets/hash/update.rb +0 -63
  1383. data/lib/core/facets/hash/update_each.rb +0 -1
  1384. data/lib/core/facets/hash/update_keys.rb +0 -1
  1385. data/lib/core/facets/hash/update_values.rb +0 -1
  1386. data/lib/core/facets/hash/zipnew.rb +0 -18
  1387. data/lib/core/facets/indexable.rb +0 -241
  1388. data/lib/core/facets/integer.rb +0 -4
  1389. data/lib/core/facets/integer/bit.rb +0 -1
  1390. data/lib/core/facets/integer/clear_bit.rb +0 -1
  1391. data/lib/core/facets/integer/even.rb +0 -1
  1392. data/lib/core/facets/integer/fac.rb +0 -1
  1393. data/lib/core/facets/integer/factorial.rb +0 -29
  1394. data/lib/core/facets/integer/multiple.rb +0 -44
  1395. data/lib/core/facets/integer/odd.rb +0 -1
  1396. data/lib/core/facets/integer/of.rb +0 -22
  1397. data/lib/core/facets/integer/times_collect.rb +0 -1
  1398. data/lib/core/facets/integer/times_map.rb +0 -1
  1399. data/lib/core/facets/kernel.rb +0 -23
  1400. data/lib/core/facets/kernel/Bit.rb +0 -1
  1401. data/lib/core/facets/kernel/__DIR__.rb +0 -1
  1402. data/lib/core/facets/kernel/__assign__.rb +0 -1
  1403. data/lib/core/facets/kernel/__callee__.rb +0 -1
  1404. data/lib/core/facets/kernel/__class__.rb +0 -1
  1405. data/lib/core/facets/kernel/__get__.rb +0 -1
  1406. data/lib/core/facets/kernel/__method__.rb +0 -1
  1407. data/lib/core/facets/kernel/__real__.rb +0 -1
  1408. data/lib/core/facets/kernel/__set__.rb +0 -1
  1409. data/lib/core/facets/kernel/__singleton_class__.rb +0 -1
  1410. data/lib/core/facets/kernel/as.rb +0 -1
  1411. data/lib/core/facets/kernel/ask.rb +0 -26
  1412. data/lib/core/facets/kernel/assign_from.rb +0 -1
  1413. data/lib/core/facets/kernel/assign_with.rb +0 -1
  1414. data/lib/core/facets/kernel/bitmask.rb +0 -1
  1415. data/lib/core/facets/kernel/bool.rb +0 -1
  1416. data/lib/core/facets/kernel/call_stack.rb +0 -1
  1417. data/lib/core/facets/kernel/called.rb +0 -1
  1418. data/lib/core/facets/kernel/callee.rb +0 -1
  1419. data/lib/core/facets/kernel/callstack.rb +0 -88
  1420. data/lib/core/facets/kernel/class_def.rb +0 -1
  1421. data/lib/core/facets/kernel/complete.rb +0 -1
  1422. data/lib/core/facets/kernel/copy.rb +0 -1
  1423. data/lib/core/facets/kernel/d.rb +0 -1
  1424. data/lib/core/facets/kernel/deep_clone.rb +0 -1
  1425. data/lib/core/facets/kernel/deep_copy.rb +0 -1
  1426. data/lib/core/facets/kernel/deepcopy.rb +0 -59
  1427. data/lib/core/facets/kernel/demo.rb +0 -1
  1428. data/lib/core/facets/kernel/dir.rb +0 -14
  1429. data/lib/core/facets/kernel/eigenclass.rb +0 -1
  1430. data/lib/core/facets/kernel/enable_warnings.rb +0 -1
  1431. data/lib/core/facets/kernel/ergo.rb +0 -40
  1432. data/lib/core/facets/kernel/false.rb +0 -1
  1433. data/lib/core/facets/kernel/fn.rb +0 -1
  1434. data/lib/core/facets/kernel/here.rb +0 -9
  1435. data/lib/core/facets/kernel/in.rb +0 -1
  1436. data/lib/core/facets/kernel/instance.rb +0 -176
  1437. data/lib/core/facets/kernel/instance_assign.rb +0 -1
  1438. data/lib/core/facets/kernel/instance_assume.rb +0 -1
  1439. data/lib/core/facets/kernel/instance_class.rb +0 -1
  1440. data/lib/core/facets/kernel/instance_exec.rb +0 -1
  1441. data/lib/core/facets/kernel/instance_send.rb +0 -1
  1442. data/lib/core/facets/kernel/instance_values.rb +0 -1
  1443. data/lib/core/facets/kernel/is.rb +0 -1
  1444. data/lib/core/facets/kernel/load_local.rb +0 -1
  1445. data/lib/core/facets/kernel/meta.rb +0 -1
  1446. data/lib/core/facets/kernel/meta_alias.rb +0 -1
  1447. data/lib/core/facets/kernel/meta_class.rb +0 -1
  1448. data/lib/core/facets/kernel/meta_def.rb +0 -1
  1449. data/lib/core/facets/kernel/meta_eval.rb +0 -1
  1450. data/lib/core/facets/kernel/metaclass.rb +0 -1
  1451. data/lib/core/facets/kernel/metaid.rb +0 -160
  1452. data/lib/core/facets/kernel/method.rb +0 -1
  1453. data/lib/core/facets/kernel/non_nil.rb +0 -1
  1454. data/lib/core/facets/kernel/not_nil.rb +0 -1
  1455. data/lib/core/facets/kernel/object.rb +0 -68
  1456. data/lib/core/facets/kernel/object_class.rb +0 -1
  1457. data/lib/core/facets/kernel/object_clone.rb +0 -1
  1458. data/lib/core/facets/kernel/object_dup.rb +0 -1
  1459. data/lib/core/facets/kernel/object_hexid.rb +0 -1
  1460. data/lib/core/facets/kernel/object_send.rb +0 -1
  1461. data/lib/core/facets/kernel/op_esc.rb +0 -62
  1462. data/lib/core/facets/kernel/p.rb +0 -1
  1463. data/lib/core/facets/kernel/populate.rb +0 -136
  1464. data/lib/core/facets/kernel/pp_call_stack.rb +0 -1
  1465. data/lib/core/facets/kernel/pp_exception.rb +0 -1
  1466. data/lib/core/facets/kernel/qua_class.rb +0 -1
  1467. data/lib/core/facets/kernel/report.rb +0 -98
  1468. data/lib/core/facets/kernel/require.rb +0 -55
  1469. data/lib/core/facets/kernel/require_all.rb +0 -1
  1470. data/lib/core/facets/kernel/require_local.rb +0 -1
  1471. data/lib/core/facets/kernel/resc.rb +0 -1
  1472. data/lib/core/facets/kernel/respond.rb +0 -23
  1473. data/lib/core/facets/kernel/respond_with_value.rb +0 -1
  1474. data/lib/core/facets/kernel/returning.rb +0 -50
  1475. data/lib/core/facets/kernel/send_as.rb +0 -1
  1476. data/lib/core/facets/kernel/set_from.rb +0 -1
  1477. data/lib/core/facets/kernel/set_with.rb +0 -1
  1478. data/lib/core/facets/kernel/silence.rb +0 -79
  1479. data/lib/core/facets/kernel/silence_stderr.rb +0 -1
  1480. data/lib/core/facets/kernel/silence_stream.rb +0 -1
  1481. data/lib/core/facets/kernel/silence_warnings.rb +0 -1
  1482. data/lib/core/facets/kernel/singleton.rb +0 -1
  1483. data/lib/core/facets/kernel/singleton_class.rb +0 -1
  1484. data/lib/core/facets/kernel/super.rb +0 -158
  1485. data/lib/core/facets/kernel/super_at.rb +0 -1
  1486. data/lib/core/facets/kernel/super_method.rb +0 -1
  1487. data/lib/core/facets/kernel/superior.rb +0 -1
  1488. data/lib/core/facets/kernel/supermethod.rb +0 -1
  1489. data/lib/core/facets/kernel/suppress.rb +0 -1
  1490. data/lib/core/facets/kernel/tap.rb +0 -34
  1491. data/lib/core/facets/kernel/this.rb +0 -1
  1492. data/lib/core/facets/kernel/to_b.rb +0 -1
  1493. data/lib/core/facets/kernel/to_bool.rb +0 -1
  1494. data/lib/core/facets/kernel/true.rb +0 -1
  1495. data/lib/core/facets/kernel/val.rb +0 -40
  1496. data/lib/core/facets/kernel/warn_with_line.rb +0 -1
  1497. data/lib/core/facets/kernel/with.rb +0 -1
  1498. data/lib/core/facets/kernel/with_accessor.rb +0 -1
  1499. data/lib/core/facets/kernel/with_reader.rb +0 -1
  1500. data/lib/core/facets/kernel/with_writer.rb +0 -1
  1501. data/lib/core/facets/kernel/withattr.rb +0 -53
  1502. data/lib/core/facets/matchdata.rb +0 -2
  1503. data/lib/core/facets/matchdata/match.rb +0 -16
  1504. data/lib/core/facets/matchdata/matchset.rb +0 -43
  1505. data/lib/core/facets/matchdata/matchtree.rb +0 -1
  1506. data/lib/core/facets/module.rb +0 -13
  1507. data/lib/core/facets/module/abstract.rb +0 -21
  1508. data/lib/core/facets/module/alias.rb +0 -139
  1509. data/lib/core/facets/module/alias_accessor.rb +0 -1
  1510. data/lib/core/facets/module/alias_method_chain.rb +0 -1
  1511. data/lib/core/facets/module/alias_module_function.rb +0 -1
  1512. data/lib/core/facets/module/alias_reader.rb +0 -1
  1513. data/lib/core/facets/module/alias_setter.rb +0 -1
  1514. data/lib/core/facets/module/alias_switcher.rb +0 -1
  1515. data/lib/core/facets/module/alias_tester.rb +0 -1
  1516. data/lib/core/facets/module/alias_toggler.rb +0 -1
  1517. data/lib/core/facets/module/alias_validator.rb +0 -1
  1518. data/lib/core/facets/module/alias_writer.rb +0 -1
  1519. data/lib/core/facets/module/all_instance_methods.rb +0 -1
  1520. data/lib/core/facets/module/ancestor.rb +0 -1
  1521. data/lib/core/facets/module/attr_accessor.rb +0 -1
  1522. data/lib/core/facets/module/attr_reader.rb +0 -1
  1523. data/lib/core/facets/module/attr_setter.rb +0 -1
  1524. data/lib/core/facets/module/attr_switcher.rb +0 -1
  1525. data/lib/core/facets/module/attr_tester.rb +0 -1
  1526. data/lib/core/facets/module/attr_toggler.rb +0 -1
  1527. data/lib/core/facets/module/attr_validator.rb +0 -1
  1528. data/lib/core/facets/module/attr_writer.rb +0 -1
  1529. data/lib/core/facets/module/basename.rb +0 -1
  1530. data/lib/core/facets/module/by_name.rb +0 -1
  1531. data/lib/core/facets/module/can.rb +0 -1
  1532. data/lib/core/facets/module/cattr.rb +0 -110
  1533. data/lib/core/facets/module/class.rb +0 -1
  1534. data/lib/core/facets/module/class_def.rb +0 -1
  1535. data/lib/core/facets/module/clone.rb +0 -50
  1536. data/lib/core/facets/module/clone_removing.rb +0 -1
  1537. data/lib/core/facets/module/clone_renaming.rb +0 -1
  1538. data/lib/core/facets/module/clone_using.rb +0 -1
  1539. data/lib/core/facets/module/conflict.rb +0 -1
  1540. data/lib/core/facets/module/dirname.rb +0 -1
  1541. data/lib/core/facets/module/include.rb +0 -179
  1542. data/lib/core/facets/module/include_and_extend.rb +0 -1
  1543. data/lib/core/facets/module/include_as.rb +0 -1
  1544. data/lib/core/facets/module/include_function_module.rb +0 -1
  1545. data/lib/core/facets/module/instance_method.rb +0 -1
  1546. data/lib/core/facets/module/instance_method_defined.rb +0 -1
  1547. data/lib/core/facets/module/integrate.rb +0 -1
  1548. data/lib/core/facets/module/is.rb +0 -1
  1549. data/lib/core/facets/module/methods.rb +0 -36
  1550. data/lib/core/facets/module/modify.rb +0 -173
  1551. data/lib/core/facets/module/modspace.rb +0 -1
  1552. data/lib/core/facets/module/module_load.rb +0 -1
  1553. data/lib/core/facets/module/module_method.rb +0 -1
  1554. data/lib/core/facets/module/module_method_defined.rb +0 -1
  1555. data/lib/core/facets/module/module_require.rb +0 -1
  1556. data/lib/core/facets/module/name.rb +0 -122
  1557. data/lib/core/facets/module/nesting.rb +0 -1
  1558. data/lib/core/facets/module/nodef.rb +0 -1
  1559. data/lib/core/facets/module/on_included.rb +0 -1
  1560. data/lib/core/facets/module/op_minus.rb +0 -1
  1561. data/lib/core/facets/module/op_mul.rb +0 -1
  1562. data/lib/core/facets/module/op_plus.rb +0 -1
  1563. data/lib/core/facets/module/private_conflict.rb +0 -1
  1564. data/lib/core/facets/module/protected_conflict.rb +0 -1
  1565. data/lib/core/facets/module/public_conflict.rb +0 -1
  1566. data/lib/core/facets/module/redef.rb +0 -1
  1567. data/lib/core/facets/module/redefine_method.rb +0 -1
  1568. data/lib/core/facets/module/redirect.rb +0 -1
  1569. data/lib/core/facets/module/redirect_method.rb +0 -1
  1570. data/lib/core/facets/module/remove.rb +0 -1
  1571. data/lib/core/facets/module/rename.rb +0 -1
  1572. data/lib/core/facets/module/rename_method.rb +0 -1
  1573. data/lib/core/facets/module/require.rb +0 -57
  1574. data/lib/core/facets/module/revisal.rb +0 -1
  1575. data/lib/core/facets/module/traits.rb +0 -146
  1576. data/lib/core/facets/module/wrap.rb +0 -1
  1577. data/lib/core/facets/module/wrap_method.rb +0 -1
  1578. data/lib/core/facets/nilclass.rb +0 -2
  1579. data/lib/core/facets/nilclass/ergo.rb +0 -1
  1580. data/lib/core/facets/nilclass/status.rb +0 -47
  1581. data/lib/core/facets/nilclass/to_bool.rb +0 -1
  1582. data/lib/core/facets/nilclass/to_f.rb +0 -1
  1583. data/lib/core/facets/nilclass/to_h.rb +0 -1
  1584. data/lib/core/facets/numeric.rb +0 -2
  1585. data/lib/core/facets/numeric/approx.rb +0 -1
  1586. data/lib/core/facets/numeric/distance.rb +0 -1
  1587. data/lib/core/facets/numeric/pred.rb +0 -1
  1588. data/lib/core/facets/numeric/round.rb +0 -78
  1589. data/lib/core/facets/numeric/round_at.rb +0 -1
  1590. data/lib/core/facets/numeric/round_to.rb +0 -1
  1591. data/lib/core/facets/numeric/succ.rb +0 -1
  1592. data/lib/core/facets/numeric/to_b.rb +0 -1
  1593. data/lib/core/facets/proc.rb +0 -4
  1594. data/lib/core/facets/proc/bind.rb +0 -64
  1595. data/lib/core/facets/proc/compose.rb +0 -41
  1596. data/lib/core/facets/proc/fn.rb +0 -12
  1597. data/lib/core/facets/proc/op_mul.rb +0 -1
  1598. data/lib/core/facets/proc/to_h.rb +0 -1
  1599. data/lib/core/facets/proc/to_method.rb +0 -1
  1600. data/lib/core/facets/proc/update.rb +0 -9
  1601. data/lib/core/facets/range.rb +0 -2
  1602. data/lib/core/facets/range/combine.rb +0 -47
  1603. data/lib/core/facets/range/overlap.rb +0 -74
  1604. data/lib/core/facets/range/to_r.rb +0 -1
  1605. data/lib/core/facets/range/to_range.rb +0 -1
  1606. data/lib/core/facets/range/umbrella.rb +0 -1
  1607. data/lib/core/facets/range/within.rb +0 -1
  1608. data/lib/core/facets/regexp.rb +0 -1
  1609. data/lib/core/facets/regexp/arity.rb +0 -17
  1610. data/lib/core/facets/regexp/to_re.rb +0 -1
  1611. data/lib/core/facets/regexp/to_regexp.rb +0 -1
  1612. data/lib/core/facets/stackable.rb +0 -86
  1613. data/lib/core/facets/string.rb +0 -20
  1614. data/lib/core/facets/string/_crypt.rb +0 -1
  1615. data/lib/core/facets/string/align.rb +0 -92
  1616. data/lib/core/facets/string/align_center.rb +0 -1
  1617. data/lib/core/facets/string/align_left.rb +0 -1
  1618. data/lib/core/facets/string/align_right.rb +0 -1
  1619. data/lib/core/facets/string/at.rb +0 -1
  1620. data/lib/core/facets/string/blank.rb +0 -16
  1621. data/lib/core/facets/string/bracket.rb +0 -103
  1622. data/lib/core/facets/string/brief.rb +0 -1
  1623. data/lib/core/facets/string/bytes.rb +0 -1
  1624. data/lib/core/facets/string/camelcase.rb +0 -1
  1625. data/lib/core/facets/string/capitalized.rb +0 -1
  1626. data/lib/core/facets/string/case.rb +0 -84
  1627. data/lib/core/facets/string/chars.rb +0 -1
  1628. data/lib/core/facets/string/cleave.rb +0 -1
  1629. data/lib/core/facets/string/cmp.rb +0 -1
  1630. data/lib/core/facets/string/crypt.rb +0 -22
  1631. data/lib/core/facets/string/dequote.rb +0 -1
  1632. data/lib/core/facets/string/divide.rb +0 -1
  1633. data/lib/core/facets/string/downcase.rb +0 -1
  1634. data/lib/core/facets/string/each_char.rb +0 -1
  1635. data/lib/core/facets/string/each_character.rb +0 -1
  1636. data/lib/core/facets/string/each_word.rb +0 -1
  1637. data/lib/core/facets/string/ends_with.rb +0 -1
  1638. data/lib/core/facets/string/expand_tabs.rb +0 -1
  1639. data/lib/core/facets/string/filter.rb +0 -60
  1640. data/lib/core/facets/string/first.rb +0 -1
  1641. data/lib/core/facets/string/fold.rb +0 -1
  1642. data/lib/core/facets/string/format.rb +0 -1
  1643. data/lib/core/facets/string/indent.rb +0 -1
  1644. data/lib/core/facets/string/index_all.rb +0 -1
  1645. data/lib/core/facets/string/indexable.rb +0 -165
  1646. data/lib/core/facets/string/interpolate.rb +0 -35
  1647. data/lib/core/facets/string/last.rb +0 -1
  1648. data/lib/core/facets/string/lchomp.rb +0 -1
  1649. data/lib/core/facets/string/line_wrap.rb +0 -1
  1650. data/lib/core/facets/string/lines.rb +0 -1
  1651. data/lib/core/facets/string/lowercase.rb +0 -1
  1652. data/lib/core/facets/string/margin.rb +0 -1
  1653. data/lib/core/facets/string/mscan.rb +0 -1
  1654. data/lib/core/facets/string/nchar.rb +0 -80
  1655. data/lib/core/facets/string/op.rb +0 -13
  1656. data/lib/core/facets/string/op_minus.rb +0 -1
  1657. data/lib/core/facets/string/outdent.rb +0 -1
  1658. data/lib/core/facets/string/partitions.rb +0 -78
  1659. data/lib/core/facets/string/peek.rb +0 -1
  1660. data/lib/core/facets/string/poke.rb +0 -1
  1661. data/lib/core/facets/string/pop.rb +0 -1
  1662. data/lib/core/facets/string/pull.rb +0 -1
  1663. data/lib/core/facets/string/push.rb +0 -1
  1664. data/lib/core/facets/string/quote.rb +0 -1
  1665. data/lib/core/facets/string/range.rb +0 -54
  1666. data/lib/core/facets/string/range_all.rb +0 -1
  1667. data/lib/core/facets/string/range_of_line.rb +0 -1
  1668. data/lib/core/facets/string/regesc.rb +0 -30
  1669. data/lib/core/facets/string/rewrite.rb +0 -1
  1670. data/lib/core/facets/string/scan.rb +0 -54
  1671. data/lib/core/facets/string/shatter.rb +0 -1
  1672. data/lib/core/facets/string/shift.rb +0 -1
  1673. data/lib/core/facets/string/snakecase.rb +0 -1
  1674. data/lib/core/facets/string/splice.rb +0 -24
  1675. data/lib/core/facets/string/sprintf.rb +0 -1
  1676. data/lib/core/facets/string/stackable.rb +0 -181
  1677. data/lib/core/facets/string/starts_with.rb +0 -1
  1678. data/lib/core/facets/string/store.rb +0 -1
  1679. data/lib/core/facets/string/succ.rb +0 -1
  1680. data/lib/core/facets/string/tab.rb +0 -1
  1681. data/lib/core/facets/string/taballto.rb +0 -1
  1682. data/lib/core/facets/string/tabs.rb +0 -99
  1683. data/lib/core/facets/string/tabto.rb +0 -1
  1684. data/lib/core/facets/string/titlecase.rb +0 -1
  1685. data/lib/core/facets/string/to_b.rb +0 -1
  1686. data/lib/core/facets/string/to_const.rb +0 -1
  1687. data/lib/core/facets/string/to_date.rb +0 -1
  1688. data/lib/core/facets/string/to_proc.rb +0 -1
  1689. data/lib/core/facets/string/to_re.rb +0 -1
  1690. data/lib/core/facets/string/to_rx.rb +0 -1
  1691. data/lib/core/facets/string/to_time.rb +0 -1
  1692. data/lib/core/facets/string/unbracket.rb +0 -1
  1693. data/lib/core/facets/string/unshift.rb +0 -1
  1694. data/lib/core/facets/string/upcase.rb +0 -1
  1695. data/lib/core/facets/string/uppercase.rb +0 -1
  1696. data/lib/core/facets/string/whitespace.rb +0 -1
  1697. data/lib/core/facets/string/word_filter.rb +0 -1
  1698. data/lib/core/facets/string/word_wrap.rb +0 -1
  1699. data/lib/core/facets/string/words.rb +0 -1
  1700. data/lib/core/facets/string/wrap.rb +0 -189
  1701. data/lib/core/facets/symbol.rb +0 -8
  1702. data/lib/core/facets/symbol/chomp.rb +0 -23
  1703. data/lib/core/facets/symbol/generate.rb +0 -20
  1704. data/lib/core/facets/symbol/lchomp.rb +0 -1
  1705. data/lib/core/facets/symbol/not.rb +0 -28
  1706. data/lib/core/facets/symbol/op_tilde.rb +0 -1
  1707. data/lib/core/facets/symbol/pad.rb +0 -1
  1708. data/lib/core/facets/symbol/shadow.rb +0 -23
  1709. data/lib/core/facets/symbol/succ.rb +0 -20
  1710. data/lib/core/facets/symbol/to_const.rb +0 -1
  1711. data/lib/core/facets/symbol/to_proc.rb +0 -39
  1712. data/lib/core/facets/time.rb +0 -3
  1713. data/lib/core/facets/time/change.rb +0 -28
  1714. data/lib/core/facets/time/stamp.rb +0 -47
  1715. data/lib/core/facets/time/to_date.rb +0 -1
  1716. data/lib/core/facets/time/to_s.rb +0 -1
  1717. data/lib/core/facets/time/to_time.rb +0 -1
  1718. data/lib/core/facets/unboundmethod.rb +0 -5
  1719. data/lib/core/facets/unboundmethod/name.rb +0 -26
  1720. data/lib/mixin/facets/binreadable.rb +0 -224
  1721. data/lib/mixin/facets/buildable.rb +0 -82
  1722. data/lib/mixin/facets/cloneable.rb +0 -90
  1723. data/lib/mixin/facets/enumerablepass.rb +0 -204
  1724. data/lib/mixin/facets/expirable.rb +0 -89
  1725. data/lib/mixin/facets/fileable.rb +0 -155
  1726. data/lib/mixin/facets/instantiable.rb +0 -45
  1727. data/lib/mixin/facets/multiton.rb +0 -357
  1728. data/lib/mixin/facets/registerable.rb +0 -36
  1729. data/lib/mixin/facets/tasksystem.rb +0 -350
  1730. data/lib/mixin/facets/uninheritable.rb +0 -55
  1731. data/lib/mixin/facets/validation.rb +0 -445
  1732. data/lib/more/facets/advice.rb +0 -159
  1733. data/lib/more/facets/annotations.rb +0 -154
  1734. data/lib/more/facets/ansicode.rb +0 -268
  1735. data/lib/more/facets/aop.rb +0 -205
  1736. data/lib/more/facets/arguments.rb +0 -322
  1737. data/lib/more/facets/attributes.rb +0 -133
  1738. data/lib/more/facets/autoreload.rb +0 -150
  1739. data/lib/more/facets/bbcode.rb +0 -346
  1740. data/lib/more/facets/behavior.rb +0 -91
  1741. data/lib/more/facets/bytes.rb +0 -164
  1742. data/lib/more/facets/capsule.rb +0 -254
  1743. data/lib/more/facets/class_extension.rb +0 -94
  1744. data/lib/more/facets/classmethods.rb +0 -157
  1745. data/lib/more/facets/command.rb +0 -479
  1746. data/lib/more/facets/compare_on.rb +0 -91
  1747. data/lib/more/facets/console.rb +0 -107
  1748. data/lib/more/facets/continuation.rb +0 -54
  1749. data/lib/more/facets/crypt.rb +0 -428
  1750. data/lib/more/facets/curry.rb +0 -67
  1751. data/lib/more/facets/cut.rb +0 -190
  1752. data/lib/more/facets/daemonize.rb +0 -50
  1753. data/lib/more/facets/date.rb +0 -79
  1754. data/lib/more/facets/dependency.rb +0 -135
  1755. data/lib/more/facets/duration.rb +0 -534
  1756. data/lib/more/facets/elementor.rb +0 -221
  1757. data/lib/more/facets/eventhook.rb +0 -121
  1758. data/lib/more/facets/fileutils.rb +0 -443
  1759. data/lib/more/facets/getoptlong.rb +0 -83
  1760. data/lib/more/facets/hash/keyize.rb +0 -181
  1761. data/lib/more/facets/inheritor.rb +0 -108
  1762. data/lib/more/facets/instantise.rb +0 -85
  1763. data/lib/more/facets/interface.rb +0 -230
  1764. data/lib/more/facets/lazy.rb +0 -245
  1765. data/lib/more/facets/let.rb +0 -71
  1766. data/lib/more/facets/logger.rb +0 -202
  1767. data/lib/more/facets/main.rb +0 -77
  1768. data/lib/more/facets/memoize.rb +0 -110
  1769. data/lib/more/facets/multipliers.rb +0 -99
  1770. data/lib/more/facets/namespace.rb +0 -113
  1771. data/lib/more/facets/ostruct.rb +0 -226
  1772. data/lib/more/facets/overload.rb +0 -100
  1773. data/lib/more/facets/paramix.rb +0 -148
  1774. data/lib/more/facets/pathname.rb +0 -120
  1775. data/lib/more/facets/prepend.rb +0 -92
  1776. data/lib/more/facets/prototype.rb +0 -89
  1777. data/lib/more/facets/random.rb +0 -373
  1778. data/lib/more/facets/rbconfig.rb +0 -55
  1779. data/lib/more/facets/rbsystem.rb +0 -227
  1780. data/lib/more/facets/recursive.rb +0 -67
  1781. data/lib/more/facets/reflection.rb +0 -103
  1782. data/lib/more/facets/settings.rb +0 -250
  1783. data/lib/more/facets/shellwords.rb +0 -43
  1784. data/lib/more/facets/snapshot.rb +0 -183
  1785. data/lib/more/facets/stylize.rb +0 -213
  1786. data/lib/more/facets/thread.rb +0 -55
  1787. data/lib/more/facets/times.rb +0 -346
  1788. data/lib/more/facets/tracepoint.rb +0 -194
  1789. data/lib/more/facets/typecast.rb +0 -233
  1790. data/lib/more/facets/uploadutils.rb +0 -441
  1791. data/lib/more/facets/yaml.rb +0 -40
  1792. data/lib/more/facets/ziputils.rb +0 -357
  1793. data/meta/MANIFEST +0 -947
  1794. data/meta/VERSION +0 -1
  1795. data/task/install +0 -98
  1796. data/task/rdoc +0 -5
  1797. data/task/test +0 -40
  1798. data/test/class/test_buildingblock.rb +0 -36
  1799. data/test/core/array/test_delete.rb +0 -38
  1800. data/test/core/array/test_indexable.rb +0 -126
  1801. data/test/core/array/test_merge.rb +0 -29
  1802. data/test/core/array/test_pad.rb +0 -35
  1803. data/test/core/array/test_rotate.rb +0 -31
  1804. data/test/core/array/test_select.rb +0 -20
  1805. data/test/core/binding/test_caller.rb +0 -47
  1806. data/test/core/binding/test_defined.rb +0 -17
  1807. data/test/core/binding/test_eval.rb +0 -17
  1808. data/test/core/binding/test_here.rb +0 -17
  1809. data/test/core/binding/test_self.rb +0 -17
  1810. data/test/core/binding/test_vars.rb +0 -31
  1811. data/test/core/class/test_descendents.rb +0 -17
  1812. data/test/core/class/test_initializer.rb +0 -19
  1813. data/test/core/class/test_remove_descendents.rb +0 -19
  1814. data/test/core/comparable/test_bound.rb +0 -43
  1815. data/test/core/comparable/test_cmp.rb +0 -63
  1816. data/test/core/dir/test_parent.rb +0 -14
  1817. data/test/core/dir/test_recurse.rb +0 -32
  1818. data/test/core/dir/test_traverse.rb +0 -30
  1819. data/test/core/enumerable/test_cartesian.rb +0 -39
  1820. data/test/core/enumerable/test_collect.rb +0 -63
  1821. data/test/core/enumerable/test_combination.rb +0 -48
  1822. data/test/core/enumerable/test_count.rb +0 -63
  1823. data/test/core/enumerable/test_each.rb +0 -77
  1824. data/test/core/enumerable/test_mash.rb +0 -51
  1825. data/test/core/enumerable/test_permutation.rb +0 -16
  1826. data/test/core/enumerable/test_split.rb +0 -52
  1827. data/test/core/exception/test_detail.rb +0 -19
  1828. data/test/core/file/test_null.rb +0 -12
  1829. data/test/core/file/test_read.rb +0 -34
  1830. data/test/core/file/test_sanitize.rb +0 -52
  1831. data/test/core/file/test_split_all.rb +0 -32
  1832. data/test/core/file/test_write.rb +0 -76
  1833. data/test/core/filetest/test_root.rb +0 -14
  1834. data/test/core/hash/test_alias.rb +0 -18
  1835. data/test/core/hash/test_at.rb +0 -17
  1836. data/test/core/hash/test_autonew.rb +0 -13
  1837. data/test/core/hash/test_collate.rb +0 -33
  1838. data/test/core/hash/test_delete.rb +0 -30
  1839. data/test/core/hash/test_each_with_key.rb +0 -16
  1840. data/test/core/hash/test_has_keys.rb +0 -19
  1841. data/test/core/hash/test_insert.rb +0 -15
  1842. data/test/core/hash/test_inverse.rb +0 -17
  1843. data/test/core/hash/test_op.rb +0 -51
  1844. data/test/core/hash/test_rekey.rb +0 -39
  1845. data/test/core/hash/test_reverse_merge.rb +0 -16
  1846. data/test/core/hash/test_select.rb +0 -43
  1847. data/test/core/hash/test_swap.rb +0 -21
  1848. data/test/core/hash/test_traverse.rb +0 -24
  1849. data/test/core/hash/test_update.rb +0 -35
  1850. data/test/core/hash/test_zipnew.rb +0 -15
  1851. data/test/core/integer/test_bitmask.rb +0 -53
  1852. data/test/core/integer/test_factorial.rb +0 -17
  1853. data/test/core/integer/test_multiple.rb +0 -37
  1854. data/test/core/integer/test_of.rb +0 -21
  1855. data/test/core/kernel/test_callstack.rb +0 -21
  1856. data/test/core/kernel/test_constant.rb +0 -21
  1857. data/test/core/kernel/test_deepcopy.rb +0 -30
  1858. data/test/core/kernel/test_instance.rb +0 -63
  1859. data/test/core/kernel/test_metaid.rb +0 -47
  1860. data/test/core/kernel/test_populate.rb +0 -49
  1861. data/test/core/kernel/test_report.rb +0 -9
  1862. data/test/core/kernel/test_super.rb +0 -53
  1863. data/test/core/kernel/test_tap.rb +0 -21
  1864. data/test/core/kernel/test_val.rb +0 -42
  1865. data/test/core/kernel/test_withattr.rb +0 -38
  1866. data/test/core/matchdata/test_matchset.rb +0 -24
  1867. data/test/core/module/test_alias.rb +0 -47
  1868. data/test/core/module/test_cattr.rb +0 -50
  1869. data/test/core/module/test_include.rb +0 -43
  1870. data/test/core/module/test_modify.rb +0 -177
  1871. data/test/core/module/test_name.rb +0 -47
  1872. data/test/core/module/test_traits.rb +0 -51
  1873. data/test/core/numeric/test_round.rb +0 -59
  1874. data/test/core/proc/test_bind.rb +0 -38
  1875. data/test/core/proc/test_compose.rb +0 -28
  1876. data/test/core/range/test_combine.rb +0 -21
  1877. data/test/core/range/test_overlap.rb +0 -39
  1878. data/test/core/regexp/test_arity.rb +0 -20
  1879. data/test/core/string/test_blank.rb +0 -18
  1880. data/test/core/string/test_case.rb +0 -29
  1881. data/test/core/string/test_crypt.rb +0 -17
  1882. data/test/core/string/test_filter.rb +0 -21
  1883. data/test/core/string/test_indexable.rb +0 -68
  1884. data/test/core/string/test_nchar.rb +0 -16
  1885. data/test/core/string/test_op.rb +0 -14
  1886. data/test/core/string/test_partitions.rb +0 -52
  1887. data/test/core/string/test_range.rb +0 -25
  1888. data/test/core/string/test_regesc.rb +0 -21
  1889. data/test/core/string/test_scan.rb +0 -31
  1890. data/test/core/string/test_stackable.rb +0 -94
  1891. data/test/core/string/test_tabs.rb +0 -236
  1892. data/test/core/string/test_wrap.rb +0 -82
  1893. data/test/core/symbol/test_chomp.rb +0 -17
  1894. data/test/core/symbol/test_generate.rb +0 -13
  1895. data/test/core/symbol/test_not.rb +0 -16
  1896. data/test/core/symbol/test_shadow.rb +0 -14
  1897. data/test/core/symbol/test_succ.rb +0 -15
  1898. data/test/core/symbol/test_to_proc.rb +0 -35
  1899. data/test/core/test_conversion.rb +0 -207
  1900. data/test/core/time/test_change.rb +0 -17
  1901. data/test/core/time/test_elapse.rb +0 -16
  1902. data/test/core/time/test_stamp.rb +0 -28
  1903. data/test/mixin/test_buildable.rb +0 -40
  1904. data/test/mixin/test_instantiable.rb +0 -24
  1905. data/test/more/hash/test_keyize.rb +0 -45
  1906. data/test/more/test_advice.rb +0 -71
  1907. data/test/more/test_annotations.rb +0 -99
  1908. data/test/more/test_aop.rb +0 -49
  1909. data/test/more/test_arguments.rb +0 -56
  1910. data/test/more/test_attributes.rb +0 -26
  1911. data/test/more/test_compare_on.rb +0 -44
  1912. data/test/more/test_curry.rb +0 -28
  1913. data/test/more/test_cut.rb +0 -22
  1914. data/test/more/test_elementor.rb +0 -59
  1915. data/test/more/test_interface.rb +0 -84
  1916. data/test/more/test_let.rb +0 -18
  1917. data/test/more/test_namespace.rb +0 -78
  1918. data/test/more/test_overload.rb +0 -44
  1919. data/test/more/test_paramix.rb +0 -86
  1920. data/test/more/test_stylize.rb +0 -139
  1921. data/test/more/test_thread.rb +0 -23
  1922. data/test/more/test_typecast.rb +0 -56
@@ -0,0 +1,2135 @@
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>Module: Kernel</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", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
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">Module</span><br />Kernel</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/ruby_rb.html">lib/facets/ruby.rb</a>
61
+ <a href="../files/lib/facets/metaid_rb.html">lib/facets/metaid.rb</a>
62
+ <a href="../files/lib/facets/bitmask_rb.html">lib/facets/bitmask.rb</a>
63
+ <a href="../files/lib/facets/blank_rb.html">lib/facets/blank.rb</a>
64
+ <a href="../files/lib/facets/boolean_rb.html">lib/facets/boolean.rb</a>
65
+ <a href="../files/lib/facets/callstack_rb.html">lib/facets/callstack.rb</a>
66
+ <a href="../files/lib/facets/kernel/here_rb.html">lib/facets/kernel/here.rb</a>
67
+ <a href="../files/lib/facets/kernel/as_rb.html">lib/facets/kernel/as.rb</a>
68
+ <a href="../files/lib/facets/kernel/ask_rb.html">lib/facets/kernel/ask.rb</a>
69
+ <a href="../files/lib/facets/kernel/object_rb.html">lib/facets/kernel/object.rb</a>
70
+ <a href="../files/lib/facets/kernel/demo_rb.html">lib/facets/kernel/demo.rb</a>
71
+ <a href="../files/lib/facets/kernel/maybe_rb.html">lib/facets/kernel/maybe.rb</a>
72
+ <a href="../files/lib/facets/kernel/instance_rb.html">lib/facets/kernel/instance.rb</a>
73
+ <a href="../files/lib/facets/kernel/ergo_rb.html">lib/facets/kernel/ergo.rb</a>
74
+ <a href="../files/lib/facets/kernel/complete_rb.html">lib/facets/kernel/complete.rb</a>
75
+ <a href="../files/lib/facets/kernel/not_nil_rb.html">lib/facets/kernel/not_nil.rb</a>
76
+ <a href="../files/lib/facets/kernel/deep_copy_rb.html">lib/facets/kernel/deep_copy.rb</a>
77
+ <a href="../files/lib/facets/kernel/silence_rb.html">lib/facets/kernel/silence.rb</a>
78
+ <a href="../files/lib/facets/kernel/resc_rb.html">lib/facets/kernel/resc.rb</a>
79
+ <a href="../files/lib/facets/kernel/with_rb.html">lib/facets/kernel/with.rb</a>
80
+ <a href="../files/lib/facets/kernel/d_rb.html">lib/facets/kernel/d.rb</a>
81
+ <a href="../files/lib/facets/kernel/instance_exec_rb.html">lib/facets/kernel/instance_exec.rb</a>
82
+ <a href="../files/lib/facets/kernel/load_rb.html">lib/facets/kernel/load.rb</a>
83
+ <a href="../files/lib/facets/kernel/attr_singleton_rb.html">lib/facets/kernel/attr_singleton.rb</a>
84
+ <a href="../files/lib/facets/kernel/p_rb.html">lib/facets/kernel/p.rb</a>
85
+ <a href="../files/lib/facets/kernel/singleton_class_rb.html">lib/facets/kernel/singleton_class.rb</a>
86
+ <a href="../files/lib/facets/kernel/try_rb.html">lib/facets/kernel/try.rb</a>
87
+ <a href="../files/lib/facets/kernel/__dir___rb.html">lib/facets/kernel/__dir__.rb</a>
88
+ <a href="../files/lib/facets/kernel/returning_rb.html">lib/facets/kernel/returning.rb</a>
89
+ <a href="../files/lib/facets/kernel/populate_rb.html">lib/facets/kernel/populate.rb</a>
90
+ <a href="../files/lib/facets/kernel/val_rb.html">lib/facets/kernel/val.rb</a>
91
+ <a href="../files/lib/facets/kernel/constant_rb.html">lib/facets/kernel/constant.rb</a>
92
+ <a href="../files/lib/facets/kernel/respond_rb.html">lib/facets/kernel/respond.rb</a>
93
+ <a href="../files/lib/facets/kernel/in_rb.html">lib/facets/kernel/in.rb</a>
94
+ </td>
95
+ </tr>
96
+ </table>
97
+ </td>
98
+ </tr>
99
+ </table>
100
+ <!-- banner header -->
101
+
102
+ <div id="bodyContent">
103
+ <div id="content">
104
+
105
+
106
+
107
+
108
+ <div class="sectiontitle">Methods</div>
109
+ <ul>
110
+ <li><a href="#M000331">Bit</a></li>
111
+ <li><a href="#M000373">__DIR__</a></li>
112
+ <li><a href="#M000361">__HERE__</a></li>
113
+ <li><a href="#M000322">__callee__</a></li>
114
+ <li><a href="#M000321">__method__</a></li>
115
+ <li><a href="#M000338">as</a></li>
116
+ <li><a href="#M000342">ask</a></li>
117
+ <li><a href="#M000369">attr_singleton_accessor</a></li>
118
+ <li><a href="#M000367">attr_singleton_reader</a></li>
119
+ <li><a href="#M000368">attr_singleton_writer</a></li>
120
+ <li><a href="#M000332">blank?</a></li>
121
+ <li><a href="#M000336">bool?</a></li>
122
+ <li><a href="#M000337">callstack</a></li>
123
+ <li><a href="#M000351">complete</a></li>
124
+ <li><a href="#M000378">constant</a></li>
125
+ <li><a href="#M000362">d</a></li>
126
+ <li><a href="#M000354">deep_copy</a></li>
127
+ <li><a href="#M000345">demo</a></li>
128
+ <li><a href="#M000330">eigenclass</a></li>
129
+ <li><a href="#M000357">enable_warnings</a></li>
130
+ <li><a href="#M000350">ergo</a></li>
131
+ <li><a href="#M000335">false?</a></li>
132
+ <li><a href="#M000381">in?</a></li>
133
+ <li><a href="#M000349">instance_assign</a></li>
134
+ <li><a href="#M000347">instance_class</a></li>
135
+ <li><a href="#M000363">instance_exec</a></li>
136
+ <li><a href="#M000348">instance_values</a></li>
137
+ <li><a href="#M000364">load_local</a></li>
138
+ <li><a href="#M000346">maybe</a></li>
139
+ <li><a href="#M000323">meta_alias</a></li>
140
+ <li><a href="#M000326">meta_class</a></li>
141
+ <li><a href="#M000325">meta_def</a></li>
142
+ <li><a href="#M000324">meta_eval</a></li>
143
+ <li><a href="#M000327">metaclass</a></li>
144
+ <li><a href="#M000353">non_nil?</a></li>
145
+ <li><a href="#M000352">not_nil?</a></li>
146
+ <li><a href="#M000344">object_hexid</a></li>
147
+ <li><a href="#M000343">object_send</a></li>
148
+ <li><a href="#M000370">p</a></li>
149
+ <li><a href="#M000375">populate</a></li>
150
+ <li><a href="#M000366">require_all</a></li>
151
+ <li><a href="#M000365">require_local</a></li>
152
+ <li><a href="#M000359">resc</a></li>
153
+ <li><a href="#M000379">respond</a></li>
154
+ <li><a href="#M000380">respond_with_value</a></li>
155
+ <li><a href="#M000374">returning</a></li>
156
+ <li><a href="#M000339">send_as</a></li>
157
+ <li><a href="#M000376">set_from</a></li>
158
+ <li><a href="#M000355">silence_stream</a></li>
159
+ <li><a href="#M000356">silence_warnings</a></li>
160
+ <li><a href="#M000328">singleton</a></li>
161
+ <li><a href="#M000371">singleton_class</a></li>
162
+ <li><a href="#M000329">singleton_class</a></li>
163
+ <li><a href="#M000341">super_as</a></li>
164
+ <li><a href="#M000340">super_method</a></li>
165
+ <li><a href="#M000358">suppress</a></li>
166
+ <li><a href="#M000320">tap</a></li>
167
+ <li><a href="#M000333">to_b</a></li>
168
+ <li><a href="#M000334">true?</a></li>
169
+ <li><a href="#M000372">try</a></li>
170
+ <li><a href="#M000377">val?</a></li>
171
+ <li><a href="#M000360">with</a></li>
172
+ </ul>
173
+
174
+
175
+
176
+
177
+
178
+
179
+ <div class="sectiontitle">Public Instance methods</div>
180
+ <div class="method">
181
+ <div class="title">
182
+ <a name="M000331"></a><b>Bit</b>(n)
183
+ </div>
184
+ <div class="description">
185
+ <p>
186
+ Create a single bit bitmask.
187
+ </p>
188
+ <pre>
189
+ Bit(0) #=&gt; 1
190
+ Bit(1) #=&gt; 2
191
+ Bit(2) #=&gt; 4
192
+ </pre>
193
+ <p>
194
+ This is equivalent to n-shift: &quot;1 &lt;&lt; n&quot;.
195
+ </p>
196
+ <pre>
197
+ CREDIT: Thomas Sawyer
198
+ CREDIT: George Moschovitis
199
+ </pre>
200
+ </div>
201
+ <div class="sourcecode">
202
+ <p class="source-link">[ <a href="javascript:toggleSource('M000331_source')" id="l_M000331_source">show source</a> ]</p>
203
+ <div id="M000331_source" class="dyn-source">
204
+ <pre>
205
+ <span class="ruby-comment cmt"># File lib/facets/bitmask.rb, line 100</span>
206
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Bit</span>(<span class="ruby-identifier">n</span>)
207
+ <span class="ruby-value">1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Integer</span>(<span class="ruby-identifier">n</span>)
208
+ <span class="ruby-keyword kw">end</span>
209
+ </pre>
210
+ </div>
211
+ </div>
212
+ </div>
213
+ <div class="method">
214
+ <div class="title">
215
+ <a name="M000373"></a><b>__DIR__</b>()
216
+ </div>
217
+ <div class="description">
218
+ <p>
219
+ Similar to <em>FILE</em> and <em>LINE</em>, <em>DIR</em> provides the
220
+ directory path to the current executing script.
221
+ </p>
222
+ <p>
223
+ CREDIT: Trans
224
+ </p>
225
+ </div>
226
+ <div class="sourcecode">
227
+ <p class="source-link">[ <a href="javascript:toggleSource('M000373_source')" id="l_M000373_source">show source</a> ]</p>
228
+ <div id="M000373_source" class="dyn-source">
229
+ <pre>
230
+ <span class="ruby-comment cmt"># File lib/facets/kernel/__dir__.rb, line 8</span>
231
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">__DIR__</span>
232
+ (<span class="ruby-regexp re">/^(.+)?:\d+/</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">caller</span>[<span class="ruby-value">0</span>]) <span class="ruby-operator">?</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">$1</span>) <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
233
+ <span class="ruby-keyword kw">end</span>
234
+ </pre>
235
+ </div>
236
+ </div>
237
+ </div>
238
+ <div class="method">
239
+ <div class="title">
240
+ <a name="M000361"></a><b>__HERE__</b>()
241
+ </div>
242
+ <div class="sourcecode">
243
+ <p class="source-link">[ <a href="javascript:toggleSource('M000361_source')" id="l_M000361_source">show source</a> ]</p>
244
+ <div id="M000361_source" class="dyn-source">
245
+ <pre>
246
+ <span class="ruby-comment cmt"># File lib/facets/kernel/d.rb, line 3</span>
247
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">__HERE__</span>
248
+ <span class="ruby-node">&quot;#{__FILE__}: #{__LINE__}&quot;</span>
249
+ <span class="ruby-keyword kw">end</span>
250
+ </pre>
251
+ </div>
252
+ </div>
253
+ </div>
254
+ <div class="method">
255
+ <div class="title">
256
+ <a name="M000338"></a><b>as</b>(ancestor, &amp;blk)
257
+ </div>
258
+ <div class="description">
259
+ <p>
260
+ Returns a As-functor that allows one to call any ancestor&#8216;s method
261
+ directly of the given object.
262
+ </p>
263
+ <pre>
264
+ class A
265
+ def x ; 1 ; end
266
+ end
267
+
268
+ class B &lt; A
269
+ def x ; 2 ; end
270
+ end
271
+
272
+ class C &lt; B
273
+ def x ; as(A).x ; end
274
+ end
275
+
276
+ C.new.x #=&gt; 1
277
+ </pre>
278
+ </div>
279
+ <div class="sourcecode">
280
+ <p class="source-link">[ <a href="javascript:toggleSource('M000338_source')" id="l_M000338_source">show source</a> ]</p>
281
+ <div id="M000338_source" class="dyn-source">
282
+ <pre>
283
+ <span class="ruby-comment cmt"># File lib/facets/kernel/as.rb, line 22</span>
284
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">as</span>(<span class="ruby-identifier">ancestor</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
285
+ <span class="ruby-ivar">@__as</span> <span class="ruby-operator">||=</span> {}
286
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">r</span> = <span class="ruby-ivar">@__as</span>[<span class="ruby-identifier">ancestor</span>]
287
+ <span class="ruby-identifier">r</span> = (<span class="ruby-ivar">@__as</span>[<span class="ruby-identifier">ancestor</span>] = <span class="ruby-constant">As</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">ancestor</span>))
288
+ <span class="ruby-keyword kw">end</span>
289
+ <span class="ruby-identifier">r</span>.<span class="ruby-identifier">instance_eval</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
290
+ <span class="ruby-comment cmt">#yield(r) if block_given?</span>
291
+ <span class="ruby-identifier">r</span>
292
+ <span class="ruby-keyword kw">end</span>
293
+ </pre>
294
+ </div>
295
+ </div>
296
+ </div>
297
+ <div class="method">
298
+ <div class="title">
299
+ <a name="M000342"></a><b>ask</b>(question, answers=nil)
300
+ </div>
301
+ <div class="description">
302
+ <p>
303
+ Very simple convenience method to get a console reply.
304
+ </p>
305
+ <pre>
306
+ ask &quot;Are you happy?&quot;, &quot;Yn&quot;
307
+ </pre>
308
+ <p>
309
+ On the command line one would see.
310
+ </p>
311
+ <pre>
312
+ $ Are you happy? [Yn]
313
+ </pre>
314
+ <p>
315
+ Responding:
316
+ </p>
317
+ <pre>
318
+ $ Are you happy? [Yn] Y &lt;ENTER&gt;
319
+ </pre>
320
+ <p>
321
+ The <a href="Kernel.html#M000342">ask</a> method would return
322
+ &quot;Y&quot;.
323
+ </p>
324
+ </div>
325
+ <div class="sourcecode">
326
+ <p class="source-link">[ <a href="javascript:toggleSource('M000342_source')" id="l_M000342_source">show source</a> ]</p>
327
+ <div id="M000342_source" class="dyn-source">
328
+ <pre>
329
+ <span class="ruby-comment cmt"># File lib/facets/kernel/ask.rb, line 19</span>
330
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ask</span>(<span class="ruby-identifier">question</span>, <span class="ruby-identifier">answers</span>=<span class="ruby-keyword kw">nil</span>)
331
+ <span class="ruby-identifier">$stdout</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{question}&quot;</span>
332
+ <span class="ruby-identifier">$stdout</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; [#{answers}] &quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">answers</span>
333
+ <span class="ruby-keyword kw">until</span> <span class="ruby-identifier">inp</span> = <span class="ruby-identifier">$stdin</span>.<span class="ruby-identifier">gets</span> ; <span class="ruby-identifier">sleep</span> <span class="ruby-value">1</span> ; <span class="ruby-keyword kw">end</span> ; <span class="ruby-identifier">puts</span>
334
+ <span class="ruby-identifier">inp</span>.<span class="ruby-identifier">strip</span>
335
+ <span class="ruby-keyword kw">end</span>
336
+ </pre>
337
+ </div>
338
+ </div>
339
+ </div>
340
+ <div class="method">
341
+ <div class="title">
342
+ <a name="M000369"></a><b>attr_singleton_accessor</b>(*args)
343
+ </div>
344
+ <div class="description">
345
+ <p>
346
+ Takes an array or hash <a href="Kernel.html#M000360">with</a> default
347
+ values and creates <a href="Kernel.html#M000328">singleton</a>
348
+ attr_accessors for each.
349
+ </p>
350
+ <pre>
351
+ attr_singleton_accessor { :x =&gt; 1, :y =&gt; 2 }
352
+ @x #=&gt; 1
353
+ @y #=&gt; 2
354
+ self.x = 3
355
+ self.y = 4
356
+ self.x #=&gt; 3
357
+ self.y #=&gt; 4
358
+
359
+ CREDIT: Trans
360
+ </pre>
361
+ </div>
362
+ <div class="sourcecode">
363
+ <p class="source-link">[ <a href="javascript:toggleSource('M000369_source')" id="l_M000369_source">show source</a> ]</p>
364
+ <div id="M000369_source" class="dyn-source">
365
+ <pre>
366
+ <span class="ruby-comment cmt"># File lib/facets/kernel/attr_singleton.rb, line 54</span>
367
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attr_singleton_accessor</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
368
+ <span class="ruby-comment cmt">#h, a = *args.partition{|a| Hash===a}</span>
369
+ (<span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span> ; <span class="ruby-keyword kw">self</span> ; <span class="ruby-keyword kw">end</span>).<span class="ruby-identifier">send</span>( <span class="ruby-identifier">:attr_accessor</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span> )
370
+ <span class="ruby-comment cmt">#(class &lt;&lt; self ; self ; end).send( :attr_accessor, *h.keys )</span>
371
+ <span class="ruby-comment cmt">#h.each { |k,v| instance_variable_set(&quot;@#{k}&quot;, v) }</span>
372
+ <span class="ruby-keyword kw">end</span>
373
+ </pre>
374
+ </div>
375
+ </div>
376
+ </div>
377
+ <div class="method">
378
+ <div class="title">
379
+ <a name="M000367"></a><b>attr_singleton_reader</b>(*args)
380
+ </div>
381
+ <div class="description">
382
+ <p>
383
+ Takes an array or a hash <a href="Kernel.html#M000360">with</a> default
384
+ values and creates <a href="Kernel.html#M000328">singleton</a> attr_readers
385
+ for each.
386
+ </p>
387
+ <pre>
388
+ attr_singleton_reader {:x =&gt; 1, :y =&gt; 2}
389
+ @x #=&gt; 1
390
+ @y #=&gt; 2
391
+ self.x #=&gt; 1
392
+ self.y #=&gt; 2
393
+
394
+ CREDIT: Trans
395
+ </pre>
396
+ </div>
397
+ <div class="sourcecode">
398
+ <p class="source-link">[ <a href="javascript:toggleSource('M000367_source')" id="l_M000367_source">show source</a> ]</p>
399
+ <div id="M000367_source" class="dyn-source">
400
+ <pre>
401
+ <span class="ruby-comment cmt"># File lib/facets/kernel/attr_singleton.rb, line 14</span>
402
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attr_singleton_reader</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
403
+ <span class="ruby-comment cmt">#h, a = *args.partition{|a| Hash===a}</span>
404
+ (<span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span> ; <span class="ruby-keyword kw">self</span> ; <span class="ruby-keyword kw">end</span>).<span class="ruby-identifier">send</span>( <span class="ruby-identifier">:attr_reader</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span> )
405
+ <span class="ruby-comment cmt">#(class &lt;&lt; self ; self ; end).send( :attr_reader, *h.keys )</span>
406
+ <span class="ruby-comment cmt">#h.each { |k,v| instance_variable_set(&quot;@#{k}&quot;, v) }</span>
407
+ <span class="ruby-keyword kw">end</span>
408
+ </pre>
409
+ </div>
410
+ </div>
411
+ </div>
412
+ <div class="method">
413
+ <div class="title">
414
+ <a name="M000368"></a><b>attr_singleton_writer</b>(*args)
415
+ </div>
416
+ <div class="description">
417
+ <p>
418
+ Takes an array or a hash <a href="Kernel.html#M000360">with</a> default
419
+ values and creates <a href="Kernel.html#M000328">singleton</a> attr_writers
420
+ for each.
421
+ </p>
422
+ <pre>
423
+ attr_singleton_writer { :x =&gt; 1, :y =&gt; 2 }
424
+ @x #=&gt; 1
425
+ @y #=&gt; 2
426
+ self.x = 3
427
+ self.y = 4
428
+ @x #=&gt; 3
429
+ @y #=&gt; 4
430
+
431
+ CREDIT: Trans
432
+ </pre>
433
+ </div>
434
+ <div class="sourcecode">
435
+ <p class="source-link">[ <a href="javascript:toggleSource('M000368_source')" id="l_M000368_source">show source</a> ]</p>
436
+ <div id="M000368_source" class="dyn-source">
437
+ <pre>
438
+ <span class="ruby-comment cmt"># File lib/facets/kernel/attr_singleton.rb, line 34</span>
439
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attr_singleton_writer</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
440
+ <span class="ruby-comment cmt">#h, a = *args.partition{|a| Hash===a}</span>
441
+ (<span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span> ; <span class="ruby-keyword kw">self</span> ; <span class="ruby-keyword kw">end</span>).<span class="ruby-identifier">send</span>( <span class="ruby-identifier">:attr_writer</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span> )
442
+ <span class="ruby-comment cmt">#(class &lt;&lt; self ; self ; end).send( :attr_writer, *h.keys )</span>
443
+ <span class="ruby-comment cmt">#h.each { |k,v| instance_variable_set(&quot;@#{k}&quot;, v) }</span>
444
+ <span class="ruby-keyword kw">end</span>
445
+ </pre>
446
+ </div>
447
+ </div>
448
+ </div>
449
+ <div class="method">
450
+ <div class="title">
451
+ <a name="M000332"></a><b>blank?</b>()
452
+ </div>
453
+ <div class="description">
454
+ <p>
455
+ An object is blank if it&#8216;s nil, empty, or a whitespace string. For
456
+ example, &quot;&quot;, &quot; &quot;, nil, [], and {} are blank.
457
+ </p>
458
+ <p>
459
+ This simplifies
460
+ </p>
461
+ <pre>
462
+ if !address.nil? &amp;&amp; !address.empty?
463
+ </pre>
464
+ <p>
465
+ to
466
+ </p>
467
+ <pre>
468
+ if !address.blank?
469
+ </pre>
470
+ </div>
471
+ <div class="sourcecode">
472
+ <p class="source-link">[ <a href="javascript:toggleSource('M000332_source')" id="l_M000332_source">show source</a> ]</p>
473
+ <div id="M000332_source" class="dyn-source">
474
+ <pre>
475
+ <span class="ruby-comment cmt"># File lib/facets/blank.rb, line 14</span>
476
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">blank?</span>
477
+ <span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:empty?</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">empty?</span> <span class="ruby-operator">:</span> <span class="ruby-operator">!</span><span class="ruby-keyword kw">self</span>
478
+ <span class="ruby-keyword kw">end</span>
479
+ </pre>
480
+ </div>
481
+ </div>
482
+ </div>
483
+ <div class="method">
484
+ <div class="title">
485
+ <a name="M000336"></a><b>bool?</b>()
486
+ </div>
487
+ <div class="description">
488
+ <p>
489
+ Returns true is an object is class TrueClass or FalseClass, otherwise
490
+ false.
491
+ </p>
492
+ <pre>
493
+ true.bool? #=&gt; true
494
+ false.bool? #=&gt; true
495
+ nil.bool? #=&gt; false
496
+ </pre>
497
+ </div>
498
+ <div class="sourcecode">
499
+ <p class="source-link">[ <a href="javascript:toggleSource('M000336_source')" id="l_M000336_source">show source</a> ]</p>
500
+ <div id="M000336_source" class="dyn-source">
501
+ <pre>
502
+ <span class="ruby-comment cmt"># File lib/facets/boolean.rb, line 127</span>
503
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">bool?</span>
504
+ (<span class="ruby-keyword kw">true</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">false</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">self</span>)
505
+ <span class="ruby-keyword kw">end</span>
506
+ </pre>
507
+ </div>
508
+ </div>
509
+ </div>
510
+ <div class="method">
511
+ <div class="title">
512
+ <a name="M000337"></a><b>callstack</b>( level = 1 )
513
+ </div>
514
+ <div class="description">
515
+ <p>
516
+ Parse a caller string and break it into its components, <a
517
+ href="Kernel.html#M000374">returning</a> an array. Returns:
518
+ </p>
519
+ <ul>
520
+ <li>file (<a href="String.html">String</a>)
521
+
522
+ </li>
523
+ <li>lineno (<a href="Integer.html">Integer</a>)
524
+
525
+ </li>
526
+ <li>method (Symbol)
527
+
528
+ </li>
529
+ </ul>
530
+ <p>
531
+ For example, from irb,
532
+ </p>
533
+ <pre>
534
+ call_stack(1)
535
+ </pre>
536
+ <p>
537
+ <em>produces</em>
538
+ </p>
539
+ <p>
540
+ [[&quot;(irb)&quot;, 2, :irb_binding],
541
+ </p>
542
+ <pre>
543
+ [&quot;/usr/lib/ruby/1.8/irb/workspace.rb&quot;, 52, :irb_binding],
544
+ [&quot;/usr/lib/ruby/1.8/irb/workspace.rb&quot;, 52, nil]]
545
+ </pre>
546
+ <p>
547
+ Note: If the user decides to redefine caller() to output data in a
548
+ different format, <em>prior</em> to requiring this, then the results will
549
+ be indeterminate.
550
+ </p>
551
+ <pre>
552
+ CREDIT: Trans
553
+ </pre>
554
+ </div>
555
+ <div class="sourcecode">
556
+ <p class="source-link">[ <a href="javascript:toggleSource('M000337_source')" id="l_M000337_source">show source</a> ]</p>
557
+ <div id="M000337_source" class="dyn-source">
558
+ <pre>
559
+ <span class="ruby-comment cmt"># File lib/facets/callstack.rb, line 27</span>
560
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">callstack</span>( <span class="ruby-identifier">level</span> = <span class="ruby-value">1</span> )
561
+ <span class="ruby-identifier">call_str_array</span> = <span class="ruby-identifier">pp_callstack</span>(<span class="ruby-identifier">level</span>)
562
+ <span class="ruby-identifier">stack</span> = []
563
+ <span class="ruby-identifier">call_str_array</span>.<span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">call_str</span><span class="ruby-operator">|</span>
564
+ <span class="ruby-identifier">file</span>, <span class="ruby-identifier">lineno</span>, <span class="ruby-identifier">method</span> = <span class="ruby-identifier">call_str</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">':'</span>)
565
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">method</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/in `(.*)'/</span> <span class="ruby-keyword kw">then</span>
566
+ <span class="ruby-identifier">method</span> = <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">intern</span>()
567
+ <span class="ruby-keyword kw">end</span>
568
+ <span class="ruby-identifier">stack</span> <span class="ruby-operator">&lt;&lt;</span> [<span class="ruby-identifier">file</span>, <span class="ruby-identifier">lineno</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-identifier">method</span>]
569
+ }
570
+ <span class="ruby-identifier">stack</span>
571
+ <span class="ruby-keyword kw">end</span>
572
+ </pre>
573
+ </div>
574
+ </div>
575
+ </div>
576
+ <div class="method">
577
+ <div class="title">
578
+ <a name="M000351"></a><b>complete</b>() {|| ...}
579
+ </div>
580
+ <div class="description">
581
+ <p>
582
+ Repeat loop until it yeilds false or nil.
583
+ </p>
584
+ <pre>
585
+ a = [3, 2, 1]
586
+ complete do
587
+ b &lt;&lt; a.pop
588
+ end
589
+ b #=&gt; [3, 2, 1, nil]
590
+
591
+ CREDIT: Trans
592
+ </pre>
593
+ </div>
594
+ <div class="sourcecode">
595
+ <p class="source-link">[ <a href="javascript:toggleSource('M000351_source')" id="l_M000351_source">show source</a> ]</p>
596
+ <div id="M000351_source" class="dyn-source">
597
+ <pre>
598
+ <span class="ruby-comment cmt"># File lib/facets/kernel/complete.rb, line 13</span>
599
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">complete</span>
600
+ <span class="ruby-identifier">loop</span> { <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">yield</span> }
601
+ <span class="ruby-keyword kw">end</span>
602
+ </pre>
603
+ </div>
604
+ </div>
605
+ </div>
606
+ <div class="method">
607
+ <div class="title">
608
+ <a name="M000378"></a><b>constant</b>(const)
609
+ </div>
610
+ <div class="description">
611
+ <p>
612
+ This is similar to +Module#const_get+ but is accessible at all levels, and,
613
+ unlike <tt>const_get</tt>, can handle module hierarchy.
614
+ </p>
615
+ <pre>
616
+ constant(&quot;Fixnum&quot;) # -&gt; Fixnum
617
+ constant(:Fixnum) # -&gt; Fixnum
618
+
619
+ constant(&quot;Process::Sys&quot;) # -&gt; Process::Sys
620
+ constant(&quot;Regexp::MULTILINE&quot;) # -&gt; 4
621
+
622
+ require 'test/unit'
623
+ Test.constant(&quot;Unit::Assertions&quot;) # -&gt; Test::Unit::Assertions
624
+ Test.constant(&quot;::Test::Unit&quot;) # -&gt; Test::Unit
625
+
626
+ CREDIT: Trans
627
+ </pre>
628
+ </div>
629
+ <div class="sourcecode">
630
+ <p class="source-link">[ <a href="javascript:toggleSource('M000378_source')" id="l_M000378_source">show source</a> ]</p>
631
+ <div id="M000378_source" class="dyn-source">
632
+ <pre>
633
+ <span class="ruby-comment cmt"># File lib/facets/kernel/constant.rb, line 18</span>
634
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">constant</span>(<span class="ruby-identifier">const</span>)
635
+ <span class="ruby-identifier">const</span> = <span class="ruby-identifier">const</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">dup</span>
636
+ <span class="ruby-identifier">base</span> = <span class="ruby-identifier">const</span>.<span class="ruby-identifier">sub!</span>(<span class="ruby-regexp re">/^::/</span>, <span class="ruby-value str">''</span>) <span class="ruby-operator">?</span> <span class="ruby-constant">Object</span> <span class="ruby-operator">:</span> ( <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Module</span>) <span class="ruby-operator">?</span> <span class="ruby-keyword kw">self</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span> )
637
+ <span class="ruby-identifier">const</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/::/</span>).<span class="ruby-identifier">inject</span>(<span class="ruby-identifier">base</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">mod</span>.<span class="ruby-identifier">const_get</span>(<span class="ruby-identifier">name</span>) }
638
+ <span class="ruby-keyword kw">end</span>
639
+ </pre>
640
+ </div>
641
+ </div>
642
+ </div>
643
+ <div class="method">
644
+ <div class="title">
645
+ <a name="M000362"></a><b>d</b>(*x)
646
+ </div>
647
+ <div class="description">
648
+ <p>
649
+ Like <a href="Kernel.html#M000370">p</a> but gives file and line number.
650
+ </p>
651
+ <pre>
652
+ d(&quot;hi&quot;)
653
+ </pre>
654
+ <p>
655
+ produces
656
+ </p>
657
+ <pre>
658
+ /home/dave/projects/foo.rb, 38
659
+ &quot;hi&quot;
660
+ </pre>
661
+ <p>
662
+ TODO: This is borderline &quot;prime&quot;. Keep here?
663
+ </p>
664
+ <pre>
665
+ Another copy of it exits in dtools.rb
666
+ </pre>
667
+ </div>
668
+ <div class="sourcecode">
669
+ <p class="source-link">[ <a href="javascript:toggleSource('M000362_source')" id="l_M000362_source">show source</a> ]</p>
670
+ <div id="M000362_source" class="dyn-source">
671
+ <pre>
672
+ <span class="ruby-comment cmt"># File lib/facets/kernel/d.rb, line 19</span>
673
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">d</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">x</span>)
674
+ <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;#{__FILE__}, #{__LINE__}&quot;</span>
675
+ <span class="ruby-identifier">x</span>.<span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-identifier">puts</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">inspect</span> } <span class="ruby-comment cmt">#p(*x)</span>
676
+ <span class="ruby-identifier">x</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">x</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">last</span> <span class="ruby-comment cmt">#x.last</span>
677
+ <span class="ruby-keyword kw">end</span>
678
+ </pre>
679
+ </div>
680
+ </div>
681
+ </div>
682
+ <div class="method">
683
+ <div class="title">
684
+ <a name="M000354"></a><b>deep_copy</b>()
685
+ </div>
686
+ <div class="description">
687
+ <p>
688
+ Anything that can be marshaled can be copied in totality. This is also
689
+ commonly called a <a href="Kernel.html#M000354">deep_copy</a>.
690
+ </p>
691
+ <pre>
692
+ &quot;ABC&quot;.copy #=&gt; &quot;ABC&quot;
693
+ </pre>
694
+ </div>
695
+ <div class="sourcecode">
696
+ <p class="source-link">[ <a href="javascript:toggleSource('M000354_source')" id="l_M000354_source">show source</a> ]</p>
697
+ <div id="M000354_source" class="dyn-source">
698
+ <pre>
699
+ <span class="ruby-comment cmt"># File lib/facets/kernel/deep_copy.rb, line 8</span>
700
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deep_copy</span>
701
+ <span class="ruby-constant">Marshal</span><span class="ruby-operator">::</span><span class="ruby-identifier">load</span>(<span class="ruby-constant">Marshal</span><span class="ruby-operator">::</span><span class="ruby-identifier">dump</span>(<span class="ruby-keyword kw">self</span>))
702
+ <span class="ruby-keyword kw">end</span>
703
+ </pre>
704
+ </div>
705
+ </div>
706
+ </div>
707
+ <div class="method">
708
+ <div class="title">
709
+ <a name="M000345"></a><b>demo</b>(out=$stdout,&amp;block)
710
+ </div>
711
+ <div class="description">
712
+ <p>
713
+ For debugging and showing examples. Currently this takes an argument of a
714
+ string in a block.
715
+ </p>
716
+ <pre>
717
+ demo {%{ a = [1,2,3] }}
718
+ demo {%{ a.slice(1,2) }}
719
+ demo {%{ a.map { |x| x**3 } }}
720
+ </pre>
721
+ <p>
722
+ Produces:
723
+ </p>
724
+ <pre>
725
+ a = [1,2,3] #=&gt; [1, 2, 3]
726
+ a.slice(1,2) #=&gt; [2, 3]
727
+ a.map { |x| x**3 } #=&gt; [1, 8, 27]
728
+
729
+ TODO: Is there a way to do this without the eval string in block?
730
+ Preferably just a block and no string.
731
+ </pre>
732
+ </div>
733
+ <div class="sourcecode">
734
+ <p class="source-link">[ <a href="javascript:toggleSource('M000345_source')" id="l_M000345_source">show source</a> ]</p>
735
+ <div id="M000345_source" class="dyn-source">
736
+ <pre>
737
+ <span class="ruby-comment cmt"># File lib/facets/kernel/demo.rb, line 19</span>
738
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">demo</span>(<span class="ruby-identifier">out</span>=<span class="ruby-identifier">$stdout</span>,<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
739
+ <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">&quot;%-25s#=&gt; %s\n&quot;</span>, <span class="ruby-identifier">expr</span> = <span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span>, <span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>, <span class="ruby-identifier">block</span>.<span class="ruby-identifier">binding</span>).<span class="ruby-identifier">inspect</span>)
740
+ <span class="ruby-keyword kw">end</span>
741
+ </pre>
742
+ </div>
743
+ </div>
744
+ </div>
745
+ <div class="method">
746
+ <div class="title">
747
+ <a name="M000330"></a><b>eigenclass</b>()
748
+ </div>
749
+ <div class="description">
750
+ <p>
751
+ During this trying time when no one can get their techie catchwords to
752
+ stick to the refrigerator no matter how hard they slap it # <a
753
+ href="Kernel.html#M000360">with</a> the enchanted magnetic spatula, it’s
754
+ good to know that the contrived phrases really do fly, graceful and
755
+ unclasped and bearing north toward chilled shrimp. I know what my
756
+ Hallowe’en pumpkin is going to say.
757
+ </p>
758
+ <pre>
759
+ -- why the lucky stiff
760
+
761
+ CREDIT: WhyTheLuckyStiff
762
+ </pre>
763
+ </div>
764
+ <div class="sourcecode">
765
+ <p class="source-link">[ <a href="javascript:toggleSource('M000330_source')" id="l_M000330_source">show source</a> ]</p>
766
+ <div id="M000330_source" class="dyn-source">
767
+ <pre>
768
+ <span class="ruby-comment cmt"># File lib/facets/metaid.rb, line 82</span>
769
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eigenclass</span>
770
+ (<span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">end</span>)
771
+ <span class="ruby-keyword kw">end</span>
772
+ </pre>
773
+ </div>
774
+ </div>
775
+ </div>
776
+ <div class="method">
777
+ <div class="title">
778
+ <a name="M000357"></a><b>enable_warnings</b>() {|| ...}
779
+ </div>
780
+ <div class="description">
781
+ <p>
782
+ Sets $VERBOSE to true for the duration of the block and back to its
783
+ original value afterwards.
784
+ </p>
785
+ <pre>
786
+ CREDIT: David Heinemeier Hansson
787
+ </pre>
788
+ </div>
789
+ <div class="sourcecode">
790
+ <p class="source-link">[ <a href="javascript:toggleSource('M000357_source')" id="l_M000357_source">show source</a> ]</p>
791
+ <div id="M000357_source" class="dyn-source">
792
+ <pre>
793
+ <span class="ruby-comment cmt"># File lib/facets/kernel/silence.rb, line 51</span>
794
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">enable_warnings</span>
795
+ <span class="ruby-identifier">old_verbose</span>, <span class="ruby-identifier">$VERBOSE</span> = <span class="ruby-identifier">$VERBOSE</span>, <span class="ruby-keyword kw">true</span>
796
+ <span class="ruby-keyword kw">yield</span>
797
+ <span class="ruby-keyword kw">ensure</span>
798
+ <span class="ruby-identifier">$VERBOSE</span> = <span class="ruby-identifier">old_verbose</span>
799
+ <span class="ruby-keyword kw">end</span>
800
+ </pre>
801
+ </div>
802
+ </div>
803
+ </div>
804
+ <div class="method">
805
+ <div class="title">
806
+ <a name="M000350"></a><b>ergo</b>() {|self| ...}
807
+ </div>
808
+ <div class="description">
809
+ <p>
810
+ Yield self -or- return self.
811
+ </p>
812
+ <pre>
813
+ &quot;a&quot;.ergo.upcase #=&gt; &quot;A&quot;
814
+ nil.ergo.foobar #=&gt; nil
815
+
816
+ &quot;a&quot;.ergo{ |o| o.upcase } #=&gt; &quot;A&quot;
817
+ nil.ergo{ |o| o.foobar } #=&gt; nil
818
+ </pre>
819
+ <p>
820
+ This is like <a href="Kernel.html#M000320">tap</a>, but <a
821
+ href="Kernel.html#M000320">tap</a> yields self -and- returns self.
822
+ </p>
823
+ <pre>
824
+ CREDIT: Daniel DeLorme
825
+ </pre>
826
+ </div>
827
+ <div class="sourcecode">
828
+ <p class="source-link">[ <a href="javascript:toggleSource('M000350_source')" id="l_M000350_source">show source</a> ]</p>
829
+ <div id="M000350_source" class="dyn-source">
830
+ <pre>
831
+ <span class="ruby-comment cmt"># File lib/facets/kernel/ergo.rb, line 17</span>
832
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ergo</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>
833
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
834
+ <span class="ruby-identifier">b</span>.<span class="ruby-identifier">arity</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-operator">?</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">instance_eval</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>)
835
+ <span class="ruby-keyword kw">else</span>
836
+ <span class="ruby-keyword kw">self</span>
837
+ <span class="ruby-keyword kw">end</span>
838
+ <span class="ruby-keyword kw">end</span>
839
+ </pre>
840
+ </div>
841
+ </div>
842
+ </div>
843
+ <div class="method">
844
+ <div class="title">
845
+ <a name="M000335"></a><b>false?</b>()
846
+ </div>
847
+ <div class="description">
848
+ <p>
849
+ Returns true is an object is class FalseClass, otherwise false.
850
+ </p>
851
+ <pre>
852
+ true.false? #=&gt; false
853
+ false.false? #=&gt; true
854
+ nil.false? #=&gt; false
855
+ </pre>
856
+ </div>
857
+ <div class="sourcecode">
858
+ <p class="source-link">[ <a href="javascript:toggleSource('M000335_source')" id="l_M000335_source">show source</a> ]</p>
859
+ <div id="M000335_source" class="dyn-source">
860
+ <pre>
861
+ <span class="ruby-comment cmt"># File lib/facets/boolean.rb, line 116</span>
862
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">false?</span>
863
+ (<span class="ruby-keyword kw">false</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">self</span>)
864
+ <span class="ruby-keyword kw">end</span>
865
+ </pre>
866
+ </div>
867
+ </div>
868
+ </div>
869
+ <div class="method">
870
+ <div class="title">
871
+ <a name="M000381"></a><b>in?</b>(other)
872
+ </div>
873
+ <div class="description">
874
+ <p>
875
+ Is self included in other?
876
+ </p>
877
+ <pre>
878
+ 5.in?(0..10) #=&gt; true
879
+ 5.in?([0,1,2,3]) #=&gt; false
880
+ </pre>
881
+ </div>
882
+ <div class="sourcecode">
883
+ <p class="source-link">[ <a href="javascript:toggleSource('M000381_source')" id="l_M000381_source">show source</a> ]</p>
884
+ <div id="M000381_source" class="dyn-source">
885
+ <pre>
886
+ <span class="ruby-comment cmt"># File lib/facets/kernel/in.rb, line 8</span>
887
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">in?</span>(<span class="ruby-identifier">other</span>)
888
+ <span class="ruby-identifier">other</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>)
889
+ <span class="ruby-keyword kw">end</span>
890
+ </pre>
891
+ </div>
892
+ </div>
893
+ </div>
894
+ <div class="method">
895
+ <div class="title">
896
+ <a name="M000349"></a><b>instance_assign</b>(hargs)
897
+ </div>
898
+ <div class="description">
899
+ <p>
900
+ Set instance variables using a hash.
901
+ </p>
902
+ <pre>
903
+ instance_assign('@a'=&gt;1, '@b'=&gt;2)
904
+ @a #=&gt; 1
905
+ @b #=&gt; 2
906
+ </pre>
907
+ </div>
908
+ <div class="sourcecode">
909
+ <p class="source-link">[ <a href="javascript:toggleSource('M000349_source')" id="l_M000349_source">show source</a> ]</p>
910
+ <div id="M000349_source" class="dyn-source">
911
+ <pre>
912
+ <span class="ruby-comment cmt"># File lib/facets/kernel/instance.rb, line 58</span>
913
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">instance_assign</span>(<span class="ruby-identifier">hargs</span>)
914
+ <span class="ruby-identifier">hargs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
915
+ <span class="ruby-identifier">k</span> = <span class="ruby-node">&quot;@#{k}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">k</span> <span class="ruby-operator">!~</span> <span class="ruby-regexp re">/^@/</span>
916
+ <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-identifier">k</span>, <span class="ruby-identifier">v</span>)
917
+ <span class="ruby-keyword kw">end</span>
918
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>
919
+ <span class="ruby-keyword kw">end</span>
920
+ </pre>
921
+ </div>
922
+ </div>
923
+ </div>
924
+ <div class="method">
925
+ <div class="title">
926
+ <a name="M000347"></a><b>instance_class</b>(&amp;block)
927
+ </div>
928
+ <div class="description">
929
+ <p>
930
+ Easy access to an object qua class, otherwise known <a
931
+ href="Kernel.html#M000338">as</a> the object&#8216;s <a
932
+ href="Kernel.html#M000327">metaclass</a> or <a
933
+ href="Kernel.html#M000328">singleton</a> class. This implemnetation alwasy
934
+ returns the class, even if a block is provided to eval against it.
935
+ </p>
936
+ <pre>
937
+ It is what it is.
938
+
939
+ CREDIT: Trans
940
+ </pre>
941
+ </div>
942
+ <div class="sourcecode">
943
+ <p class="source-link">[ <a href="javascript:toggleSource('M000347_source')" id="l_M000347_source">show source</a> ]</p>
944
+ <div id="M000347_source" class="dyn-source">
945
+ <pre>
946
+ <span class="ruby-comment cmt"># File lib/facets/kernel/instance.rb, line 21</span>
947
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">instance_class</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
948
+ (<span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">end</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</span>
949
+ (<span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">end</span>)
950
+ <span class="ruby-keyword kw">end</span>
951
+ </pre>
952
+ </div>
953
+ </div>
954
+ </div>
955
+ <div class="method">
956
+ <div class="title">
957
+ <a name="M000363"></a><b>instance_exec</b>(*arguments, &amp;block)
958
+ </div>
959
+ <div class="description">
960
+ <p>
961
+ Like instance_eval but allows parameters to be passed.
962
+ </p>
963
+ <p>
964
+ NOTE: This is deprecated b/c implementation is fragile. Use Ruby 1.9
965
+ instead.
966
+ </p>
967
+ </div>
968
+ <div class="sourcecode">
969
+ <p class="source-link">[ <a href="javascript:toggleSource('M000363_source')" id="l_M000363_source">show source</a> ]</p>
970
+ <div id="M000363_source" class="dyn-source">
971
+ <pre>
972
+ <span class="ruby-comment cmt"># File lib/facets/kernel/instance_exec.rb, line 12</span>
973
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">instance_exec</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">arguments</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
974
+ <span class="ruby-identifier">block</span>.<span class="ruby-identifier">bind</span>(<span class="ruby-keyword kw">self</span>)[<span class="ruby-operator">*</span><span class="ruby-identifier">arguments</span>]
975
+ <span class="ruby-keyword kw">end</span>
976
+ </pre>
977
+ </div>
978
+ </div>
979
+ </div>
980
+ <div class="method">
981
+ <div class="title">
982
+ <a name="M000348"></a><b>instance_values</b>()
983
+ </div>
984
+ <div class="description">
985
+ <p>
986
+ Return instance variable values in an array.
987
+ </p>
988
+ <pre>
989
+ class X
990
+ def initialize(a,b)
991
+ @a, @b = a, b
992
+ end
993
+ end
994
+
995
+ x = X.new(1,2)
996
+
997
+ x.instance_values #=&gt; [1,2]
998
+
999
+ CREDIT: David Heinemeier Hansson
1000
+ </pre>
1001
+ </div>
1002
+ <div class="sourcecode">
1003
+ <p class="source-link">[ <a href="javascript:toggleSource('M000348_source')" id="l_M000348_source">show source</a> ]</p>
1004
+ <div id="M000348_source" class="dyn-source">
1005
+ <pre>
1006
+ <span class="ruby-comment cmt"># File lib/facets/kernel/instance.rb, line 40</span>
1007
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">instance_values</span>
1008
+ <span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">inject</span>({}) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">values</span>, <span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
1009
+ <span class="ruby-identifier">values</span>[<span class="ruby-identifier">name</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]] = <span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-identifier">name</span>)
1010
+ <span class="ruby-identifier">values</span>
1011
+ <span class="ruby-keyword kw">end</span>
1012
+ <span class="ruby-keyword kw">end</span>
1013
+ </pre>
1014
+ </div>
1015
+ </div>
1016
+ </div>
1017
+ <div class="method">
1018
+ <div class="title">
1019
+ <a name="M000364"></a><b>load_local</b>(fname, safe=nil)
1020
+ </div>
1021
+ <div class="description">
1022
+ <p>
1023
+ Load file from same dir <a href="Kernel.html#M000338">as</a> calling
1024
+ script.
1025
+ </p>
1026
+ <pre>
1027
+ load_local 'templib'
1028
+ </pre>
1029
+ </div>
1030
+ <div class="sourcecode">
1031
+ <p class="source-link">[ <a href="javascript:toggleSource('M000364_source')" id="l_M000364_source">show source</a> ]</p>
1032
+ <div id="M000364_source" class="dyn-source">
1033
+ <pre>
1034
+ <span class="ruby-comment cmt"># File lib/facets/kernel/load.rb, line 7</span>
1035
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load_local</span>(<span class="ruby-identifier">fname</span>, <span class="ruby-identifier">safe</span>=<span class="ruby-keyword kw">nil</span>)
1036
+ <span class="ruby-comment cmt">#fdir = File.expand_path( File.dirname( caller[0] ) )</span>
1037
+ <span class="ruby-identifier">fdir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>( <span class="ruby-identifier">caller</span>[<span class="ruby-value">0</span>] )
1038
+ <span class="ruby-identifier">load</span>( <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>( <span class="ruby-identifier">fdir</span>, <span class="ruby-identifier">fname</span> ), <span class="ruby-identifier">safe</span> )
1039
+ <span class="ruby-keyword kw">end</span>
1040
+ </pre>
1041
+ </div>
1042
+ </div>
1043
+ </div>
1044
+ <div class="method">
1045
+ <div class="title">
1046
+ <a name="M000346"></a><b>maybe</b>(chance = 0.5) {|if rand &lt; chance| ...}
1047
+ </div>
1048
+ <div class="description">
1049
+ <p>
1050
+ Random generator that returns true or false. Can also take a block that has
1051
+ a 50/50 chance to being executed.
1052
+ </p>
1053
+ <pre>
1054
+ maybe #=&gt; true
1055
+ maybe #=&gt; false
1056
+ </pre>
1057
+ </div>
1058
+ <div class="sourcecode">
1059
+ <p class="source-link">[ <a href="javascript:toggleSource('M000346_source')" id="l_M000346_source">show source</a> ]</p>
1060
+ <div id="M000346_source" class="dyn-source">
1061
+ <pre>
1062
+ <span class="ruby-comment cmt"># File lib/facets/kernel/maybe.rb, line 9</span>
1063
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">maybe</span>(<span class="ruby-identifier">chance</span> = <span class="ruby-value">0</span><span class="ruby-value">.5</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
1064
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block</span> <span class="ruby-keyword kw">then</span>
1065
+ <span class="ruby-keyword kw">yield</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">rand</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">chance</span>
1066
+ <span class="ruby-keyword kw">else</span>
1067
+ <span class="ruby-identifier">rand</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">chance</span>
1068
+ <span class="ruby-keyword kw">end</span>
1069
+ <span class="ruby-keyword kw">end</span>
1070
+ </pre>
1071
+ </div>
1072
+ </div>
1073
+ </div>
1074
+ <div class="method">
1075
+ <div class="title">
1076
+ <a name="M000323"></a><b>meta_alias</b>(*args)
1077
+ </div>
1078
+ <div class="description">
1079
+ <p>
1080
+ Alias a method defined in the <a href="Kernel.html#M000327">metaclass</a>
1081
+ (ie. <a href="Kernel.html#M000328">singleton</a> class).
1082
+ </p>
1083
+ <pre>
1084
+ def X.y?; &quot;y?&quot; ; end
1085
+ X.meta_alias &quot;ynot?&quot;, &quot;y?&quot;
1086
+ X.ynot? #=&gt; y?
1087
+
1088
+ CREDIT: Trans
1089
+ </pre>
1090
+ </div>
1091
+ <div class="sourcecode">
1092
+ <p class="source-link">[ <a href="javascript:toggleSource('M000323_source')" id="l_M000323_source">show source</a> ]</p>
1093
+ <div id="M000323_source" class="dyn-source">
1094
+ <pre>
1095
+ <span class="ruby-comment cmt"># File lib/facets/metaid.rb, line 11</span>
1096
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">meta_alias</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
1097
+ <span class="ruby-identifier">meta_class</span> <span class="ruby-keyword kw">do</span>
1098
+ <span class="ruby-identifier">alias_method</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
1099
+ <span class="ruby-keyword kw">end</span>
1100
+ <span class="ruby-keyword kw">end</span>
1101
+ </pre>
1102
+ </div>
1103
+ </div>
1104
+ </div>
1105
+ <div class="method">
1106
+ <div class="title">
1107
+ <a name="M000326"></a><b>meta_class</b>(&amp;block)
1108
+ </div>
1109
+ <div class="description">
1110
+ <p>
1111
+ Easy access to an object&#8216;s &quot;special&quot; class, otherwise known
1112
+ <a href="Kernel.html#M000338">as</a> it&#8216;s <a
1113
+ href="Kernel.html#M000327">metaclass</a> or <a
1114
+ href="Kernel.html#M000328">singleton</a> class.
1115
+ </p>
1116
+ </div>
1117
+ <div class="aka">
1118
+ This method is also aliased as
1119
+ <a href="Kernel.html#M000327">metaclass</a>
1120
+ </div>
1121
+ <div class="sourcecode">
1122
+ <p class="source-link">[ <a href="javascript:toggleSource('M000326_source')" id="l_M000326_source">show source</a> ]</p>
1123
+ <div id="M000326_source" class="dyn-source">
1124
+ <pre>
1125
+ <span class="ruby-comment cmt"># File lib/facets/metaid.rb, line 47</span>
1126
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">meta_class</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
1127
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
1128
+ (<span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">end</span>).<span class="ruby-identifier">class_eval</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
1129
+ <span class="ruby-keyword kw">else</span>
1130
+ (<span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">end</span>)
1131
+ <span class="ruby-keyword kw">end</span>
1132
+ <span class="ruby-keyword kw">end</span>
1133
+ </pre>
1134
+ </div>
1135
+ </div>
1136
+ </div>
1137
+ <div class="method">
1138
+ <div class="title">
1139
+ <a name="M000325"></a><b>meta_def</b>( name, &amp;block )
1140
+ </div>
1141
+ <div class="description">
1142
+ <p>
1143
+ Add method to a meta-class &#8212;i.e. a <a
1144
+ href="Kernel.html#M000328">singleton</a> method.
1145
+ </p>
1146
+ <pre>
1147
+ class X; end
1148
+ X.meta_def(:x){&quot;x&quot;}
1149
+ X.x #=&gt; &quot;x&quot;
1150
+
1151
+ CREDIT: WhyTheLuckyStiff
1152
+ </pre>
1153
+ </div>
1154
+ <div class="sourcecode">
1155
+ <p class="source-link">[ <a href="javascript:toggleSource('M000325_source')" id="l_M000325_source">show source</a> ]</p>
1156
+ <div id="M000325_source" class="dyn-source">
1157
+ <pre>
1158
+ <span class="ruby-comment cmt"># File lib/facets/metaid.rb, line 38</span>
1159
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">meta_def</span>( <span class="ruby-identifier">name</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span> )
1160
+ <span class="ruby-identifier">meta_class</span> <span class="ruby-keyword kw">do</span>
1161
+ <span class="ruby-identifier">define_method</span>( <span class="ruby-identifier">name</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span> )
1162
+ <span class="ruby-keyword kw">end</span>
1163
+ <span class="ruby-keyword kw">end</span>
1164
+ </pre>
1165
+ </div>
1166
+ </div>
1167
+ </div>
1168
+ <div class="method">
1169
+ <div class="title">
1170
+ <a name="M000324"></a><b>meta_eval</b>(str=nil, &amp;blk)
1171
+ </div>
1172
+ <div class="description">
1173
+ <p>
1174
+ Evaluate code in a <a href="Kernel.html#M000327">metaclass</a>. This is
1175
+ equivalent to &#8216;meta_class.instance_eval&#8217;.
1176
+ </p>
1177
+ <pre>
1178
+ CREDIT: WhyTheLuckyStiff
1179
+ </pre>
1180
+ </div>
1181
+ <div class="sourcecode">
1182
+ <p class="source-link">[ <a href="javascript:toggleSource('M000324_source')" id="l_M000324_source">show source</a> ]</p>
1183
+ <div id="M000324_source" class="dyn-source">
1184
+ <pre>
1185
+ <span class="ruby-comment cmt"># File lib/facets/metaid.rb, line 22</span>
1186
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">meta_eval</span>(<span class="ruby-identifier">str</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
1187
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">str</span>
1188
+ <span class="ruby-identifier">meta_class</span>.<span class="ruby-identifier">instance_eval</span>(<span class="ruby-identifier">str</span>)
1189
+ <span class="ruby-keyword kw">else</span>
1190
+ <span class="ruby-identifier">meta_class</span>.<span class="ruby-identifier">instance_eval</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
1191
+ <span class="ruby-keyword kw">end</span>
1192
+ <span class="ruby-keyword kw">end</span>
1193
+ </pre>
1194
+ </div>
1195
+ </div>
1196
+ </div>
1197
+ <div class="method">
1198
+ <div class="title">
1199
+ <a name="M000327"></a><b>metaclass</b>(&amp;block)
1200
+ </div>
1201
+ <div class="description">
1202
+ <p>
1203
+ Alias for <a href="Kernel.html#M000326">meta_class</a>
1204
+ </p>
1205
+ </div>
1206
+ </div>
1207
+ <div class="method">
1208
+ <div class="title">
1209
+ <a name="M000353"></a><b>non_nil?</b>()
1210
+ </div>
1211
+ <div class="description">
1212
+ <p>
1213
+ Alias for not_nil?
1214
+ </p>
1215
+ </div>
1216
+ </div>
1217
+ <div class="method">
1218
+ <div class="title">
1219
+ <a name="M000352"></a><b>not_nil?</b>()
1220
+ </div>
1221
+ <div class="description">
1222
+ <p>
1223
+ The opposite of nil?.
1224
+ </p>
1225
+ <pre>
1226
+ &quot;hello&quot;.not_nil? # -&gt; true
1227
+ nil.not_nil? # -&gt; false
1228
+
1229
+ CREDIT: Gavin Sinclair
1230
+ </pre>
1231
+ </div>
1232
+ <div class="aka">
1233
+ This method is also aliased as
1234
+ <a href="Kernel.html#M000353">non_nil?</a>
1235
+ </div>
1236
+ <div class="sourcecode">
1237
+ <p class="source-link">[ <a href="javascript:toggleSource('M000352_source')" id="l_M000352_source">show source</a> ]</p>
1238
+ <div id="M000352_source" class="dyn-source">
1239
+ <pre>
1240
+ <span class="ruby-comment cmt"># File lib/facets/kernel/not_nil.rb, line 10</span>
1241
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">not_nil?</span>
1242
+ <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">nil?</span>
1243
+ <span class="ruby-keyword kw">end</span>
1244
+ </pre>
1245
+ </div>
1246
+ </div>
1247
+ </div>
1248
+ <div class="method">
1249
+ <div class="title">
1250
+ <a name="M000344"></a><b>object_hexid</b>()
1251
+ </div>
1252
+ <div class="description">
1253
+ <p>
1254
+ Returns the object id <a href="Kernel.html#M000338">as</a> a string in
1255
+ hexideciaml, which is how Ruby reports them <a
1256
+ href="Kernel.html#M000360">with</a> inspect.
1257
+ </p>
1258
+ <pre>
1259
+ &quot;ABC&quot;.object_hexid #=&gt; &quot;0x402d359c&quot;
1260
+ </pre>
1261
+ </div>
1262
+ <div class="sourcecode">
1263
+ <p class="source-link">[ <a href="javascript:toggleSource('M000344_source')" id="l_M000344_source">show source</a> ]</p>
1264
+ <div id="M000344_source" class="dyn-source">
1265
+ <pre>
1266
+ <span class="ruby-comment cmt"># File lib/facets/kernel/object.rb, line 48</span>
1267
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">object_hexid</span>
1268
+ <span class="ruby-keyword kw">return</span> <span class="ruby-value str">&quot;0x&quot;</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-value str">'%.x'</span> <span class="ruby-operator">%</span> (<span class="ruby-value">2</span><span class="ruby-operator">*</span><span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">__id__</span>)) <span class="ruby-comment cmt">#[1..-1]</span>
1269
+ <span class="ruby-keyword kw">end</span>
1270
+ </pre>
1271
+ </div>
1272
+ </div>
1273
+ </div>
1274
+ <div class="method">
1275
+ <div class="title">
1276
+ <a name="M000343"></a><b>object_send</b>(name,*args,&amp;blk)
1277
+ </div>
1278
+ <div class="description">
1279
+ <p>
1280
+ Send only to public methods.
1281
+ </p>
1282
+ <pre>
1283
+ class X
1284
+ private
1285
+ def foo; end
1286
+ end
1287
+
1288
+ X.new.object_send(:foo)
1289
+ =&gt; NoMethodError: private method `foo' called for #&lt;X:0xb7ac6ba8&gt;
1290
+ </pre>
1291
+ <p>
1292
+ TODO: <a href="Kernel.html#M000343">object_send</a> needs to change for
1293
+ 1.9.
1294
+ </p>
1295
+ <pre>
1296
+ CREDIT: Trans
1297
+ </pre>
1298
+ </div>
1299
+ <div class="sourcecode">
1300
+ <p class="source-link">[ <a href="javascript:toggleSource('M000343_source')" id="l_M000343_source">show source</a> ]</p>
1301
+ <div id="M000343_source" class="dyn-source">
1302
+ <pre>
1303
+ <span class="ruby-comment cmt"># File lib/facets/kernel/object.rb, line 32</span>
1304
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">object_send</span>(<span class="ruby-identifier">name</span>,<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>,<span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
1305
+ <span class="ruby-comment cmt">#instance_eval &quot;self.#{name}(*args)&quot;</span>
1306
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">name</span>)
1307
+ <span class="ruby-identifier">send</span>(<span class="ruby-identifier">name</span>,<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>,<span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
1308
+ <span class="ruby-keyword kw">else</span> <span class="ruby-comment cmt">#if respond_to?(:method_missing)</span>
1309
+ <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">name</span>,<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>,<span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
1310
+ <span class="ruby-comment cmt">#else</span>
1311
+ <span class="ruby-comment cmt"># raise NoMethodError</span>
1312
+ <span class="ruby-keyword kw">end</span>
1313
+ <span class="ruby-keyword kw">end</span>
1314
+ </pre>
1315
+ </div>
1316
+ </div>
1317
+ </div>
1318
+ <div class="method">
1319
+ <div class="title">
1320
+ <a name="M000370"></a><b>p</b>(*x)
1321
+ </div>
1322
+ <div class="description">
1323
+ <p>
1324
+ Alternate to standard <a href="Kernel.html#M000370">p</a> method that
1325
+ outputs Kernel#inspect to stdout, but also passes through the orginal
1326
+ argument(s).
1327
+ </p>
1328
+ <pre>
1329
+ x = 1
1330
+ r = 4 + q(1)
1331
+ p r
1332
+ </pre>
1333
+ <p>
1334
+ produces
1335
+ </p>
1336
+ <pre>
1337
+ 1
1338
+ 5
1339
+ </pre>
1340
+ <p>
1341
+ DEPRECATE AS OF 1.9, <em>if</em> <a href="Kernel.html#M000370">p</a> will
1342
+ then do this too.
1343
+ </p>
1344
+ </div>
1345
+ <div class="sourcecode">
1346
+ <p class="source-link">[ <a href="javascript:toggleSource('M000370_source')" id="l_M000370_source">show source</a> ]</p>
1347
+ <div id="M000370_source" class="dyn-source">
1348
+ <pre>
1349
+ <span class="ruby-comment cmt"># File lib/facets/kernel/p.rb, line 18</span>
1350
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">p</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">x</span>)
1351
+ <span class="ruby-identifier">x</span>.<span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-identifier">puts</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">inspect</span> } <span class="ruby-comment cmt">#p(*x)</span>
1352
+ <span class="ruby-identifier">x</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">x</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">last</span> <span class="ruby-comment cmt">#x.last</span>
1353
+ <span class="ruby-keyword kw">end</span>
1354
+ </pre>
1355
+ </div>
1356
+ </div>
1357
+ </div>
1358
+ <div class="method">
1359
+ <div class="title">
1360
+ <a name="M000375"></a><b>populate</b>(data=nil) {|| ...}
1361
+ </div>
1362
+ <div class="description">
1363
+ <p>
1364
+ Assign via accessor methods using a hash, associative array or block.
1365
+ </p>
1366
+ <pre>
1367
+ object.populate( :a =&gt; 1, :b =&gt; 2 )
1368
+ object.populate( :a, 1, :b, 2 )
1369
+ object.populate( [:a, 1], [:b, 2] )
1370
+ object.populate( *[[:a, 1], [:b, 2]] )
1371
+ object.populate{ |s| s.a = 1; s.b = 2 }
1372
+ </pre>
1373
+ <p>
1374
+ These are all the same <a href="Kernel.html#M000338">as</a> doing:
1375
+ </p>
1376
+ <pre>
1377
+ object.a = 1
1378
+ object.b = 2
1379
+ </pre>
1380
+ <p>
1381
+ Using an associative array instead of hash guarentees order of assignemnt.
1382
+ </p>
1383
+ <p>
1384
+ Using a hash or array will not raise an error if the accessor does not
1385
+ exits &#8212;it will simply be skipped.
1386
+ </p>
1387
+ <p>
1388
+ TODO: Better name, set_with ?
1389
+ </p>
1390
+ </div>
1391
+ <div class="sourcecode">
1392
+ <p class="source-link">[ <a href="javascript:toggleSource('M000375_source')" id="l_M000375_source">show source</a> ]</p>
1393
+ <div id="M000375_source" class="dyn-source">
1394
+ <pre>
1395
+ <span class="ruby-comment cmt"># File lib/facets/kernel/populate.rb, line 25</span>
1396
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">populate</span>(<span class="ruby-identifier">data</span>=<span class="ruby-keyword kw">nil</span>) <span class="ruby-comment cmt">#:yield:</span>
1397
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">data</span>
1398
+ <span class="ruby-identifier">data</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
1399
+ <span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;#{k}=&quot;</span>, <span class="ruby-identifier">v</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">respond_to?</span>(<span class="ruby-node">&quot;#{k}=&quot;</span>)
1400
+ <span class="ruby-keyword kw">end</span>
1401
+ <span class="ruby-keyword kw">end</span>
1402
+ <span class="ruby-keyword kw">yield</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
1403
+ <span class="ruby-keyword kw">self</span>
1404
+ <span class="ruby-keyword kw">end</span>
1405
+ </pre>
1406
+ </div>
1407
+ </div>
1408
+ </div>
1409
+ <div class="method">
1410
+ <div class="title">
1411
+ <a name="M000366"></a><b>require_all</b>(pat)
1412
+ </div>
1413
+ <div class="description">
1414
+ <p>
1415
+ Require a pattern of files. This make is easy to require an entire
1416
+ directory, for instance.
1417
+ </p>
1418
+ <pre>
1419
+ require_all 'facets/time/*'
1420
+ </pre>
1421
+ </div>
1422
+ <div class="sourcecode">
1423
+ <p class="source-link">[ <a href="javascript:toggleSource('M000366_source')" id="l_M000366_source">show source</a> ]</p>
1424
+ <div id="M000366_source" class="dyn-source">
1425
+ <pre>
1426
+ <span class="ruby-comment cmt"># File lib/facets/kernel/load.rb, line 28</span>
1427
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">require_all</span>(<span class="ruby-identifier">pat</span>)
1428
+ <span class="ruby-identifier">$LOAD_PATH</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
1429
+ <span class="ruby-identifier">fs</span> = <span class="ruby-constant">Dir</span>[<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">path</span>,<span class="ruby-identifier">pat</span>)]
1430
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">empty?</span>
1431
+ <span class="ruby-identifier">fs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
1432
+ <span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">require</span>( <span class="ruby-identifier">f</span> ) <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>( <span class="ruby-identifier">f</span> )
1433
+ }
1434
+ <span class="ruby-keyword kw">break</span>;
1435
+ <span class="ruby-keyword kw">end</span>
1436
+ <span class="ruby-keyword kw">end</span>
1437
+ <span class="ruby-keyword kw">end</span>
1438
+ </pre>
1439
+ </div>
1440
+ </div>
1441
+ </div>
1442
+ <div class="method">
1443
+ <div class="title">
1444
+ <a name="M000365"></a><b>require_local</b>(fname)
1445
+ </div>
1446
+ <div class="description">
1447
+ <p>
1448
+ Require file from same dir <a href="Kernel.html#M000338">as</a> calling
1449
+ script.
1450
+ </p>
1451
+ <pre>
1452
+ require_local 'templib'
1453
+ </pre>
1454
+ </div>
1455
+ <div class="sourcecode">
1456
+ <p class="source-link">[ <a href="javascript:toggleSource('M000365_source')" id="l_M000365_source">show source</a> ]</p>
1457
+ <div id="M000365_source" class="dyn-source">
1458
+ <pre>
1459
+ <span class="ruby-comment cmt"># File lib/facets/kernel/load.rb, line 17</span>
1460
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">require_local</span>(<span class="ruby-identifier">fname</span>)
1461
+ <span class="ruby-comment cmt">#fdir = File.expand_path( File.dirname( caller[0] ) )</span>
1462
+ <span class="ruby-identifier">fdir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>( <span class="ruby-identifier">caller</span>[<span class="ruby-value">0</span>] )
1463
+ <span class="ruby-identifier">require</span>( <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>( <span class="ruby-identifier">fdir</span>, <span class="ruby-identifier">fname</span> ) )
1464
+ <span class="ruby-keyword kw">end</span>
1465
+ </pre>
1466
+ </div>
1467
+ </div>
1468
+ </div>
1469
+ <div class="method">
1470
+ <div class="title">
1471
+ <a name="M000359"></a><b>resc</b>(str)
1472
+ </div>
1473
+ <div class="description">
1474
+ <p>
1475
+ Provides a shortcut to the Regexp.escape module method.
1476
+ </p>
1477
+ <pre>
1478
+ resc(&quot;H..LO&quot;) #=&gt; &quot;H\\.\\.LO&quot;
1479
+
1480
+ TODO: Should this be deprecated in favor of String#to_re/to_rx ?
1481
+
1482
+ CREDIT: Trans
1483
+ </pre>
1484
+ </div>
1485
+ <div class="sourcecode">
1486
+ <p class="source-link">[ <a href="javascript:toggleSource('M000359_source')" id="l_M000359_source">show source</a> ]</p>
1487
+ <div id="M000359_source" class="dyn-source">
1488
+ <pre>
1489
+ <span class="ruby-comment cmt"># File lib/facets/kernel/resc.rb, line 11</span>
1490
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resc</span>(<span class="ruby-identifier">str</span>)
1491
+ <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">escape</span>(<span class="ruby-identifier">str</span>.<span class="ruby-identifier">to_s</span>)
1492
+ <span class="ruby-keyword kw">end</span>
1493
+ </pre>
1494
+ </div>
1495
+ </div>
1496
+ </div>
1497
+ <div class="method">
1498
+ <div class="title">
1499
+ <a name="M000379"></a><b>respond</b>(sym, *args)
1500
+ </div>
1501
+ <div class="description">
1502
+ <p>
1503
+ Like respond_to? but returns the result of the call if it does indeed <a
1504
+ href="Kernel.html#M000379">respond</a>.
1505
+ </p>
1506
+ <pre>
1507
+ class X
1508
+ def f; &quot;f&quot;; end
1509
+ end
1510
+
1511
+ x = X.new
1512
+ x.respond(:f) #=&gt; &quot;f&quot;
1513
+ x.respond(:g) #=&gt; nil
1514
+
1515
+ CREDIT: Trans
1516
+ </pre>
1517
+ </div>
1518
+ <div class="aka">
1519
+ This method is also aliased as
1520
+ <a href="Kernel.html#M000380">respond_with_value</a>
1521
+ </div>
1522
+ <div class="sourcecode">
1523
+ <p class="source-link">[ <a href="javascript:toggleSource('M000379_source')" id="l_M000379_source">show source</a> ]</p>
1524
+ <div id="M000379_source" class="dyn-source">
1525
+ <pre>
1526
+ <span class="ruby-comment cmt"># File lib/facets/kernel/respond.rb, line 16</span>
1527
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">respond</span>(<span class="ruby-identifier">sym</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
1528
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">sym</span>)
1529
+ <span class="ruby-identifier">send</span>(<span class="ruby-identifier">sym</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
1530
+ <span class="ruby-keyword kw">end</span>
1531
+ </pre>
1532
+ </div>
1533
+ </div>
1534
+ </div>
1535
+ <div class="method">
1536
+ <div class="title">
1537
+ <a name="M000380"></a><b>respond_with_value</b>(sym, *args)
1538
+ </div>
1539
+ <div class="description">
1540
+ <p>
1541
+ Alias for <a href="Kernel.html#M000379">respond</a>
1542
+ </p>
1543
+ </div>
1544
+ </div>
1545
+ <div class="method">
1546
+ <div class="title">
1547
+ <a name="M000374"></a><b>returning</b>(obj=self) {|| ...}
1548
+ </div>
1549
+ <div class="description">
1550
+ <p>
1551
+ A Ruby-ized realization of the K combinator.
1552
+ </p>
1553
+ <pre>
1554
+ returning Book.new do |book|
1555
+ book.title = &quot;Imperium&quot;
1556
+ book.author = &quot;Ulick Varange&quot;
1557
+ end
1558
+ </pre>
1559
+ <p>
1560
+ Technically, <a href="Kernel.html#M000374">returning</a> probably should
1561
+ force the return of the stated object irregardless of any return statements
1562
+ that might appear within it&#8216;s block. This might differentiate <a
1563
+ href="Kernel.html#M000374">returning</a> from <a
1564
+ href="Kernel.html#M000360">with</a>, however it also would require
1565
+ implementation in Ruby itself.
1566
+ </p>
1567
+ <pre>
1568
+ CREDIT: Mikael Brockman
1569
+ </pre>
1570
+ </div>
1571
+ <div class="sourcecode">
1572
+ <p class="source-link">[ <a href="javascript:toggleSource('M000374_source')" id="l_M000374_source">show source</a> ]</p>
1573
+ <div id="M000374_source" class="dyn-source">
1574
+ <pre>
1575
+ <span class="ruby-comment cmt"># File lib/facets/kernel/returning.rb, line 18</span>
1576
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">returning</span>(<span class="ruby-identifier">obj</span>=<span class="ruby-keyword kw">self</span>) <span class="ruby-comment cmt">#:yield:</span>
1577
+ <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">obj</span>
1578
+ <span class="ruby-identifier">obj</span>
1579
+ <span class="ruby-keyword kw">end</span>
1580
+ </pre>
1581
+ </div>
1582
+ </div>
1583
+ </div>
1584
+ <div class="method">
1585
+ <div class="title">
1586
+ <a name="M000339"></a><b>send_as</b>(ancestor, sym, *args, &amp;blk)
1587
+ </div>
1588
+ <div class="description">
1589
+ <p>
1590
+ Call parent class/module methods once bound to self.
1591
+ </p>
1592
+ <p>
1593
+ TODO: Does this have the proper scope for send?
1594
+ </p>
1595
+ </div>
1596
+ <div class="sourcecode">
1597
+ <p class="source-link">[ <a href="javascript:toggleSource('M000339_source')" id="l_M000339_source">show source</a> ]</p>
1598
+ <div id="M000339_source" class="dyn-source">
1599
+ <pre>
1600
+ <span class="ruby-comment cmt"># File lib/facets/kernel/as.rb, line 36</span>
1601
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_as</span>(<span class="ruby-identifier">ancestor</span>, <span class="ruby-identifier">sym</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
1602
+ <span class="ruby-identifier">ancestor</span>.<span class="ruby-identifier">instance_method</span>(<span class="ruby-identifier">sym</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>,<span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
1603
+ <span class="ruby-keyword kw">end</span>
1604
+ </pre>
1605
+ </div>
1606
+ </div>
1607
+ </div>
1608
+ <div class="method">
1609
+ <div class="title">
1610
+ <a name="M000376"></a><b>set_from</b>(obj, *fields)
1611
+ </div>
1612
+ <div class="description">
1613
+ <p>
1614
+ Set setter methods using a another object.
1615
+ </p>
1616
+ <pre>
1617
+ class X
1618
+ attr_accessor :a, :b
1619
+ def initialize( a, b )
1620
+ @a,@b = a,b
1621
+ end
1622
+ end
1623
+
1624
+ obj1 = X.new( 1, 2 )
1625
+ obj2 = X.new
1626
+
1627
+ obj2.set_from(obj1)
1628
+
1629
+ obj2.a #=&gt; 1
1630
+ obj2.b #=&gt; 2
1631
+ </pre>
1632
+ <p>
1633
+ TODO: pepulate_from(obj) ?
1634
+ </p>
1635
+ </div>
1636
+ <div class="sourcecode">
1637
+ <p class="source-link">[ <a href="javascript:toggleSource('M000376_source')" id="l_M000376_source">show source</a> ]</p>
1638
+ <div id="M000376_source" class="dyn-source">
1639
+ <pre>
1640
+ <span class="ruby-comment cmt"># File lib/facets/kernel/populate.rb, line 54</span>
1641
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_from</span>(<span class="ruby-identifier">obj</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">fields</span>)
1642
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">fields</span>.<span class="ruby-identifier">empty?</span>
1643
+ <span class="ruby-identifier">fields</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
1644
+ <span class="ruby-identifier">send</span>( <span class="ruby-node">&quot;#{k}=&quot;</span>, <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;#{k}&quot;</span>) ) <span class="ruby-comment cmt">#if self.respond_to?(&quot;#{k}=&quot;) &amp;&amp; obj.respond_to?(&quot;#{k}&quot;)</span>
1645
+ <span class="ruby-keyword kw">end</span>
1646
+ <span class="ruby-keyword kw">else</span>
1647
+ <span class="ruby-identifier">setters</span> = <span class="ruby-identifier">methods</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-operator">=~</span> <span class="ruby-regexp re">/=$/</span> }
1648
+ <span class="ruby-identifier">setters</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">setter</span><span class="ruby-operator">|</span>
1649
+ <span class="ruby-identifier">getter</span> = <span class="ruby-identifier">setter</span>.<span class="ruby-identifier">chomp</span>(<span class="ruby-value str">'='</span>)
1650
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">getter</span>)
1651
+ <span class="ruby-identifier">send</span>( <span class="ruby-identifier">setter</span>, <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">getter</span>) )
1652
+ <span class="ruby-identifier">fields</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">getter</span>
1653
+ <span class="ruby-keyword kw">end</span>
1654
+ <span class="ruby-keyword kw">end</span>
1655
+ <span class="ruby-keyword kw">end</span>
1656
+ <span class="ruby-identifier">fields</span>
1657
+ <span class="ruby-keyword kw">end</span>
1658
+ </pre>
1659
+ </div>
1660
+ </div>
1661
+ </div>
1662
+ <div class="method">
1663
+ <div class="title">
1664
+ <a name="M000355"></a><b>silence_stream</b>(stream) {|| ...}
1665
+ </div>
1666
+ <div class="description">
1667
+ <p>
1668
+ Silences any stream for the duration of the block.
1669
+ </p>
1670
+ <pre>
1671
+ silence_stream(STDOUT) do
1672
+ puts 'This will never be seen'
1673
+ end
1674
+
1675
+ puts 'But this will'
1676
+
1677
+ CREDIT: David Heinemeier Hansson
1678
+ </pre>
1679
+ </div>
1680
+ <div class="sourcecode">
1681
+ <p class="source-link">[ <a href="javascript:toggleSource('M000355_source')" id="l_M000355_source">show source</a> ]</p>
1682
+ <div id="M000355_source" class="dyn-source">
1683
+ <pre>
1684
+ <span class="ruby-comment cmt"># File lib/facets/kernel/silence.rb, line 13</span>
1685
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">silence_stream</span>(<span class="ruby-identifier">stream</span>)
1686
+ <span class="ruby-identifier">old_stream</span> = <span class="ruby-identifier">stream</span>.<span class="ruby-identifier">dup</span>
1687
+ <span class="ruby-identifier">stream</span>.<span class="ruby-identifier">reopen</span>(<span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/mswin/</span> <span class="ruby-operator">?</span> <span class="ruby-value str">'NUL:'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'/dev/null'</span>)
1688
+ <span class="ruby-identifier">stream</span>.<span class="ruby-identifier">sync</span> = <span class="ruby-keyword kw">true</span>
1689
+ <span class="ruby-keyword kw">yield</span>
1690
+ <span class="ruby-keyword kw">ensure</span>
1691
+ <span class="ruby-identifier">stream</span>.<span class="ruby-identifier">reopen</span>(<span class="ruby-identifier">old_stream</span>)
1692
+ <span class="ruby-keyword kw">end</span>
1693
+ </pre>
1694
+ </div>
1695
+ </div>
1696
+ </div>
1697
+ <div class="method">
1698
+ <div class="title">
1699
+ <a name="M000356"></a><b>silence_warnings</b>() {|| ...}
1700
+ </div>
1701
+ <div class="description">
1702
+ <p>
1703
+ Sets $VERBOSE to nil for the duration of the block and back to its original
1704
+ value afterwards.
1705
+ </p>
1706
+ <pre>
1707
+ silence_warnings do
1708
+ value = noisy_call # no warning voiced
1709
+ end
1710
+
1711
+ noisy_call # no warning is voiced
1712
+
1713
+ CREDIT: David Heinemeier Hansson
1714
+ </pre>
1715
+ </div>
1716
+ <div class="sourcecode">
1717
+ <p class="source-link">[ <a href="javascript:toggleSource('M000356_source')" id="l_M000356_source">show source</a> ]</p>
1718
+ <div id="M000356_source" class="dyn-source">
1719
+ <pre>
1720
+ <span class="ruby-comment cmt"># File lib/facets/kernel/silence.rb, line 39</span>
1721
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">silence_warnings</span>
1722
+ <span class="ruby-identifier">old_verbose</span>, <span class="ruby-identifier">$VERBOSE</span> = <span class="ruby-identifier">$VERBOSE</span>, <span class="ruby-keyword kw">nil</span>
1723
+ <span class="ruby-keyword kw">yield</span>
1724
+ <span class="ruby-keyword kw">ensure</span>
1725
+ <span class="ruby-identifier">$VERBOSE</span> = <span class="ruby-identifier">old_verbose</span>
1726
+ <span class="ruby-keyword kw">end</span>
1727
+ </pre>
1728
+ </div>
1729
+ </div>
1730
+ </div>
1731
+ <div class="method">
1732
+ <div class="title">
1733
+ <a name="M000328"></a><b>singleton</b>()
1734
+ </div>
1735
+ <div class="description">
1736
+ <p>
1737
+ Access to an object&#8216;s &quot;special&quot; class, otherwise known <a
1738
+ href="Kernel.html#M000338">as</a> it&#8216;s <a
1739
+ href="Kernel.html#M000330">eigenclass</a> or <a
1740
+ href="Kernel.html#M000327">metaclass</a>, etc.
1741
+ </p>
1742
+ <p>
1743
+ One day these names must be reconciled!
1744
+ </p>
1745
+ </div>
1746
+ <div class="sourcecode">
1747
+ <p class="source-link">[ <a href="javascript:toggleSource('M000328_source')" id="l_M000328_source">show source</a> ]</p>
1748
+ <div id="M000328_source" class="dyn-source">
1749
+ <pre>
1750
+ <span class="ruby-comment cmt"># File lib/facets/metaid.rb, line 62</span>
1751
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">singleton</span>
1752
+ (<span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">end</span>)
1753
+ <span class="ruby-keyword kw">end</span>
1754
+ </pre>
1755
+ </div>
1756
+ </div>
1757
+ </div>
1758
+ <div class="method">
1759
+ <div class="title">
1760
+ <a name="M000371"></a><b>singleton_class</b>(&amp;block)
1761
+ </div>
1762
+ <div class="description">
1763
+ <p>
1764
+ Easy access to an object&#8216;s &quot;special&quot; class, otherwise known
1765
+ <a href="Kernel.html#M000338">as</a> it&#8216;s eigen or meta class.
1766
+ </p>
1767
+ </div>
1768
+ <div class="sourcecode">
1769
+ <p class="source-link">[ <a href="javascript:toggleSource('M000371_source')" id="l_M000371_source">show source</a> ]</p>
1770
+ <div id="M000371_source" class="dyn-source">
1771
+ <pre>
1772
+ <span class="ruby-comment cmt"># File lib/facets/kernel/singleton_class.rb, line 6</span>
1773
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">singleton_class</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
1774
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
1775
+ (<span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">end</span>).<span class="ruby-identifier">class_eval</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
1776
+ <span class="ruby-keyword kw">else</span>
1777
+ (<span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">end</span>)
1778
+ <span class="ruby-keyword kw">end</span>
1779
+ <span class="ruby-keyword kw">end</span>
1780
+ </pre>
1781
+ </div>
1782
+ </div>
1783
+ </div>
1784
+ <div class="method">
1785
+ <div class="title">
1786
+ <a name="M000329"></a><b>singleton_class</b>()
1787
+ </div>
1788
+ <div class="sourcecode">
1789
+ <p class="source-link">[ <a href="javascript:toggleSource('M000329_source')" id="l_M000329_source">show source</a> ]</p>
1790
+ <div id="M000329_source" class="dyn-source">
1791
+ <pre>
1792
+ <span class="ruby-comment cmt"># File lib/facets/metaid.rb, line 66</span>
1793
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">singleton_class</span>
1794
+ (<span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">self</span>; <span class="ruby-keyword kw">end</span>)
1795
+ <span class="ruby-keyword kw">end</span>
1796
+ </pre>
1797
+ </div>
1798
+ </div>
1799
+ </div>
1800
+ <div class="method">
1801
+ <div class="title">
1802
+ <a name="M000341"></a><b>super_as</b>(klass=self.class.superclass, *args, &amp;blk)
1803
+ </div>
1804
+ <div class="description">
1805
+ <p>
1806
+ Like super but skips to a specific ancestor module or class.
1807
+ </p>
1808
+ <pre>
1809
+ class A
1810
+ def x ; 1 ; end
1811
+ end
1812
+
1813
+ class B &lt; A
1814
+ def x ; 2 ; end
1815
+ end
1816
+
1817
+ class C &lt; B
1818
+ def x ; super_as(A) ; end
1819
+ end
1820
+
1821
+ C.new.x #=&gt; 1
1822
+ </pre>
1823
+ </div>
1824
+ <div class="sourcecode">
1825
+ <p class="source-link">[ <a href="javascript:toggleSource('M000341_source')" id="l_M000341_source">show source</a> ]</p>
1826
+ <div id="M000341_source" class="dyn-source">
1827
+ <pre>
1828
+ <span class="ruby-comment cmt"># File lib/facets/kernel/as.rb, line 73</span>
1829
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">super_as</span>(<span class="ruby-identifier">klass</span>=<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">superclass</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
1830
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">ancestors</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">klass</span>)
1831
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>
1832
+ <span class="ruby-keyword kw">end</span>
1833
+ <span class="ruby-identifier">called</span> = <span class="ruby-regexp re">/\`([^\']+)\'/</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">caller</span>(<span class="ruby-value">1</span>).<span class="ruby-identifier">first</span>)[<span class="ruby-value">1</span>].<span class="ruby-identifier">to_sym</span>
1834
+ <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">instance_method</span>(<span class="ruby-identifier">called</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>,<span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span>)
1835
+ <span class="ruby-keyword kw">end</span>
1836
+ </pre>
1837
+ </div>
1838
+ </div>
1839
+ </div>
1840
+ <div class="method">
1841
+ <div class="title">
1842
+ <a name="M000340"></a><b>super_method</b>(klass, meth)
1843
+ </div>
1844
+ <div class="description">
1845
+ <p>
1846
+ Returns method of a parent class bound to self.
1847
+ </p>
1848
+ </div>
1849
+ <div class="sourcecode">
1850
+ <p class="source-link">[ <a href="javascript:toggleSource('M000340_source')" id="l_M000340_source">show source</a> ]</p>
1851
+ <div id="M000340_source" class="dyn-source">
1852
+ <pre>
1853
+ <span class="ruby-comment cmt"># File lib/facets/kernel/as.rb, line 50</span>
1854
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">super_method</span>(<span class="ruby-identifier">klass</span>, <span class="ruby-identifier">meth</span>)
1855
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">ancestors</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">klass</span>)
1856
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;Not an ancestor for super_method-- #{klass}&quot;</span>
1857
+ <span class="ruby-keyword kw">end</span>
1858
+ <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">instance_method</span>(<span class="ruby-identifier">meth</span>).<span class="ruby-identifier">bind</span>(<span class="ruby-keyword kw">self</span>)
1859
+ <span class="ruby-keyword kw">end</span>
1860
+ </pre>
1861
+ </div>
1862
+ </div>
1863
+ </div>
1864
+ <div class="method">
1865
+ <div class="title">
1866
+ <a name="M000358"></a><b>suppress</b>(*exception_classes) {|| ...}
1867
+ </div>
1868
+ <div class="description">
1869
+ <p>
1870
+ Supress errors while executing a block, <a
1871
+ href="Kernel.html#M000360">with</a> execptions.
1872
+ </p>
1873
+ <pre>
1874
+ CREDIT: David Heinemeier Hansson
1875
+ </pre>
1876
+ </div>
1877
+ <div class="sourcecode">
1878
+ <p class="source-link">[ <a href="javascript:toggleSource('M000358_source')" id="l_M000358_source">show source</a> ]</p>
1879
+ <div id="M000358_source" class="dyn-source">
1880
+ <pre>
1881
+ <span class="ruby-comment cmt"># File lib/facets/kernel/silence.rb, line 62</span>
1882
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">suppress</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">exception_classes</span>)
1883
+ <span class="ruby-keyword kw">begin</span> <span class="ruby-keyword kw">yield</span>
1884
+ <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
1885
+ <span class="ruby-identifier">raise</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">exception_classes</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">cls</span><span class="ruby-operator">|</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-identifier">cls</span>) }
1886
+ <span class="ruby-keyword kw">end</span>
1887
+ <span class="ruby-keyword kw">end</span>
1888
+ </pre>
1889
+ </div>
1890
+ </div>
1891
+ </div>
1892
+ <div class="method">
1893
+ <div class="title">
1894
+ <a name="M000320"></a><b>tap</b>() {|self| ...}
1895
+ </div>
1896
+ <div class="description">
1897
+ <p>
1898
+ The <a href="Kernel.html#M000320">tap</a> K-Combinator. This yields self
1899
+ -and- returns self.
1900
+ </p>
1901
+ </div>
1902
+ <div class="sourcecode">
1903
+ <p class="source-link">[ <a href="javascript:toggleSource('M000320_source')" id="l_M000320_source">show source</a> ]</p>
1904
+ <div id="M000320_source" class="dyn-source">
1905
+ <pre>
1906
+ <span class="ruby-comment cmt"># File lib/facets/ruby.rb, line 265</span>
1907
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tap</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>)
1908
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
1909
+ <span class="ruby-identifier">b</span>.<span class="ruby-identifier">arity</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-operator">?</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">instance_eval</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>)
1910
+ <span class="ruby-keyword kw">end</span>
1911
+ <span class="ruby-keyword kw">self</span>
1912
+ <span class="ruby-keyword kw">end</span>
1913
+ </pre>
1914
+ </div>
1915
+ </div>
1916
+ </div>
1917
+ <div class="method">
1918
+ <div class="title">
1919
+ <a name="M000333"></a><b>to_b</b>()
1920
+ </div>
1921
+ <div class="description">
1922
+ <p>
1923
+ Boolean conversion for not being nil or false. Other classes may redefine
1924
+ this to suite the particular need.
1925
+ </p>
1926
+ <pre>
1927
+ &quot;abc&quot;.to_b #=&gt; true
1928
+ true.to_b #=&gt; true
1929
+ false.to_b #=&gt; false
1930
+ nil.to_b #=&gt; false
1931
+ </pre>
1932
+ </div>
1933
+ <div class="sourcecode">
1934
+ <p class="source-link">[ <a href="javascript:toggleSource('M000333_source')" id="l_M000333_source">show source</a> ]</p>
1935
+ <div id="M000333_source" class="dyn-source">
1936
+ <pre>
1937
+ <span class="ruby-comment cmt"># File lib/facets/boolean.rb, line 94</span>
1938
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_b</span>
1939
+ <span class="ruby-keyword kw">self</span> <span class="ruby-operator">?</span> <span class="ruby-keyword kw">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">false</span>
1940
+ <span class="ruby-keyword kw">end</span>
1941
+ </pre>
1942
+ </div>
1943
+ </div>
1944
+ </div>
1945
+ <div class="method">
1946
+ <div class="title">
1947
+ <a name="M000334"></a><b>true?</b>()
1948
+ </div>
1949
+ <div class="description">
1950
+ <p>
1951
+ Returns true is an object is class TrueClass, otherwise false.
1952
+ </p>
1953
+ <pre>
1954
+ true.true? #=&gt; true
1955
+ false.true? #=&gt; false
1956
+ nil.true? #=&gt; false
1957
+ </pre>
1958
+ </div>
1959
+ <div class="sourcecode">
1960
+ <p class="source-link">[ <a href="javascript:toggleSource('M000334_source')" id="l_M000334_source">show source</a> ]</p>
1961
+ <div id="M000334_source" class="dyn-source">
1962
+ <pre>
1963
+ <span class="ruby-comment cmt"># File lib/facets/boolean.rb, line 105</span>
1964
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">true?</span>
1965
+ (<span class="ruby-keyword kw">true</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">self</span>)
1966
+ <span class="ruby-keyword kw">end</span>
1967
+ </pre>
1968
+ </div>
1969
+ </div>
1970
+ </div>
1971
+ <div class="method">
1972
+ <div class="title">
1973
+ <a name="M000372"></a><b>try</b>(method, default=nil)
1974
+ </div>
1975
+ <div class="description">
1976
+ <p>
1977
+ Try a method.
1978
+ </p>
1979
+ <pre>
1980
+ @person ? @person.name : nil
1981
+ </pre>
1982
+ <p>
1983
+ vs
1984
+ </p>
1985
+ <pre>
1986
+ @person.try(:name)
1987
+
1988
+ CREDIT: Chris Wanstrath
1989
+ </pre>
1990
+ </div>
1991
+ <div class="sourcecode">
1992
+ <p class="source-link">[ <a href="javascript:toggleSource('M000372_source')" id="l_M000372_source">show source</a> ]</p>
1993
+ <div id="M000372_source" class="dyn-source">
1994
+ <pre>
1995
+ <span class="ruby-comment cmt"># File lib/facets/kernel/try.rb, line 10</span>
1996
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">try</span>(<span class="ruby-identifier">method</span>, <span class="ruby-identifier">default</span>=<span class="ruby-keyword kw">nil</span>)
1997
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">respond_to?</span> <span class="ruby-identifier">method</span>
1998
+ <span class="ruby-identifier">send</span> <span class="ruby-identifier">method</span>
1999
+ <span class="ruby-keyword kw">else</span>
2000
+ <span class="ruby-identifier">default</span>
2001
+ <span class="ruby-keyword kw">end</span>
2002
+ <span class="ruby-keyword kw">end</span>
2003
+ </pre>
2004
+ </div>
2005
+ </div>
2006
+ </div>
2007
+ <div class="method">
2008
+ <div class="title">
2009
+ <a name="M000377"></a><b>val?</b>()
2010
+ </div>
2011
+ <div class="description">
2012
+ <p>
2013
+ Tests to see if something has value. An object is considered to have value
2014
+ if it is not nil? and if it responds to empty?, is not empty.
2015
+ </p>
2016
+ <pre>
2017
+ nil.val? #=&gt; false
2018
+ [].val? #=&gt; false
2019
+ 10.val? #=&gt; true
2020
+ [nil].val? #=&gt; true
2021
+ </pre>
2022
+ </div>
2023
+ <div class="sourcecode">
2024
+ <p class="source-link">[ <a href="javascript:toggleSource('M000377_source')" id="l_M000377_source">show source</a> ]</p>
2025
+ <div id="M000377_source" class="dyn-source">
2026
+ <pre>
2027
+ <span class="ruby-comment cmt"># File lib/facets/kernel/val.rb, line 12</span>
2028
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">val?</span>
2029
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">nil?</span>
2030
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">empty?</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:empty?</span>)
2031
+ <span class="ruby-keyword kw">true</span>
2032
+ <span class="ruby-keyword kw">end</span>
2033
+ </pre>
2034
+ </div>
2035
+ </div>
2036
+ </div>
2037
+ <div class="method">
2038
+ <div class="title">
2039
+ <a name="M000360"></a><b>with</b>(obj=self, &amp;block)
2040
+ </div>
2041
+ <div class="description">
2042
+ <p>
2043
+ Like <a href="Kernel.html#M000374">returning</a> but exectures the block
2044
+ via instance_eval.
2045
+ </p>
2046
+ <pre>
2047
+ def foo
2048
+ with values = [] do
2049
+ self &lt;&lt; 'bar'
2050
+ self &lt;&lt; 'baz'
2051
+ end
2052
+ end
2053
+
2054
+ foo # =&gt; ['bar', 'baz']
2055
+ </pre>
2056
+ </div>
2057
+ <div class="sourcecode">
2058
+ <p class="source-link">[ <a href="javascript:toggleSource('M000360_source')" id="l_M000360_source">show source</a> ]</p>
2059
+ <div id="M000360_source" class="dyn-source">
2060
+ <pre>
2061
+ <span class="ruby-comment cmt"># File lib/facets/kernel/with.rb, line 15</span>
2062
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">with</span>(<span class="ruby-identifier">obj</span>=<span class="ruby-keyword kw">self</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
2063
+ <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">instance_eval</span> <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>
2064
+ <span class="ruby-keyword kw">end</span>
2065
+ </pre>
2066
+ </div>
2067
+ </div>
2068
+ </div>
2069
+ <div class="sectiontitle">Private Instance methods</div>
2070
+ <div class="method">
2071
+ <div class="title">
2072
+ <a name="M000322"></a><b>__callee__</b>()
2073
+ </div>
2074
+ <div class="description">
2075
+ <p>
2076
+ Retreive the current running method name.
2077
+ </p>
2078
+ <pre>
2079
+ def tester; __callee__; end
2080
+ tester #=&gt; :tester
2081
+ </pre>
2082
+ <p>
2083
+ Technically <em>callee</em> should provided alias names, where <a
2084
+ href="Kernel.html#M000338">as</a> <em>method</em> should not. But
2085
+ we&#8216;ll have to leave that distinction to Ruby 1.9+.
2086
+ </p>
2087
+ </div>
2088
+ <div class="sourcecode">
2089
+ <p class="source-link">[ <a href="javascript:toggleSource('M000322_source')" id="l_M000322_source">show source</a> ]</p>
2090
+ <div id="M000322_source" class="dyn-source">
2091
+ <pre>
2092
+ <span class="ruby-comment cmt"># File lib/facets/ruby.rb, line 309</span>
2093
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">__callee__</span>
2094
+ <span class="ruby-regexp re">/\`([^\']+)\'/</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">caller</span>(<span class="ruby-value">1</span>).<span class="ruby-identifier">first</span>)[<span class="ruby-value">1</span>].<span class="ruby-identifier">to_sym</span>
2095
+ <span class="ruby-keyword kw">end</span>
2096
+ </pre>
2097
+ </div>
2098
+ </div>
2099
+ </div>
2100
+ <div class="method">
2101
+ <div class="title">
2102
+ <a name="M000321"></a><b>__method__</b>()
2103
+ </div>
2104
+ <div class="description">
2105
+ <p>
2106
+ Retreive the current running method name.
2107
+ </p>
2108
+ <pre>
2109
+ def tester; __method__; end
2110
+ tester #=&gt; :tester
2111
+ </pre>
2112
+ <p>
2113
+ Technically <em>callee</em> should provided alias names, where
2114
+ <em>method</em> should not. But we&#8216;ll have to leave that distinction
2115
+ to Ruby 1.9+.
2116
+ </p>
2117
+ </div>
2118
+ <div class="sourcecode">
2119
+ <p class="source-link">[ <a href="javascript:toggleSource('M000321_source')" id="l_M000321_source">show source</a> ]</p>
2120
+ <div id="M000321_source" class="dyn-source">
2121
+ <pre>
2122
+ <span class="ruby-comment cmt"># File lib/facets/ruby.rb, line 296</span>
2123
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">__method__</span>
2124
+ <span class="ruby-regexp re">/\`([^\']+)\'/</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">caller</span>(<span class="ruby-value">1</span>).<span class="ruby-identifier">first</span>)[<span class="ruby-value">1</span>].<span class="ruby-identifier">to_sym</span>
2125
+ <span class="ruby-keyword kw">end</span>
2126
+ </pre>
2127
+ </div>
2128
+ </div>
2129
+ </div>
2130
+ </div>
2131
+
2132
+ </div>
2133
+
2134
+ </body>
2135
+ </html>