facets 1.4.3 → 1.4.4

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 (1229) hide show
  1. data/ProjectInfo +19 -19
  2. data/Reapfile +1 -1
  3. data/WARNING +0 -1
  4. data/{AUTHORS → doc/AUTHORS} +0 -0
  5. data/{note/CHANGELOG → doc/ChangeLog} +30 -0
  6. data/{note → doc}/IMPORTANT +0 -0
  7. data/doc/api/core/classes/Array.html +1356 -0
  8. data/doc/api/core/classes/Binding.html +538 -0
  9. data/doc/api/core/classes/Class.html +476 -0
  10. data/doc/api/core/classes/Comparable.html +231 -0
  11. data/doc/api/core/classes/Config.html +120 -0
  12. data/doc/api/core/classes/Continuation.html +168 -0
  13. data/doc/api/core/classes/Date.html +219 -0
  14. data/doc/api/core/classes/Dir.html +208 -0
  15. data/doc/api/core/classes/Enumerable.html +1462 -0
  16. data/doc/api/core/classes/FalseClass.html +115 -0
  17. data/doc/api/core/classes/File.html +383 -0
  18. data/doc/api/core/classes/FileUtils.html +468 -0
  19. data/doc/api/core/classes/Float.html +157 -0
  20. data/doc/api/core/classes/Gem.html +150 -0
  21. data/doc/api/core/classes/Hash.html +1627 -0
  22. data/doc/api/core/classes/Integer.html +353 -0
  23. data/doc/api/core/classes/Kernal.html +86 -0
  24. data/doc/api/core/classes/Kernel.html +2010 -0
  25. data/doc/api/core/classes/Logger.html +157 -0
  26. data/doc/api/core/classes/MatchData.html +195 -0
  27. data/doc/api/core/classes/Module.html +1812 -0
  28. data/doc/api/core/classes/NackClass.html +92 -0
  29. data/doc/api/core/classes/NilClass.html +385 -0
  30. data/doc/api/core/classes/Numeric.html +306 -0
  31. data/doc/api/core/classes/Object.html +332 -0
  32. data/doc/api/core/classes/OpenStruct.html +315 -0
  33. data/doc/api/core/classes/Pathname.html +154 -0
  34. data/doc/api/core/classes/Proc.html +154 -0
  35. data/doc/api/core/classes/Range.html +235 -0
  36. data/doc/api/core/classes/Regexp.html +185 -0
  37. data/doc/api/core/classes/ScriptBug.html +92 -0
  38. data/doc/api/core/classes/String.html +3250 -0
  39. data/doc/api/core/classes/Symbol.html +463 -0
  40. data/doc/api/core/classes/Time.html +307 -0
  41. data/doc/api/core/classes/TrueClass.html +115 -0
  42. data/doc/api/core/classes/UnboundMethod.html +121 -0
  43. data/doc/api/core/created.rid +1 -0
  44. data/doc/api/core/files/COPYING.html +517 -0
  45. data/doc/api/core/files/ProjectInfo.html +92 -0
  46. data/doc/api/core/files/README.html +386 -0
  47. data/doc/api/core/files/WARNING.html +132 -0
  48. data/doc/api/core/files/lib/facets/core/all_rb.html +96 -0
  49. data/doc/api/core/files/lib/facets/core/array/at_rand_rb.html +92 -0
  50. data/doc/api/core/files/lib/facets/core/array/body_rb.html +100 -0
  51. data/doc/api/core/files/lib/facets/core/array/delete_unless_rb.html +92 -0
  52. data/doc/api/core/files/lib/facets/core/array/delete_values_at_rb.html +92 -0
  53. data/doc/api/core/files/lib/facets/core/array/delete_values_rb.html +92 -0
  54. data/doc/api/core/files/lib/facets/core/array/each_with_key_rb.html +92 -0
  55. data/doc/api/core/files/lib/facets/core/array/first_rb.html +96 -0
  56. data/doc/api/core/files/lib/facets/core/array/foot_rb.html +100 -0
  57. data/doc/api/core/files/lib/facets/core/array/head_rb.html +92 -0
  58. data/doc/api/core/files/lib/facets/core/array/join_sentence_rb.html +92 -0
  59. data/doc/api/core/files/lib/facets/core/array/last_index_rb.html +92 -0
  60. data/doc/api/core/files/lib/facets/core/array/last_rb.html +100 -0
  61. data/doc/api/core/files/lib/facets/core/array/merge_rb.html +92 -0
  62. data/doc/api/core/files/lib/facets/core/array/mid_rb.html +92 -0
  63. data/doc/api/core/files/lib/facets/core/array/middle_rb.html +92 -0
  64. data/doc/api/core/files/lib/facets/core/array/op_fetch_rb.html +92 -0
  65. data/doc/api/core/files/lib/facets/core/array/op_mod_rb.html +92 -0
  66. data/doc/api/core/files/lib/facets/core/array/op_store_rb.html +96 -0
  67. data/doc/api/core/files/lib/facets/core/array/pick_rb.html +92 -0
  68. data/doc/api/core/files/lib/facets/core/array/pos_rb.html +92 -0
  69. data/doc/api/core/files/lib/facets/core/array/pot_rb.html +92 -0
  70. data/doc/api/core/files/lib/facets/core/array/pull_rb.html +92 -0
  71. data/doc/api/core/files/lib/facets/core/array/rand_index_rb.html +92 -0
  72. data/doc/api/core/files/lib/facets/core/array/rand_subset_rb.html +92 -0
  73. data/doc/api/core/files/lib/facets/core/array/range_rb.html +92 -0
  74. data/doc/api/core/files/lib/facets/core/array/rotate_rb.html +92 -0
  75. data/doc/api/core/files/lib/facets/core/array/select_rb.html +92 -0
  76. data/doc/api/core/files/lib/facets/core/array/shuffle_rb.html +92 -0
  77. data/doc/api/core/files/lib/facets/core/array/store_rb.html +92 -0
  78. data/doc/api/core/files/lib/facets/core/array/tail_rb.html +100 -0
  79. data/doc/api/core/files/lib/facets/core/array/thru_rb.html +92 -0
  80. data/doc/api/core/files/lib/facets/core/array/to_b_rb.html +92 -0
  81. data/doc/api/core/files/lib/facets/core/array/to_h_rb.html +92 -0
  82. data/doc/api/core/files/lib/facets/core/array/to_hash_rb.html +92 -0
  83. data/doc/api/core/files/lib/facets/core/array/unzip_rb.html +92 -0
  84. data/doc/api/core/files/lib/facets/core/binding/__DIR___rb.html +100 -0
  85. data/doc/api/core/files/lib/facets/core/binding/__FILE___rb.html +100 -0
  86. data/doc/api/core/files/lib/facets/core/binding/__LINE___rb.html +96 -0
  87. data/doc/api/core/files/lib/facets/core/binding/call_stack_rb.html +97 -0
  88. data/doc/api/core/files/lib/facets/core/binding/called_rb.html +96 -0
  89. data/doc/api/core/files/lib/facets/core/binding/caller_rb.html +96 -0
  90. data/doc/api/core/files/lib/facets/core/binding/defined_rb.html +96 -0
  91. data/doc/api/core/files/lib/facets/core/binding/eval_rb.html +92 -0
  92. data/doc/api/core/files/lib/facets/core/binding/local_variables_rb.html +96 -0
  93. data/doc/api/core/files/lib/facets/core/binding/method_name_rb.html +96 -0
  94. data/doc/api/core/files/lib/facets/core/binding/op_fetch_rb.html +97 -0
  95. data/doc/api/core/files/lib/facets/core/binding/op_store_rb.html +97 -0
  96. data/doc/api/core/files/lib/facets/core/binding/self/of_caller_rb.html +96 -0
  97. data/doc/api/core/files/lib/facets/core/binding/self_rb.html +96 -0
  98. data/doc/api/core/files/lib/facets/core/binding_rb.html +109 -0
  99. data/doc/api/core/files/lib/facets/core/class/by_name_rb.html +96 -0
  100. data/doc/api/core/files/lib/facets/core/class/cattr_accessor_rb.html +100 -0
  101. data/doc/api/core/files/lib/facets/core/class/cattr_rb.html +92 -0
  102. data/doc/api/core/files/lib/facets/core/class/cattr_reader_rb.html +100 -0
  103. data/doc/api/core/files/lib/facets/core/class/cattr_writer_rb.html +100 -0
  104. data/doc/api/core/files/lib/facets/core/class/descendents_rb.html +92 -0
  105. data/doc/api/core/files/lib/facets/core/class/method_name_rb.html +92 -0
  106. data/doc/api/core/files/lib/facets/core/class/remove_descendents_rb.html +96 -0
  107. data/doc/api/core/files/lib/facets/core/class/remove_subclasses_rb.html +100 -0
  108. data/doc/api/core/files/lib/facets/core/class/subclasses_rb.html +100 -0
  109. data/doc/api/core/files/lib/facets/core/class/to_proc_rb.html +98 -0
  110. data/doc/api/core/files/lib/facets/core/class/unix_path_rb.html +92 -0
  111. data/doc/api/core/files/lib/facets/core/comparable/at_least_rb.html +92 -0
  112. data/doc/api/core/files/lib/facets/core/comparable/at_most_rb.html +100 -0
  113. data/doc/api/core/files/lib/facets/core/comparable/cap_rb.html +100 -0
  114. data/doc/api/core/files/lib/facets/core/comparable/clip_rb.html +92 -0
  115. data/doc/api/core/files/lib/facets/core/comparable/cmp_rb.html +92 -0
  116. data/doc/api/core/files/lib/facets/core/config/datadir_rb.html +92 -0
  117. data/doc/api/core/files/lib/facets/core/continuation/self/create_rb.html +148 -0
  118. data/doc/api/core/files/lib/facets/core/date/days_in_month_rb.html +96 -0
  119. data/doc/api/core/files/lib/facets/core/date/days_of_month_rb.html +96 -0
  120. data/doc/api/core/files/lib/facets/core/date/stamp_rb.html +96 -0
  121. data/doc/api/core/files/lib/facets/core/date/to_date_rb.html +96 -0
  122. data/doc/api/core/files/lib/facets/core/date/to_s_rb.html +96 -0
  123. data/doc/api/core/files/lib/facets/core/date/to_time_rb.html +96 -0
  124. data/doc/api/core/files/lib/facets/core/dir/self/ancestor_rb.html +92 -0
  125. data/doc/api/core/files/lib/facets/core/dir/self/ascend_rb.html +92 -0
  126. data/doc/api/core/files/lib/facets/core/dir/self/descend_rb.html +92 -0
  127. data/doc/api/core/files/lib/facets/core/dir/self/ls_r_rb.html +92 -0
  128. data/doc/api/core/files/lib/facets/core/dir/self/recurse_rb.html +100 -0
  129. data/doc/api/core/files/lib/facets/core/enumerable/accumulate_rb.html +96 -0
  130. data/doc/api/core/files/lib/facets/core/enumerable/cascade_rb.html +92 -0
  131. data/doc/api/core/files/lib/facets/core/enumerable/collect_if_rb.html +92 -0
  132. data/doc/api/core/files/lib/facets/core/enumerable/collect_with_counter_rb.html +100 -0
  133. data/doc/api/core/files/lib/facets/core/enumerable/collect_with_index_rb.html +92 -0
  134. data/doc/api/core/files/lib/facets/core/enumerable/commonality_rb.html +92 -0
  135. data/doc/api/core/files/lib/facets/core/enumerable/compact_collect_rb.html +96 -0
  136. data/doc/api/core/files/lib/facets/core/enumerable/compact_map_rb.html +100 -0
  137. data/doc/api/core/files/lib/facets/core/enumerable/count_rb.html +92 -0
  138. data/doc/api/core/files/lib/facets/core/enumerable/cross_rb.html +96 -0
  139. data/doc/api/core/files/lib/facets/core/enumerable/each_by_rb.html +100 -0
  140. data/doc/api/core/files/lib/facets/core/enumerable/each_combination_rb.html +92 -0
  141. data/doc/api/core/files/lib/facets/core/enumerable/each_pair_rb.html +92 -0
  142. data/doc/api/core/files/lib/facets/core/enumerable/each_permutation_rb.html +100 -0
  143. data/doc/api/core/files/lib/facets/core/enumerable/each_slice_rb.html +92 -0
  144. data/doc/api/core/files/lib/facets/core/enumerable/each_unique_pair_rb.html +96 -0
  145. data/doc/api/core/files/lib/facets/core/enumerable/each_with_counter_rb.html +92 -0
  146. data/doc/api/core/files/lib/facets/core/enumerable/elementwise_rb.html +100 -0
  147. data/doc/api/core/files/lib/facets/core/enumerable/entropy_rb.html +97 -0
  148. data/doc/api/core/files/lib/facets/core/enumerable/every_rb.html +96 -0
  149. data/doc/api/core/files/lib/facets/core/enumerable/ew_rb.html +96 -0
  150. data/doc/api/core/files/lib/facets/core/enumerable/filter_collect_rb.html +92 -0
  151. data/doc/api/core/files/lib/facets/core/enumerable/filter_map_rb.html +100 -0
  152. data/doc/api/core/files/lib/facets/core/enumerable/find_collisions_rb.html +96 -0
  153. data/doc/api/core/files/lib/facets/core/enumerable/frequency_rb.html +92 -0
  154. data/doc/api/core/files/lib/facets/core/enumerable/graph_rb.html +96 -0
  155. data/doc/api/core/files/lib/facets/core/enumerable/ideal_entropy_rb.html +92 -0
  156. data/doc/api/core/files/lib/facets/core/enumerable/map_if_rb.html +100 -0
  157. data/doc/api/core/files/lib/facets/core/enumerable/map_with_counter_rb.html +100 -0
  158. data/doc/api/core/files/lib/facets/core/enumerable/map_with_index_rb.html +100 -0
  159. data/doc/api/core/files/lib/facets/core/enumerable/mode_rb.html +92 -0
  160. data/doc/api/core/files/lib/facets/core/enumerable/none_rb.html +92 -0
  161. data/doc/api/core/files/lib/facets/core/enumerable/nonuniq_rb.html +92 -0
  162. data/doc/api/core/files/lib/facets/core/enumerable/occur_rb.html +92 -0
  163. data/doc/api/core/files/lib/facets/core/enumerable/one_rb.html +92 -0
  164. data/doc/api/core/files/lib/facets/core/enumerable/op_pow_rb.html +96 -0
  165. data/doc/api/core/files/lib/facets/core/enumerable/partition_by_rb.html +92 -0
  166. data/doc/api/core/files/lib/facets/core/enumerable/permute_rb.html +96 -0
  167. data/doc/api/core/files/lib/facets/core/enumerable/probability_rb.html +92 -0
  168. data/doc/api/core/files/lib/facets/core/enumerable/project_rb.html +92 -0
  169. data/doc/api/core/files/lib/facets/core/enumerable/self/combinations_rb.html +92 -0
  170. data/doc/api/core/files/lib/facets/core/enumerable/self/cross_rb.html +96 -0
  171. data/doc/api/core/files/lib/facets/core/enumerable/to_h_rb.html +92 -0
  172. data/doc/api/core/files/lib/facets/core/enumerable/uniq_by_rb.html +92 -0
  173. data/doc/api/core/files/lib/facets/core/enumerable/where_rb.html +92 -0
  174. data/doc/api/core/files/lib/facets/core/file/self/append_rb.html +96 -0
  175. data/doc/api/core/files/lib/facets/core/file/self/create_rb.html +92 -0
  176. data/doc/api/core/files/lib/facets/core/file/self/open_as_string_rb.html +118 -0
  177. data/doc/api/core/files/lib/facets/core/file/self/read_binary_rb.html +96 -0
  178. data/doc/api/core/files/lib/facets/core/file/self/read_list_rb.html +97 -0
  179. data/doc/api/core/files/lib/facets/core/file/self/rootname_rb.html +92 -0
  180. data/doc/api/core/files/lib/facets/core/file/self/sanitize_rb.html +96 -0
  181. data/doc/api/core/files/lib/facets/core/file/self/split_all_rb.html +101 -0
  182. data/doc/api/core/files/lib/facets/core/file/self/write_rb.html +96 -0
  183. data/doc/api/core/files/lib/facets/core/fileutils/head_rb.html +100 -0
  184. data/doc/api/core/files/lib/facets/core/fileutils/safe_ln_rb.html +96 -0
  185. data/doc/api/core/files/lib/facets/core/fileutils/slice_rb.html +96 -0
  186. data/doc/api/core/files/lib/facets/core/fileutils/split_all_rb.html +92 -0
  187. data/doc/api/core/files/lib/facets/core/fileutils/tail_rb.html +100 -0
  188. data/doc/api/core/files/lib/facets/core/fileutils/wc_rb.html +96 -0
  189. data/doc/api/core/files/lib/facets/core/fileutils/whereis_rb.html +96 -0
  190. data/doc/api/core/files/lib/facets/core/fileutils/which_rb.html +96 -0
  191. data/doc/api/core/files/lib/facets/core/float/approx_rb.html +100 -0
  192. data/doc/api/core/files/lib/facets/core/float/round_at_rb.html +96 -0
  193. data/doc/api/core/files/lib/facets/core/float/round_off_rb.html +92 -0
  194. data/doc/api/core/files/lib/facets/core/float/round_to_rb.html +96 -0
  195. data/doc/api/core/files/lib/facets/core/gem/self/active_rb.html +92 -0
  196. data/doc/api/core/files/lib/facets/core/gem/self/gempath_rb.html +96 -0
  197. data/doc/api/core/files/lib/facets/core/gem/self/gemspec_rb.html +96 -0
  198. data/doc/api/core/files/lib/facets/core/hash/alias_rb.html +92 -0
  199. data/doc/api/core/files/lib/facets/core/hash/assert_has_keys_rb.html +96 -0
  200. data/doc/api/core/files/lib/facets/core/hash/assert_has_only_keys_rb.html +96 -0
  201. data/doc/api/core/files/lib/facets/core/hash/at_rb.html +92 -0
  202. data/doc/api/core/files/lib/facets/core/hash/collate_rb.html +92 -0
  203. data/doc/api/core/files/lib/facets/core/hash/delete_unless_rb.html +96 -0
  204. data/doc/api/core/files/lib/facets/core/hash/each_rb.html +92 -0
  205. data/doc/api/core/files/lib/facets/core/hash/each_with_index_rb.html +97 -0
  206. data/doc/api/core/files/lib/facets/core/hash/each_with_key_rb.html +92 -0
  207. data/doc/api/core/files/lib/facets/core/hash/graph_rb.html +96 -0
  208. data/doc/api/core/files/lib/facets/core/hash/has_keys_rb.html +92 -0
  209. data/doc/api/core/files/lib/facets/core/hash/has_only_keys_rb.html +92 -0
  210. data/doc/api/core/files/lib/facets/core/hash/inverse_rb.html +92 -0
  211. data/doc/api/core/files/lib/facets/core/hash/join_rb.html +92 -0
  212. data/doc/api/core/files/lib/facets/core/hash/keys_to_s_rb.html +92 -0
  213. data/doc/api/core/files/lib/facets/core/hash/keys_to_sym_rb.html +92 -0
  214. data/doc/api/core/files/lib/facets/core/hash/op_fetch_rb.html +96 -0
  215. data/doc/api/core/files/lib/facets/core/hash/op_lshift_rb.html +92 -0
  216. data/doc/api/core/files/lib/facets/core/hash/op_store_rb.html +100 -0
  217. data/doc/api/core/files/lib/facets/core/hash/rand_key_rb.html +92 -0
  218. data/doc/api/core/files/lib/facets/core/hash/rand_pair_rb.html +96 -0
  219. data/doc/api/core/files/lib/facets/core/hash/rand_value_rb.html +96 -0
  220. data/doc/api/core/files/lib/facets/core/hash/replace_each_rb.html +92 -0
  221. data/doc/api/core/files/lib/facets/core/hash/self/zipnew_rb.html +92 -0
  222. data/doc/api/core/files/lib/facets/core/hash/shuffle_rb.html +96 -0
  223. data/doc/api/core/files/lib/facets/core/hash/slice_rb.html +92 -0
  224. data/doc/api/core/files/lib/facets/core/hash/stringify_keys_rb.html +100 -0
  225. data/doc/api/core/files/lib/facets/core/hash/swap_rb.html +92 -0
  226. data/doc/api/core/files/lib/facets/core/hash/swapkey_rb.html +92 -0
  227. data/doc/api/core/files/lib/facets/core/hash/symoblize_keys_rb.html +100 -0
  228. data/doc/api/core/files/lib/facets/core/hash/to_h_rb.html +92 -0
  229. data/doc/api/core/files/lib/facets/core/hash/to_ostruct_rb.html +96 -0
  230. data/doc/api/core/files/lib/facets/core/hash/to_ostruct_recurse_rb.html +97 -0
  231. data/doc/api/core/files/lib/facets/core/hash/to_proc_rb.html +92 -0
  232. data/doc/api/core/files/lib/facets/core/hash/traverse_rb.html +92 -0
  233. data/doc/api/core/files/lib/facets/core/hash/update_each_rb.html +92 -0
  234. data/doc/api/core/files/lib/facets/core/hash/update_keys_rb.html +92 -0
  235. data/doc/api/core/files/lib/facets/core/hash/update_values_rb.html +92 -0
  236. data/doc/api/core/files/lib/facets/core/hash/variablize_keys_rb.html +92 -0
  237. data/doc/api/core/files/lib/facets/core/hash/weave_rb.html +92 -0
  238. data/doc/api/core/files/lib/facets/core/inflect_rb.html +117 -0
  239. data/doc/api/core/files/lib/facets/core/integer/even_rb.html +100 -0
  240. data/doc/api/core/files/lib/facets/core/integer/fac_rb.html +100 -0
  241. data/doc/api/core/files/lib/facets/core/integer/fact_rb.html +100 -0
  242. data/doc/api/core/files/lib/facets/core/integer/factorial_rb.html +92 -0
  243. data/doc/api/core/files/lib/facets/core/integer/multiple_rb.html +92 -0
  244. data/doc/api/core/files/lib/facets/core/integer/odd_rb.html +100 -0
  245. data/doc/api/core/files/lib/facets/core/integer/ordinal_rb.html +92 -0
  246. data/doc/api/core/files/lib/facets/core/integer/times_collect_rb.html +92 -0
  247. data/doc/api/core/files/lib/facets/core/integer/times_map_rb.html +100 -0
  248. data/doc/api/core/files/lib/facets/core/kernel/__DIR___rb.html +92 -0
  249. data/doc/api/core/files/lib/facets/core/kernel/__callee___rb.html +100 -0
  250. data/doc/api/core/files/lib/facets/core/kernel/__class___rb.html +92 -0
  251. data/doc/api/core/files/lib/facets/core/kernel/__get___rb.html +92 -0
  252. data/doc/api/core/files/lib/facets/core/kernel/__method___rb.html +92 -0
  253. data/doc/api/core/files/lib/facets/core/kernel/__self___rb.html +96 -0
  254. data/doc/api/core/files/lib/facets/core/kernel/__set___rb.html +100 -0
  255. data/doc/api/core/files/lib/facets/core/kernel/as_rb.html +96 -0
  256. data/doc/api/core/files/lib/facets/core/kernel/assign_from_rb.html +96 -0
  257. data/doc/api/core/files/lib/facets/core/kernel/assign_with_rb.html +97 -0
  258. data/doc/api/core/files/lib/facets/core/kernel/autoreload_files_rb.html +100 -0
  259. data/doc/api/core/files/lib/facets/core/kernel/autoreload_glob_rb.html +100 -0
  260. data/doc/api/core/files/lib/facets/core/kernel/autoreload_rb.html +92 -0
  261. data/doc/api/core/files/lib/facets/core/kernel/bool_rb.html +92 -0
  262. data/doc/api/core/files/lib/facets/core/kernel/bug_rb.html +92 -0
  263. data/doc/api/core/files/lib/facets/core/kernel/cache_rb.html +92 -0
  264. data/doc/api/core/files/lib/facets/core/kernel/call_stack_rb.html +92 -0
  265. data/doc/api/core/files/lib/facets/core/kernel/called_rb.html +92 -0
  266. data/doc/api/core/files/lib/facets/core/kernel/complete_rb.html +92 -0
  267. data/doc/api/core/files/lib/facets/core/kernel/constant_rb.html +92 -0
  268. data/doc/api/core/files/lib/facets/core/kernel/copy_rb.html +92 -0
  269. data/doc/api/core/files/lib/facets/core/kernel/deep_copy_rb.html +92 -0
  270. data/doc/api/core/files/lib/facets/core/kernel/demo_rb.html +92 -0
  271. data/doc/api/core/files/lib/facets/core/kernel/eigenclass_rb.html +103 -0
  272. data/doc/api/core/files/lib/facets/core/kernel/false_rb.html +100 -0
  273. data/doc/api/core/files/lib/facets/core/kernel/fn_rb.html +92 -0
  274. data/doc/api/core/files/lib/facets/core/kernel/generate_method_name_rb.html +92 -0
  275. data/doc/api/core/files/lib/facets/core/kernel/get_by_id_rb.html +92 -0
  276. data/doc/api/core/files/lib/facets/core/kernel/here_rb.html +92 -0
  277. data/doc/api/core/files/lib/facets/core/kernel/in_rb.html +92 -0
  278. data/doc/api/core/files/lib/facets/core/kernel/instance_assign_rb.html +92 -0
  279. data/doc/api/core/files/lib/facets/core/kernel/instvar_rb.html +92 -0
  280. data/doc/api/core/files/lib/facets/core/kernel/is_rb.html +96 -0
  281. data/doc/api/core/files/lib/facets/core/kernel/maybe_rb.html +92 -0
  282. data/doc/api/core/files/lib/facets/core/kernel/metaclass_rb.html +92 -0
  283. data/doc/api/core/files/lib/facets/core/kernel/method_rb.html +92 -0
  284. data/doc/api/core/files/lib/facets/core/kernel/methods_rb.html +96 -0
  285. data/doc/api/core/files/lib/facets/core/kernel/nack_rb.html +98 -0
  286. data/doc/api/core/files/lib/facets/core/kernel/new_rb.html +92 -0
  287. data/doc/api/core/files/lib/facets/core/kernel/object_class_rb.html +92 -0
  288. data/doc/api/core/files/lib/facets/core/kernel/object_hexid_rb.html +92 -0
  289. data/doc/api/core/files/lib/facets/core/kernel/op_esc_rb.html +92 -0
  290. data/doc/api/core/files/lib/facets/core/kernel/own_rb.html +92 -0
  291. data/doc/api/core/files/lib/facets/core/kernel/p_rb.html +92 -0
  292. data/doc/api/core/files/lib/facets/core/kernel/pp_exception_rb.html +92 -0
  293. data/doc/api/core/files/lib/facets/core/kernel/quaclass_rb.html +92 -0
  294. data/doc/api/core/files/lib/facets/core/kernel/require_all_rb.html +92 -0
  295. data/doc/api/core/files/lib/facets/core/kernel/require_esc_rb.html +96 -0
  296. data/doc/api/core/files/lib/facets/core/kernel/require_facet_rb.html +96 -0
  297. data/doc/api/core/files/lib/facets/core/kernel/require_local_rb.html +92 -0
  298. data/doc/api/core/files/lib/facets/core/kernel/resc_rb.html +92 -0
  299. data/doc/api/core/files/lib/facets/core/kernel/respond_rb.html +92 -0
  300. data/doc/api/core/files/lib/facets/core/kernel/returning_rb.html +92 -0
  301. data/doc/api/core/files/lib/facets/core/kernel/send_as_rb.html +92 -0
  302. data/doc/api/core/files/lib/facets/core/kernel/set_from_rb.html +96 -0
  303. data/doc/api/core/files/lib/facets/core/kernel/set_with_rb.html +96 -0
  304. data/doc/api/core/files/lib/facets/core/kernel/silence_warnings_rb.html +100 -0
  305. data/doc/api/core/files/lib/facets/core/kernel/silently_rb.html +92 -0
  306. data/doc/api/core/files/lib/facets/core/kernel/singleton_class_rb.html +92 -0
  307. data/doc/api/core/files/lib/facets/core/kernel/singleton_rb.html +92 -0
  308. data/doc/api/core/files/lib/facets/core/kernel/superior_rb.html +92 -0
  309. data/doc/api/core/files/lib/facets/core/kernel/supermethod_rb.html +92 -0
  310. data/doc/api/core/files/lib/facets/core/kernel/this_rb.html +92 -0
  311. data/doc/api/core/files/lib/facets/core/kernel/to_b_rb.html +92 -0
  312. data/doc/api/core/files/lib/facets/core/kernel/to_bool_rb.html +92 -0
  313. data/doc/api/core/files/lib/facets/core/kernel/true_rb.html +100 -0
  314. data/doc/api/core/files/lib/facets/core/kernel/unuri_rb.html +100 -0
  315. data/doc/api/core/files/lib/facets/core/kernel/uri_rb.html +96 -0
  316. data/doc/api/core/files/lib/facets/core/kernel/val_rb.html +92 -0
  317. data/doc/api/core/files/lib/facets/core/kernel/warn_with_line_rb.html +92 -0
  318. data/doc/api/core/files/lib/facets/core/kernel/with_accessor_rb.html +92 -0
  319. data/doc/api/core/files/lib/facets/core/kernel/with_reader_rb.html +100 -0
  320. data/doc/api/core/files/lib/facets/core/kernel/with_writer_rb.html +100 -0
  321. data/doc/api/core/files/lib/facets/core/logger/format_message_rb.html +96 -0
  322. data/doc/api/core/files/lib/facets/core/logger/format_rb.html +96 -0
  323. data/doc/api/core/files/lib/facets/core/matchdata/match_rb.html +92 -0
  324. data/doc/api/core/files/lib/facets/core/matchdata/matchset_rb.html +100 -0
  325. data/doc/api/core/files/lib/facets/core/matchdata/matchtree_rb.html +92 -0
  326. data/doc/api/core/files/lib/facets/core/module/abstract_rb.html +105 -0
  327. data/doc/api/core/files/lib/facets/core/module/alias_method_chain_rb.html +92 -0
  328. data/doc/api/core/files/lib/facets/core/module/alias_module_function_rb.html +92 -0
  329. data/doc/api/core/files/lib/facets/core/module/ancestor_rb.html +92 -0
  330. data/doc/api/core/files/lib/facets/core/module/attr_query_rb.html +96 -0
  331. data/doc/api/core/files/lib/facets/core/module/attr_rb.html +92 -0
  332. data/doc/api/core/files/lib/facets/core/module/attr_setter_rb.html +92 -0
  333. data/doc/api/core/files/lib/facets/core/module/attr_tester_rb.html +96 -0
  334. data/doc/api/core/files/lib/facets/core/module/attr_validator_rb.html +92 -0
  335. data/doc/api/core/files/lib/facets/core/module/basename_rb.html +92 -0
  336. data/doc/api/core/files/lib/facets/core/module/by_name_rb.html +96 -0
  337. data/doc/api/core/files/lib/facets/core/module/class_extension_rb.html +124 -0
  338. data/doc/api/core/files/lib/facets/core/module/class_rb.html +92 -0
  339. data/doc/api/core/files/lib/facets/core/module/clone_removing_rb.html +100 -0
  340. data/doc/api/core/files/lib/facets/core/module/clone_renaming_rb.html +100 -0
  341. data/doc/api/core/files/lib/facets/core/module/clone_using_rb.html +92 -0
  342. data/doc/api/core/files/lib/facets/core/module/dirname_rb.html +92 -0
  343. data/doc/api/core/files/lib/facets/core/module/equate_on_rb.html +92 -0
  344. data/doc/api/core/files/lib/facets/core/module/generate_instance_method_name_rb.html +92 -0
  345. data/doc/api/core/files/lib/facets/core/module/include_as_rb.html +96 -0
  346. data/doc/api/core/files/lib/facets/core/module/initializer_rb.html +92 -0
  347. data/doc/api/core/files/lib/facets/core/module/instance_methods_rb.html +96 -0
  348. data/doc/api/core/files/lib/facets/core/module/integrate_rb.html +104 -0
  349. data/doc/api/core/files/lib/facets/core/module/is_rb.html +96 -0
  350. data/doc/api/core/files/lib/facets/core/module/memoize_rb.html +92 -0
  351. data/doc/api/core/files/lib/facets/core/module/modspace_rb.html +97 -0
  352. data/doc/api/core/files/lib/facets/core/module/namespace_rb.html +96 -0
  353. data/doc/api/core/files/lib/facets/core/module/nesting_rb.html +92 -0
  354. data/doc/api/core/files/lib/facets/core/module/nodef_rb.html +92 -0
  355. data/doc/api/core/files/lib/facets/core/module/on_included_rb.html +92 -0
  356. data/doc/api/core/files/lib/facets/core/module/redef_rb.html +96 -0
  357. data/doc/api/core/files/lib/facets/core/module/redefine_method_rb.html +92 -0
  358. data/doc/api/core/files/lib/facets/core/module/redirect_method_rb.html +92 -0
  359. data/doc/api/core/files/lib/facets/core/module/redirect_rb.html +96 -0
  360. data/doc/api/core/files/lib/facets/core/module/remove_rb.html +92 -0
  361. data/doc/api/core/files/lib/facets/core/module/rename_method_rb.html +92 -0
  362. data/doc/api/core/files/lib/facets/core/module/rename_rb.html +96 -0
  363. data/doc/api/core/files/lib/facets/core/module/revisal_rb.html +100 -0
  364. data/doc/api/core/files/lib/facets/core/module/shadow_all_rb.html +96 -0
  365. data/doc/api/core/files/lib/facets/core/module/shadow_method_rb.html +92 -0
  366. data/doc/api/core/files/lib/facets/core/module/sort_on_rb.html +92 -0
  367. data/doc/api/core/files/lib/facets/core/module/this_rb.html +96 -0
  368. data/doc/api/core/files/lib/facets/core/module/wrap_method_rb.html +92 -0
  369. data/doc/api/core/files/lib/facets/core/module/wrap_rb.html +96 -0
  370. data/doc/api/core/files/lib/facets/core/nil_as_emptiness_rb.html +116 -0
  371. data/doc/api/core/files/lib/facets/core/nilclass/blank_rb.html +92 -0
  372. data/doc/api/core/files/lib/facets/core/nilclass/empty_rb.html +92 -0
  373. data/doc/api/core/files/lib/facets/core/nilclass/include_rb.html +92 -0
  374. data/doc/api/core/files/lib/facets/core/nilclass/length_rb.html +100 -0
  375. data/doc/api/core/files/lib/facets/core/nilclass/op_cmp_rb.html +92 -0
  376. data/doc/api/core/files/lib/facets/core/nilclass/op_fetch_rb.html +92 -0
  377. data/doc/api/core/files/lib/facets/core/nilclass/size_rb.html +92 -0
  378. data/doc/api/core/files/lib/facets/core/nilclass/status_rb.html +92 -0
  379. data/doc/api/core/files/lib/facets/core/nilclass/succ_rb.html +92 -0
  380. data/doc/api/core/files/lib/facets/core/nilclass/to_h_rb.html +92 -0
  381. data/doc/api/core/files/lib/facets/core/numeric/approx_rb.html +92 -0
  382. data/doc/api/core/files/lib/facets/core/numeric/ceil_multiple_rb.html +92 -0
  383. data/doc/api/core/files/lib/facets/core/numeric/pred_rb.html +100 -0
  384. data/doc/api/core/files/lib/facets/core/numeric/succ_rb.html +92 -0
  385. data/doc/api/core/files/lib/facets/core/numeric/to_b_rb.html +92 -0
  386. data/doc/api/core/files/lib/facets/core/ostruct/__merge___rb.html +97 -0
  387. data/doc/api/core/files/lib/facets/core/ostruct/__table___rb.html +92 -0
  388. data/doc/api/core/files/lib/facets/core/ostruct/__update___rb.html +98 -0
  389. data/doc/api/core/files/lib/facets/core/ostruct/instance_rb.html +96 -0
  390. data/doc/api/core/files/lib/facets/core/ostruct/op_fetch_rb.html +96 -0
  391. data/doc/api/core/files/lib/facets/core/ostruct/op_store_rb.html +96 -0
  392. data/doc/api/core/files/lib/facets/core/ostruct/to_h_rb.html +92 -0
  393. data/doc/api/core/files/lib/facets/core/ostruct_rb.html +102 -0
  394. data/doc/api/core/files/lib/facets/core/pathname/ascend_rb.html +96 -0
  395. data/doc/api/core/files/lib/facets/core/pathname/descend_rb.html +96 -0
  396. data/doc/api/core/files/lib/facets/core/proc/compose_rb.html +92 -0
  397. data/doc/api/core/files/lib/facets/core/proc/op_mul_rb.html +100 -0
  398. data/doc/api/core/files/lib/facets/core/proc/to_method_rb.html +133 -0
  399. data/doc/api/core/files/lib/facets/core/random_rb.html +111 -0
  400. data/doc/api/core/files/lib/facets/core/range/to_r_rb.html +92 -0
  401. data/doc/api/core/files/lib/facets/core/range/to_range_rb.html +92 -0
  402. data/doc/api/core/files/lib/facets/core/range/umbrella_rb.html +92 -0
  403. data/doc/api/core/files/lib/facets/core/range/within_rb.html +96 -0
  404. data/doc/api/core/files/lib/facets/core/regexp/arity_rb.html +92 -0
  405. data/doc/api/core/files/lib/facets/core/regexp/to_re_rb.html +92 -0
  406. data/doc/api/core/files/lib/facets/core/regexp/to_regexp_rb.html +92 -0
  407. data/doc/api/core/files/lib/facets/core/string/align_center_rb.html +92 -0
  408. data/doc/api/core/files/lib/facets/core/string/align_left_rb.html +100 -0
  409. data/doc/api/core/files/lib/facets/core/string/align_right_rb.html +100 -0
  410. data/doc/api/core/files/lib/facets/core/string/at_rand_rb.html +98 -0
  411. data/doc/api/core/files/lib/facets/core/string/at_rb.html +92 -0
  412. data/doc/api/core/files/lib/facets/core/string/basename_rb.html +92 -0
  413. data/doc/api/core/files/lib/facets/core/string/blank_rb.html +92 -0
  414. data/doc/api/core/files/lib/facets/core/string/bracket_rb.html +92 -0
  415. data/doc/api/core/files/lib/facets/core/string/brief_rb.html +92 -0
  416. data/doc/api/core/files/lib/facets/core/string/bytes_rb.html +92 -0
  417. data/doc/api/core/files/lib/facets/core/string/camelcase_rb.html +92 -0
  418. data/doc/api/core/files/lib/facets/core/string/camelize_rb.html +92 -0
  419. data/doc/api/core/files/lib/facets/core/string/capitalized_rb.html +92 -0
  420. data/doc/api/core/files/lib/facets/core/string/chars_rb.html +92 -0
  421. data/doc/api/core/files/lib/facets/core/string/cmp_rb.html +92 -0
  422. data/doc/api/core/files/lib/facets/core/string/demodulize_rb.html +96 -0
  423. data/doc/api/core/files/lib/facets/core/string/dequote_rb.html +92 -0
  424. data/doc/api/core/files/lib/facets/core/string/downcase_rb.html +92 -0
  425. data/doc/api/core/files/lib/facets/core/string/dresner_rb.html +92 -0
  426. data/doc/api/core/files/lib/facets/core/string/each_char_rb.html +92 -0
  427. data/doc/api/core/files/lib/facets/core/string/each_word_rb.html +92 -0
  428. data/doc/api/core/files/lib/facets/core/string/ends_with_rb.html +100 -0
  429. data/doc/api/core/files/lib/facets/core/string/first_char_rb.html +96 -0
  430. data/doc/api/core/files/lib/facets/core/string/first_rb.html +98 -0
  431. data/doc/api/core/files/lib/facets/core/string/fold_rb.html +92 -0
  432. data/doc/api/core/files/lib/facets/core/string/format_rb.html +96 -0
  433. data/doc/api/core/files/lib/facets/core/string/humanize_rb.html +92 -0
  434. data/doc/api/core/files/lib/facets/core/string/indent_rb.html +92 -0
  435. data/doc/api/core/files/lib/facets/core/string/index_all_rb.html +92 -0
  436. data/doc/api/core/files/lib/facets/core/string/last_char_rb.html +96 -0
  437. data/doc/api/core/files/lib/facets/core/string/last_rb.html +98 -0
  438. data/doc/api/core/files/lib/facets/core/string/line_wrap_rb.html +92 -0
  439. data/doc/api/core/files/lib/facets/core/string/lines_rb.html +92 -0
  440. data/doc/api/core/files/lib/facets/core/string/lowercase_rb.html +96 -0
  441. data/doc/api/core/files/lib/facets/core/string/margin_rb.html +92 -0
  442. data/doc/api/core/files/lib/facets/core/string/methodize_rb.html +92 -0
  443. data/doc/api/core/files/lib/facets/core/string/modulize_rb.html +92 -0
  444. data/doc/api/core/files/lib/facets/core/string/mscan_rb.html +92 -0
  445. data/doc/api/core/files/lib/facets/core/string/natcmp_rb.html +92 -0
  446. data/doc/api/core/files/lib/facets/core/string/nchar_rb.html +92 -0
  447. data/doc/api/core/files/lib/facets/core/string/ordinal_rb.html +96 -0
  448. data/doc/api/core/files/lib/facets/core/string/pathize_rb.html +92 -0
  449. data/doc/api/core/files/lib/facets/core/string/plural_rb.html +100 -0
  450. data/doc/api/core/files/lib/facets/core/string/pop_rb.html +92 -0
  451. data/doc/api/core/files/lib/facets/core/string/pot_rb.html +92 -0
  452. data/doc/api/core/files/lib/facets/core/string/pull_rb.html +92 -0
  453. data/doc/api/core/files/lib/facets/core/string/push_rb.html +92 -0
  454. data/doc/api/core/files/lib/facets/core/string/quote_rb.html +96 -0
  455. data/doc/api/core/files/lib/facets/core/string/rand_byte_rb.html +92 -0
  456. data/doc/api/core/files/lib/facets/core/string/rand_index_rb.html +92 -0
  457. data/doc/api/core/files/lib/facets/core/string/range_all_rb.html +96 -0
  458. data/doc/api/core/files/lib/facets/core/string/range_of_line_rb.html +92 -0
  459. data/doc/api/core/files/lib/facets/core/string/range_rb.html +92 -0
  460. data/doc/api/core/files/lib/facets/core/string/regesc_rb.html +92 -0
  461. data/doc/api/core/files/lib/facets/core/string/self/format_rb.html +92 -0
  462. data/doc/api/core/files/lib/facets/core/string/self/interpolate_rb.html +92 -0
  463. data/doc/api/core/files/lib/facets/core/string/self/patterns_rb.html +92 -0
  464. data/doc/api/core/files/lib/facets/core/string/self/rand_letter_rb.html +92 -0
  465. data/doc/api/core/files/lib/facets/core/string/self/random_rb.html +99 -0
  466. data/doc/api/core/files/lib/facets/core/string/shatter_rb.html +92 -0
  467. data/doc/api/core/files/lib/facets/core/string/shell_escape_rb.html +92 -0
  468. data/doc/api/core/files/lib/facets/core/string/shift_rb.html +92 -0
  469. data/doc/api/core/files/lib/facets/core/string/shuffle_rb.html +96 -0
  470. data/doc/api/core/files/lib/facets/core/string/similarity_rb.html +92 -0
  471. data/doc/api/core/files/lib/facets/core/string/singular_rb.html +92 -0
  472. data/doc/api/core/files/lib/facets/core/string/soundex_rb.html +92 -0
  473. data/doc/api/core/files/lib/facets/core/string/starts_with_rb.html +92 -0
  474. data/doc/api/core/files/lib/facets/core/string/succ_rb.html +92 -0
  475. data/doc/api/core/files/lib/facets/core/string/tab_rb.html +100 -0
  476. data/doc/api/core/files/lib/facets/core/string/tabto_rb.html +100 -0
  477. data/doc/api/core/files/lib/facets/core/string/to_a_rb.html +92 -0
  478. data/doc/api/core/files/lib/facets/core/string/to_b_rb.html +92 -0
  479. data/doc/api/core/files/lib/facets/core/string/to_const_rb.html +92 -0
  480. data/doc/api/core/files/lib/facets/core/string/to_date_rb.html +97 -0
  481. data/doc/api/core/files/lib/facets/core/string/to_proc_rb.html +92 -0
  482. data/doc/api/core/files/lib/facets/core/string/to_re_rb.html +92 -0
  483. data/doc/api/core/files/lib/facets/core/string/to_rx_rb.html +100 -0
  484. data/doc/api/core/files/lib/facets/core/string/to_time_rb.html +96 -0
  485. data/doc/api/core/files/lib/facets/core/string/unbracket_rb.html +96 -0
  486. data/doc/api/core/files/lib/facets/core/string/underscore_rb.html +92 -0
  487. data/doc/api/core/files/lib/facets/core/string/unix_crypt_rb.html +96 -0
  488. data/doc/api/core/files/lib/facets/core/string/unpack_rb.html +92 -0
  489. data/doc/api/core/files/lib/facets/core/string/unshift_rb.html +92 -0
  490. data/doc/api/core/files/lib/facets/core/string/upcase_rb.html +92 -0
  491. data/doc/api/core/files/lib/facets/core/string/uppercase_rb.html +100 -0
  492. data/doc/api/core/files/lib/facets/core/string/whitespace_rb.html +96 -0
  493. data/doc/api/core/files/lib/facets/core/string/word_filter_rb.html +92 -0
  494. data/doc/api/core/files/lib/facets/core/string/word_wrap_rb.html +92 -0
  495. data/doc/api/core/files/lib/facets/core/string/words_rb.html +92 -0
  496. data/doc/api/core/files/lib/facets/core/string_as_array_rb.html +109 -0
  497. data/doc/api/core/files/lib/facets/core/symbol/camelcase_rb.html +96 -0
  498. data/doc/api/core/files/lib/facets/core/symbol/camelize_rb.html +96 -0
  499. data/doc/api/core/files/lib/facets/core/symbol/capitalize_rb.html +96 -0
  500. data/doc/api/core/files/lib/facets/core/symbol/capitalized_rb.html +97 -0
  501. data/doc/api/core/files/lib/facets/core/symbol/downcase_rb.html +96 -0
  502. data/doc/api/core/files/lib/facets/core/symbol/not_rb.html +92 -0
  503. data/doc/api/core/files/lib/facets/core/symbol/pad_rb.html +92 -0
  504. data/doc/api/core/files/lib/facets/core/symbol/succ_rb.html +92 -0
  505. data/doc/api/core/files/lib/facets/core/symbol/to_const_rb.html +96 -0
  506. data/doc/api/core/files/lib/facets/core/symbol/to_proc_rb.html +92 -0
  507. data/doc/api/core/files/lib/facets/core/symbol/to_str_rb.html +92 -0
  508. data/doc/api/core/files/lib/facets/core/symbol/underscore_rb.html +96 -0
  509. data/doc/api/core/files/lib/facets/core/symbol/upcase_rb.html +96 -0
  510. data/doc/api/core/files/lib/facets/core/time/change_rb.html +92 -0
  511. data/doc/api/core/files/lib/facets/core/time/elapse_rb.html +92 -0
  512. data/doc/api/core/files/lib/facets/core/time/self/days_extrema_rb.html +114 -0
  513. data/doc/api/core/files/lib/facets/core/time/self/stamp_rb.html +100 -0
  514. data/doc/api/core/files/lib/facets/core/time/stamp_rb.html +92 -0
  515. data/doc/api/core/files/lib/facets/core/time/to_date_rb.html +96 -0
  516. data/doc/api/core/files/lib/facets/core/time/to_s_rb.html +96 -0
  517. data/doc/api/core/files/lib/facets/core/time/to_time_rb.html +92 -0
  518. data/doc/api/core/files/lib/facets/core/unboundmethod/name_rb.html +92 -0
  519. data/doc/api/core/fr_class_index.html +81 -0
  520. data/doc/api/core/fr_file_index.html +523 -0
  521. data/doc/api/core/fr_method_index.html +559 -0
  522. data/doc/api/core/index.html +26 -0
  523. data/doc/api/core/rdoc-style.css +175 -0
  524. data/doc/api/more/classes/Annotation.html +258 -0
  525. data/doc/api/more/classes/Array.html +363 -0
  526. data/doc/api/more/classes/Aspect.html +159 -0
  527. data/doc/api/more/classes/Aspects.html +240 -0
  528. data/doc/api/more/classes/Aspects/ClassMethods.html +254 -0
  529. data/doc/api/more/classes/Association.html +289 -0
  530. data/doc/api/more/classes/BBCode.html +531 -0
  531. data/doc/api/more/classes/BasicObject.html +281 -0
  532. data/doc/api/more/classes/BasicObject/Self.html +143 -0
  533. data/doc/api/more/classes/BinaryReader.html +535 -0
  534. data/doc/api/more/classes/BinaryReader/ByteOrder.html +225 -0
  535. data/doc/api/more/classes/BuilderObject.html +248 -0
  536. data/doc/api/more/classes/Class.html +200 -0
  537. data/doc/api/more/classes/Client.html +1251 -0
  538. data/doc/api/more/classes/Cloneable.html +133 -0
  539. data/doc/api/more/classes/Console.html +105 -0
  540. data/doc/api/more/classes/Console/ANSICode.html +488 -0
  541. data/doc/api/more/classes/Console/Command.html +286 -0
  542. data/doc/api/more/classes/Console/ProgressBar.html +640 -0
  543. data/doc/api/more/classes/Coroutine.html +284 -0
  544. data/doc/api/more/classes/Crypt.html +270 -0
  545. data/doc/api/more/classes/DebugSocket.html +242 -0
  546. data/doc/api/more/classes/Dictionary.html +974 -0
  547. data/doc/api/more/classes/Downloader.html +515 -0
  548. data/doc/api/more/classes/Downloader/Checksum.html +96 -0
  549. data/doc/api/more/classes/Downloader/Mirror.html +134 -0
  550. data/doc/api/more/classes/Elementor.html +202 -0
  551. data/doc/api/more/classes/Enumerable.html +86 -0
  552. data/doc/api/more/classes/EnumerablePass.html +217 -0
  553. data/doc/api/more/classes/Expirable.html +197 -0
  554. data/doc/api/more/classes/FalseClass.html +119 -0
  555. data/doc/api/more/classes/FileList.html +971 -0
  556. data/doc/api/more/classes/Float.html +141 -0
  557. data/doc/api/more/classes/FloatString.html +413 -0
  558. data/doc/api/more/classes/Functor.html +224 -0
  559. data/doc/api/more/classes/HTMLBuilder.html +132 -0
  560. data/doc/api/more/classes/HTMLHelper.html +189 -0
  561. data/doc/api/more/classes/HTTP.html +154 -0
  562. data/doc/api/more/classes/HTTP/BadResponseError.html +94 -0
  563. data/doc/api/more/classes/HTTP/Error.html +96 -0
  564. data/doc/api/more/classes/HTTP/Message.html +633 -0
  565. data/doc/api/more/classes/HTTP/Message/Body.html +299 -0
  566. data/doc/api/more/classes/HTTP/Message/Headers.html +641 -0
  567. data/doc/api/more/classes/HTTP/Status.html +148 -0
  568. data/doc/api/more/classes/HTTPAccess.html +115 -0
  569. data/doc/api/more/classes/Hash.html +257 -0
  570. data/doc/api/more/classes/HashBuilder.html +216 -0
  571. data/doc/api/more/classes/Heap.html +535 -0
  572. data/doc/api/more/classes/Heap/EmptyHeapException.html +92 -0
  573. data/doc/api/more/classes/Heap/Max.html +133 -0
  574. data/doc/api/more/classes/Heap/Min.html +133 -0
  575. data/doc/api/more/classes/IORedirect.html +224 -0
  576. data/doc/api/more/classes/Integer.html +299 -0
  577. data/doc/api/more/classes/Interval.html +853 -0
  578. data/doc/api/more/classes/InvalidNackError.html +117 -0
  579. data/doc/api/more/classes/JSON.html +410 -0
  580. data/doc/api/more/classes/JSON/Parser.html +374 -0
  581. data/doc/api/more/classes/JSON/State.html +280 -0
  582. data/doc/api/more/classes/Kernel.html +400 -0
  583. data/doc/api/more/classes/LRUCache.html +461 -0
  584. data/doc/api/more/classes/LRUCache/Item.html +114 -0
  585. data/doc/api/more/classes/LRUCache/Sentinel.html +102 -0
  586. data/doc/api/more/classes/Lazy.html +96 -0
  587. data/doc/api/more/classes/Lazy/Future.html +100 -0
  588. data/doc/api/more/classes/Lazy/Promise.html +114 -0
  589. data/doc/api/more/classes/Lazy/PromiseSafe.html +99 -0
  590. data/doc/api/more/classes/Lisp.html +846 -0
  591. data/doc/api/more/classes/Lisp/DottedPair.html +289 -0
  592. data/doc/api/more/classes/Lisp/Format.html +147 -0
  593. data/doc/api/more/classes/Math.html +110 -0
  594. data/doc/api/more/classes/Math/Constants.html +691 -0
  595. data/doc/api/more/classes/Math/Constants/CGS.html +584 -0
  596. data/doc/api/more/classes/Method.html +170 -0
  597. data/doc/api/more/classes/Method/Probe.html +267 -0
  598. data/doc/api/more/classes/Mock.html +276 -0
  599. data/doc/api/more/classes/Module.html +599 -0
  600. data/doc/api/more/classes/Multiton.html +256 -0
  601. data/doc/api/more/classes/NackClass.html +245 -0
  602. data/doc/api/more/classes/NilClass.html +238 -0
  603. data/doc/api/more/classes/NullClass.html +202 -0
  604. data/doc/api/more/classes/Numeric.html +1104 -0
  605. data/doc/api/more/classes/ORMSupport.html +357 -0
  606. data/doc/api/more/classes/Object.html +328 -0
  607. data/doc/api/more/classes/OpenCascade.html +230 -0
  608. data/doc/api/more/classes/OpenObject.html +552 -0
  609. data/doc/api/more/classes/PQueue.html +471 -0
  610. data/doc/api/more/classes/PathList.html +162 -0
  611. data/doc/api/more/classes/PathList/Finder.html +137 -0
  612. data/doc/api/more/classes/Pool.html +207 -0
  613. data/doc/api/more/classes/Proc.html +140 -0
  614. data/doc/api/more/classes/PromoteSelf.html +138 -0
  615. data/doc/api/more/classes/Quaternion.html +1497 -0
  616. data/doc/api/more/classes/REXMLBuilder.html +357 -0
  617. data/doc/api/more/classes/REXMLBuilder/REXMLUtil.html +396 -0
  618. data/doc/api/more/classes/Recorder.html +208 -0
  619. data/doc/api/more/classes/Reference.html +201 -0
  620. data/doc/api/more/classes/RubyOneLiners.html +139 -0
  621. data/doc/api/more/classes/RubyTals.html +316 -0
  622. data/doc/api/more/classes/SSLSocketWrap.html +410 -0
  623. data/doc/api/more/classes/Semaphore.html +264 -0
  624. data/doc/api/more/classes/SimpleStringIO.html +139 -0
  625. data/doc/api/more/classes/Snapshot.html +191 -0
  626. data/doc/api/more/classes/StateMachine.html +248 -0
  627. data/doc/api/more/classes/StateParser.html +276 -0
  628. data/doc/api/more/classes/StateParser/Constants.html +109 -0
  629. data/doc/api/more/classes/StateParser/Marker.html +269 -0
  630. data/doc/api/more/classes/StateParser/State.html +448 -0
  631. data/doc/api/more/classes/StaticHash.html +144 -0
  632. data/doc/api/more/classes/String.html +300 -0
  633. data/doc/api/more/classes/Struct.html +134 -0
  634. data/doc/api/more/classes/Symbol.html +118 -0
  635. data/doc/api/more/classes/SyncArray.html +131 -0
  636. data/doc/api/more/classes/SyncHash.html +135 -0
  637. data/doc/api/more/classes/SyncHash/Delegator.html +213 -0
  638. data/doc/api/more/classes/SyncHash/Inheritor.html +213 -0
  639. data/doc/api/more/classes/System.html +1055 -0
  640. data/doc/api/more/classes/TSort.html +123 -0
  641. data/doc/api/more/classes/TagIterator.html +706 -0
  642. data/doc/api/more/classes/Task.html +237 -0
  643. data/doc/api/more/classes/Task/Graph.html +165 -0
  644. data/doc/api/more/classes/Taskable.html +300 -0
  645. data/doc/api/more/classes/Time.html +746 -0
  646. data/doc/api/more/classes/Timer.html +471 -0
  647. data/doc/api/more/classes/Timer/Dummy.html +141 -0
  648. data/doc/api/more/classes/TracePoint.html +456 -0
  649. data/doc/api/more/classes/TrueClass.html +118 -0
  650. data/doc/api/more/classes/Tuple.html +907 -0
  651. data/doc/api/more/classes/TypeCastException.html +163 -0
  652. data/doc/api/more/classes/Uninheritable.html +130 -0
  653. data/doc/api/more/classes/Units.html +191 -0
  654. data/doc/api/more/classes/Units/Config.html +120 -0
  655. data/doc/api/more/classes/Units/Converter.html +808 -0
  656. data/doc/api/more/classes/Units/Converter/ExchangeRate.html +155 -0
  657. data/doc/api/more/classes/Units/Converter/ExchangeRate/CachedXMethods.html +143 -0
  658. data/doc/api/more/classes/Units/Converter/ExchangeRate/XMethods.html +197 -0
  659. data/doc/api/more/classes/Units/Unit.html +434 -0
  660. data/doc/api/more/classes/Units/Value.html +331 -0
  661. data/doc/api/more/classes/ValueHolder.html +167 -0
  662. data/doc/api/more/classes/Web.html +103 -0
  663. data/doc/api/more/classes/Web/Cookie.html +560 -0
  664. data/doc/api/more/classes/Web/CookieManager.html +567 -0
  665. data/doc/api/more/classes/Web/CookieManager/Error.html +96 -0
  666. data/doc/api/more/classes/Web/CookieManager/ErrorOverrideOK.html +94 -0
  667. data/doc/api/more/classes/Web/CookieManager/NoDotError.html +94 -0
  668. data/doc/api/more/classes/Web/CookieManager/SpecialError.html +94 -0
  669. data/doc/api/more/classes/Web/CookieUtils.html +179 -0
  670. data/doc/api/more/classes/XMLBuilder.html +132 -0
  671. data/doc/api/more/classes/XMLHelper.html +428 -0
  672. data/doc/api/more/classes/XOXO.html +251 -0
  673. data/doc/api/more/classes/YAMLStruct.html +166 -0
  674. data/doc/api/more/created.rid +1 -0
  675. data/doc/api/more/files/AUTHORS.html +206 -0
  676. data/doc/api/more/files/COPYING.html +517 -0
  677. data/doc/api/more/files/ProjectInfo.html +92 -0
  678. data/doc/api/more/files/README.html +389 -0
  679. data/doc/api/more/files/WARNING.html +132 -0
  680. data/doc/api/more/files/lib/facets/more/annattr_rb.html +116 -0
  681. data/doc/api/more/files/lib/facets/more/annotation_rb.html +117 -0
  682. data/doc/api/more/files/lib/facets/more/ansicode_rb.html +128 -0
  683. data/doc/api/more/files/lib/facets/more/aspects_rb.html +115 -0
  684. data/doc/api/more/files/lib/facets/more/association_rb.html +111 -0
  685. data/doc/api/more/files/lib/facets/more/basicobject_rb.html +129 -0
  686. data/doc/api/more/files/lib/facets/more/bbcode_rb.html +111 -0
  687. data/doc/api/more/files/lib/facets/more/binaryreader_rb.html +111 -0
  688. data/doc/api/more/files/lib/facets/more/bitmask_rb.html +111 -0
  689. data/doc/api/more/files/lib/facets/more/blankslate_rb.html +113 -0
  690. data/doc/api/more/files/lib/facets/more/builderobject_rb.html +115 -0
  691. data/doc/api/more/files/lib/facets/more/bytes_rb.html +131 -0
  692. data/doc/api/more/files/lib/facets/more/classmethods_rb.html +121 -0
  693. data/doc/api/more/files/lib/facets/more/cloneable_rb.html +132 -0
  694. data/doc/api/more/files/lib/facets/more/command_rb.html +119 -0
  695. data/doc/api/more/files/lib/facets/more/cookie_rb.html +136 -0
  696. data/doc/api/more/files/lib/facets/more/coroutine_rb.html +111 -0
  697. data/doc/api/more/files/lib/facets/more/crypt_rb.html +146 -0
  698. data/doc/api/more/files/lib/facets/more/dictionary_rb.html +123 -0
  699. data/doc/api/more/files/lib/facets/more/downloader_rb.html +124 -0
  700. data/doc/api/more/files/lib/facets/more/elementor_rb.html +115 -0
  701. data/doc/api/more/files/lib/facets/more/enumerablepass_rb.html +115 -0
  702. data/doc/api/more/files/lib/facets/more/expirable_rb.html +111 -0
  703. data/doc/api/more/files/lib/facets/more/filelist_rb.html +128 -0
  704. data/doc/api/more/files/lib/facets/more/floatstring_rb.html +115 -0
  705. data/doc/api/more/files/lib/facets/more/functor_rb.html +116 -0
  706. data/doc/api/more/files/lib/facets/more/hashbuilder_rb.html +115 -0
  707. data/doc/api/more/files/lib/facets/more/heap_rb.html +131 -0
  708. data/doc/api/more/files/lib/facets/more/htmlbuilder_rb.html +116 -0
  709. data/doc/api/more/files/lib/facets/more/htmlhelper_rb.html +119 -0
  710. data/doc/api/more/files/lib/facets/more/http_rb.html +116 -0
  711. data/doc/api/more/files/lib/facets/more/httpaccess_rb.html +137 -0
  712. data/doc/api/more/files/lib/facets/more/inheritor_rb.html +115 -0
  713. data/doc/api/more/files/lib/facets/more/interval_rb.html +120 -0
  714. data/doc/api/more/files/lib/facets/more/ioredirect_rb.html +116 -0
  715. data/doc/api/more/files/lib/facets/more/json_rb.html +141 -0
  716. data/doc/api/more/files/lib/facets/more/lazy_rb.html +111 -0
  717. data/doc/api/more/files/lib/facets/more/lisp_format_rb.html +129 -0
  718. data/doc/api/more/files/lib/facets/more/lisp_rb.html +119 -0
  719. data/doc/api/more/files/lib/facets/more/lrucache_rb.html +111 -0
  720. data/doc/api/more/files/lib/facets/more/mathconstants_rb.html +121 -0
  721. data/doc/api/more/files/lib/facets/more/methodprobe_rb.html +111 -0
  722. data/doc/api/more/files/lib/facets/more/mock_rb.html +208 -0
  723. data/doc/api/more/files/lib/facets/more/multipliers_rb.html +115 -0
  724. data/doc/api/more/files/lib/facets/more/multiton_rb.html +114 -0
  725. data/doc/api/more/files/lib/facets/more/nackclass_rb.html +151 -0
  726. data/doc/api/more/files/lib/facets/more/nilcomparable_rb.html +118 -0
  727. data/doc/api/more/files/lib/facets/more/nullclass_rb.html +111 -0
  728. data/doc/api/more/files/lib/facets/more/one_rb.html +158 -0
  729. data/doc/api/more/files/lib/facets/more/opencascade_rb.html +129 -0
  730. data/doc/api/more/files/lib/facets/more/openobject_rb.html +120 -0
  731. data/doc/api/more/files/lib/facets/more/orderedhash_rb.html +113 -0
  732. data/doc/api/more/files/lib/facets/more/ormsupport_rb.html +125 -0
  733. data/doc/api/more/files/lib/facets/more/overload_rb.html +111 -0
  734. data/doc/api/more/files/lib/facets/more/paramix_rb.html +118 -0
  735. data/doc/api/more/files/lib/facets/more/pathlist_rb.html +111 -0
  736. data/doc/api/more/files/lib/facets/more/pool_rb.html +120 -0
  737. data/doc/api/more/files/lib/facets/more/pqueue_rb.html +122 -0
  738. data/doc/api/more/files/lib/facets/more/preinitialize_rb.html +115 -0
  739. data/doc/api/more/files/lib/facets/more/progressbar_rb.html +111 -0
  740. data/doc/api/more/files/lib/facets/more/promoteself_rb.html +111 -0
  741. data/doc/api/more/files/lib/facets/more/quaternion_rb.html +150 -0
  742. data/doc/api/more/files/lib/facets/more/recorder_rb.html +115 -0
  743. data/doc/api/more/files/lib/facets/more/reference_rb.html +115 -0
  744. data/doc/api/more/files/lib/facets/more/rexmlbuilder_rb.html +116 -0
  745. data/doc/api/more/files/lib/facets/more/rtals_rb.html +115 -0
  746. data/doc/api/more/files/lib/facets/more/semaphore_rb.html +111 -0
  747. data/doc/api/more/files/lib/facets/more/snapshot_rb.html +121 -0
  748. data/doc/api/more/files/lib/facets/more/stateparser_rb.html +115 -0
  749. data/doc/api/more/files/lib/facets/more/statichash_rb.html +133 -0
  750. data/doc/api/more/files/lib/facets/more/syncarray_rb.html +115 -0
  751. data/doc/api/more/files/lib/facets/more/synchash_rb.html +115 -0
  752. data/doc/api/more/files/lib/facets/more/system_rb.html +123 -0
  753. data/doc/api/more/files/lib/facets/more/tagiterator_rb.html +111 -0
  754. data/doc/api/more/files/lib/facets/more/taskable_rb.html +118 -0
  755. data/doc/api/more/files/lib/facets/more/timer_rb.html +127 -0
  756. data/doc/api/more/files/lib/facets/more/times_rb.html +127 -0
  757. data/doc/api/more/files/lib/facets/more/tracepoint_rb.html +131 -0
  758. data/doc/api/more/files/lib/facets/more/tuple_rb.html +122 -0
  759. data/doc/api/more/files/lib/facets/more/typecast_rb.html +133 -0
  760. data/doc/api/more/files/lib/facets/more/uninheritable_rb.html +111 -0
  761. data/doc/api/more/files/lib/facets/more/units_rb.html +118 -0
  762. data/doc/api/more/files/lib/facets/more/xmlbuilder_rb.html +116 -0
  763. data/doc/api/more/files/lib/facets/more/xmlhelper_rb.html +111 -0
  764. data/doc/api/more/files/lib/facets/more/xoxo_rb.html +125 -0
  765. data/doc/api/more/files/lib/facets/more/yamlstruct_rb.html +123 -0
  766. data/doc/api/more/fr_class_index.html +196 -0
  767. data/doc/api/more/fr_file_index.html +136 -0
  768. data/doc/api/more/fr_method_index.html +1284 -0
  769. data/doc/api/more/index.html +26 -0
  770. data/doc/api/more/rdoc-style.css +175 -0
  771. data/{note → doc}/history/ANN-0.6.0 +0 -0
  772. data/{note → doc}/history/ANN-0.6.1 +0 -0
  773. data/{note → doc}/history/ANN-0.6.3 +0 -0
  774. data/{note → doc}/history/ANN-0.7.0 +0 -0
  775. data/{note → doc}/history/ANN-0.8.1 +0 -0
  776. data/{note → doc}/history/INTRO +0 -0
  777. data/{note → doc}/history/README +0 -0
  778. data/{note → doc}/history/README-OLD +0 -0
  779. data/{note → doc/scrap}/Rakefile.old +0 -0
  780. data/{web → doc/web}/documentation.html +2 -2
  781. data/{web → doc/web}/images/abc.png +0 -0
  782. data/{web → doc/web}/images/abc1.png +0 -0
  783. data/{web → doc/web}/images/apple_core.jpg +0 -0
  784. data/{web → doc/web}/images/apples3.jpg +0 -0
  785. data/{web → doc/web}/images/core.jpg +0 -0
  786. data/{web → doc/web}/images/favicon.ico +0 -0
  787. data/{web → doc/web}/images/gray.jpg +0 -0
  788. data/{web → doc/web}/images/ruby-lg.png +0 -0
  789. data/{web → doc/web}/images/ruby.gif +0 -0
  790. data/{web → doc/web}/images/three_apples.jpg +0 -0
  791. data/{web → doc/web}/images/yellow_fade.jpg +0 -0
  792. data/{web → doc/web}/images/yellow_fade2.jpg +0 -0
  793. data/{web → doc/web}/index.html +0 -0
  794. data/{web → doc/web}/style.css +0 -0
  795. data/forge/more/actionplan.rb +21 -0
  796. data/forge/more/aspect.rb +95 -0
  797. data/lib/facet/module/alias_method_chain.rb +1 -0
  798. data/lib/facet/nilclass/status.rb +1 -0
  799. data/lib/facets/core/enumerable/cascade.rb +16 -0
  800. data/lib/facets/core/hash/variablize_keys.rb +54 -2
  801. data/lib/facets/core/module/alias_method_chain.rb +37 -0
  802. data/lib/facets/core/nilclass/status.rb +24 -0
  803. data/lib/facets/more/basicobject.rb +75 -44
  804. data/lib/facets/more/builderobject.rb +1 -1
  805. data/lib/facets/more/cookie.rb +7 -7
  806. data/lib/facets/more/functor.rb +9 -4
  807. data/meta/calibre/ProjectInfo.annotation +46 -0
  808. data/meta/calibre/ProjectInfo.ansicode +33 -0
  809. data/meta/calibre/ProjectInfo.asociation +34 -0
  810. data/meta/calibre/ProjectInfo.basicobject +36 -0
  811. data/meta/calibre/ProjectInfo.bbcode +34 -0
  812. data/meta/calibre/ProjectInfo.binaryreader +35 -0
  813. data/meta/calibre/ProjectInfo.bitmask +33 -0
  814. data/meta/calibre/ProjectInfo.classinherit +36 -0
  815. data/meta/calibre/ProjectInfo.classmethods +36 -0
  816. data/meta/calibre/ProjectInfo.cloneable +33 -0
  817. data/meta/calibre/ProjectInfo.consoleapp +35 -0
  818. data/meta/calibre/ProjectInfo.coroutine +37 -0
  819. data/meta/calibre/ProjectInfo.crypt +33 -0
  820. data/meta/calibre/ProjectInfo.dictionary +40 -0
  821. data/meta/calibre/ProjectInfo.downloader +39 -0
  822. data/meta/calibre/ProjectInfo.enumerablepass +35 -0
  823. data/meta/calibre/ProjectInfo.expirable +37 -0
  824. data/meta/calibre/ProjectInfo.floatstring +35 -0
  825. data/meta/calibre/ProjectInfo.functor +40 -0
  826. data/meta/calibre/ProjectInfo.heap +33 -0
  827. data/meta/calibre/ProjectInfo.inheritor +36 -0
  828. data/meta/calibre/ProjectInfo.interval +36 -0
  829. data/meta/calibre/ProjectInfo.lisp +38 -0
  830. data/meta/calibre/ProjectInfo.lrucache +34 -0
  831. data/meta/calibre/ProjectInfo.mathconstants +41 -0
  832. data/meta/calibre/ProjectInfo.methodprobe +38 -0
  833. data/meta/calibre/ProjectInfo.mock +34 -0
  834. data/meta/calibre/ProjectInfo.multiton +36 -0
  835. data/meta/calibre/ProjectInfo.nackclass +33 -0
  836. data/meta/calibre/ProjectInfo.nilcomparable +35 -0
  837. data/meta/calibre/ProjectInfo.nullclass +35 -0
  838. data/meta/calibre/ProjectInfo.one +37 -0
  839. data/meta/calibre/ProjectInfo.openobject +39 -0
  840. data/meta/calibre/ProjectInfo.paramix +38 -0
  841. data/meta/calibre/ProjectInfo.pool +33 -0
  842. data/meta/calibre/ProjectInfo.progressbar +37 -0
  843. data/meta/calibre/ProjectInfo.reference +36 -0
  844. data/meta/calibre/ProjectInfo.semaphore +36 -0
  845. data/meta/calibre/ProjectInfo.stateparser +39 -0
  846. data/meta/calibre/ProjectInfo.statichash +33 -0
  847. data/meta/calibre/ProjectInfo.system +34 -0
  848. data/meta/calibre/ProjectInfo.tagiterator +36 -0
  849. data/meta/calibre/ProjectInfo.timer +35 -0
  850. data/meta/calibre/ProjectInfo.tracepoint +37 -0
  851. data/meta/calibre/ProjectInfo.tuple +36 -0
  852. data/meta/calibre/ProjectInfo.uniheritable +34 -0
  853. data/meta/calibre/ProjectInfo.units +34 -0
  854. data/meta/calibre/ProjectInfo.yamlstruct +34 -0
  855. data/meta/data +36 -0
  856. data/meta/tasks/calibre.rb +15 -0
  857. data/test/lib/facets/core/array/test_at_rand.rb +1 -1
  858. data/test/lib/facets/core/array/test_delete_unless.rb +1 -1
  859. data/test/lib/facets/core/array/test_delete_values.rb +1 -1
  860. data/test/lib/facets/core/array/test_delete_values_at.rb +1 -1
  861. data/test/lib/facets/core/array/test_first.rb +1 -1
  862. data/test/lib/facets/core/array/test_head.rb +1 -1
  863. data/test/lib/facets/core/array/test_last_index.rb +1 -1
  864. data/test/lib/facets/core/array/test_merge.rb +1 -1
  865. data/test/lib/facets/core/array/test_mid.rb +1 -1
  866. data/test/lib/facets/core/array/test_middle.rb +1 -1
  867. data/test/lib/facets/core/array/test_op_fetch.rb +1 -1
  868. data/test/lib/facets/core/array/test_op_store.rb +1 -1
  869. data/test/lib/facets/core/array/test_pick.rb +1 -1
  870. data/test/lib/facets/core/array/test_pos.rb +1 -1
  871. data/test/lib/facets/core/array/test_pot.rb +1 -1
  872. data/test/lib/facets/core/array/test_pull.rb +1 -1
  873. data/test/lib/facets/core/array/test_rand_index.rb +1 -1
  874. data/test/lib/facets/core/array/test_rand_subset.rb +1 -1
  875. data/test/lib/facets/core/array/test_range.rb +1 -1
  876. data/test/lib/facets/core/array/test_rotate.rb +1 -1
  877. data/test/lib/facets/core/array/test_select.rb +1 -1
  878. data/test/lib/facets/core/array/test_shuffle.rb +1 -1
  879. data/test/lib/facets/core/array/test_thru.rb +1 -1
  880. data/test/lib/facets/core/array/test_to_b.rb +1 -1
  881. data/test/lib/facets/core/array/test_to_h.rb +1 -1
  882. data/test/lib/facets/core/array/test_to_hash.rb +1 -1
  883. data/test/lib/facets/core/binding/self/test_of_caller.rb +1 -1
  884. data/test/lib/facets/core/binding/test___LINE__.rb +1 -1
  885. data/test/lib/facets/core/binding/test_call_stack.rb +1 -1
  886. data/test/lib/facets/core/binding/test_called.rb +1 -1
  887. data/test/lib/facets/core/binding/test_caller.rb +1 -1
  888. data/test/lib/facets/core/binding/test_defined.rb +1 -1
  889. data/test/lib/facets/core/binding/test_eval.rb +1 -1
  890. data/test/lib/facets/core/binding/test_local_variables.rb +1 -1
  891. data/test/lib/facets/core/binding/test_method_name.rb +1 -1
  892. data/test/lib/facets/core/binding/test_op_fetch.rb +1 -1
  893. data/test/lib/facets/core/binding/test_op_store.rb +1 -1
  894. data/test/lib/facets/core/binding/test_self.rb +1 -1
  895. data/test/lib/facets/core/class/test_cattr.rb +1 -1
  896. data/test/lib/facets/core/class/test_descendents.rb +1 -1
  897. data/test/lib/facets/core/class/test_method_name.rb +1 -1
  898. data/test/lib/facets/core/class/test_remove_descendents.rb +1 -1
  899. data/test/lib/facets/core/class/test_unix_path.rb +1 -1
  900. data/test/lib/facets/core/comparable/test_at_least.rb +1 -1
  901. data/test/lib/facets/core/comparable/test_clip.rb +1 -1
  902. data/test/lib/facets/core/comparable/test_cmp.rb +1 -1
  903. data/test/lib/facets/core/continuation/self/test_create.rb +1 -1
  904. data/test/lib/facets/core/date/test_days_in_month.rb +1 -1
  905. data/test/lib/facets/core/date/test_days_of_month.rb +1 -1
  906. data/test/lib/facets/core/date/test_stamp.rb +1 -1
  907. data/test/lib/facets/core/date/test_to_date.rb +1 -1
  908. data/test/lib/facets/core/date/test_to_s.rb +1 -1
  909. data/test/lib/facets/core/date/test_to_time.rb +1 -1
  910. data/test/lib/facets/core/dir/self/test_ancestor.rb +1 -1
  911. data/test/lib/facets/core/dir/self/test_ascend.rb +1 -1
  912. data/test/lib/facets/core/enumerable/self/test_combinations.rb +1 -1
  913. data/test/lib/facets/core/enumerable/self/test_cross.rb +1 -1
  914. data/test/lib/facets/core/enumerable/test_collect_with_index.rb +1 -1
  915. data/test/lib/facets/core/enumerable/test_commonality.rb +1 -1
  916. data/test/lib/facets/core/enumerable/test_compact_collect.rb +1 -1
  917. data/test/lib/facets/core/enumerable/test_count.rb +1 -1
  918. data/test/lib/facets/core/enumerable/test_cross.rb +1 -1
  919. data/test/lib/facets/core/enumerable/test_each_combination.rb +1 -1
  920. data/test/lib/facets/core/enumerable/test_each_pair.rb +1 -1
  921. data/test/lib/facets/core/enumerable/test_each_slice.rb +1 -1
  922. data/test/lib/facets/core/enumerable/test_each_unique_pair.rb +1 -1
  923. data/test/lib/facets/core/enumerable/test_entropy.rb +1 -1
  924. data/test/lib/facets/core/enumerable/test_every.rb +1 -1
  925. data/test/lib/facets/core/enumerable/test_ew.rb +1 -1
  926. data/test/lib/facets/core/enumerable/test_filter_collect.rb +1 -1
  927. data/test/lib/facets/core/enumerable/test_find_collisions.rb +1 -1
  928. data/test/lib/facets/core/enumerable/test_frequency.rb +1 -1
  929. data/test/lib/facets/core/enumerable/test_graph.rb +1 -1
  930. data/test/lib/facets/core/enumerable/test_ideal_entropy.rb +1 -1
  931. data/test/lib/facets/core/enumerable/test_none.rb +1 -1
  932. data/test/lib/facets/core/enumerable/test_occur.rb +1 -1
  933. data/test/lib/facets/core/enumerable/test_one.rb +1 -1
  934. data/test/lib/facets/core/enumerable/test_op_pow.rb +1 -1
  935. data/test/lib/facets/core/enumerable/test_partition_by.rb +1 -1
  936. data/test/lib/facets/core/enumerable/test_permute.rb +1 -1
  937. data/test/lib/facets/core/enumerable/test_probability.rb +1 -1
  938. data/test/lib/facets/core/enumerable/test_to_h.rb +1 -1
  939. data/test/lib/facets/core/enumerable/test_uniq_by.rb +1 -1
  940. data/test/lib/facets/core/file/self/test_create.rb +1 -1
  941. data/test/lib/facets/core/file/self/test_open_as_string.rb +1 -1
  942. data/test/lib/facets/core/file/self/test_read_list.rb +1 -1
  943. data/test/lib/facets/core/file/self/test_sanitize.rb +1 -1
  944. data/test/lib/facets/core/file/self/test_split_all.rb +1 -1
  945. data/test/lib/facets/core/float/test_round_at.rb +1 -1
  946. data/test/lib/facets/core/float/test_round_to.rb +1 -1
  947. data/test/lib/facets/core/hash/self/test_zipnew.rb +1 -1
  948. data/test/lib/facets/core/hash/test_alias.rb +1 -1
  949. data/test/lib/facets/core/hash/test_assert_has_keys.rb +1 -1
  950. data/test/lib/facets/core/hash/test_assert_has_only_keys.rb +1 -1
  951. data/test/lib/facets/core/hash/test_at.rb +1 -1
  952. data/test/lib/facets/core/hash/test_collate.rb +1 -1
  953. data/test/lib/facets/core/hash/test_each.rb +1 -1
  954. data/test/lib/facets/core/hash/test_each_with_index.rb +1 -1
  955. data/test/lib/facets/core/hash/test_each_with_key.rb +1 -1
  956. data/test/lib/facets/core/hash/test_graph.rb +1 -1
  957. data/test/lib/facets/core/hash/test_has_keys.rb +1 -1
  958. data/test/lib/facets/core/hash/test_has_only_keys.rb +1 -1
  959. data/test/lib/facets/core/hash/test_inverse.rb +1 -1
  960. data/test/lib/facets/core/hash/test_keys_to_s.rb +1 -1
  961. data/test/lib/facets/core/hash/test_keys_to_sym.rb +1 -1
  962. data/test/lib/facets/core/hash/test_op_fetch.rb +1 -1
  963. data/test/lib/facets/core/hash/test_op_lshift.rb +1 -1
  964. data/test/lib/facets/core/hash/test_rand_key.rb +1 -1
  965. data/test/lib/facets/core/hash/test_rand_pair.rb +1 -1
  966. data/test/lib/facets/core/hash/test_rand_value.rb +1 -1
  967. data/test/lib/facets/core/hash/test_replace_each.rb +1 -1
  968. data/test/lib/facets/core/hash/test_shuffle.rb +1 -1
  969. data/test/lib/facets/core/hash/test_slice.rb +1 -1
  970. data/test/lib/facets/core/hash/test_swap.rb +1 -1
  971. data/test/lib/facets/core/hash/test_swapkey.rb +1 -1
  972. data/test/lib/facets/core/hash/test_to_h.rb +1 -1
  973. data/test/lib/facets/core/hash/test_to_ostruct.rb +1 -1
  974. data/test/lib/facets/core/hash/test_to_ostruct_recurse.rb +1 -1
  975. data/test/lib/facets/core/hash/test_traverse.rb +1 -1
  976. data/test/lib/facets/core/hash/test_update_each.rb +1 -1
  977. data/test/lib/facets/core/hash/test_update_keys.rb +1 -1
  978. data/test/lib/facets/core/hash/test_update_values.rb +1 -1
  979. data/test/lib/facets/core/hash/test_weave.rb +1 -1
  980. data/test/lib/facets/core/integer/test_factorial.rb +1 -1
  981. data/test/lib/facets/core/integer/test_multiple.rb +1 -1
  982. data/test/lib/facets/core/integer/test_ordinal.rb +1 -1
  983. data/test/lib/facets/core/integer/test_times_collect.rb +1 -1
  984. data/test/lib/facets/core/kernel/test___class__.rb +1 -1
  985. data/test/lib/facets/core/kernel/test___method__.rb +1 -1
  986. data/test/lib/facets/core/kernel/test_as.rb +1 -1
  987. data/test/lib/facets/core/kernel/test_assign_from.rb +1 -1
  988. data/test/lib/facets/core/kernel/test_assign_with.rb +1 -1
  989. data/test/lib/facets/core/kernel/test_bool.rb +1 -1
  990. data/test/lib/facets/core/kernel/test_bug.rb +1 -1
  991. data/test/lib/facets/core/kernel/test_call_stack.rb +1 -1
  992. data/test/lib/facets/core/kernel/test_called.rb +1 -1
  993. data/test/lib/facets/core/kernel/test_constant.rb +1 -1
  994. data/test/lib/facets/core/kernel/test_copy.rb +1 -1
  995. data/test/lib/facets/core/kernel/test_deep_copy.rb +1 -1
  996. data/test/lib/facets/core/kernel/test_demo.rb +1 -1
  997. data/test/lib/facets/core/kernel/test_fn.rb +1 -1
  998. data/test/lib/facets/core/kernel/test_generate_method_name.rb +1 -1
  999. data/test/lib/facets/core/kernel/test_get_by_id.rb +1 -1
  1000. data/test/lib/facets/core/kernel/test_here.rb +1 -1
  1001. data/test/lib/facets/core/kernel/test_in.rb +1 -1
  1002. data/test/lib/facets/core/kernel/test_maybe.rb +1 -1
  1003. data/test/lib/facets/core/kernel/test_metaclass.rb +1 -1
  1004. data/test/lib/facets/core/kernel/test_method.rb +1 -1
  1005. data/test/lib/facets/core/kernel/test_methods.rb +1 -1
  1006. data/test/lib/facets/core/kernel/test_new.rb +1 -1
  1007. data/test/lib/facets/core/kernel/test_object_class.rb +1 -1
  1008. data/test/lib/facets/core/kernel/test_object_hexid.rb +1 -1
  1009. data/test/lib/facets/core/kernel/test_quaclass.rb +1 -1
  1010. data/test/lib/facets/core/kernel/test_require_all.rb +1 -1
  1011. data/test/lib/facets/core/kernel/test_require_esc.rb +1 -1
  1012. data/test/lib/facets/core/kernel/test_require_facet.rb +1 -1
  1013. data/test/lib/facets/core/kernel/test_resc.rb +1 -1
  1014. data/test/lib/facets/core/kernel/test_returning.rb +1 -1
  1015. data/test/lib/facets/core/kernel/test_send_as.rb +1 -1
  1016. data/test/lib/facets/core/kernel/test_set_from.rb +1 -1
  1017. data/test/lib/facets/core/kernel/test_set_with.rb +1 -1
  1018. data/test/lib/facets/core/kernel/test_silently.rb +1 -1
  1019. data/test/lib/facets/core/kernel/test_singleton.rb +1 -1
  1020. data/test/lib/facets/core/kernel/test_singleton_class.rb +1 -1
  1021. data/test/lib/facets/core/kernel/test_superior.rb +1 -1
  1022. data/test/lib/facets/core/kernel/test_supermethod.rb +1 -1
  1023. data/test/lib/facets/core/kernel/test_this.rb +1 -1
  1024. data/test/lib/facets/core/kernel/test_to_b.rb +1 -1
  1025. data/test/lib/facets/core/kernel/test_to_bool.rb +1 -1
  1026. data/test/lib/facets/core/kernel/test_uri.rb +1 -1
  1027. data/test/lib/facets/core/kernel/test_val.rb +1 -1
  1028. data/test/lib/facets/core/kernel/test_with_accessor.rb +1 -1
  1029. data/test/lib/facets/core/matchdata/test_match.rb +1 -1
  1030. data/test/lib/facets/core/matchdata/test_matchtree.rb +1 -1
  1031. data/test/lib/facets/core/module/test_abstract.rb +1 -1
  1032. data/test/lib/facets/core/module/test_alias_module_function.rb +1 -1
  1033. data/test/lib/facets/core/module/test_ancestor.rb +1 -1
  1034. data/test/lib/facets/core/module/test_basename.rb +1 -1
  1035. data/test/lib/facets/core/module/test_by_name.rb +1 -1
  1036. data/test/lib/facets/core/module/test_class_extension.rb +1 -1
  1037. data/test/lib/facets/core/module/test_clone_using.rb +1 -1
  1038. data/test/lib/facets/core/module/test_dirname.rb +1 -1
  1039. data/test/lib/facets/core/module/test_equate_on.rb +1 -1
  1040. data/test/lib/facets/core/module/test_generate_instance_method_name.rb +1 -1
  1041. data/test/lib/facets/core/module/test_include_as.rb +1 -1
  1042. data/test/lib/facets/core/module/test_initializer.rb +1 -1
  1043. data/test/lib/facets/core/module/test_instance_methods.rb +1 -1
  1044. data/test/lib/facets/core/module/test_integrate.rb +1 -1
  1045. data/test/lib/facets/core/module/test_memoize.rb +1 -1
  1046. data/test/lib/facets/core/module/test_modspace.rb +1 -1
  1047. data/test/lib/facets/core/module/test_namespace.rb +1 -1
  1048. data/test/lib/facets/core/module/test_nesting.rb +1 -1
  1049. data/test/lib/facets/core/module/test_nodef.rb +1 -1
  1050. data/test/lib/facets/core/module/test_on_included.rb +1 -1
  1051. data/test/lib/facets/core/module/test_redef.rb +1 -1
  1052. data/test/lib/facets/core/module/test_redefine_method.rb +1 -1
  1053. data/test/lib/facets/core/module/test_redirect.rb +1 -1
  1054. data/test/lib/facets/core/module/test_redirect_method.rb +1 -1
  1055. data/test/lib/facets/core/module/test_remove.rb +1 -1
  1056. data/test/lib/facets/core/module/test_rename.rb +1 -1
  1057. data/test/lib/facets/core/module/test_rename_method.rb +1 -1
  1058. data/test/lib/facets/core/module/test_revisal.rb +1 -1
  1059. data/test/lib/facets/core/module/test_shadow_method.rb +1 -1
  1060. data/test/lib/facets/core/module/test_sort_on.rb +1 -1
  1061. data/test/lib/facets/core/module/test_this.rb +1 -1
  1062. data/test/lib/facets/core/module/test_wrap.rb +1 -1
  1063. data/test/lib/facets/core/module/test_wrap_method.rb +1 -1
  1064. data/test/lib/facets/core/nilclass/test_blank.rb +1 -1
  1065. data/test/lib/facets/core/nilclass/test_empty.rb +1 -1
  1066. data/test/lib/facets/core/nilclass/test_include.rb +1 -1
  1067. data/test/lib/facets/core/nilclass/test_op_fetch.rb +1 -1
  1068. data/test/lib/facets/core/nilclass/test_size.rb +1 -1
  1069. data/test/lib/facets/core/nilclass/test_to_h.rb +1 -1
  1070. data/test/lib/facets/core/numeric/test_approx.rb +1 -1
  1071. data/test/lib/facets/core/numeric/test_ceil_multiple.rb +1 -1
  1072. data/test/lib/facets/core/numeric/test_succ.rb +1 -1
  1073. data/test/lib/facets/core/numeric/test_to_b.rb +1 -1
  1074. data/test/lib/facets/core/ostruct/test___merge__.rb +1 -1
  1075. data/test/lib/facets/core/ostruct/test___update__.rb +1 -1
  1076. data/test/lib/facets/core/ostruct/test_op_fetch.rb +1 -1
  1077. data/test/lib/facets/core/ostruct/test_op_store.rb +1 -1
  1078. data/test/lib/facets/core/proc/test_compose.rb +1 -1
  1079. data/test/lib/facets/core/proc/test_to_method.rb +1 -1
  1080. data/test/lib/facets/core/range/test_to_r.rb +1 -1
  1081. data/test/lib/facets/core/range/test_to_range.rb +1 -1
  1082. data/test/lib/facets/core/range/test_umbrella.rb +1 -1
  1083. data/test/lib/facets/core/range/test_within.rb +1 -1
  1084. data/test/lib/facets/core/regexp/test_arity.rb +1 -1
  1085. data/test/lib/facets/core/regexp/test_to_re.rb +1 -1
  1086. data/test/lib/facets/core/regexp/test_to_regexp.rb +1 -1
  1087. data/test/lib/facets/core/string/self/test_interpolate.rb +1 -1
  1088. data/test/lib/facets/core/string/self/test_patterns.rb +1 -1
  1089. data/test/lib/facets/core/string/self/test_rand_letter.rb +1 -1
  1090. data/test/lib/facets/core/string/test_align_center.rb +1 -1
  1091. data/test/lib/facets/core/string/test_at_rand.rb +1 -1
  1092. data/test/lib/facets/core/string/test_basename.rb +1 -1
  1093. data/test/lib/facets/core/string/test_blank.rb +1 -1
  1094. data/test/lib/facets/core/string/test_bracket.rb +1 -1
  1095. data/test/lib/facets/core/string/test_camelcase.rb +1 -1
  1096. data/test/lib/facets/core/string/test_camelize.rb +1 -1
  1097. data/test/lib/facets/core/string/test_capitalized.rb +1 -1
  1098. data/test/lib/facets/core/string/test_chars.rb +1 -1
  1099. data/test/lib/facets/core/string/test_cmp.rb +1 -1
  1100. data/test/lib/facets/core/string/test_demodulize.rb +1 -1
  1101. data/test/lib/facets/core/string/test_downcase.rb +1 -1
  1102. data/test/lib/facets/core/string/test_dresner.rb +1 -1
  1103. data/test/lib/facets/core/string/test_each_char.rb +1 -1
  1104. data/test/lib/facets/core/string/test_each_word.rb +1 -1
  1105. data/test/lib/facets/core/string/test_first.rb +1 -1
  1106. data/test/lib/facets/core/string/test_fold.rb +1 -1
  1107. data/test/lib/facets/core/string/test_humanize.rb +1 -1
  1108. data/test/lib/facets/core/string/test_indent.rb +1 -1
  1109. data/test/lib/facets/core/string/test_index_all.rb +1 -1
  1110. data/test/lib/facets/core/string/test_last.rb +1 -1
  1111. data/test/lib/facets/core/string/test_line_wrap.rb +1 -1
  1112. data/test/lib/facets/core/string/test_lines.rb +1 -1
  1113. data/test/lib/facets/core/string/test_lowercase.rb +1 -1
  1114. data/test/lib/facets/core/string/test_margin.rb +1 -1
  1115. data/test/lib/facets/core/string/test_methodize.rb +1 -1
  1116. data/test/lib/facets/core/string/test_modulize.rb +1 -1
  1117. data/test/lib/facets/core/string/test_mscan.rb +1 -1
  1118. data/test/lib/facets/core/string/test_natcmp.rb +1 -1
  1119. data/test/lib/facets/core/string/test_nchar.rb +1 -1
  1120. data/test/lib/facets/core/string/test_pathize.rb +1 -1
  1121. data/test/lib/facets/core/string/test_pop.rb +1 -1
  1122. data/test/lib/facets/core/string/test_pot.rb +1 -1
  1123. data/test/lib/facets/core/string/test_push.rb +1 -1
  1124. data/test/lib/facets/core/string/test_quote.rb +1 -1
  1125. data/test/lib/facets/core/string/test_rand_byte.rb +1 -1
  1126. data/test/lib/facets/core/string/test_rand_index.rb +1 -1
  1127. data/test/lib/facets/core/string/test_range.rb +1 -1
  1128. data/test/lib/facets/core/string/test_range_all.rb +1 -1
  1129. data/test/lib/facets/core/string/test_range_of_line.rb +1 -1
  1130. data/test/lib/facets/core/string/test_regesc.rb +1 -1
  1131. data/test/lib/facets/core/string/test_shatter.rb +1 -1
  1132. data/test/lib/facets/core/string/test_shift.rb +1 -1
  1133. data/test/lib/facets/core/string/test_shuffle.rb +1 -1
  1134. data/test/lib/facets/core/string/test_similarity.rb +1 -1
  1135. data/test/lib/facets/core/string/test_singular.rb +1 -1
  1136. data/test/lib/facets/core/string/test_soundex.rb +1 -1
  1137. data/test/lib/facets/core/string/test_succ.rb +1 -1
  1138. data/test/lib/facets/core/string/test_to_a.rb +1 -1
  1139. data/test/lib/facets/core/string/test_to_b.rb +1 -1
  1140. data/test/lib/facets/core/string/test_to_const.rb +1 -1
  1141. data/test/lib/facets/core/string/test_to_date.rb +1 -1
  1142. data/test/lib/facets/core/string/test_to_proc.rb +1 -1
  1143. data/test/lib/facets/core/string/test_to_re.rb +1 -1
  1144. data/test/lib/facets/core/string/test_to_time.rb +1 -1
  1145. data/test/lib/facets/core/string/test_unix_crypt.rb +1 -1
  1146. data/test/lib/facets/core/string/test_unpack.rb +1 -1
  1147. data/test/lib/facets/core/string/test_unshift.rb +1 -1
  1148. data/test/lib/facets/core/string/test_upcase.rb +1 -1
  1149. data/test/lib/facets/core/string/test_whitespace.rb +1 -1
  1150. data/test/lib/facets/core/string/test_word_filter.rb +1 -1
  1151. data/test/lib/facets/core/string/test_word_wrap.rb +1 -1
  1152. data/test/lib/facets/core/string/test_words.rb +1 -1
  1153. data/test/lib/facets/core/symbol/test_camelcase.rb +1 -1
  1154. data/test/lib/facets/core/symbol/test_camelize.rb +1 -1
  1155. data/test/lib/facets/core/symbol/test_capitalize.rb +1 -1
  1156. data/test/lib/facets/core/symbol/test_capitalized.rb +1 -1
  1157. data/test/lib/facets/core/symbol/test_downcase.rb +1 -1
  1158. data/test/lib/facets/core/symbol/test_not.rb +1 -1
  1159. data/test/lib/facets/core/symbol/test_pad.rb +1 -1
  1160. data/test/lib/facets/core/symbol/test_succ.rb +1 -1
  1161. data/test/lib/facets/core/symbol/test_to_const.rb +1 -1
  1162. data/test/lib/facets/core/symbol/test_to_proc.rb +1 -1
  1163. data/test/lib/facets/core/symbol/test_to_str.rb +1 -1
  1164. data/test/lib/facets/core/symbol/test_underscore.rb +1 -1
  1165. data/test/lib/facets/core/symbol/test_upcase.rb +1 -1
  1166. data/test/lib/facets/core/time/test_change.rb +1 -1
  1167. data/test/lib/facets/core/time/test_elapse.rb +1 -1
  1168. data/test/lib/facets/core/time/test_stamp.rb +1 -1
  1169. data/test/lib/facets/core/time/test_to_date.rb +1 -1
  1170. data/test/lib/facets/core/time/test_to_s.rb +1 -1
  1171. data/test/lib/facets/core/time/test_to_time.rb +1 -1
  1172. data/test/lib/facets/more/test_annattr.rb +1 -1
  1173. data/test/lib/facets/more/test_annotation.rb +1 -1
  1174. data/test/lib/facets/more/test_ansicode.rb +1 -1
  1175. data/test/lib/facets/more/test_association.rb +1 -1
  1176. data/test/lib/facets/more/test_basicobject.rb +21 -12
  1177. data/test/lib/facets/more/test_bbcode.rb +1 -1
  1178. data/test/lib/facets/more/test_binaryreader.rb +1 -1
  1179. data/test/lib/facets/more/test_bitmask.rb +1 -1
  1180. data/test/lib/facets/more/test_bytes.rb +1 -1
  1181. data/test/lib/facets/more/test_classmethods.rb +1 -1
  1182. data/test/lib/facets/more/test_command.rb +1 -1
  1183. data/test/lib/facets/more/test_coroutine.rb +1 -1
  1184. data/test/lib/facets/more/test_crypt.rb +1 -1
  1185. data/test/lib/facets/more/test_dictionary.rb +1 -1
  1186. data/test/lib/facets/more/test_elementor.rb +1 -1
  1187. data/test/lib/facets/more/test_enumerablepass.rb +1 -1
  1188. data/test/lib/facets/more/test_floatstring.rb +1 -1
  1189. data/test/lib/facets/more/test_functor.rb +1 -1
  1190. data/test/lib/facets/more/test_htmlbuilder.rb +1 -1
  1191. data/test/lib/facets/more/test_inheritor.rb +1 -1
  1192. data/test/lib/facets/more/test_interval.rb +1 -1
  1193. data/test/lib/facets/more/test_json.rb +1 -1
  1194. data/test/lib/facets/more/test_lisp.rb +1 -1
  1195. data/test/lib/facets/more/test_lisp_format.rb +1 -1
  1196. data/test/lib/facets/more/test_lrucache.rb +1 -1
  1197. data/test/lib/facets/more/test_mathconstants.rb +1 -1
  1198. data/test/lib/facets/more/test_methodprobe.rb +1 -1
  1199. data/test/lib/facets/more/test_multipliers.rb +1 -1
  1200. data/test/lib/facets/more/test_multiton.rb +1 -1
  1201. data/test/lib/facets/more/test_nackclass.rb +1 -1
  1202. data/test/lib/facets/more/test_nilcomparable.rb +1 -1
  1203. data/test/lib/facets/more/test_opencascade.rb +1 -1
  1204. data/test/lib/facets/more/test_openobject.rb +1 -1
  1205. data/test/lib/facets/more/test_overload.rb +1 -1
  1206. data/test/lib/facets/more/test_paramix.rb +1 -1
  1207. data/test/lib/facets/more/test_pqueue.rb +1 -1
  1208. data/test/lib/facets/more/test_preinitialize.rb +1 -1
  1209. data/test/lib/facets/more/test_promoteself.rb +1 -1
  1210. data/test/lib/facets/more/test_recorder.rb +1 -1
  1211. data/test/lib/facets/more/test_snapshot.rb +1 -1
  1212. data/test/lib/facets/more/test_statichash.rb +1 -1
  1213. data/test/lib/facets/more/test_syncarray.rb +1 -1
  1214. data/test/lib/facets/more/test_synchash.rb +1 -1
  1215. data/test/lib/facets/more/test_tagiterator.rb +1 -1
  1216. data/test/lib/facets/more/test_taskable.rb +1 -1
  1217. data/test/lib/facets/more/test_timer.rb +1 -1
  1218. data/test/lib/facets/more/test_times.rb +1 -1
  1219. data/test/lib/facets/more/test_tuple.rb +1 -1
  1220. data/test/lib/facets/more/test_typecast.rb +1 -1
  1221. data/test/lib/facets/more/test_uninheritable.rb +1 -1
  1222. data/test/lib/facets/more/test_units.rb +1 -1
  1223. data/test/lib/facets/more/test_xmlbuilder.rb +1 -1
  1224. data/test/lib/facets/more/test_xmlhelper.rb +1 -1
  1225. data/test/lib/facets/more/test_xoxo.rb +1 -1
  1226. data/test/lib/facets/more/test_yamlstruct.rb +1 -1
  1227. metadata +2575 -1678
  1228. data/lib/facet/hash/keys_to_iv.rb +0 -1
  1229. data/lib/facets/core/hash/keys_to_iv.rb +0 -60
@@ -0,0 +1,157 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html>
6
+ <head>
7
+ <title>Class: Float</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "show source"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "hide source"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "width=400,height=400,scrollbars=yes" )
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Class</span><br />Float</td>
55
+ <td align="right">
56
+ <table cellspacing=0 cellpadding=2>
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ <a href="../files/lib/facets/core/float/round_at_rb.html">lib/facets/core/float/round_at.rb</a>
61
+ <a href="../files/lib/facets/core/float/round_to_rb.html">lib/facets/core/float/round_to.rb</a>
62
+ <a href="../files/lib/facets/core/float/round_off_rb.html">lib/facets/core/float/round_off.rb</a>
63
+ </td>
64
+ </tr>
65
+ <tr>
66
+ <td>Parent:</td>
67
+ <td>
68
+ <a href="Object.html">
69
+ Object
70
+ </a>
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </td>
75
+ </tr>
76
+ </table>
77
+ <!-- banner header -->
78
+
79
+ <div id="bodyContent">
80
+ <div id="content">
81
+
82
+
83
+
84
+
85
+ <div class="sectiontitle">Methods</div>
86
+ <ul>
87
+ <li><a href="#M000204">round_at</a></li>
88
+ <li><a href="#M000205">round_to</a></li>
89
+ </ul>
90
+
91
+
92
+
93
+
94
+
95
+
96
+ <div class="sectiontitle">Public Instance methods</div>
97
+ <div class="method">
98
+ <div class="title">
99
+ <a name="M000204"></a><b>round_at</b>( d )
100
+ </div>
101
+ <div class="description">
102
+ <p>
103
+ Rounds to the given decimal position.
104
+ </p>
105
+ <pre>
106
+ 4.555.round_at(0) #=&gt; 5.0
107
+ 4.555.round_at(1) #=&gt; 4.6
108
+ 4.555.round_at(2) #=&gt; 4.56
109
+ 4.555.round_at(3) #=&gt; 4.555
110
+ </pre>
111
+ </div>
112
+ <div class="sourcecode">
113
+ <p class="source-link">[ <a href="javascript:toggleSource('M000204_source')" id="l_M000204_source">show source</a> ]</p>
114
+ <div id="M000204_source" class="dyn-source">
115
+ <pre>
116
+ <span class="ruby-comment cmt"># File lib/facets/core/float/round_at.rb, line 13</span>
117
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">round_at</span>( <span class="ruby-identifier">d</span> ) <span class="ruby-comment cmt">#d=0</span>
118
+ (<span class="ruby-keyword kw">self</span> <span class="ruby-operator">*</span> (<span class="ruby-value">10.0</span> <span class="ruby-operator">**</span> <span class="ruby-identifier">d</span>)).<span class="ruby-identifier">round_off</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> (<span class="ruby-value">10.0</span> <span class="ruby-operator">**</span> <span class="ruby-identifier">d</span>)
119
+ <span class="ruby-keyword kw">end</span>
120
+ </pre>
121
+ </div>
122
+ </div>
123
+ </div>
124
+ <div class="method">
125
+ <div class="title">
126
+ <a name="M000205"></a><b>round_to</b>( n )
127
+ </div>
128
+ <div class="description">
129
+ <p>
130
+ Rounds to the nearest _n_th degree.
131
+ </p>
132
+ <pre>
133
+ 4.555.round_to(1) #=&gt; 5.0
134
+ 4.555.round_to(0.1) #=&gt; 4.6
135
+ 4.555.round_to(0.01) #=&gt; 4.56
136
+ 4.555.round_to(0) #=&gt; 4.555
137
+ </pre>
138
+ </div>
139
+ <div class="sourcecode">
140
+ <p class="source-link">[ <a href="javascript:toggleSource('M000205_source')" id="l_M000205_source">show source</a> ]</p>
141
+ <div id="M000205_source" class="dyn-source">
142
+ <pre>
143
+ <span class="ruby-comment cmt"># File lib/facets/core/float/round_to.rb, line 13</span>
144
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">round_to</span>( <span class="ruby-identifier">n</span> ) <span class="ruby-comment cmt">#n=1</span>
145
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
146
+ (<span class="ruby-keyword kw">self</span> <span class="ruby-operator">*</span> (<span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">n</span>)).<span class="ruby-identifier">round_off</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> (<span class="ruby-value">1.0</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">n</span>)
147
+ <span class="ruby-keyword kw">end</span>
148
+ </pre>
149
+ </div>
150
+ </div>
151
+ </div>
152
+ </div>
153
+
154
+ </div>
155
+
156
+ </body>
157
+ </html>
@@ -0,0 +1,150 @@
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: Gem</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "show source"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "hide source"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "width=400,height=400,scrollbars=yes" )
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Module</span><br />Gem</td>
55
+ <td align="right">
56
+ <table cellspacing=0 cellpadding=2>
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ <a href="../files/lib/facets/core/gem/self/active_rb.html">lib/facets/core/gem/self/active.rb</a>
61
+ <a href="../files/lib/facets/core/gem/self/gemspec_rb.html">lib/facets/core/gem/self/gemspec.rb</a>
62
+ <a href="../files/lib/facets/core/gem/self/gempath_rb.html">lib/facets/core/gem/self/gempath.rb</a>
63
+ </td>
64
+ </tr>
65
+ </table>
66
+ </td>
67
+ </tr>
68
+ </table>
69
+ <!-- banner header -->
70
+
71
+ <div id="bodyContent">
72
+ <div id="content">
73
+
74
+
75
+
76
+
77
+ <div class="sectiontitle">Methods</div>
78
+ <ul>
79
+ <li><a href="#M000399">active?</a></li>
80
+ <li><a href="#M000401">gempath</a></li>
81
+ <li><a href="#M000400">gemspec</a></li>
82
+ </ul>
83
+
84
+
85
+
86
+
87
+
88
+
89
+ <div class="sectiontitle">Public Class methods</div>
90
+ <div class="method">
91
+ <div class="title">
92
+ <a name="M000399"></a><b>active?</b>(gemname)
93
+ </div>
94
+ <div class="sourcecode">
95
+ <p class="source-link">[ <a href="javascript:toggleSource('M000399_source')" id="l_M000399_source">show source</a> ]</p>
96
+ <div id="M000399_source" class="dyn-source">
97
+ <pre>
98
+ <span class="ruby-comment cmt"># File lib/facets/core/gem/self/active.rb, line 4</span>
99
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">active?</span>(<span class="ruby-identifier">gemname</span>)
100
+ <span class="ruby-ivar">@loaded_specs</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
101
+ <span class="ruby-ivar">@loaded_specs</span>.<span class="ruby-identifier">key?</span> <span class="ruby-identifier">gemname</span>
102
+ <span class="ruby-keyword kw">end</span>
103
+ </pre>
104
+ </div>
105
+ </div>
106
+ </div>
107
+ <div class="method">
108
+ <div class="title">
109
+ <a name="M000401"></a><b>gempath</b>(gemname, subdir=nil)
110
+ </div>
111
+ <div class="sourcecode">
112
+ <p class="source-link">[ <a href="javascript:toggleSource('M000401_source')" id="l_M000401_source">show source</a> ]</p>
113
+ <div id="M000401_source" class="dyn-source">
114
+ <pre>
115
+ <span class="ruby-comment cmt"># File lib/facets/core/gem/self/gempath.rb, line 6</span>
116
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">gempath</span>(<span class="ruby-identifier">gemname</span>, <span class="ruby-identifier">subdir</span>=<span class="ruby-keyword kw">nil</span>)
117
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">active?</span>(<span class="ruby-identifier">gemname</span>)
118
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">subdir</span>
119
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>( <span class="ruby-ivar">@loaded_specs</span>[<span class="ruby-identifier">gemname</span>].<span class="ruby-identifier">full_gem_path</span>, <span class="ruby-identifier">subdir</span> )
120
+ <span class="ruby-keyword kw">else</span>
121
+ <span class="ruby-ivar">@loaded_specs</span>[<span class="ruby-identifier">gemname</span>].<span class="ruby-identifier">full_gem_path</span>
122
+ <span class="ruby-keyword kw">end</span>
123
+ <span class="ruby-keyword kw">end</span>
124
+ <span class="ruby-keyword kw">end</span>
125
+ </pre>
126
+ </div>
127
+ </div>
128
+ </div>
129
+ <div class="method">
130
+ <div class="title">
131
+ <a name="M000400"></a><b>gemspec</b>(gemname)
132
+ </div>
133
+ <div class="sourcecode">
134
+ <p class="source-link">[ <a href="javascript:toggleSource('M000400_source')" id="l_M000400_source">show source</a> ]</p>
135
+ <div id="M000400_source" class="dyn-source">
136
+ <pre>
137
+ <span class="ruby-comment cmt"># File lib/facets/core/gem/self/gemspec.rb, line 6</span>
138
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">gemspec</span>(<span class="ruby-identifier">gemname</span>)
139
+ <span class="ruby-ivar">@loaded_specs</span>[<span class="ruby-identifier">gemname</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">active?</span>(<span class="ruby-identifier">gemname</span>)
140
+ <span class="ruby-keyword kw">end</span>
141
+ </pre>
142
+ </div>
143
+ </div>
144
+ </div>
145
+ </div>
146
+
147
+ </div>
148
+
149
+ </body>
150
+ </html>
@@ -0,0 +1,1627 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html>
6
+ <head>
7
+ <title>Class: Hash</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "show source"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "hide source"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "width=400,height=400,scrollbars=yes" )
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Class</span><br />Hash</td>
55
+ <td align="right">
56
+ <table cellspacing=0 cellpadding=2>
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ <a href="../files/lib/facets/core/hash/collate_rb.html">lib/facets/core/hash/collate.rb</a>
61
+ <a href="../files/lib/facets/core/hash/assert_has_keys_rb.html">lib/facets/core/hash/assert_has_keys.rb</a>
62
+ <a href="../files/lib/facets/core/hash/each_with_key_rb.html">lib/facets/core/hash/each_with_key.rb</a>
63
+ <a href="../files/lib/facets/core/hash/join_rb.html">lib/facets/core/hash/join.rb</a>
64
+ <a href="../files/lib/facets/core/hash/at_rb.html">lib/facets/core/hash/at.rb</a>
65
+ <a href="../files/lib/facets/core/hash/each_rb.html">lib/facets/core/hash/each.rb</a>
66
+ <a href="../files/lib/facets/core/hash/each_with_index_rb.html">lib/facets/core/hash/each_with_index.rb</a>
67
+ <a href="../files/lib/facets/core/hash/graph_rb.html">lib/facets/core/hash/graph.rb</a>
68
+ <a href="../files/lib/facets/core/hash/to_ostruct_rb.html">lib/facets/core/hash/to_ostruct.rb</a>
69
+ <a href="../files/lib/facets/core/hash/update_values_rb.html">lib/facets/core/hash/update_values.rb</a>
70
+ <a href="../files/lib/facets/core/hash/inverse_rb.html">lib/facets/core/hash/inverse.rb</a>
71
+ <a href="../files/lib/facets/core/hash/rand_value_rb.html">lib/facets/core/hash/rand_value.rb</a>
72
+ <a href="../files/lib/facets/core/hash/assert_has_only_keys_rb.html">lib/facets/core/hash/assert_has_only_keys.rb</a>
73
+ <a href="../files/lib/facets/core/hash/keys_to_sym_rb.html">lib/facets/core/hash/keys_to_sym.rb</a>
74
+ <a href="../files/lib/facets/core/hash/delete_unless_rb.html">lib/facets/core/hash/delete_unless.rb</a>
75
+ <a href="../files/lib/facets/core/hash/has_only_keys_rb.html">lib/facets/core/hash/has_only_keys.rb</a>
76
+ <a href="../files/lib/facets/core/hash/replace_each_rb.html">lib/facets/core/hash/replace_each.rb</a>
77
+ <a href="../files/lib/facets/core/hash/swap_rb.html">lib/facets/core/hash/swap.rb</a>
78
+ <a href="../files/lib/facets/core/hash/rand_key_rb.html">lib/facets/core/hash/rand_key.rb</a>
79
+ <a href="../files/lib/facets/core/hash/to_h_rb.html">lib/facets/core/hash/to_h.rb</a>
80
+ <a href="../files/lib/facets/core/hash/variablize_keys_rb.html">lib/facets/core/hash/variablize_keys.rb</a>
81
+ <a href="../files/lib/facets/core/hash/slice_rb.html">lib/facets/core/hash/slice.rb</a>
82
+ <a href="../files/lib/facets/core/hash/traverse_rb.html">lib/facets/core/hash/traverse.rb</a>
83
+ <a href="../files/lib/facets/core/hash/shuffle_rb.html">lib/facets/core/hash/shuffle.rb</a>
84
+ <a href="../files/lib/facets/core/hash/alias_rb.html">lib/facets/core/hash/alias.rb</a>
85
+ <a href="../files/lib/facets/core/hash/op_fetch_rb.html">lib/facets/core/hash/op_fetch.rb</a>
86
+ <a href="../files/lib/facets/core/hash/has_keys_rb.html">lib/facets/core/hash/has_keys.rb</a>
87
+ <a href="../files/lib/facets/core/hash/to_ostruct_recurse_rb.html">lib/facets/core/hash/to_ostruct_recurse.rb</a>
88
+ <a href="../files/lib/facets/core/hash/swapkey_rb.html">lib/facets/core/hash/swapkey.rb</a>
89
+ <a href="../files/lib/facets/core/hash/keys_to_s_rb.html">lib/facets/core/hash/keys_to_s.rb</a>
90
+ <a href="../files/lib/facets/core/hash/weave_rb.html">lib/facets/core/hash/weave.rb</a>
91
+ <a href="../files/lib/facets/core/hash/op_lshift_rb.html">lib/facets/core/hash/op_lshift.rb</a>
92
+ <a href="../files/lib/facets/core/hash/update_keys_rb.html">lib/facets/core/hash/update_keys.rb</a>
93
+ <a href="../files/lib/facets/core/hash/rand_pair_rb.html">lib/facets/core/hash/rand_pair.rb</a>
94
+ <a href="../files/lib/facets/core/hash/update_each_rb.html">lib/facets/core/hash/update_each.rb</a>
95
+ <a href="../files/lib/facets/core/hash/to_proc_rb.html">lib/facets/core/hash/to_proc.rb</a>
96
+ <a href="../files/lib/facets/core/hash/self/zipnew_rb.html">lib/facets/core/hash/self/zipnew.rb</a>
97
+ </td>
98
+ </tr>
99
+ <tr>
100
+ <td>Parent:</td>
101
+ <td>
102
+ <a href="Object.html">
103
+ Object
104
+ </a>
105
+ </td>
106
+ </tr>
107
+ </table>
108
+ </td>
109
+ </tr>
110
+ </table>
111
+ <!-- banner header -->
112
+
113
+ <div id="bodyContent">
114
+ <div id="content">
115
+
116
+
117
+
118
+
119
+ <div class="sectiontitle">Methods</div>
120
+ <ul>
121
+ <li><a href="#M000084">[]</a></li>
122
+ <li><a href="#M000085">[]=</a></li>
123
+ <li><a href="#M000083">alias!</a></li>
124
+ <li><a href="#M000050">assert_has_keys</a></li>
125
+ <li><a href="#M000064">assert_has_only_keys</a></li>
126
+ <li><a href="#M000062">at_rand</a></li>
127
+ <li><a href="#M000063">at_rand!</a></li>
128
+ <li><a href="#M000048">collate</a></li>
129
+ <li><a href="#M000049">collate!</a></li>
130
+ <li><a href="#M000069">delete_unless</a></li>
131
+ <li><a href="#M000053">each</a></li>
132
+ <li><a href="#M000054">each_with_index</a></li>
133
+ <li><a href="#M000051">each_with_key</a></li>
134
+ <li><a href="#M000055">graph!</a></li>
135
+ <li><a href="#M000086">has_keys?</a></li>
136
+ <li><a href="#M000070">has_only_keys?</a></li>
137
+ <li><a href="#M000058">inverse</a></li>
138
+ <li><a href="#M000052">join</a></li>
139
+ <li><a href="#M000089">keys_to_s</a></li>
140
+ <li><a href="#M000091">keys_to_s!</a></li>
141
+ <li><a href="#M000065">keys_to_sym</a></li>
142
+ <li><a href="#M000067">keys_to_sym!</a></li>
143
+ <li><a href="#M000061">pick</a></li>
144
+ <li><a href="#M000075">pick_key</a></li>
145
+ <li><a href="#M000097">pick_pair</a></li>
146
+ <li><a href="#M000073">rand_key</a></li>
147
+ <li><a href="#M000074">rand_key!</a></li>
148
+ <li><a href="#M000095">rand_pair</a></li>
149
+ <li><a href="#M000096">rand_pair!</a></li>
150
+ <li><a href="#M000059">rand_value</a></li>
151
+ <li><a href="#M000060">rand_value!</a></li>
152
+ <li><a href="#M000071">replace_each</a></li>
153
+ <li><a href="#M000081">shuffle</a></li>
154
+ <li><a href="#M000082">shuffle!</a></li>
155
+ <li><a href="#M000090">stringify_keys</a></li>
156
+ <li><a href="#M000092">stringify_keys!</a></li>
157
+ <li><a href="#M000072">swap!</a></li>
158
+ <li><a href="#M000088">swapkey!</a></li>
159
+ <li><a href="#M000066">symbolize_keys</a></li>
160
+ <li><a href="#M000068">symbolize_keys!</a></li>
161
+ <li><a href="#M000076">to_h</a></li>
162
+ <li><a href="#M000056">to_ostruct</a></li>
163
+ <li><a href="#M000087">to_ostruct_recurse</a></li>
164
+ <li><a href="#M000099">to_proc</a></li>
165
+ <li><a href="#M000100">to_proc_with_reponse</a></li>
166
+ <li><a href="#M000079">traverse</a></li>
167
+ <li><a href="#M000080">traverse!</a></li>
168
+ <li><a href="#M000098">update_each</a></li>
169
+ <li><a href="#M000094">update_keys</a></li>
170
+ <li><a href="#M000057">update_values</a></li>
171
+ <li><a href="#M000077">variablize_keys</a></li>
172
+ <li><a href="#M000078">variablize_keys!</a></li>
173
+ <li><a href="#M000093">weave</a></li>
174
+ <li><a href="#M000101">zipnew</a></li>
175
+ </ul>
176
+
177
+
178
+
179
+
180
+
181
+
182
+ <div class="sectiontitle">Public Class methods</div>
183
+ <div class="method">
184
+ <div class="title">
185
+ <a name="M000101"></a><b>zipnew</b>(keys,values)
186
+ </div>
187
+ <div class="description">
188
+ <p>
189
+ Creates a new hash from two arrays &#8212;a keys array and a values array.
190
+ </p>
191
+ <pre>
192
+ Hash.zipnew([&quot;a&quot;,&quot;b&quot;,&quot;c&quot;], [1,2,3])
193
+ #=&gt; { &quot;a&quot;=&gt;1, &quot;b&quot;=&gt;2, &quot;c&quot;=&gt;3 }
194
+ </pre>
195
+ </div>
196
+ <div class="sourcecode">
197
+ <p class="source-link">[ <a href="javascript:toggleSource('M000101_source')" id="l_M000101_source">show source</a> ]</p>
198
+ <div id="M000101_source" class="dyn-source">
199
+ <pre>
200
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/self/zipnew.rb, line 9</span>
201
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">zipnew</span>(<span class="ruby-identifier">keys</span>,<span class="ruby-identifier">values</span>) <span class="ruby-comment cmt"># or some better name</span>
202
+ <span class="ruby-identifier">h</span> = {}
203
+ <span class="ruby-identifier">keys</span>.<span class="ruby-identifier">size</span>.<span class="ruby-identifier">times</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">h</span>[ <span class="ruby-identifier">keys</span>[<span class="ruby-identifier">i</span>] ] = <span class="ruby-identifier">values</span>[<span class="ruby-identifier">i</span>] }
204
+ <span class="ruby-identifier">h</span>
205
+ <span class="ruby-keyword kw">end</span>
206
+ </pre>
207
+ </div>
208
+ </div>
209
+ </div>
210
+ <div class="sectiontitle">Public Instance methods</div>
211
+ <div class="method">
212
+ <div class="title">
213
+ <a name="M000084"></a><b>[]</b>( *sliceKeys )
214
+ </div>
215
+ <div class="description">
216
+ <p>
217
+ Adds slicing to <a href="Hash.html">Hash</a>#[]. If more than one key
218
+ arguments is given to <tt><a href="Hash.html">Hash</a>#[]</tt>, the return
219
+ value will be an array of the corresponding values.
220
+ </p>
221
+ <pre>
222
+ h = { :a =&gt; 1, :b =&gt; 2, :c =&gt; 3 }
223
+ h[:a] #=&gt; 1
224
+ h[:a, :b] #=&gt; [1,2]
225
+ </pre>
226
+ </div>
227
+ <div class="sourcecode">
228
+ <p class="source-link">[ <a href="javascript:toggleSource('M000084_source')" id="l_M000084_source">show source</a> ]</p>
229
+ <div id="M000084_source" class="dyn-source">
230
+ <pre>
231
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/op_fetch.rb, line 13</span>
232
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>( <span class="ruby-operator">*</span><span class="ruby-identifier">sliceKeys</span> )
233
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sliceKeys</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
234
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">at</span>( <span class="ruby-identifier">sliceKeys</span>[<span class="ruby-value">0</span>] )
235
+ <span class="ruby-keyword kw">else</span>
236
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">values_at</span>( <span class="ruby-operator">*</span><span class="ruby-identifier">sliceKeys</span> )
237
+ <span class="ruby-keyword kw">end</span>
238
+ <span class="ruby-keyword kw">end</span>
239
+ </pre>
240
+ </div>
241
+ </div>
242
+ </div>
243
+ <div class="method">
244
+ <div class="title">
245
+ <a name="M000085"></a><b>[]=</b>( *args )
246
+ </div>
247
+ <div class="description">
248
+ <p>
249
+ Add slicing to element assignment operator.
250
+ </p>
251
+ <pre>
252
+ h = {:a=&gt;1, :b=&gt;2, :c=&gt;3}
253
+
254
+ h[:a] = 9 #=&gt; 9
255
+ h #=&gt; {:a=&gt;9, :b=&gt;2, :c=&gt;3}
256
+
257
+ h[:a, :c] = [10,11] #=&gt; [10,11]
258
+ h #=&gt; {:a=&gt;10, :b=&gt;2, :c=&gt;11}
259
+ </pre>
260
+ </div>
261
+ <div class="sourcecode">
262
+ <p class="source-link">[ <a href="javascript:toggleSource('M000085_source')" id="l_M000085_source">show source</a> ]</p>
263
+ <div id="M000085_source" class="dyn-source">
264
+ <pre>
265
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/op_fetch.rb, line 31</span>
266
+ <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>( <span class="ruby-operator">*</span><span class="ruby-identifier">args</span> )
267
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value">2</span>
268
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">store</span>( <span class="ruby-operator">*</span><span class="ruby-identifier">args</span> )
269
+ <span class="ruby-keyword kw">end</span>
270
+ <span class="ruby-identifier">aVals</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">pop</span>
271
+ <span class="ruby-identifier">aVals</span> = [<span class="ruby-identifier">aVals</span>] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">aVals</span>.<span class="ruby-identifier">kind_of?</span>( <span class="ruby-constant">Array</span> )
272
+ <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each_index</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">store</span>( <span class="ruby-identifier">args</span>[<span class="ruby-identifier">i</span>], <span class="ruby-identifier">aVals</span>[<span class="ruby-identifier">i</span>] ) }
273
+ <span class="ruby-keyword kw">end</span>
274
+ </pre>
275
+ </div>
276
+ </div>
277
+ </div>
278
+ <div class="method">
279
+ <div class="title">
280
+ <a name="M000083"></a><b>alias!</b>( newkey, oldkey )
281
+ </div>
282
+ <div class="description">
283
+ <p>
284
+ Modifies the receiving <a href="Hash.html">Hash</a> so that the value
285
+ previously referred to by <em>oldkey</em> is also referenced by
286
+ <em>newkey</em>; <em>oldkey</em> is retained in the <a
287
+ href="Hash.html">Hash</a>. If <em>oldkey</em> does not exist as a key in
288
+ the <a href="Hash.html">Hash</a>, no change is effected.
289
+ </p>
290
+ <p>
291
+ Returns a reference to the <a href="Hash.html">Hash</a>.
292
+ </p>
293
+ <pre>
294
+ foo = { :name=&gt;'Gavin', 'wife'=&gt;:Lisa }
295
+ foo.alias!('name',:name) =&gt; { :name=&gt;'Gavin', 'name'=&gt;'Gavin', 'wife'=&gt;:Lisa }
296
+
297
+ foo = { :name=&gt;'Gavin', 'wife'=&gt;:Lisa }
298
+ foo.alias!('spouse','wife') =&gt; { :name=&gt;'Gavin', 'wife'=&gt;:Lisa, 'spouse'=&gt;:Lisa }
299
+
300
+ foo = { :name=&gt;'Gavin', 'wife'=&gt;:Lisa }
301
+ foo.alias!('bar','foo') =&gt; { :name=&gt;'Gavin', 'wife'=&gt;:Lisa }
302
+ </pre>
303
+ <p>
304
+ Note that if the <em>oldkey</em> is reassigned, the reference will no
305
+ longer exist, and the <em>newkey</em> will remain as it was.
306
+ </p>
307
+ </div>
308
+ <div class="sourcecode">
309
+ <p class="source-link">[ <a href="javascript:toggleSource('M000083_source')" id="l_M000083_source">show source</a> ]</p>
310
+ <div id="M000083_source" class="dyn-source">
311
+ <pre>
312
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/alias.rb, line 23</span>
313
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">alias!</span>( <span class="ruby-identifier">newkey</span>, <span class="ruby-identifier">oldkey</span> )
314
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">newkey</span>] = <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">oldkey</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">oldkey</span>)
315
+ <span class="ruby-keyword kw">self</span>
316
+ <span class="ruby-keyword kw">end</span>
317
+ </pre>
318
+ </div>
319
+ </div>
320
+ </div>
321
+ <div class="method">
322
+ <div class="title">
323
+ <a name="M000050"></a><b>assert_has_keys</b>(*check_keys)
324
+ </div>
325
+ <div class="description">
326
+ <p>
327
+ Returns true is hash has the given keys, otherwise throws an ArgumentError.
328
+ </p>
329
+ <pre>
330
+ h = { :a =&gt; 1, :b =&gt; 2 }
331
+ h.assert_has_keys( :a ) #=&gt; true
332
+ h.assert_has_keys( :c ) #=&gt; ArgumentError
333
+ </pre>
334
+ </div>
335
+ <div class="sourcecode">
336
+ <p class="source-link">[ <a href="javascript:toggleSource('M000050_source')" id="l_M000050_source">show source</a> ]</p>
337
+ <div id="M000050_source" class="dyn-source">
338
+ <pre>
339
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/assert_has_keys.rb, line 12</span>
340
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">assert_has_keys</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">check_keys</span>)
341
+ <span class="ruby-identifier">raise</span>(<span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;does not have key(s)&quot;</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">has_keys?</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">check_keys</span>)
342
+ <span class="ruby-keyword kw">end</span>
343
+ </pre>
344
+ </div>
345
+ </div>
346
+ </div>
347
+ <div class="method">
348
+ <div class="title">
349
+ <a name="M000064"></a><b>assert_has_only_keys</b>(*check_keys)
350
+ </div>
351
+ <div class="description">
352
+ <p>
353
+ Returns true is hash has only then given keys, otherwise throws an
354
+ ArgumentError.
355
+ </p>
356
+ <pre>
357
+ h = { :a =&gt; 1, :b =&gt; 2 }
358
+ h.assert_has_only_keys( :a, :b ) #=&gt; true
359
+ h.assert_has_only_keys( :a ) #=&gt; ArgumentError
360
+ </pre>
361
+ </div>
362
+ <div class="sourcecode">
363
+ <p class="source-link">[ <a href="javascript:toggleSource('M000064_source')" id="l_M000064_source">show source</a> ]</p>
364
+ <div id="M000064_source" class="dyn-source">
365
+ <pre>
366
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/assert_has_only_keys.rb, line 12</span>
367
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">assert_has_only_keys</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">check_keys</span>)
368
+ <span class="ruby-identifier">raise</span>(<span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;has unexpected key(s)&quot;</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">has_only_keys?</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">check_keys</span>)
369
+ <span class="ruby-keyword kw">end</span>
370
+ </pre>
371
+ </div>
372
+ </div>
373
+ </div>
374
+ <div class="method">
375
+ <div class="title">
376
+ <a name="M000062"></a><b>at_rand</b>()
377
+ </div>
378
+ <div class="description">
379
+ <p>
380
+ Alias for <a href="Hash.html#M000059">rand_value</a>
381
+ </p>
382
+ </div>
383
+ </div>
384
+ <div class="method">
385
+ <div class="title">
386
+ <a name="M000063"></a><b>at_rand!</b>()
387
+ </div>
388
+ <div class="description">
389
+ <p>
390
+ Alias for <a href="Hash.html#M000060">rand_value!</a>
391
+ </p>
392
+ </div>
393
+ </div>
394
+ <div class="method">
395
+ <div class="title">
396
+ <a name="M000048"></a><b>collate</b>( {|| ...}
397
+ </div>
398
+ <div class="description">
399
+ <p>
400
+ Returns a new hash built by iterating through each key,value pair and
401
+ updating the new hash.
402
+ </p>
403
+ </div>
404
+ <div class="sourcecode">
405
+ <p class="source-link">[ <a href="javascript:toggleSource('M000048_source')" id="l_M000048_source">show source</a> ]</p>
406
+ <div id="M000048_source" class="dyn-source">
407
+ <pre>
408
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/collate.rb, line 12</span>
409
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collate</span> <span class="ruby-comment cmt"># :yield:</span>
410
+ <span class="ruby-identifier">newhash</span> = {}
411
+ <span class="ruby-identifier">each_pair</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">newhash</span>.<span class="ruby-identifier">update</span>( <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>) ) }
412
+ <span class="ruby-identifier">newhash</span>
413
+ <span class="ruby-keyword kw">end</span>
414
+ </pre>
415
+ </div>
416
+ </div>
417
+ </div>
418
+ <div class="method">
419
+ <div class="title">
420
+ <a name="M000049"></a><b>collate!</b>(&amp;yld)
421
+ </div>
422
+ <div class="description">
423
+ <p>
424
+ In place version of <a href="Hash.html#M000048">collate</a>.
425
+ </p>
426
+ </div>
427
+ <div class="sourcecode">
428
+ <p class="source-link">[ <a href="javascript:toggleSource('M000049_source')" id="l_M000049_source">show source</a> ]</p>
429
+ <div id="M000049_source" class="dyn-source">
430
+ <pre>
431
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/collate.rb, line 19</span>
432
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collate!</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">yld</span>)
433
+ <span class="ruby-identifier">replace</span>( <span class="ruby-identifier">collate</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">yld</span>) )
434
+ <span class="ruby-keyword kw">end</span>
435
+ </pre>
436
+ </div>
437
+ </div>
438
+ </div>
439
+ <div class="method">
440
+ <div class="title">
441
+ <a name="M000069"></a><b>delete_unless</b>(&amp;block)
442
+ </div>
443
+ <div class="sourcecode">
444
+ <p class="source-link">[ <a href="javascript:toggleSource('M000069_source')" id="l_M000069_source">show source</a> ]</p>
445
+ <div id="M000069_source" class="dyn-source">
446
+ <pre>
447
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/delete_unless.rb, line 3</span>
448
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete_unless</span> (<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
449
+ <span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span>) }
450
+ <span class="ruby-keyword kw">end</span>
451
+ </pre>
452
+ </div>
453
+ </div>
454
+ </div>
455
+ <div class="method">
456
+ <div class="title">
457
+ <a name="M000053"></a><b>each</b>() {|v| ...}
458
+ </div>
459
+ <div class="description">
460
+ <p>
461
+ A &quot;smarter&quot; hash<a href="Hash.html#M000053">each</a> which
462
+ iterates through each <em>value</em> if only one block parameter is given.
463
+ </p>
464
+ <pre>
465
+ {:a=&gt;&quot;a&quot;, 2=&gt;&quot;b&quot;, &quot;x&quot;=&gt;&quot;c&quot;}.each{ |v| puts v }
466
+ </pre>
467
+ <p>
468
+ <em>produces</em>
469
+ </p>
470
+ <pre>
471
+ a
472
+ b
473
+ c
474
+ </pre>
475
+ <p>
476
+ WARNING! Use with caution. Methods from other libraries may depend on the
477
+ old behavior, expecting a two element array to be passed into a single
478
+ block argument.
479
+ </p>
480
+ </div>
481
+ <div class="sourcecode">
482
+ <p class="source-link">[ <a href="javascript:toggleSource('M000053_source')" id="l_M000053_source">show source</a> ]</p>
483
+ <div id="M000053_source" class="dyn-source">
484
+ <pre>
485
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/each.rb, line 19</span>
486
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">yld</span>)
487
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">yld</span>.<span class="ruby-identifier">arity</span>
488
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value">0</span>
489
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value">1</span>
490
+ <span class="ruby-identifier">each_value</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">v</span>)}
491
+ <span class="ruby-keyword kw">else</span>
492
+ <span class="ruby-identifier">each_pair</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">yld</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>)}
493
+ <span class="ruby-keyword kw">end</span>
494
+ <span class="ruby-keyword kw">self</span>
495
+ <span class="ruby-keyword kw">end</span>
496
+ </pre>
497
+ </div>
498
+ </div>
499
+ </div>
500
+ <div class="method">
501
+ <div class="title">
502
+ <a name="M000054"></a><b>each_with_index</b>( &amp;yld )
503
+ </div>
504
+ <div class="description">
505
+ <p>
506
+ Alias for <a href="Hash.html#M000051">each_with_key</a>
507
+ </p>
508
+ </div>
509
+ </div>
510
+ <div class="method">
511
+ <div class="title">
512
+ <a name="M000051"></a><b>each_with_key</b>( &amp;yld )
513
+ </div>
514
+ <div class="aka">
515
+ This method is also aliased as
516
+ <a href="Hash.html#M000054">each_with_index</a>
517
+ </div>
518
+ <div class="sourcecode">
519
+ <p class="source-link">[ <a href="javascript:toggleSource('M000051_source')" id="l_M000051_source">show source</a> ]</p>
520
+ <div id="M000051_source" class="dyn-source">
521
+ <pre>
522
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/each_with_key.rb, line 4</span>
523
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each_with_key</span>( <span class="ruby-operator">&amp;</span><span class="ruby-identifier">yld</span> )
524
+ <span class="ruby-identifier">each_pair</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">yld</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">v</span>,<span class="ruby-identifier">k</span>) }
525
+ <span class="ruby-keyword kw">end</span>
526
+ </pre>
527
+ </div>
528
+ </div>
529
+ </div>
530
+ <div class="method">
531
+ <div class="title">
532
+ <a name="M000055"></a><b>graph!</b>( &amp;blk )
533
+ </div>
534
+ <div class="description">
535
+ <p>
536
+ As with <a href="Enumerable.html#M000469">Enumerable#graph</a> but acts in
537
+ place.
538
+ </p>
539
+ </div>
540
+ <div class="sourcecode">
541
+ <p class="source-link">[ <a href="javascript:toggleSource('M000055_source')" id="l_M000055_source">show source</a> ]</p>
542
+ <div id="M000055_source" class="dyn-source">
543
+ <pre>
544
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/graph.rb, line 5</span>
545
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">graph!</span>( <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span> )
546
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">replace</span>( <span class="ruby-identifier">graph</span>( <span class="ruby-operator">&amp;</span><span class="ruby-identifier">blk</span> ) )
547
+ <span class="ruby-keyword kw">end</span>
548
+ </pre>
549
+ </div>
550
+ </div>
551
+ </div>
552
+ <div class="method">
553
+ <div class="title">
554
+ <a name="M000086"></a><b>has_keys?</b>(*check_keys)
555
+ </div>
556
+ <div class="description">
557
+ <p>
558
+ Returns true or false whether the hash contains the given keys.
559
+ </p>
560
+ <pre>
561
+ h = { :a =&gt; 1, :b =&gt; 2 }
562
+ h.has_keys?( :a ) #=&gt; true
563
+ h.has_keys?( :c ) #=&gt; false
564
+ </pre>
565
+ </div>
566
+ <div class="sourcecode">
567
+ <p class="source-link">[ <a href="javascript:toggleSource('M000086_source')" id="l_M000086_source">show source</a> ]</p>
568
+ <div id="M000086_source" class="dyn-source">
569
+ <pre>
570
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/has_keys.rb, line 10</span>
571
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">has_keys?</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">check_keys</span>)
572
+ <span class="ruby-identifier">unknown_keys</span> = <span class="ruby-identifier">check_keys</span> <span class="ruby-operator">-</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">keys</span>
573
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">unknown_keys</span>.<span class="ruby-identifier">empty?</span>
574
+ <span class="ruby-keyword kw">end</span>
575
+ </pre>
576
+ </div>
577
+ </div>
578
+ </div>
579
+ <div class="method">
580
+ <div class="title">
581
+ <a name="M000070"></a><b>has_only_keys?</b>(*check_keys)
582
+ </div>
583
+ <div class="description">
584
+ <p>
585
+ Returns true if the hash contains <em>only</em> the given keys, otherwise
586
+ false.
587
+ </p>
588
+ <pre>
589
+ h = { :a =&gt; 1, :b =&gt; 2 }
590
+ h.has_only_keys?( :a, :b ) #=&gt; true
591
+ h.has_only_keys?( :a ) #=&gt; false
592
+ </pre>
593
+ </div>
594
+ <div class="sourcecode">
595
+ <p class="source-link">[ <a href="javascript:toggleSource('M000070_source')" id="l_M000070_source">show source</a> ]</p>
596
+ <div id="M000070_source" class="dyn-source">
597
+ <pre>
598
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/has_only_keys.rb, line 10</span>
599
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">has_only_keys?</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">check_keys</span>)
600
+ <span class="ruby-identifier">unknown_keys</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">keys</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">check_keys</span>
601
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">unknown_keys</span>.<span class="ruby-identifier">empty?</span>
602
+ <span class="ruby-keyword kw">end</span>
603
+ </pre>
604
+ </div>
605
+ </div>
606
+ </div>
607
+ <div class="method">
608
+ <div class="title">
609
+ <a name="M000058"></a><b>inverse</b>()
610
+ </div>
611
+ <div class="description">
612
+ <p>
613
+ Create a &quot;true&quot; inverse hash by storing mutliple values in
614
+ Arrays.
615
+ </p>
616
+ <pre>
617
+ h = {&quot;a&quot;=&gt;3, &quot;b&quot;=&gt;3, &quot;c&quot;=&gt;3, &quot;d&quot;=&gt;2, &quot;e&quot;=&gt;9, &quot;f&quot;=&gt;3, &quot;g&quot;=&gt;9}
618
+
619
+ h.invert #=&gt; {2=&gt;&quot;d&quot;, 3=&gt;&quot;f&quot;, 9=&gt;&quot;g&quot;}
620
+ h.inverse #=&gt; {2=&gt;&quot;d&quot;, 3=&gt;[&quot;f&quot;, &quot;c&quot;, &quot;b&quot;, &quot;a&quot;], 9=&gt;[&quot;g&quot;, &quot;e&quot;]}
621
+ h.inverse.inverse #=&gt; {&quot;a&quot;=&gt;3, &quot;b&quot;=&gt;3, &quot;c&quot;=&gt;3, &quot;d&quot;=&gt;2, &quot;e&quot;=&gt;9, &quot;f&quot;=&gt;3, &quot;g&quot;=&gt;9}
622
+ h.inverse.inverse == h #=&gt; true
623
+ </pre>
624
+ </div>
625
+ <div class="sourcecode">
626
+ <p class="source-link">[ <a href="javascript:toggleSource('M000058_source')" id="l_M000058_source">show source</a> ]</p>
627
+ <div id="M000058_source" class="dyn-source">
628
+ <pre>
629
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/inverse.rb, line 16</span>
630
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inverse</span>
631
+ <span class="ruby-identifier">i</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
632
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">each_pair</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
633
+ <span class="ruby-keyword kw">if</span> (<span class="ruby-constant">Array</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">v</span>)
634
+ <span class="ruby-identifier">v</span>.<span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">i</span>[<span class="ruby-identifier">x</span>] = ( <span class="ruby-identifier">i</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">x</span>) <span class="ruby-operator">?</span> [<span class="ruby-identifier">k</span>,<span class="ruby-identifier">i</span>[<span class="ruby-identifier">x</span>]].<span class="ruby-identifier">flatten</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">k</span> ) }
635
+ <span class="ruby-keyword kw">else</span>
636
+ <span class="ruby-identifier">i</span>[<span class="ruby-identifier">v</span>] = ( <span class="ruby-identifier">i</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">v</span>) <span class="ruby-operator">?</span> [<span class="ruby-identifier">k</span>,<span class="ruby-identifier">i</span>[<span class="ruby-identifier">v</span>]].<span class="ruby-identifier">flatten</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">k</span> )
637
+ <span class="ruby-keyword kw">end</span>
638
+ }
639
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">i</span>
640
+ <span class="ruby-keyword kw">end</span>
641
+ </pre>
642
+ </div>
643
+ </div>
644
+ </div>
645
+ <div class="method">
646
+ <div class="title">
647
+ <a name="M000052"></a><b>join</b>( pair_divider='', elem_divider='' )
648
+ </div>
649
+ <div class="sourcecode">
650
+ <p class="source-link">[ <a href="javascript:toggleSource('M000052_source')" id="l_M000052_source">show source</a> ]</p>
651
+ <div id="M000052_source" class="dyn-source">
652
+ <pre>
653
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/join.rb, line 4</span>
654
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">join</span>( <span class="ruby-identifier">pair_divider</span>=<span class="ruby-value str">''</span>, <span class="ruby-identifier">elem_divider</span>=<span class="ruby-value str">''</span> )
655
+ <span class="ruby-identifier">s</span> = []
656
+ <span class="ruby-identifier">each_pair</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{k}#{pair_divider}#{v}&quot;</span> }
657
+ <span class="ruby-identifier">s</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">elem_divider</span>)
658
+ <span class="ruby-keyword kw">end</span>
659
+ </pre>
660
+ </div>
661
+ </div>
662
+ </div>
663
+ <div class="method">
664
+ <div class="title">
665
+ <a name="M000089"></a><b>keys_to_s</b>( from_class=nil )
666
+ </div>
667
+ <div class="description">
668
+ <p>
669
+ Converts all keys in the <a href="Hash.html">Hash</a> to be <a
670
+ href="String.html">String</a> values, returning a new <a
671
+ href="Hash.html">Hash</a>. With a from_class parameter, limits conversion
672
+ to only a certain class of keys. It defaults to nil which convert any key
673
+ class.
674
+ </p>
675
+ <pre>
676
+ foo = { :name=&gt;'Gavin', :wife=&gt;:Lisa }
677
+ foo.keys_to_s #=&gt; { &quot;name&quot;=&gt;&quot;Gavin&quot;, &quot;wife&quot;=&gt;:Lisa }
678
+ foo.inspect #=&gt; { :name =&gt;&quot;Gavin&quot;, :wife=&gt;:Lisa }
679
+ </pre>
680
+ </div>
681
+ <div class="aka">
682
+ This method is also aliased as
683
+ <a href="Hash.html#M000090">stringify_keys</a>
684
+ </div>
685
+ <div class="sourcecode">
686
+ <p class="source-link">[ <a href="javascript:toggleSource('M000089_source')" id="l_M000089_source">show source</a> ]</p>
687
+ <div id="M000089_source" class="dyn-source">
688
+ <pre>
689
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/keys_to_s.rb, line 15</span>
690
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">keys_to_s</span>( <span class="ruby-identifier">from_class</span>=<span class="ruby-keyword kw">nil</span> )
691
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Parameter must be a class&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">from_class</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Class</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">from_class</span>
692
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">keys_to_s!</span>( <span class="ruby-identifier">from_class</span> )
693
+ <span class="ruby-keyword kw">end</span>
694
+ </pre>
695
+ </div>
696
+ </div>
697
+ </div>
698
+ <div class="method">
699
+ <div class="title">
700
+ <a name="M000091"></a><b>keys_to_s!</b>( from_class=nil )
701
+ </div>
702
+ <div class="description">
703
+ <p>
704
+ Synonym for Hash#keys_to_string, but modifies the receiver in place (and
705
+ returns it). With a from_class parameter, limits conversion to only a
706
+ certain class of keys. It defaults to nil which convert any key class.
707
+ </p>
708
+ <pre>
709
+ foo = { :name=&gt;'Gavin', :wife=&gt;:Lisa }
710
+ foo.keys_to_s! #=&gt; { &quot;name&quot;=&gt;&quot;Gavin&quot;, &quot;wife&quot;=&gt;:Lisa }
711
+ foo.inspect #=&gt; { &quot;name&quot;=&gt;&quot;Gavin&quot;, &quot;wife&quot;=&gt;:Lisa }
712
+ </pre>
713
+ </div>
714
+ <div class="aka">
715
+ This method is also aliased as
716
+ <a href="Hash.html#M000092">stringify_keys!</a>
717
+ </div>
718
+ <div class="sourcecode">
719
+ <p class="source-link">[ <a href="javascript:toggleSource('M000091_source')" id="l_M000091_source">show source</a> ]</p>
720
+ <div id="M000091_source" class="dyn-source">
721
+ <pre>
722
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/keys_to_s.rb, line 34</span>
723
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">keys_to_s!</span>( <span class="ruby-identifier">from_class</span>=<span class="ruby-keyword kw">nil</span> )
724
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Parameter must be a class&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">from_class</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Class</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">from_class</span>
725
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">from_class</span>
726
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">each_key</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
727
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">k</span>.<span class="ruby-identifier">to_s</span>]=<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">k</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:to_s</span>) <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">from_class</span>
728
+ }
729
+ <span class="ruby-keyword kw">else</span>
730
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">each_key</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
731
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">k</span>.<span class="ruby-identifier">to_s</span>]=<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">k</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:to_s</span>)
732
+ }
733
+ <span class="ruby-keyword kw">end</span>
734
+ <span class="ruby-keyword kw">self</span>
735
+ <span class="ruby-keyword kw">end</span>
736
+ </pre>
737
+ </div>
738
+ </div>
739
+ </div>
740
+ <div class="method">
741
+ <div class="title">
742
+ <a name="M000065"></a><b>keys_to_sym</b>( from_class=String )
743
+ </div>
744
+ <div class="description">
745
+ <p>
746
+ Converts all keys in the <a href="Hash.html">Hash</a> to be <a
747
+ href="Symbol.html">Symbol</a> values, returning a new <a
748
+ href="Hash.html">Hash</a>. With a from_class parameter, limits conversion
749
+ to only a certain class of keys. It defaults to <a
750
+ href="String.html">String</a> &#8212;use nil to convert any key class.
751
+ </p>
752
+ <pre>
753
+ foo = { :name=&gt;'Gavin', 'wife'=&gt;:Lisa }
754
+ foo.keys_to_sym #=&gt; { :name=&gt;&quot;Gavin&quot;, :wife=&gt;:Lisa }
755
+ foo.inspect #=&gt; { &quot;name&quot; =&gt;&quot;Gavin&quot;, &quot;wife&quot;=&gt;:Lisa }
756
+ </pre>
757
+ </div>
758
+ <div class="aka">
759
+ This method is also aliased as
760
+ <a href="Hash.html#M000066">symbolize_keys</a>
761
+ </div>
762
+ <div class="sourcecode">
763
+ <p class="source-link">[ <a href="javascript:toggleSource('M000065_source')" id="l_M000065_source">show source</a> ]</p>
764
+ <div id="M000065_source" class="dyn-source">
765
+ <pre>
766
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/keys_to_sym.rb, line 15</span>
767
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">keys_to_sym</span>( <span class="ruby-identifier">from_class</span>=<span class="ruby-constant">String</span> )
768
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Parameter must be a class&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">from_class</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Class</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">from_class</span>
769
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">keys_to_sym!</span>( <span class="ruby-identifier">from_class</span> )
770
+ <span class="ruby-keyword kw">end</span>
771
+ </pre>
772
+ </div>
773
+ </div>
774
+ </div>
775
+ <div class="method">
776
+ <div class="title">
777
+ <a name="M000067"></a><b>keys_to_sym!</b>( from_class=String )
778
+ </div>
779
+ <div class="description">
780
+ <p>
781
+ Synonym for Hash#keys_to_symbol, but modifies the receiver in place (and
782
+ returns it). With a from_class parameter, limits conversion to only a
783
+ certain class of keys. It defaults to <a href="String.html">String</a>
784
+ &#8212;use nil to convert any key class.
785
+ </p>
786
+ <pre>
787
+ foo = { 'name'=&gt;'Gavin', 'wife'=&gt;:Lisa }
788
+ foo.keys_to_sym! #=&gt; { :name=&gt;&quot;Gavin&quot;, :wife=&gt;:Lisa }
789
+ foo.inspect #=&gt; { :name=&gt;&quot;Gavin&quot;, :wife=&gt;:Lisa }
790
+ </pre>
791
+ </div>
792
+ <div class="aka">
793
+ This method is also aliased as
794
+ <a href="Hash.html#M000068">symbolize_keys!</a>
795
+ </div>
796
+ <div class="sourcecode">
797
+ <p class="source-link">[ <a href="javascript:toggleSource('M000067_source')" id="l_M000067_source">show source</a> ]</p>
798
+ <div id="M000067_source" class="dyn-source">
799
+ <pre>
800
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/keys_to_sym.rb, line 40</span>
801
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">keys_to_sym!</span>( <span class="ruby-identifier">from_class</span>=<span class="ruby-constant">String</span> )
802
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Parameter must be a class&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">from_class</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Class</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">from_class</span>
803
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">from_class</span>
804
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">each_key</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
805
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">k</span>.<span class="ruby-identifier">to_sym</span>]=<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">k</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:to_sym</span>) <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">from_class</span>
806
+ }
807
+ <span class="ruby-keyword kw">else</span>
808
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">each_key</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
809
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">k</span>.<span class="ruby-identifier">to_sym</span>]=<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">k</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:to_sym</span>)
810
+ }
811
+ <span class="ruby-keyword kw">end</span>
812
+ <span class="ruby-keyword kw">self</span>
813
+ <span class="ruby-keyword kw">end</span>
814
+ </pre>
815
+ </div>
816
+ </div>
817
+ </div>
818
+ <div class="method">
819
+ <div class="title">
820
+ <a name="M000061"></a><b>pick</b>()
821
+ </div>
822
+ <div class="description">
823
+ <p>
824
+ Alias for <a href="Hash.html#M000060">rand_value!</a>
825
+ </p>
826
+ </div>
827
+ </div>
828
+ <div class="method">
829
+ <div class="title">
830
+ <a name="M000075"></a><b>pick_key</b>()
831
+ </div>
832
+ <div class="description">
833
+ <p>
834
+ Alias for <a href="Hash.html#M000074">rand_key!</a>
835
+ </p>
836
+ </div>
837
+ </div>
838
+ <div class="method">
839
+ <div class="title">
840
+ <a name="M000097"></a><b>pick_pair</b>()
841
+ </div>
842
+ <div class="description">
843
+ <p>
844
+ Alias for <a href="Hash.html#M000096">rand_pair!</a>
845
+ </p>
846
+ </div>
847
+ </div>
848
+ <div class="method">
849
+ <div class="title">
850
+ <a name="M000073"></a><b>rand_key</b>()
851
+ </div>
852
+ <div class="description">
853
+ <p>
854
+ Returns a random key.
855
+ </p>
856
+ <pre>
857
+ {:one =&gt; 1, :two =&gt; 2, :three =&gt; 3}.pick_key #=&gt; :three
858
+ </pre>
859
+ </div>
860
+ <div class="sourcecode">
861
+ <p class="source-link">[ <a href="javascript:toggleSource('M000073_source')" id="l_M000073_source">show source</a> ]</p>
862
+ <div id="M000073_source" class="dyn-source">
863
+ <pre>
864
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/rand_key.rb, line 7</span>
865
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rand_key</span>
866
+ <span class="ruby-identifier">keys</span>.<span class="ruby-identifier">at</span>( <span class="ruby-identifier">rand</span>(<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">size</span>) )
867
+ <span class="ruby-keyword kw">end</span>
868
+ </pre>
869
+ </div>
870
+ </div>
871
+ </div>
872
+ <div class="method">
873
+ <div class="title">
874
+ <a name="M000074"></a><b>rand_key!</b>()
875
+ </div>
876
+ <div class="description">
877
+ <p>
878
+ Delete a random key-value pair, returning the key.
879
+ </p>
880
+ <pre>
881
+ a = {:one =&gt; 1, :two =&gt; 2, :three =&gt; 3}
882
+ a.pick_key! #=&gt; :two
883
+ a #=&gt; {:one =&gt; 1, :three =&gt; 3}
884
+ </pre>
885
+ </div>
886
+ <div class="aka">
887
+ This method is also aliased as
888
+ <a href="Hash.html#M000075">pick_key</a>
889
+ </div>
890
+ <div class="sourcecode">
891
+ <p class="source-link">[ <a href="javascript:toggleSource('M000074_source')" id="l_M000074_source">show source</a> ]</p>
892
+ <div id="M000074_source" class="dyn-source">
893
+ <pre>
894
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/rand_key.rb, line 17</span>
895
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rand_key!</span>
896
+ <span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span> = <span class="ruby-identifier">rand_pair</span>
897
+ <span class="ruby-identifier">delete</span>( <span class="ruby-identifier">k</span> )
898
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">k</span>
899
+ <span class="ruby-keyword kw">end</span>
900
+ </pre>
901
+ </div>
902
+ </div>
903
+ </div>
904
+ <div class="method">
905
+ <div class="title">
906
+ <a name="M000095"></a><b>rand_pair</b>()
907
+ </div>
908
+ <div class="description">
909
+ <p>
910
+ Returns a random key-value pair.
911
+ </p>
912
+ <pre>
913
+ {:one =&gt; 1, :two =&gt; 2, :three =&gt; 3}.pick #=&gt; [:one, 1]
914
+ </pre>
915
+ </div>
916
+ <div class="sourcecode">
917
+ <p class="source-link">[ <a href="javascript:toggleSource('M000095_source')" id="l_M000095_source">show source</a> ]</p>
918
+ <div id="M000095_source" class="dyn-source">
919
+ <pre>
920
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/rand_pair.rb, line 9</span>
921
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rand_pair</span>
922
+ <span class="ruby-identifier">k</span> = <span class="ruby-identifier">rand_key</span>
923
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">k</span>, <span class="ruby-identifier">fetch</span>(<span class="ruby-identifier">k</span>)
924
+ <span class="ruby-keyword kw">end</span>
925
+ </pre>
926
+ </div>
927
+ </div>
928
+ </div>
929
+ <div class="method">
930
+ <div class="title">
931
+ <a name="M000096"></a><b>rand_pair!</b>()
932
+ </div>
933
+ <div class="description">
934
+ <p>
935
+ Deletes a random key-value pair and returns that pair.
936
+ </p>
937
+ <pre>
938
+ a = {:one =&gt; 1, :two =&gt; 2, :three =&gt; 3}
939
+ a.rand_pair! #=&gt; [:two, 2]
940
+ a #=&gt; {:one =&gt; 1, :three =&gt; 3}
941
+ </pre>
942
+ </div>
943
+ <div class="aka">
944
+ This method is also aliased as
945
+ <a href="Hash.html#M000097">pick_pair</a>
946
+ </div>
947
+ <div class="sourcecode">
948
+ <p class="source-link">[ <a href="javascript:toggleSource('M000096_source')" id="l_M000096_source">show source</a> ]</p>
949
+ <div id="M000096_source" class="dyn-source">
950
+ <pre>
951
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/rand_pair.rb, line 20</span>
952
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rand_pair!</span>
953
+ <span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span> = <span class="ruby-identifier">rand_pair</span>
954
+ <span class="ruby-identifier">delete</span>( <span class="ruby-identifier">k</span> )
955
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>
956
+ <span class="ruby-keyword kw">end</span>
957
+ </pre>
958
+ </div>
959
+ </div>
960
+ </div>
961
+ <div class="method">
962
+ <div class="title">
963
+ <a name="M000059"></a><b>rand_value</b>()
964
+ </div>
965
+ <div class="description">
966
+ <p>
967
+ Returns a random hash value.
968
+ </p>
969
+ <pre>
970
+ {:one =&gt; 1, :two =&gt; 2, :three =&gt; 3}.rand_value #=&gt; 2
971
+ {:one =&gt; 1, :two =&gt; 2, :three =&gt; 3}.rand_value #=&gt; 1
972
+ </pre>
973
+ </div>
974
+ <div class="aka">
975
+ This method is also aliased as
976
+ <a href="Hash.html#M000062">at_rand</a>
977
+ </div>
978
+ <div class="sourcecode">
979
+ <p class="source-link">[ <a href="javascript:toggleSource('M000059_source')" id="l_M000059_source">show source</a> ]</p>
980
+ <div id="M000059_source" class="dyn-source">
981
+ <pre>
982
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/rand_value.rb, line 16</span>
983
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rand_value</span>
984
+ <span class="ruby-identifier">fetch</span>( <span class="ruby-identifier">rand_key</span> )
985
+ <span class="ruby-keyword kw">end</span>
986
+ </pre>
987
+ </div>
988
+ </div>
989
+ </div>
990
+ <div class="method">
991
+ <div class="title">
992
+ <a name="M000060"></a><b>rand_value!</b>()
993
+ </div>
994
+ <div class="description">
995
+ <p>
996
+ Deletes a random key-value pair and returns the value.
997
+ </p>
998
+ <pre>
999
+ a = {:one =&gt; 1, :two =&gt; 2, :three =&gt; 3}
1000
+ a.at_rand! #=&gt; 2
1001
+ a #=&gt; {:one =&gt; 1, :three =&gt; 3}
1002
+ </pre>
1003
+ </div>
1004
+ <div class="aka">
1005
+ This method is also aliased as
1006
+ <a href="Hash.html#M000061">pick</a>
1007
+ <a href="Hash.html#M000063">at_rand!</a>
1008
+ </div>
1009
+ <div class="sourcecode">
1010
+ <p class="source-link">[ <a href="javascript:toggleSource('M000060_source')" id="l_M000060_source">show source</a> ]</p>
1011
+ <div id="M000060_source" class="dyn-source">
1012
+ <pre>
1013
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/rand_value.rb, line 26</span>
1014
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rand_value!</span>
1015
+ <span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span> = <span class="ruby-identifier">rand_pair</span>
1016
+ <span class="ruby-identifier">delete</span>( <span class="ruby-identifier">k</span> )
1017
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">v</span>
1018
+ <span class="ruby-keyword kw">end</span>
1019
+ </pre>
1020
+ </div>
1021
+ </div>
1022
+ </div>
1023
+ <div class="method">
1024
+ <div class="title">
1025
+ <a name="M000071"></a><b>replace_each</b>( {|| ...}
1026
+ </div>
1027
+ <div class="description">
1028
+ <p>
1029
+ Same as <a href="Hash.html#M000098">update_each</a>, but deletes the key
1030
+ element first.
1031
+ </p>
1032
+ </div>
1033
+ <div class="sourcecode">
1034
+ <p class="source-link">[ <a href="javascript:toggleSource('M000071_source')" id="l_M000071_source">show source</a> ]</p>
1035
+ <div id="M000071_source" class="dyn-source">
1036
+ <pre>
1037
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/replace_each.rb, line 4</span>
1038
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">replace_each</span> <span class="ruby-comment cmt"># :yield:</span>
1039
+ <span class="ruby-identifier">dup</span>.<span class="ruby-identifier">each_pair</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">delete</span>( <span class="ruby-identifier">k</span> ); <span class="ruby-identifier">update</span>( <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>) ); }
1040
+ <span class="ruby-keyword kw">self</span>
1041
+ <span class="ruby-keyword kw">end</span>
1042
+ </pre>
1043
+ </div>
1044
+ </div>
1045
+ </div>
1046
+ <div class="method">
1047
+ <div class="title">
1048
+ <a name="M000081"></a><b>shuffle</b>()
1049
+ </div>
1050
+ <div class="description">
1051
+ <p>
1052
+ Returns a copy of the hash with <em>values</em> arranged in new random
1053
+ order.
1054
+ </p>
1055
+ <pre>
1056
+ h = {:a=&gt;1, :b=&gt;2, :c=&gt;3}
1057
+ h.shuffle_hash #=&gt; {:b=&gt;2, :c=&gt;1, :a&gt;3}
1058
+ </pre>
1059
+ </div>
1060
+ <div class="sourcecode">
1061
+ <p class="source-link">[ <a href="javascript:toggleSource('M000081_source')" id="l_M000081_source">show source</a> ]</p>
1062
+ <div id="M000081_source" class="dyn-source">
1063
+ <pre>
1064
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/shuffle.rb, line 11</span>
1065
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shuffle</span>
1066
+ <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">zipnew</span>( <span class="ruby-identifier">keys</span>.<span class="ruby-identifier">sort_by</span>{<span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">rand</span>}, <span class="ruby-identifier">values</span>.<span class="ruby-identifier">sort_by</span>{<span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">rand</span>} )
1067
+ <span class="ruby-keyword kw">end</span>
1068
+ </pre>
1069
+ </div>
1070
+ </div>
1071
+ </div>
1072
+ <div class="method">
1073
+ <div class="title">
1074
+ <a name="M000082"></a><b>shuffle!</b>()
1075
+ </div>
1076
+ <div class="description">
1077
+ <p>
1078
+ Destructive shuffle_hash. Arrange the values in a new random order.
1079
+ </p>
1080
+ <pre>
1081
+ h = {:a =&gt; 1, :b =&gt; 2, :c =&gt; 3}
1082
+ h.shuffle_hash!
1083
+ h #=&gt; {:b=&gt;2, :c=&gt;1, :a=&gt;3}
1084
+ </pre>
1085
+ </div>
1086
+ <div class="sourcecode">
1087
+ <p class="source-link">[ <a href="javascript:toggleSource('M000082_source')" id="l_M000082_source">show source</a> ]</p>
1088
+ <div id="M000082_source" class="dyn-source">
1089
+ <pre>
1090
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/shuffle.rb, line 22</span>
1091
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shuffle!</span>
1092
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">replace</span>( <span class="ruby-identifier">shuffle</span> )
1093
+ <span class="ruby-keyword kw">end</span>
1094
+ </pre>
1095
+ </div>
1096
+ </div>
1097
+ </div>
1098
+ <div class="method">
1099
+ <div class="title">
1100
+ <a name="M000090"></a><b>stringify_keys</b>( from_class=nil )
1101
+ </div>
1102
+ <div class="description">
1103
+ <p>
1104
+ Alias for <a href="Hash.html#M000089">keys_to_s</a>
1105
+ </p>
1106
+ </div>
1107
+ </div>
1108
+ <div class="method">
1109
+ <div class="title">
1110
+ <a name="M000092"></a><b>stringify_keys!</b>( from_class=nil )
1111
+ </div>
1112
+ <div class="description">
1113
+ <p>
1114
+ Alias for <a href="Hash.html#M000091">keys_to_s!</a>
1115
+ </p>
1116
+ </div>
1117
+ </div>
1118
+ <div class="method">
1119
+ <div class="title">
1120
+ <a name="M000072"></a><b>swap!</b>( key1, key2 )
1121
+ </div>
1122
+ <div class="description">
1123
+ <p>
1124
+ Swap the values of a pair of keys in place.
1125
+ </p>
1126
+ <pre>
1127
+ {:a=&gt;1,:b=&gt;2}.swap! #=&gt; {:a=&gt;2,:b=&gt;1}
1128
+ </pre>
1129
+ </div>
1130
+ <div class="sourcecode">
1131
+ <p class="source-link">[ <a href="javascript:toggleSource('M000072_source')" id="l_M000072_source">show source</a> ]</p>
1132
+ <div id="M000072_source" class="dyn-source">
1133
+ <pre>
1134
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/swap.rb, line 7</span>
1135
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">swap!</span>( <span class="ruby-identifier">key1</span>, <span class="ruby-identifier">key2</span> )
1136
+ <span class="ruby-identifier">tmp</span> = <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">key1</span>]
1137
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">key1</span>] = <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">key2</span>]
1138
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">key2</span>] = <span class="ruby-identifier">tmp</span>
1139
+ <span class="ruby-keyword kw">self</span>
1140
+ <span class="ruby-keyword kw">end</span>
1141
+ </pre>
1142
+ </div>
1143
+ </div>
1144
+ </div>
1145
+ <div class="method">
1146
+ <div class="title">
1147
+ <a name="M000088"></a><b>swapkey!</b>( newkey, oldkey )
1148
+ </div>
1149
+ <div class="description">
1150
+ <p>
1151
+ Modifies the receiving <a href="Hash.html">Hash</a> so that the value
1152
+ previously referred to by <em>oldkey</em> is referenced by <em>newkey</em>;
1153
+ <em>oldkey</em> is removed from the <a href="Hash.html">Hash</a>. If
1154
+ <em>oldkey</em> does not exist as a key in the <a
1155
+ href="Hash.html">Hash</a>, no change is effected.
1156
+ </p>
1157
+ <p>
1158
+ Returns a reference to the <a href="Hash.html">Hash</a>.
1159
+ </p>
1160
+ <pre>
1161
+ foo = { :a=&gt;1, :b=&gt;2 }
1162
+ foo.swapkey!('a',:a) #=&gt; { 'a'=&gt;1, :b=&gt;2 }
1163
+ foo.swapkey!('b',:b) #=&gt; { 'a'=&gt;1, 'b'=&gt;2 }
1164
+ foo.swapkey!('foo','bar') #=&gt; { 'a'=&gt;1, 'b'=&gt;2 }
1165
+ </pre>
1166
+ </div>
1167
+ <div class="sourcecode">
1168
+ <p class="source-link">[ <a href="javascript:toggleSource('M000088_source')" id="l_M000088_source">show source</a> ]</p>
1169
+ <div id="M000088_source" class="dyn-source">
1170
+ <pre>
1171
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/swapkey.rb, line 16</span>
1172
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">swapkey!</span>( <span class="ruby-identifier">newkey</span>, <span class="ruby-identifier">oldkey</span> )
1173
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">newkey</span>] = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">oldkey</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">oldkey</span>)
1174
+ <span class="ruby-keyword kw">self</span>
1175
+ <span class="ruby-keyword kw">end</span>
1176
+ </pre>
1177
+ </div>
1178
+ </div>
1179
+ </div>
1180
+ <div class="method">
1181
+ <div class="title">
1182
+ <a name="M000066"></a><b>symbolize_keys</b>( from_class=String )
1183
+ </div>
1184
+ <div class="description">
1185
+ <p>
1186
+ Alias for <a href="Hash.html#M000065">keys_to_sym</a>
1187
+ </p>
1188
+ </div>
1189
+ </div>
1190
+ <div class="method">
1191
+ <div class="title">
1192
+ <a name="M000068"></a><b>symbolize_keys!</b>( from_class=String )
1193
+ </div>
1194
+ <div class="description">
1195
+ <p>
1196
+ Alias for <a href="Hash.html#M000067">keys_to_sym!</a>
1197
+ </p>
1198
+ </div>
1199
+ </div>
1200
+ <div class="method">
1201
+ <div class="title">
1202
+ <a name="M000076"></a><b>to_h</b>()
1203
+ </div>
1204
+ <div class="description">
1205
+ <p>
1206
+ Return a rehashing of <em>self</em>.
1207
+ </p>
1208
+ <pre>
1209
+ {&quot;a&quot;=&gt;1,&quot;b&quot;=&gt;2}.to_h #=&gt; {&quot;b&quot;=&gt;2,&quot;a&quot;=&gt;1}
1210
+ </pre>
1211
+ </div>
1212
+ <div class="sourcecode">
1213
+ <p class="source-link">[ <a href="javascript:toggleSource('M000076_source')" id="l_M000076_source">show source</a> ]</p>
1214
+ <div id="M000076_source" class="dyn-source">
1215
+ <pre>
1216
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/to_h.rb, line 10</span>
1217
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_h</span>; <span class="ruby-identifier">rehash</span>; <span class="ruby-keyword kw">end</span>
1218
+ </pre>
1219
+ </div>
1220
+ </div>
1221
+ </div>
1222
+ <div class="method">
1223
+ <div class="title">
1224
+ <a name="M000056"></a><b>to_ostruct</b>()
1225
+ </div>
1226
+ <div class="description">
1227
+ <p>
1228
+ Turns a hash into a generic object using an <a
1229
+ href="OpenStruct.html">OpenStruct</a>.
1230
+ </p>
1231
+ <pre>
1232
+ o = { 'a' =&gt; 1 }.to_ostruct
1233
+ o.a #=&gt; 1
1234
+ </pre>
1235
+ </div>
1236
+ <div class="sourcecode">
1237
+ <p class="source-link">[ <a href="javascript:toggleSource('M000056_source')" id="l_M000056_source">show source</a> ]</p>
1238
+ <div id="M000056_source" class="dyn-source">
1239
+ <pre>
1240
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/to_ostruct.rb, line 10</span>
1241
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ostruct</span>
1242
+ <span class="ruby-constant">OpenStruct</span>.<span class="ruby-identifier">new</span>( <span class="ruby-keyword kw">self</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="M000087"></a><b>to_ostruct_recurse</b>( exclude={} )
1251
+ </div>
1252
+ <div class="description">
1253
+ <p>
1254
+ Like <a href="Hash.html#M000056">to_ostruct</a> but recusively objectifies
1255
+ all hash elements as well.
1256
+ </p>
1257
+ <pre>
1258
+ o = { 'a' =&gt; { 'b' =&gt; 1 } }.to_ostruct_recurse
1259
+ o.a.b #=&gt; 1
1260
+ </pre>
1261
+ <p>
1262
+ The <tt>exclude</tt> parameter is used internally to prevent infinite
1263
+ recursion and is not intended to be utilized by the end-user. But for more
1264
+ advance use, if there is a particular subhash you would like to prevent
1265
+ from being converted to an OpoenStruct then include it in the
1266
+ <tt>exclude</tt> hash referencing itself. Eg.
1267
+ </p>
1268
+ <pre>
1269
+ h = { 'a' =&gt; { 'b' =&gt; 1 } }
1270
+ o = h.to_ostruct_recurse( { h['a'] =&gt; h['a'] } )
1271
+ o.a['b'] #=&gt; 1
1272
+ </pre>
1273
+ </div>
1274
+ <div class="sourcecode">
1275
+ <p class="source-link">[ <a href="javascript:toggleSource('M000087_source')" id="l_M000087_source">show source</a> ]</p>
1276
+ <div id="M000087_source" class="dyn-source">
1277
+ <pre>
1278
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/to_ostruct_recurse.rb, line 26</span>
1279
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_ostruct_recurse</span>( <span class="ruby-identifier">exclude</span>={} )
1280
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">exclude</span>[<span class="ruby-keyword kw">self</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">exclude</span>.<span class="ruby-identifier">key?</span>( <span class="ruby-keyword kw">self</span> )
1281
+ <span class="ruby-identifier">o</span> = <span class="ruby-identifier">exclude</span>[<span class="ruby-keyword kw">self</span>] = <span class="ruby-constant">OpenStruct</span>.<span class="ruby-identifier">new</span>
1282
+ <span class="ruby-identifier">h</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
1283
+ <span class="ruby-identifier">each_pair</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>
1284
+ <span class="ruby-identifier">h</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">v</span>.<span class="ruby-identifier">to_ostruct_recurse</span>( <span class="ruby-identifier">exclude</span> ) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">respond_to?</span>( <span class="ruby-identifier">:to_ostruct_recurse</span> )
1285
+ <span class="ruby-keyword kw">end</span>
1286
+ <span class="ruby-identifier">o</span>.<span class="ruby-identifier">__update__</span>( <span class="ruby-identifier">h</span> )
1287
+ <span class="ruby-keyword kw">end</span>
1288
+ </pre>
1289
+ </div>
1290
+ </div>
1291
+ </div>
1292
+ <div class="method">
1293
+ <div class="title">
1294
+ <a name="M000099"></a><b>to_proc</b>()
1295
+ </div>
1296
+ <div class="description">
1297
+ <p>
1298
+ Constructs a <a href="Proc.html">Proc</a> object from a hash such that the
1299
+ parameter of the <a href="Proc.html">Proc</a> is assigned the hash keys as
1300
+ attributes.
1301
+ </p>
1302
+ <pre>
1303
+ h = { :a =&gt; 1 }
1304
+ p = h.to_proc
1305
+ o = OpenStruct.new
1306
+ p.call(o)
1307
+ o.a #=&gt; 1
1308
+ </pre>
1309
+ </div>
1310
+ <div class="sourcecode">
1311
+ <p class="source-link">[ <a href="javascript:toggleSource('M000099_source')" id="l_M000099_source">show source</a> ]</p>
1312
+ <div id="M000099_source" class="dyn-source">
1313
+ <pre>
1314
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/to_proc.rb, line 15</span>
1315
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_proc</span>
1316
+ <span class="ruby-identifier">lambda</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">o</span><span class="ruby-operator">|</span>
1317
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
1318
+ <span class="ruby-identifier">ke</span> = <span class="ruby-node">&quot;#{k}=&quot;</span>
1319
+ <span class="ruby-identifier">o</span>.<span class="ruby-identifier">__send__</span>(<span class="ruby-identifier">ke</span>, <span class="ruby-identifier">v</span>)
1320
+ <span class="ruby-keyword kw">end</span>
1321
+ <span class="ruby-keyword kw">end</span>
1322
+ <span class="ruby-keyword kw">end</span>
1323
+ </pre>
1324
+ </div>
1325
+ </div>
1326
+ </div>
1327
+ <div class="method">
1328
+ <div class="title">
1329
+ <a name="M000100"></a><b>to_proc_with_reponse</b>()
1330
+ </div>
1331
+ <div class="sourcecode">
1332
+ <p class="source-link">[ <a href="javascript:toggleSource('M000100_source')" id="l_M000100_source">show source</a> ]</p>
1333
+ <div id="M000100_source" class="dyn-source">
1334
+ <pre>
1335
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/to_proc.rb, line 24</span>
1336
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_proc_with_reponse</span>
1337
+ <span class="ruby-identifier">lambda</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">o</span><span class="ruby-operator">|</span>
1338
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
1339
+ <span class="ruby-identifier">ke</span> = <span class="ruby-node">&quot;#{k}=&quot;</span>
1340
+ <span class="ruby-identifier">o</span>.<span class="ruby-identifier">__send__</span>(<span class="ruby-identifier">ke</span>, <span class="ruby-identifier">v</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">ke</span>)
1341
+ <span class="ruby-keyword kw">end</span>
1342
+ <span class="ruby-keyword kw">end</span>
1343
+ <span class="ruby-keyword kw">end</span>
1344
+ </pre>
1345
+ </div>
1346
+ </div>
1347
+ </div>
1348
+ <div class="method">
1349
+ <div class="title">
1350
+ <a name="M000079"></a><b>traverse</b>(&amp;b)
1351
+ </div>
1352
+ <div class="description">
1353
+ <p>
1354
+ Returns a new hash created by traversing the hash and its subhashes,
1355
+ executing the given block on the key and value. The block should return a
1356
+ 2-element array of the form +[key, value]+.
1357
+ </p>
1358
+ <pre>
1359
+ h = { &quot;A&quot;=&gt;&quot;A&quot;, &quot;B&quot;=&gt;&quot;B&quot; }
1360
+ g = h.traverse { |k,v| [k.downcase, v] }
1361
+ g #=&gt; { &quot;a&quot;=&gt;&quot;A&quot;, &quot;b&quot;=&gt;&quot;B&quot; }
1362
+ </pre>
1363
+ </div>
1364
+ <div class="sourcecode">
1365
+ <p class="source-link">[ <a href="javascript:toggleSource('M000079_source')" id="l_M000079_source">show source</a> ]</p>
1366
+ <div id="M000079_source" class="dyn-source">
1367
+ <pre>
1368
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/traverse.rb, line 16</span>
1369
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">traverse</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>)
1370
+ <span class="ruby-identifier">inject</span>({}) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">h</span>,(<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>)<span class="ruby-operator">|</span>
1371
+ <span class="ruby-identifier">v</span> = ( <span class="ruby-constant">Hash</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">v</span> <span class="ruby-value">? </span><span class="ruby-identifier">v</span>.<span class="ruby-identifier">traverse</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">v</span> )
1372
+ <span class="ruby-identifier">nk</span>, <span class="ruby-identifier">nv</span> = <span class="ruby-identifier">b</span>[<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>]
1373
+ <span class="ruby-identifier">h</span>[<span class="ruby-identifier">nk</span>] = <span class="ruby-identifier">nv</span> <span class="ruby-comment cmt">#( Hash === v ? v.traverse(base,&amp;b) : nv )</span>
1374
+ <span class="ruby-identifier">h</span>
1375
+ <span class="ruby-keyword kw">end</span>
1376
+ <span class="ruby-keyword kw">end</span>
1377
+ </pre>
1378
+ </div>
1379
+ </div>
1380
+ </div>
1381
+ <div class="method">
1382
+ <div class="title">
1383
+ <a name="M000080"></a><b>traverse!</b>(&amp;b)
1384
+ </div>
1385
+ <div class="description">
1386
+ <p>
1387
+ In place version of traverse, which traverses the hash and its subhashes,
1388
+ executing the given block on the key and value.
1389
+ </p>
1390
+ <pre>
1391
+ h = { &quot;A&quot;=&gt;&quot;A&quot;, &quot;B&quot;=&gt;&quot;B&quot; }
1392
+ h.traverse! { |k,v| [k.downcase, v] }
1393
+ h #=&gt; { &quot;a&quot;=&gt;&quot;A&quot;, &quot;b&quot;=&gt;&quot;B&quot; }
1394
+ </pre>
1395
+ </div>
1396
+ <div class="sourcecode">
1397
+ <p class="source-link">[ <a href="javascript:toggleSource('M000080_source')" id="l_M000080_source">show source</a> ]</p>
1398
+ <div id="M000080_source" class="dyn-source">
1399
+ <pre>
1400
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/traverse.rb, line 32</span>
1401
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">traverse!</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>)
1402
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">replace</span>( <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">traverse</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>) )
1403
+ <span class="ruby-keyword kw">end</span>
1404
+ </pre>
1405
+ </div>
1406
+ </div>
1407
+ </div>
1408
+ <div class="method">
1409
+ <div class="title">
1410
+ <a name="M000098"></a><b>update_each</b>( {|| ...}
1411
+ </div>
1412
+ <div class="description">
1413
+ <p>
1414
+ Iterates through each pair and updates a the hash in place. This is
1415
+ formally equivalent to <a href="Hash.html#M000049">collate!</a> But does
1416
+ not use <a href="Hash.html#M000048">collate</a> to accomplish the task.
1417
+ Hence <a href="Hash.html#M000098">update_each</a> is probably a bit faster.
1418
+ </p>
1419
+ <pre>
1420
+ # TODO
1421
+ </pre>
1422
+ </div>
1423
+ <div class="sourcecode">
1424
+ <p class="source-link">[ <a href="javascript:toggleSource('M000098_source')" id="l_M000098_source">show source</a> ]</p>
1425
+ <div id="M000098_source" class="dyn-source">
1426
+ <pre>
1427
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/update_each.rb, line 14</span>
1428
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">update_each</span> <span class="ruby-comment cmt"># :yield:</span>
1429
+ <span class="ruby-identifier">dup</span>.<span class="ruby-identifier">each_pair</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">update</span>( <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>) ); }
1430
+ <span class="ruby-keyword kw">self</span>
1431
+ <span class="ruby-keyword kw">end</span>
1432
+ </pre>
1433
+ </div>
1434
+ </div>
1435
+ </div>
1436
+ <div class="method">
1437
+ <div class="title">
1438
+ <a name="M000094"></a><b>update_keys</b>() {|k| ...}
1439
+ </div>
1440
+ <div class="sourcecode">
1441
+ <p class="source-link">[ <a href="javascript:toggleSource('M000094_source')" id="l_M000094_source">show source</a> ]</p>
1442
+ <div id="M000094_source" class="dyn-source">
1443
+ <pre>
1444
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/update_keys.rb, line 4</span>
1445
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">update_keys</span>
1446
+ <span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">delete</span>(<span class="ruby-identifier">k</span>) ; <span class="ruby-identifier">store</span>( <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">k</span>), <span class="ruby-identifier">v</span> ) }
1447
+ <span class="ruby-keyword kw">end</span>
1448
+ </pre>
1449
+ </div>
1450
+ </div>
1451
+ </div>
1452
+ <div class="method">
1453
+ <div class="title">
1454
+ <a name="M000057"></a><b>update_values</b>() {|v| ...}
1455
+ </div>
1456
+ <div class="sourcecode">
1457
+ <p class="source-link">[ <a href="javascript:toggleSource('M000057_source')" id="l_M000057_source">show source</a> ]</p>
1458
+ <div id="M000057_source" class="dyn-source">
1459
+ <pre>
1460
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/update_values.rb, line 4</span>
1461
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">update_values</span>
1462
+ <span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">store</span>( <span class="ruby-identifier">k</span>, <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">v</span>) ) }
1463
+ <span class="ruby-keyword kw">end</span>
1464
+ </pre>
1465
+ </div>
1466
+ </div>
1467
+ </div>
1468
+ <div class="method">
1469
+ <div class="title">
1470
+ <a name="M000077"></a><b>variablize_keys</b>( of_class=nil )
1471
+ </div>
1472
+ <div class="description">
1473
+ <p>
1474
+ Converts all keys in the <a href="Hash.html">Hash</a> to be <a
1475
+ href="String.html">String</a> values, returning a new <a
1476
+ href="Hash.html">Hash</a>. With a from_class parameter, limits conversion
1477
+ to only a certain class of keys. It defaults to nil which convert any key
1478
+ class.
1479
+ </p>
1480
+ <pre>
1481
+ foo = { :name=&gt;'Gavin', :wife=&gt;:Lisa }
1482
+ foo.variablize_keys #=&gt; { &quot;@name&quot;=&gt;&quot;Gavin&quot;, &quot;@wife&quot;=&gt;:Lisa }
1483
+ foo.inspect #=&gt; { :name =&gt;&quot;Gavin&quot;, :wife=&gt;:Lisa }
1484
+ </pre>
1485
+ </div>
1486
+ <div class="sourcecode">
1487
+ <p class="source-link">[ <a href="javascript:toggleSource('M000077_source')" id="l_M000077_source">show source</a> ]</p>
1488
+ <div id="M000077_source" class="dyn-source">
1489
+ <pre>
1490
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/variablize_keys.rb, line 11</span>
1491
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">variablize_keys</span>( <span class="ruby-identifier">of_class</span>=<span class="ruby-keyword kw">nil</span> )
1492
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">variablize_keys!</span>( <span class="ruby-identifier">of_class</span> )
1493
+ <span class="ruby-keyword kw">end</span>
1494
+ </pre>
1495
+ </div>
1496
+ </div>
1497
+ </div>
1498
+ <div class="method">
1499
+ <div class="title">
1500
+ <a name="M000078"></a><b>variablize_keys!</b>( of_class=nil )
1501
+ </div>
1502
+ <div class="description">
1503
+ <p>
1504
+ Synonym for Hash#keys_to_string, but modifies the receiver in place (and
1505
+ returns it). With a from_class parameter, limits conversion to only a
1506
+ certain class of keys. It defaults to nil which convert any key class.
1507
+ </p>
1508
+ <pre>
1509
+ foo = { :name=&gt;'Gavin', :wife=&gt;:Lisa }
1510
+ foo.variablize_keys! #=&gt; { &quot;@name&quot;=&gt;&quot;Gavin&quot;, &quot;@wife&quot;=&gt;:Lisa }
1511
+ foo.inspect #=&gt; { &quot;@name&quot;=&gt;&quot;Gavin&quot;, &quot;@wife&quot;=&gt;:Lisa }
1512
+ </pre>
1513
+ </div>
1514
+ <div class="sourcecode">
1515
+ <p class="source-link">[ <a href="javascript:toggleSource('M000078_source')" id="l_M000078_source">show source</a> ]</p>
1516
+ <div id="M000078_source" class="dyn-source">
1517
+ <pre>
1518
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/variablize_keys.rb, line 23</span>
1519
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">variablize_keys!</span>( <span class="ruby-identifier">of_class</span>=<span class="ruby-keyword kw">nil</span> )
1520
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Parameter must be a class&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">of_class</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Class</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">of_class</span>
1521
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">of_class</span>
1522
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">each_key</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
1523
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:to_s</span>) <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">of_class</span>
1524
+ <span class="ruby-identifier">k</span> = <span class="ruby-identifier">k</span>.<span class="ruby-identifier">to_s</span>
1525
+ <span class="ruby-identifier">nk</span> = <span class="ruby-identifier">k</span>[<span class="ruby-value">0</span>,<span class="ruby-value">1</span>] <span class="ruby-operator">!=</span> <span class="ruby-value str">'@'</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">k</span> <span class="ruby-operator">:</span> <span class="ruby-node">&quot;@#{k}&quot;</span>
1526
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">nk</span>]=<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">k</span>)
1527
+ <span class="ruby-keyword kw">end</span>
1528
+ <span class="ruby-keyword kw">end</span>
1529
+ <span class="ruby-keyword kw">else</span>
1530
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">each_key</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
1531
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:to_s</span>)
1532
+ <span class="ruby-identifier">k</span> = <span class="ruby-identifier">k</span>.<span class="ruby-identifier">to_s</span>
1533
+ <span class="ruby-identifier">nk</span> = <span class="ruby-identifier">k</span>[<span class="ruby-value">0</span>,<span class="ruby-value">1</span>] <span class="ruby-operator">!=</span> <span class="ruby-value str">'@'</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">k</span> <span class="ruby-operator">:</span> <span class="ruby-node">&quot;@#{k}&quot;</span>
1534
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">nk</span>]=<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">k</span>)
1535
+ <span class="ruby-keyword kw">end</span>
1536
+ <span class="ruby-keyword kw">end</span>
1537
+ <span class="ruby-keyword kw">end</span>
1538
+ <span class="ruby-keyword kw">self</span>
1539
+ <span class="ruby-keyword kw">end</span>
1540
+ </pre>
1541
+ </div>
1542
+ </div>
1543
+ </div>
1544
+ <div class="method">
1545
+ <div class="title">
1546
+ <a name="M000093"></a><b>weave</b>(h)
1547
+ </div>
1548
+ <div class="description">
1549
+ <p>
1550
+ Weaves two hashes producing a new hash. The two hashes need to be
1551
+ compatible according to the following rules for each node:
1552
+ </p>
1553
+ <pre>
1554
+ &lt;tt&gt;
1555
+ hash, hash =&gt; hash (recursive +)
1556
+ hash, array =&gt; error
1557
+ hash, value =&gt; error
1558
+ array, hash =&gt; error
1559
+ array, array =&gt; array + array
1560
+ array, value =&gt; array &lt;&lt; value
1561
+ value, hash =&gt; error
1562
+ value, array =&gt; array.unshift(valueB)
1563
+ valueA, valueB =&gt; valueB
1564
+ &lt;/tt&gt;
1565
+ </pre>
1566
+ <p>
1567
+ Example:
1568
+ </p>
1569
+ <pre>
1570
+ # to do
1571
+ </pre>
1572
+ </div>
1573
+ <div class="sourcecode">
1574
+ <p class="source-link">[ <a href="javascript:toggleSource('M000093_source')" id="l_M000093_source">show source</a> ]</p>
1575
+ <div id="M000093_source" class="dyn-source">
1576
+ <pre>
1577
+ <span class="ruby-comment cmt"># File lib/facets/core/hash/weave.rb, line 23</span>
1578
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">weave</span>(<span class="ruby-identifier">h</span>)
1579
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Hash expected&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">h</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Hash</span>)
1580
+ <span class="ruby-identifier">s</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">clone</span>
1581
+ <span class="ruby-identifier">h</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">node</span><span class="ruby-operator">|</span>
1582
+ <span class="ruby-identifier">node_is_hash</span> = <span class="ruby-identifier">node</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Hash</span>)
1583
+ <span class="ruby-identifier">node_is_array</span> = <span class="ruby-identifier">node</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Array</span>)
1584
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">k</span>)
1585
+ <span class="ruby-identifier">self_node_is_hash</span> = <span class="ruby-identifier">s</span>[<span class="ruby-identifier">k</span>].<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Hash</span>)
1586
+ <span class="ruby-identifier">self_node_is_array</span> = <span class="ruby-identifier">s</span>[<span class="ruby-identifier">k</span>].<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Array</span>)
1587
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">self_node_is_hash</span>
1588
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">node_is_hash</span>
1589
+ <span class="ruby-identifier">s</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">s</span>[<span class="ruby-identifier">k</span>].<span class="ruby-identifier">weave</span>(<span class="ruby-identifier">node</span>)
1590
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">node_is_array</span>
1591
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">'Incompatible hash addition'</span> <span class="ruby-comment cmt">#self[k] = node</span>
1592
+ <span class="ruby-keyword kw">else</span>
1593
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">'Incompatible hash addition'</span> <span class="ruby-comment cmt">#self[k] = node</span>
1594
+ <span class="ruby-keyword kw">end</span>
1595
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">self_node_is_array</span>
1596
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">node_is_hash</span>
1597
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">'Incompatible hash addition'</span> <span class="ruby-comment cmt">#self[k] = node</span>
1598
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">node_is_array</span>
1599
+ <span class="ruby-identifier">s</span>[<span class="ruby-identifier">k</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">node</span>
1600
+ <span class="ruby-keyword kw">else</span>
1601
+ <span class="ruby-identifier">s</span>[<span class="ruby-identifier">k</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">node</span>
1602
+ <span class="ruby-keyword kw">end</span>
1603
+ <span class="ruby-keyword kw">else</span>
1604
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">node_is_hash</span>
1605
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">'Incompatible hash addition'</span> <span class="ruby-comment cmt">#self[k] = node</span>
1606
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">node_is_array</span>
1607
+ <span class="ruby-identifier">s</span>[<span class="ruby-identifier">k</span>].<span class="ruby-identifier">unshift</span>( <span class="ruby-identifier">node</span> )
1608
+ <span class="ruby-keyword kw">else</span>
1609
+ <span class="ruby-identifier">s</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">node</span>
1610
+ <span class="ruby-keyword kw">end</span>
1611
+ <span class="ruby-keyword kw">end</span>
1612
+ <span class="ruby-keyword kw">else</span>
1613
+ <span class="ruby-identifier">s</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">node</span>
1614
+ <span class="ruby-keyword kw">end</span>
1615
+ }
1616
+ <span class="ruby-identifier">s</span>
1617
+ <span class="ruby-keyword kw">end</span>
1618
+ </pre>
1619
+ </div>
1620
+ </div>
1621
+ </div>
1622
+ </div>
1623
+
1624
+ </div>
1625
+
1626
+ </body>
1627
+ </html>