facets 2.3.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/AUTHORS +1 -1
- data/CHANGES +17 -3
- data/MANIFEST +1301 -0
- data/NOTES +42 -11
- data/README +16 -26
- data/doc/History.txt +73 -0
- data/doc/html/api.css +79 -0
- data/doc/html/api/core/classes/Array.html +894 -0
- data/doc/html/api/core/classes/Binding.html +419 -0
- data/doc/html/api/core/classes/Class.html +218 -0
- data/doc/html/api/core/classes/Comparable.html +261 -0
- data/doc/html/api/core/classes/Dir.html +397 -0
- data/doc/html/api/core/classes/Enumerable.html +1124 -0
- data/doc/html/api/core/classes/Exception.html +130 -0
- data/doc/html/api/core/classes/File.html +456 -0
- data/doc/html/api/core/classes/FileTest.html +118 -0
- data/doc/html/api/core/classes/Float.html +133 -0
- data/doc/html/api/core/classes/Functor.html +173 -0
- data/doc/html/api/core/classes/Hash.html +1992 -0
- data/doc/html/api/core/classes/Indexable.html +606 -0
- data/doc/html/api/core/classes/Integer.html +577 -0
- data/doc/html/api/core/classes/Kernel.html +2135 -0
- data/doc/html/api/core/classes/MatchData.html +203 -0
- data/doc/html/api/core/classes/MissingArgument.html +97 -0
- data/doc/html/api/core/classes/Module.html +1605 -0
- data/doc/html/api/core/classes/Module/CloneExtensions.html +188 -0
- data/doc/html/api/core/classes/Object.html +147 -0
- data/doc/html/api/core/classes/Proc.html +346 -0
- data/doc/html/api/core/classes/Range.html +360 -0
- data/doc/html/api/core/classes/Regexp.html +193 -0
- data/doc/html/api/core/classes/Stackable.html +264 -0
- data/doc/html/api/core/classes/String.html +2297 -0
- data/doc/html/api/core/classes/String/Words.html +330 -0
- data/doc/html/api/core/classes/Time.html +521 -0
- data/doc/html/api/core/classes/UnboundMethod.html +196 -0
- data/doc/html/api/core/created.rid +1 -0
- data/doc/html/api/core/files/AUTHORS.html +256 -0
- data/doc/html/api/core/files/CHANGES.html +259 -0
- data/doc/html/api/core/files/COPYING.html +462 -0
- data/doc/html/api/core/files/MANIFEST.html +597 -0
- data/doc/html/api/core/files/NOTES.html +135 -0
- data/doc/html/api/core/files/README.html +412 -0
- data/doc/html/api/core/files/lib/facets/array/conjoin_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/array/delete_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/array/indexable_rb.html +97 -0
- data/doc/html/api/core/files/lib/facets/array/merge_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/array/not_empty_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/array/only_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/array/pad_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/array/product_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/array/rotate_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/array/select_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/array/splice_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/array/stackable_rb.html +97 -0
- data/doc/html/api/core/files/lib/facets/array/traverse_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/array_rb.html +129 -0
- data/doc/html/api/core/files/lib/facets/binding/caller_rb.html +97 -0
- data/doc/html/api/core/files/lib/facets/binding/defined_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/binding/local_variables_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/binding/opvars_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/binding/self_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/binding_rb.html +99 -0
- data/doc/html/api/core/files/lib/facets/bitmask_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/blank_rb.html +97 -0
- data/doc/html/api/core/files/lib/facets/boolean_rb.html +126 -0
- data/doc/html/api/core/files/lib/facets/callstack_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/class/descendents_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/class/prepend_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/class/subclasses_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/class_rb.html +97 -0
- data/doc/html/api/core/files/lib/facets/comparable/bound_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/comparable/cmp_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/comparable/comparable_rb.html +109 -0
- data/doc/html/api/core/files/lib/facets/comparable_rb.html +99 -0
- data/doc/html/api/core/files/lib/facets/dir/ascend_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/dir/descend_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/dir/multiglob_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/dir/parent_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/dir/recurse_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/dir_rb.html +102 -0
- data/doc/html/api/core/files/lib/facets/duplicable_rb.html +100 -0
- data/doc/html/api/core/files/lib/facets/enumerable/accumulate_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/enumerable/cluster_by_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/enumerable/collect_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/enumerable/divide_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/enumerable/duplicates_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/enumerable/each_by_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/enumerable/inject_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/enumerable/map_send_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/enumerable/mash_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/enumerable/mode_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/enumerable/modulate_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/enumerable/occur_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/enumerable/probability_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/enumerable/split_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/enumerable/sum_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/enumerable/uniq_by_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/enumerable_rb.html +111 -0
- data/doc/html/api/core/files/lib/facets/exception/detail_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/exception_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/file/null_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/file/read_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/file/rewrite_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/file/rootname_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/file/write_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/file_rb.html +100 -0
- data/doc/html/api/core/files/lib/facets/filetest/root_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/filetest_rb.html +97 -0
- data/doc/html/api/core/files/lib/facets/functor_rb.html +151 -0
- data/doc/html/api/core/files/lib/facets/hash/alias_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/argumentize_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/at_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/autonew_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/collate_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/delete_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/diff_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/except_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/insert_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/inverse_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/join_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/keys_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/mash_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/hash/merge_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/op_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/rekey_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/hash/select_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/slice_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/stringify_keys_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/hash/swap_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/symbolize_keys_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/hash/to_h_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/hash/to_proc_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/to_struct_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/traverse_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/update_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/weave_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/hash/zipnew_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/hash_rb.html +118 -0
- data/doc/html/api/core/files/lib/facets/indexable_rb.html +113 -0
- data/doc/html/api/core/files/lib/facets/integer/factorial_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/integer/multiple_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/integer/of_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/integer/ordinal_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/integer_rb.html +100 -0
- data/doc/html/api/core/files/lib/facets/kernel/__dir___rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/as_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/kernel/ask_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/attr_singleton_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/complete_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/constant_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/d_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/deep_copy_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/demo_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/ergo_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/kernel/here_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/in_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/instance_exec_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/kernel/instance_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/load_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/maybe_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/not_nil_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/object_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/p_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/populate_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/resc_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/respond_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/returning_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/silence_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/singleton_class_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/try_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/val_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel/with_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/kernel_rb.html +115 -0
- data/doc/html/api/core/files/lib/facets/matchdata/match_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/matchdata/matchset_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/matchdata_rb.html +98 -0
- data/doc/html/api/core/files/lib/facets/metaid_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/module/abstract_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/module/alias_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/module/ancestor_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/module/can_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/module/class_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/module/clone_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/module/conflict_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/module/include_function_module_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/module/instance_methods_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/module/is_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/module/module_load_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/module/nesting_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/module/op_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/module/pathize_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/module/prepend_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/module/revise_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/module_rb.html +109 -0
- data/doc/html/api/core/files/lib/facets/nilclass_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/numeric/approx_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/numeric/distance_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/numeric/round_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/numeric_rb.html +98 -0
- data/doc/html/api/core/files/lib/facets/proc/bind_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/proc/compose_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/proc/curry_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/proc/partial_rb.html +125 -0
- data/doc/html/api/core/files/lib/facets/proc/to_method_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/proc/update_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/proc_rb.html +99 -0
- data/doc/html/api/core/files/lib/facets/range/combine_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/range/overlap_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/range/to_r_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/range/umbrella_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/range/within_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/range_rb.html +99 -0
- data/doc/html/api/core/files/lib/facets/regexp/arity_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/regexp/to_re_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/regexp_rb.html +98 -0
- data/doc/html/api/core/files/lib/facets/ruby_rb.html +110 -0
- data/doc/html/api/core/files/lib/facets/stackable_rb.html +120 -0
- data/doc/html/api/core/files/lib/facets/string/align_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/bracket_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/camelcase_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/capitalized_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/chomp_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/cleave_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/divide_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/fold_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/interpolate_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/line_wrap_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/mscan_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/natcmp_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/nchar_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/range_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/rewrite_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/shatter_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/snakecase_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/splice_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/stylize_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/subtract_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/tab_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/titlecase_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/to_re_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/to_time_rb.html +98 -0
- data/doc/html/api/core/files/lib/facets/string/underscore_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string/words_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/string/xor_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/string_rb.html +109 -0
- data/doc/html/api/core/files/lib/facets/symbol/chomp_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/symbol/generate_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/symbol/not_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/symbol_rb.html +98 -0
- data/doc/html/api/core/files/lib/facets/time/ago_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/time/change_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/time/elapse_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/time/hence_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/time/set_rb.html +96 -0
- data/doc/html/api/core/files/lib/facets/time/stamp_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/time_rb.html +99 -0
- data/doc/html/api/core/files/lib/facets/to_hash_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/unboundmethod/arguments_rb.html +92 -0
- data/doc/html/api/core/files/lib/facets/unboundmethod_rb.html +97 -0
- data/doc/html/api/core/fr_class_index.html +74 -0
- data/doc/html/api/core/fr_file_index.html +269 -0
- data/doc/html/api/core/fr_method_index.html +463 -0
- data/doc/html/api/core/index.html +26 -0
- data/doc/html/api/core/rdoc-style.css +175 -0
- data/doc/html/api/more/classes/ANSICode.html +495 -0
- data/doc/html/api/more/classes/Advisable.html +271 -0
- data/doc/html/api/more/classes/Advisable/Method.html +251 -0
- data/doc/html/api/more/classes/Archive.html +89 -0
- data/doc/html/api/more/classes/Archive/Tar.html +89 -0
- data/doc/html/api/more/classes/Archive/Tar/Minitar.html +470 -0
- data/doc/html/api/more/classes/Archive/Tar/Minitar/Input.html +380 -0
- data/doc/html/api/more/classes/Archive/Tar/Minitar/Output.html +218 -0
- data/doc/html/api/more/classes/Archive/Tar/Minitar/Reader.html +285 -0
- data/doc/html/api/more/classes/Archive/Tar/Minitar/Writer.html +419 -0
- data/doc/html/api/more/classes/Association.html +307 -0
- data/doc/html/api/more/classes/Association/Kernel.html +134 -0
- data/doc/html/api/more/classes/Autoarray.html +168 -0
- data/doc/html/api/more/classes/BBCode.html +534 -0
- data/doc/html/api/more/classes/BasicObject.html +260 -0
- data/doc/html/api/more/classes/Behavior.html +145 -0
- data/doc/html/api/more/classes/BiCrypt.html +543 -0
- data/doc/html/api/more/classes/BigDuration.html +327 -0
- data/doc/html/api/more/classes/BinReadable.html +536 -0
- data/doc/html/api/more/classes/BinReadable/ByteOrder.html +225 -0
- data/doc/html/api/more/classes/Buildable.html +154 -0
- data/doc/html/api/more/classes/BuildingBlock.html +362 -0
- data/doc/html/api/more/classes/CGI.html +187 -0
- data/doc/html/api/more/classes/CLI.html +108 -0
- data/doc/html/api/more/classes/CLI/Arguments.html +709 -0
- data/doc/html/api/more/classes/CLI/Command.html +436 -0
- data/doc/html/api/more/classes/CLI/Command/UniversalOptions.html +91 -0
- data/doc/html/api/more/classes/CLI/NoCommandError.html +113 -0
- data/doc/html/api/more/classes/CLI/NoOptionError.html +120 -0
- data/doc/html/api/more/classes/CacheDecorator.html +224 -0
- data/doc/html/api/more/classes/Capsule.html +410 -0
- data/doc/html/api/more/classes/Capsule/MissingFile.html +96 -0
- data/doc/html/api/more/classes/Chain.html +208 -0
- data/doc/html/api/more/classes/Cloneable.html +131 -0
- data/doc/html/api/more/classes/Config.html +137 -0
- data/doc/html/api/more/classes/ConsoleUtils.html +240 -0
- data/doc/html/api/more/classes/Continuation.html +115 -0
- data/doc/html/api/more/classes/Coroutine.html +286 -0
- data/doc/html/api/more/classes/Crypt.html +277 -0
- data/doc/html/api/more/classes/CssFilter.html +473 -0
- data/doc/html/api/more/classes/CssTree.html +149 -0
- data/doc/html/api/more/classes/Date.html +252 -0
- data/doc/html/api/more/classes/Dictionary.html +1247 -0
- data/doc/html/api/more/classes/Downloader.html +514 -0
- data/doc/html/api/more/classes/Duration.html +769 -0
- data/doc/html/api/more/classes/Enumerable.html +340 -0
- data/doc/html/api/more/classes/Enumerable/Elementor.html +172 -0
- data/doc/html/api/more/classes/Enumerable/Enumerator.html +118 -0
- data/doc/html/api/more/classes/EnumerablePass.html +216 -0
- data/doc/html/api/more/classes/Equatable.html +190 -0
- data/doc/html/api/more/classes/EventHook.html +176 -0
- data/doc/html/api/more/classes/Expirable.html +197 -0
- data/doc/html/api/more/classes/File.html +130 -0
- data/doc/html/api/more/classes/FileList.html +982 -0
- data/doc/html/api/more/classes/FileShell.html +774 -0
- data/doc/html/api/more/classes/FileUtils.html +454 -0
- data/doc/html/api/more/classes/Fileable.html +181 -0
- data/doc/html/api/more/classes/Fileable/DSL.html +306 -0
- data/doc/html/api/more/classes/GetoptLong.html +120 -0
- data/doc/html/api/more/classes/GetoptLong/DSL.html +210 -0
- data/doc/html/api/more/classes/Hash2Xml.html +177 -0
- data/doc/html/api/more/classes/HtmlFilter.html +850 -0
- data/doc/html/api/more/classes/IORedirect.html +222 -0
- data/doc/html/api/more/classes/InfinityClass.html +452 -0
- data/doc/html/api/more/classes/InfinityClass/Numeric.html +197 -0
- data/doc/html/api/more/classes/InstanceReflection.html +129 -0
- data/doc/html/api/more/classes/Instantiable.html +142 -0
- data/doc/html/api/more/classes/Instantise.html +162 -0
- data/doc/html/api/more/classes/Interval.html +879 -0
- data/doc/html/api/more/classes/It.html +207 -0
- data/doc/html/api/more/classes/LRUCache.html +464 -0
- data/doc/html/api/more/classes/LRUCache/Item.html +114 -0
- data/doc/html/api/more/classes/LRUCache/Sentinel.html +100 -0
- data/doc/html/api/more/classes/Lazy.html +96 -0
- data/doc/html/api/more/classes/Lazy/Future.html +100 -0
- data/doc/html/api/more/classes/Lazy/Promise.html +112 -0
- data/doc/html/api/more/classes/Lazy/PromiseSafe.html +99 -0
- data/doc/html/api/more/classes/LinkedList.html +494 -0
- data/doc/html/api/more/classes/LinkedList/Node.html +151 -0
- data/doc/html/api/more/classes/Logger.html +231 -0
- data/doc/html/api/more/classes/Logger/Ansicolor.html +279 -0
- data/doc/html/api/more/classes/Logger/LogDevice.html +123 -0
- data/doc/html/api/more/classes/Module.html +1410 -0
- data/doc/html/api/more/classes/Multiton.html +207 -0
- data/doc/html/api/more/classes/Multiton/Inclusive.html +128 -0
- data/doc/html/api/more/classes/Multiton/MetaMethods.html +270 -0
- data/doc/html/api/more/classes/NackClass.html +99 -0
- data/doc/html/api/more/classes/Net.html +88 -0
- data/doc/html/api/more/classes/Net/SMTP.html +259 -0
- data/doc/html/api/more/classes/NilClass.html +227 -0
- data/doc/html/api/more/classes/NullClass.html +204 -0
- data/doc/html/api/more/classes/Numeric.html +1188 -0
- data/doc/html/api/more/classes/ObjectReflection.html +145 -0
- data/doc/html/api/more/classes/OpEsc.html +138 -0
- data/doc/html/api/more/classes/OpenCascade.html +144 -0
- data/doc/html/api/more/classes/OpenCollection.html +140 -0
- data/doc/html/api/more/classes/OpenHash.html +158 -0
- data/doc/html/api/more/classes/OpenObject.html +604 -0
- data/doc/html/api/more/classes/OpenStruct.html +413 -0
- data/doc/html/api/more/classes/PQueue.html +734 -0
- data/doc/html/api/more/classes/PathList.html +161 -0
- data/doc/html/api/more/classes/PathList/Finder.html +137 -0
- data/doc/html/api/more/classes/Pathname.html +178 -0
- data/doc/html/api/more/classes/Pool.html +206 -0
- data/doc/html/api/more/classes/Proc.html +138 -0
- data/doc/html/api/more/classes/ProgressBar.html +683 -0
- data/doc/html/api/more/classes/Prototype.html +245 -0
- data/doc/html/api/more/classes/RWDelegator.html +196 -0
- data/doc/html/api/more/classes/Random.html +164 -0
- data/doc/html/api/more/classes/Random/Array.html +341 -0
- data/doc/html/api/more/classes/Random/Hash.html +380 -0
- data/doc/html/api/more/classes/Random/Object.html +121 -0
- data/doc/html/api/more/classes/Random/String.html +301 -0
- data/doc/html/api/more/classes/Random/String/Self.html +155 -0
- data/doc/html/api/more/classes/Recorder.html +205 -0
- data/doc/html/api/more/classes/RecursiveDependency.html +92 -0
- data/doc/html/api/more/classes/Reference.html +198 -0
- data/doc/html/api/more/classes/Registerable.html +159 -0
- data/doc/html/api/more/classes/Semaphore.html +262 -0
- data/doc/html/api/more/classes/Set.html +119 -0
- data/doc/html/api/more/classes/Settings.html +290 -0
- data/doc/html/api/more/classes/Settings/Setting.html +225 -0
- data/doc/html/api/more/classes/Settings/SettingCollection.html +144 -0
- data/doc/html/api/more/classes/Shellwords.html +113 -0
- data/doc/html/api/more/classes/SimpleStringIO.html +137 -0
- data/doc/html/api/more/classes/Snapshot.html +196 -0
- data/doc/html/api/more/classes/Snapshot/ValueHolder.html +165 -0
- data/doc/html/api/more/classes/String/Style.html +695 -0
- data/doc/html/api/more/classes/Struct.html +132 -0
- data/doc/html/api/more/classes/SyncArray.html +129 -0
- data/doc/html/api/more/classes/SyncHash.html +158 -0
- data/doc/html/api/more/classes/SyncHash/Delegator.html +213 -0
- data/doc/html/api/more/classes/SyncHash/Inheritor.html +213 -0
- data/doc/html/api/more/classes/System.html +1119 -0
- data/doc/html/api/more/classes/Timer.html +466 -0
- data/doc/html/api/more/classes/Timer/Dummy.html +141 -0
- data/doc/html/api/more/classes/TracePoint.html +455 -0
- data/doc/html/api/more/classes/Tuple.html +902 -0
- data/doc/html/api/more/classes/TypeCast.html +158 -0
- data/doc/html/api/more/classes/TypeCast/Class.html +129 -0
- data/doc/html/api/more/classes/TypeCast/Object.html +119 -0
- data/doc/html/api/more/classes/TypeCastException.html +96 -0
- data/doc/html/api/more/classes/URI.html +455 -0
- data/doc/html/api/more/classes/URI/Hash.html +107 -0
- data/doc/html/api/more/classes/URI/Kernel.html +124 -0
- data/doc/html/api/more/classes/Uninheritable.html +122 -0
- data/doc/html/api/more/classes/UploadUtils.html +499 -0
- data/doc/html/api/more/classes/VersionNumber.html +384 -0
- data/doc/html/api/more/classes/Weekdays.html +248 -0
- data/doc/html/api/more/classes/XOXO.html +252 -0
- data/doc/html/api/more/classes/ZipUtils.html +437 -0
- data/doc/html/api/more/classes/ZipUtils/DryRun.html +225 -0
- data/doc/html/api/more/classes/ZipUtils/NoWrite.html +225 -0
- data/doc/html/api/more/classes/ZipUtils/Verbose.html +225 -0
- data/doc/html/api/more/created.rid +1 -0
- data/doc/html/api/more/files/AUTHORS.html +257 -0
- data/doc/html/api/more/files/CHANGES.html +258 -0
- data/doc/html/api/more/files/COPYING.html +462 -0
- data/doc/html/api/more/files/MANIFEST.html +597 -0
- data/doc/html/api/more/files/NOTES.html +135 -0
- data/doc/html/api/more/files/README.html +411 -0
- data/doc/html/api/more/files/lib/facets/1stclassmethod_rb.html +181 -0
- data/doc/html/api/more/files/lib/facets/advisable_rb.html +124 -0
- data/doc/html/api/more/files/lib/facets/annotations_rb.html +179 -0
- data/doc/html/api/more/files/lib/facets/ansicode_rb.html +199 -0
- data/doc/html/api/more/files/lib/facets/arguments_rb.html +142 -0
- data/doc/html/api/more/files/lib/facets/association_rb.html +158 -0
- data/doc/html/api/more/files/lib/facets/attr_rb.html +92 -0
- data/doc/html/api/more/files/lib/facets/autoarray_rb.html +125 -0
- data/doc/html/api/more/files/lib/facets/autoreload_rb.html +134 -0
- data/doc/html/api/more/files/lib/facets/basicobject_rb.html +190 -0
- data/doc/html/api/more/files/lib/facets/bbcode_rb.html +138 -0
- data/doc/html/api/more/files/lib/facets/behavior_rb.html +125 -0
- data/doc/html/api/more/files/lib/facets/bicrypt_rb.html +124 -0
- data/doc/html/api/more/files/lib/facets/binreadable_rb.html +141 -0
- data/doc/html/api/more/files/lib/facets/buildable_rb.html +228 -0
- data/doc/html/api/more/files/lib/facets/bytes_rb.html +170 -0
- data/doc/html/api/more/files/lib/facets/cachedecorator_rb.html +178 -0
- data/doc/html/api/more/files/lib/facets/capsule_rb.html +143 -0
- data/doc/html/api/more/files/lib/facets/cattr_rb.html +125 -0
- data/doc/html/api/more/files/lib/facets/cgi_rb.html +111 -0
- data/doc/html/api/more/files/lib/facets/chain_rb.html +114 -0
- data/doc/html/api/more/files/lib/facets/class_extension_rb.html +155 -0
- data/doc/html/api/more/files/lib/facets/classmethods_rb.html +213 -0
- data/doc/html/api/more/files/lib/facets/cloneable_rb.html +134 -0
- data/doc/html/api/more/files/lib/facets/command_rb.html +170 -0
- data/doc/html/api/more/files/lib/facets/consoleutils_rb.html +109 -0
- data/doc/html/api/more/files/lib/facets/continuation_rb.html +145 -0
- data/doc/html/api/more/files/lib/facets/core_rb.html +133 -0
- data/doc/html/api/more/files/lib/facets/coroutine_rb.html +163 -0
- data/doc/html/api/more/files/lib/facets/crypt_rb.html +141 -0
- data/doc/html/api/more/files/lib/facets/cssfilter_rb.html +120 -0
- data/doc/html/api/more/files/lib/facets/daemonize_rb.html +118 -0
- data/doc/html/api/more/files/lib/facets/date_rb.html +121 -0
- data/doc/html/api/more/files/lib/facets/dependency_rb.html +158 -0
- data/doc/html/api/more/files/lib/facets/dictionary_rb.html +198 -0
- data/doc/html/api/more/files/lib/facets/downloader_rb.html +137 -0
- data/doc/html/api/more/files/lib/facets/duration_rb.html +132 -0
- data/doc/html/api/more/files/lib/facets/elementor_rb.html +148 -0
- data/doc/html/api/more/files/lib/facets/elementwise_rb.html +96 -0
- data/doc/html/api/more/files/lib/facets/enumerablepass_rb.html +153 -0
- data/doc/html/api/more/files/lib/facets/equatable_rb.html +145 -0
- data/doc/html/api/more/files/lib/facets/eventhook_rb.html +141 -0
- data/doc/html/api/more/files/lib/facets/expirable_rb.html +116 -0
- data/doc/html/api/more/files/lib/facets/fileable_rb.html +138 -0
- data/doc/html/api/more/files/lib/facets/filelist_rb.html +164 -0
- data/doc/html/api/more/files/lib/facets/fileshell_rb.html +124 -0
- data/doc/html/api/more/files/lib/facets/fileutils/head_rb.html +96 -0
- data/doc/html/api/more/files/lib/facets/fileutils/safe_ln_rb.html +96 -0
- data/doc/html/api/more/files/lib/facets/fileutils/slice_rb.html +96 -0
- data/doc/html/api/more/files/lib/facets/fileutils/tail_rb.html +96 -0
- data/doc/html/api/more/files/lib/facets/fileutils/wc_rb.html +96 -0
- data/doc/html/api/more/files/lib/facets/fileutils/whereis_rb.html +96 -0
- data/doc/html/api/more/files/lib/facets/fileutils/which_rb.html +96 -0
- data/doc/html/api/more/files/lib/facets/fileutils_rb.html +131 -0
- data/doc/html/api/more/files/lib/facets/float/round_rb.html +96 -0
- data/doc/html/api/more/files/lib/facets/getoptlong_rb.html +135 -0
- data/doc/html/api/more/files/lib/facets/heap_rb.html +132 -0
- data/doc/html/api/more/files/lib/facets/htmlfilter_rb.html +153 -0
- data/doc/html/api/more/files/lib/facets/infinity_rb.html +153 -0
- data/doc/html/api/more/files/lib/facets/inheritor_rb.html +149 -0
- data/doc/html/api/more/files/lib/facets/instantiable_rb.html +119 -0
- data/doc/html/api/more/files/lib/facets/instantise_rb.html +145 -0
- data/doc/html/api/more/files/lib/facets/interval_rb.html +163 -0
- data/doc/html/api/more/files/lib/facets/ioredirect_rb.html +133 -0
- data/doc/html/api/more/files/lib/facets/iteration_rb.html +94 -0
- data/doc/html/api/more/files/lib/facets/lazy_rb.html +120 -0
- data/doc/html/api/more/files/lib/facets/linkedlist_rb.html +159 -0
- data/doc/html/api/more/files/lib/facets/logger_rb.html +142 -0
- data/doc/html/api/more/files/lib/facets/lrucache_rb.html +129 -0
- data/doc/html/api/more/files/lib/facets/main_rb.html +126 -0
- data/doc/html/api/more/files/lib/facets/memoize_rb.html +163 -0
- data/doc/html/api/more/files/lib/facets/meta_rb.html +96 -0
- data/doc/html/api/more/files/lib/facets/methodspace_rb.html +138 -0
- data/doc/html/api/more/files/lib/facets/minitar_rb.html +203 -0
- data/doc/html/api/more/files/lib/facets/multipliers_rb.html +149 -0
- data/doc/html/api/more/files/lib/facets/multiton_rb.html +187 -0
- data/doc/html/api/more/files/lib/facets/nackclass_rb.html +121 -0
- data/doc/html/api/more/files/lib/facets/net/smtp_tls_rb.html +143 -0
- data/doc/html/api/more/files/lib/facets/nilstatus_rb.html +92 -0
- data/doc/html/api/more/files/lib/facets/nullclass_rb.html +122 -0
- data/doc/html/api/more/files/lib/facets/opencascade_rb.html +156 -0
- data/doc/html/api/more/files/lib/facets/opencollection_rb.html +123 -0
- data/doc/html/api/more/files/lib/facets/openhash_rb.html +107 -0
- data/doc/html/api/more/files/lib/facets/openobject_rb.html +167 -0
- data/doc/html/api/more/files/lib/facets/opesc_rb.html +94 -0
- data/doc/html/api/more/files/lib/facets/orderedhash_rb.html +142 -0
- data/doc/html/api/more/files/lib/facets/ostruct_rb.html +135 -0
- data/doc/html/api/more/files/lib/facets/overload_rb.html +119 -0
- data/doc/html/api/more/files/lib/facets/pathlist_rb.html +133 -0
- data/doc/html/api/more/files/lib/facets/pathname_rb.html +155 -0
- data/doc/html/api/more/files/lib/facets/pool_rb.html +131 -0
- data/doc/html/api/more/files/lib/facets/pqueue_rb.html +129 -0
- data/doc/html/api/more/files/lib/facets/progressbar_rb.html +126 -0
- data/doc/html/api/more/files/lib/facets/prototype_rb.html +102 -0
- data/doc/html/api/more/files/lib/facets/random_rb.html +148 -0
- data/doc/html/api/more/files/lib/facets/rbconfig_rb.html +124 -0
- data/doc/html/api/more/files/lib/facets/rbsystem_rb.html +143 -0
- data/doc/html/api/more/files/lib/facets/recorder_rb.html +154 -0
- data/doc/html/api/more/files/lib/facets/reference_rb.html +130 -0
- data/doc/html/api/more/files/lib/facets/reflection_rb.html +119 -0
- data/doc/html/api/more/files/lib/facets/registerable_rb.html +98 -0
- data/doc/html/api/more/files/lib/facets/rwdelegator_rb.html +122 -0
- data/doc/html/api/more/files/lib/facets/semaphore_rb.html +120 -0
- data/doc/html/api/more/files/lib/facets/set_rb.html +96 -0
- data/doc/html/api/more/files/lib/facets/settings_rb.html +141 -0
- data/doc/html/api/more/files/lib/facets/shellwords_rb.html +124 -0
- data/doc/html/api/more/files/lib/facets/snapshot_rb.html +177 -0
- data/doc/html/api/more/files/lib/facets/style_rb.html +96 -0
- data/doc/html/api/more/files/lib/facets/succ_rb.html +92 -0
- data/doc/html/api/more/files/lib/facets/syncarray_rb.html +125 -0
- data/doc/html/api/more/files/lib/facets/synchash_rb.html +138 -0
- data/doc/html/api/more/files/lib/facets/thread_rb.html +132 -0
- data/doc/html/api/more/files/lib/facets/timer_rb.html +174 -0
- data/doc/html/api/more/files/lib/facets/times_rb.html +163 -0
- data/doc/html/api/more/files/lib/facets/tracepoint_rb.html +167 -0
- data/doc/html/api/more/files/lib/facets/tuple_rb.html +160 -0
- data/doc/html/api/more/files/lib/facets/typecast_rb.html +214 -0
- data/doc/html/api/more/files/lib/facets/uninheritable_rb.html +129 -0
- data/doc/html/api/more/files/lib/facets/uploadutils_rb.html +176 -0
- data/doc/html/api/more/files/lib/facets/uri_rb.html +125 -0
- data/doc/html/api/more/files/lib/facets/version_rb.html +132 -0
- data/doc/html/api/more/files/lib/facets/xmlhash_rb.html +97 -0
- data/doc/html/api/more/files/lib/facets/xoxo_rb.html +136 -0
- data/doc/html/api/more/files/lib/facets/yaml_rb.html +145 -0
- data/doc/html/api/more/files/lib/facets/ziputils_rb.html +133 -0
- data/doc/html/api/more/fr_class_index.html +200 -0
- data/doc/html/api/more/fr_file_index.html +177 -0
- data/doc/html/api/more/fr_method_index.html +1181 -0
- data/doc/html/api/more/index.html +26 -0
- data/doc/html/api/more/rdoc-style.css +175 -0
- data/doc/html/authors.html +178 -0
- data/doc/html/changes.html +177 -0
- data/doc/html/copying.html +384 -0
- data/doc/html/img/APIdocs.png +0 -0
- data/doc/html/img/RubyFacets.png +0 -0
- data/doc/html/img/bomb.gif +0 -0
- data/doc/html/img/develop.gif +0 -0
- data/doc/html/img/email.gif +0 -0
- data/doc/html/img/fade_blue_down.gif +0 -0
- data/doc/html/img/fade_red_down.png +0 -0
- data/doc/html/img/folder.gif +0 -0
- data/doc/html/img/home.gif +0 -0
- data/doc/html/img/menu_bkg.png +0 -0
- data/doc/html/img/quill.gif +0 -0
- data/doc/html/img/ruby-h.png +0 -0
- data/doc/html/img/ruby.gif +0 -0
- data/doc/html/img/ruby.png +0 -0
- data/doc/html/img/source.gif +0 -0
- data/doc/html/index.html +16 -0
- data/doc/html/js/doclist.js +20 -0
- data/doc/html/js/jquery.js +3408 -0
- data/doc/html/list.json +1 -0
- data/doc/html/manifest.html +519 -0
- data/doc/html/menu.html +70 -0
- data/doc/html/notes.html +57 -0
- data/doc/html/rakefile.html +45 -0
- data/doc/html/readme.html +327 -0
- data/doc/html/style-rdoc.css +208 -0
- data/lib/facets.rb +2 -0
- data/lib/facets/1stclassmethod.rb +140 -0
- data/lib/facets/advisable.rb +162 -0
- data/lib/facets/annotations.rb +300 -0
- data/lib/facets/ansicode.rb +320 -0
- data/lib/facets/arguments.rb +349 -0
- data/lib/facets/array.rb +24 -0
- data/lib/facets/array/conjoin.rb +58 -0
- data/lib/facets/array/delete.rb +61 -0
- data/lib/facets/array/indexable.rb +73 -0
- data/lib/facets/array/merge.rb +21 -0
- data/lib/facets/array/not_empty.rb +13 -0
- data/lib/facets/array/only.rb +21 -0
- data/lib/facets/array/pad.rb +41 -0
- data/lib/facets/array/product.rb +15 -0
- data/lib/facets/array/rotate.rb +42 -0
- data/lib/facets/array/select.rb +16 -0
- data/lib/facets/array/splice.rb +30 -0
- data/lib/facets/array/stackable.rb +33 -0
- data/lib/facets/array/traverse.rb +22 -0
- data/lib/facets/association.rb +194 -0
- data/lib/{core/facets/module → facets}/attr.rb +0 -0
- data/lib/facets/autoarray.rb +62 -0
- data/lib/facets/autoreload.rb +150 -0
- data/lib/facets/basicobject.rb +263 -0
- data/lib/facets/bbcode.rb +397 -0
- data/lib/facets/behavior.rb +104 -0
- data/lib/facets/bicrypt.rb +265 -0
- data/lib/facets/binding.rb +6 -0
- data/lib/facets/binding/caller.rb +54 -0
- data/lib/facets/binding/defined.rb +13 -0
- data/lib/facets/binding/local_variables.rb +15 -0
- data/lib/facets/binding/opvars.rb +24 -0
- data/lib/facets/binding/self.rb +12 -0
- data/lib/facets/binreadable.rb +221 -0
- data/lib/{core/facets/integer → facets}/bitmask.rb +0 -0
- data/lib/facets/blank.rb +60 -0
- data/lib/facets/boolean.rb +156 -0
- data/lib/facets/buildable.rb +344 -0
- data/lib/facets/bytes.rb +173 -0
- data/lib/facets/cachedecorator.rb +117 -0
- data/lib/facets/callstack.rb +52 -0
- data/lib/facets/capsule.rb +258 -0
- data/lib/facets/cattr.rb +141 -0
- data/lib/facets/cgi.rb +50 -0
- data/lib/facets/chain.rb +58 -0
- data/lib/facets/class.rb +4 -0
- data/lib/facets/class/descendents.rb +28 -0
- data/lib/facets/class/prepend.rb +50 -0
- data/lib/facets/class/subclasses.rb +2 -0
- data/lib/facets/class_extension.rb +114 -0
- data/lib/facets/classmethods.rb +199 -0
- data/lib/facets/cloneable.rb +76 -0
- data/lib/facets/command.rb +422 -0
- data/lib/facets/comparable.rb +6 -0
- data/lib/facets/comparable/bound.rb +65 -0
- data/lib/facets/comparable/cmp.rb +38 -0
- data/lib/facets/comparable/comparable.rb +42 -0
- data/lib/facets/consoleutils.rb +113 -0
- data/lib/facets/continuation.rb +57 -0
- data/lib/facets/core.rb +50 -0
- data/lib/facets/coroutine.rb +158 -0
- data/lib/facets/crypt.rb +166 -0
- data/lib/facets/cssfilter.rb +254 -0
- data/lib/facets/daemonize.rb +44 -0
- data/lib/facets/date.rb +78 -0
- data/lib/facets/dependency.rb +151 -0
- data/lib/facets/dictionary.rb +474 -0
- data/lib/facets/dir.rb +9 -0
- data/lib/facets/dir/ascend.rb +59 -0
- data/lib/facets/dir/descend.rb +1 -0
- data/lib/{core/facets → facets}/dir/multiglob.rb +0 -0
- data/lib/facets/dir/parent.rb +13 -0
- data/lib/facets/dir/recurse.rb +29 -0
- data/lib/facets/downloader.rb +281 -0
- data/lib/facets/duplicable.rb +43 -0
- data/lib/facets/duration.rb +540 -0
- data/lib/facets/elementor.rb +133 -0
- data/lib/facets/elementwise.rb +61 -0
- data/lib/facets/enumerable.rb +19 -0
- data/lib/facets/enumerable/accumulate.rb +21 -0
- data/lib/facets/enumerable/cluster_by.rb +21 -0
- data/lib/facets/enumerable/collect.rb +54 -0
- data/lib/facets/enumerable/divide.rb +33 -0
- data/lib/facets/enumerable/duplicates.rb +38 -0
- data/lib/facets/enumerable/each_by.rb +33 -0
- data/lib/facets/enumerable/inject.rb +31 -0
- data/lib/facets/enumerable/map_send.rb +12 -0
- data/lib/facets/enumerable/mash.rb +32 -0
- data/lib/facets/enumerable/mode.rb +15 -0
- data/lib/facets/enumerable/modulate.rb +22 -0
- data/lib/facets/enumerable/occur.rb +38 -0
- data/lib/facets/enumerable/probability.rb +133 -0
- data/lib/facets/enumerable/split.rb +23 -0
- data/lib/facets/enumerable/sum.rb +16 -0
- data/lib/facets/enumerable/uniq_by.rb +18 -0
- data/lib/facets/enumerablepass.rb +217 -0
- data/lib/facets/equatable.rb +120 -0
- data/lib/facets/eventhook.rb +132 -0
- data/lib/{core/facets → facets}/exception.rb +0 -0
- data/lib/facets/exception/detail.rb +19 -0
- data/lib/facets/expirable.rb +82 -0
- data/lib/facets/file.rb +7 -0
- data/lib/facets/file/null.rb +21 -0
- data/lib/facets/file/read.rb +41 -0
- data/lib/facets/file/rewrite.rb +54 -0
- data/lib/facets/file/rootname.rb +23 -0
- data/lib/facets/file/write.rb +64 -0
- data/lib/facets/fileable.rb +162 -0
- data/lib/facets/filelist.rb +499 -0
- data/lib/facets/fileshell.rb +200 -0
- data/lib/facets/filetest.rb +3 -0
- data/lib/facets/filetest/root.rb +17 -0
- data/lib/facets/fileutils.rb +27 -0
- data/lib/facets/fileutils/head.rb +1 -0
- data/lib/facets/fileutils/safe_ln.rb +28 -0
- data/lib/facets/fileutils/slice.rb +141 -0
- data/lib/facets/fileutils/tail.rb +1 -0
- data/lib/facets/fileutils/wc.rb +114 -0
- data/lib/facets/fileutils/whereis.rb +63 -0
- data/lib/facets/fileutils/which.rb +101 -0
- data/lib/facets/float/round.rb +36 -0
- data/lib/facets/functor.rb +77 -0
- data/lib/facets/getoptlong.rb +71 -0
- data/lib/facets/hash.rb +25 -0
- data/lib/facets/hash/alias.rb +31 -0
- data/lib/facets/hash/argumentize.rb +21 -0
- data/lib/facets/hash/at.rb +8 -0
- data/lib/facets/hash/autonew.rb +42 -0
- data/lib/facets/hash/collate.rb +45 -0
- data/lib/facets/hash/delete.rb +47 -0
- data/lib/facets/hash/diff.rb +11 -0
- data/lib/{core/facets → facets}/hash/except.rb +0 -0
- data/lib/facets/hash/insert.rb +19 -0
- data/lib/facets/hash/inverse.rb +27 -0
- data/lib/facets/hash/join.rb +14 -0
- data/lib/facets/hash/keys.rb +45 -0
- data/lib/facets/hash/mash.rb +18 -0
- data/lib/facets/hash/merge.rb +74 -0
- data/lib/facets/hash/op.rb +85 -0
- data/lib/facets/hash/rekey.rb +59 -0
- data/lib/{core/facets → facets}/hash/select.rb +0 -0
- data/lib/{core/facets → facets}/hash/slice.rb +0 -0
- data/lib/facets/hash/stringify_keys.rb +1 -0
- data/lib/facets/hash/swap.rb +17 -0
- data/lib/facets/hash/symbolize_keys.rb +95 -0
- data/lib/facets/hash/to_h.rb +1 -0
- data/lib/facets/hash/to_proc.rb +41 -0
- data/lib/facets/hash/to_struct.rb +17 -0
- data/lib/facets/hash/traverse.rb +41 -0
- data/lib/facets/hash/update.rb +75 -0
- data/lib/{core/facets → facets}/hash/weave.rb +0 -0
- data/lib/facets/hash/zipnew.rb +2 -0
- data/lib/facets/heap.rb +22 -0
- data/lib/facets/htmlfilter.rb +595 -0
- data/lib/facets/indexable.rb +242 -0
- data/lib/facets/infinity.rb +193 -0
- data/lib/facets/inheritor.rb +126 -0
- data/lib/facets/instantiable.rb +47 -0
- data/lib/facets/instantise.rb +92 -0
- data/lib/facets/integer.rb +7 -0
- data/lib/facets/integer/factorial.rb +30 -0
- data/lib/facets/integer/multiple.rb +15 -0
- data/lib/facets/integer/of.rb +18 -0
- data/lib/facets/integer/ordinal.rb +24 -0
- data/lib/facets/interval.rb +282 -0
- data/lib/facets/ioredirect.rb +130 -0
- data/lib/facets/iteration.rb +65 -0
- data/lib/facets/kernel.rb +22 -0
- data/lib/facets/kernel/__dir__.rb +12 -0
- data/lib/facets/kernel/as.rb +100 -0
- data/lib/facets/kernel/ask.rb +27 -0
- data/lib/facets/kernel/attr_singleton.rb +62 -0
- data/lib/facets/kernel/complete.rb +18 -0
- data/lib/{core/facets → facets}/kernel/constant.rb +0 -0
- data/lib/facets/kernel/d.rb +26 -0
- data/lib/facets/kernel/deep_copy.rb +13 -0
- data/lib/facets/kernel/demo.rb +23 -0
- data/lib/facets/kernel/ergo.rb +42 -0
- data/lib/facets/kernel/here.rb +12 -0
- data/lib/facets/kernel/in.rb +13 -0
- data/lib/facets/kernel/instance.rb +73 -0
- data/lib/facets/kernel/instance_exec.rb +19 -0
- data/lib/facets/kernel/load.rb +41 -0
- data/lib/facets/kernel/maybe.rb +18 -0
- data/lib/facets/kernel/not_nil.rb +17 -0
- data/lib/facets/kernel/object.rb +53 -0
- data/lib/facets/kernel/p.rb +24 -0
- data/lib/facets/kernel/populate.rb +73 -0
- data/lib/facets/kernel/resc.rb +16 -0
- data/lib/facets/kernel/respond.rb +23 -0
- data/lib/facets/kernel/returning.rb +23 -0
- data/lib/facets/kernel/silence.rb +69 -0
- data/lib/facets/kernel/singleton_class.rb +14 -0
- data/lib/facets/kernel/try.rb +23 -0
- data/lib/facets/kernel/val.rb +19 -0
- data/lib/facets/kernel/with.rb +20 -0
- data/lib/facets/lazy.rb +238 -0
- data/lib/facets/linkedlist.rb +222 -0
- data/lib/facets/logger.rb +291 -0
- data/lib/facets/lrucache.rb +157 -0
- data/lib/facets/main.rb +70 -0
- data/lib/facets/matchdata.rb +6 -0
- data/lib/facets/matchdata/match.rb +15 -0
- data/lib/facets/matchdata/matchset.rb +44 -0
- data/lib/facets/memoize.rb +116 -0
- data/lib/facets/meta.rb +23 -0
- data/lib/facets/metaid.rb +145 -0
- data/lib/facets/methodspace.rb +141 -0
- data/lib/facets/minitar.rb +1063 -0
- data/lib/facets/module.rb +19 -0
- data/lib/facets/module/abstract.rb +21 -0
- data/lib/facets/module/alias.rb +115 -0
- data/lib/facets/module/ancestor.rb +16 -0
- data/lib/facets/module/can.rb +14 -0
- data/lib/facets/module/class.rb +14 -0
- data/lib/facets/module/clone.rb +57 -0
- data/lib/facets/module/conflict.rb +56 -0
- data/lib/facets/module/include_function_module.rb +25 -0
- data/lib/facets/module/instance_methods.rb +40 -0
- data/lib/facets/module/is.rb +57 -0
- data/lib/facets/module/module_load.rb +56 -0
- data/lib/facets/module/nesting.rb +84 -0
- data/lib/facets/module/op.rb +95 -0
- data/lib/facets/module/pathize.rb +19 -0
- data/lib/facets/module/prepend.rb +25 -0
- data/lib/facets/module/revise.rb +168 -0
- data/lib/facets/multipliers.rb +109 -0
- data/lib/facets/multiton.rb +386 -0
- data/lib/facets/nackclass.rb +41 -0
- data/lib/{more/facets → facets/net}/smtp_tls.rb +0 -0
- data/lib/facets/nilclass.rb +3 -0
- data/lib/facets/nilstatus.rb +47 -0
- data/lib/facets/nullclass.rb +74 -0
- data/lib/facets/numeric.rb +5 -0
- data/lib/facets/numeric/approx.rb +15 -0
- data/lib/facets/numeric/distance.rb +14 -0
- data/lib/facets/numeric/round.rb +51 -0
- data/lib/facets/opencascade.rb +92 -0
- data/lib/facets/opencollection.rb +43 -0
- data/lib/facets/openhash.rb +38 -0
- data/lib/facets/openobject.rb +261 -0
- data/lib/facets/opesc.rb +60 -0
- data/lib/facets/orderedhash.rb +37 -0
- data/lib/facets/ostruct.rb +222 -0
- data/lib/facets/overload.rb +94 -0
- data/lib/facets/pathlist.rb +112 -0
- data/lib/facets/pathname.rb +112 -0
- data/lib/facets/pool.rb +91 -0
- data/lib/facets/pqueue.rb +449 -0
- data/lib/facets/proc.rb +6 -0
- data/lib/facets/proc/bind.rb +22 -0
- data/lib/facets/proc/compose.rb +42 -0
- data/lib/facets/proc/curry.rb +31 -0
- data/lib/facets/proc/partial.rb +37 -0
- data/lib/facets/proc/to_method.rb +33 -0
- data/lib/facets/proc/update.rb +9 -0
- data/lib/facets/progressbar.rb +253 -0
- data/lib/facets/prototype.rb +88 -0
- data/lib/facets/random.rb +448 -0
- data/lib/facets/range.rb +6 -0
- data/lib/facets/range/combine.rb +47 -0
- data/lib/facets/range/overlap.rb +13 -0
- data/lib/facets/range/to_r.rb +26 -0
- data/lib/facets/range/umbrella.rb +1 -0
- data/lib/facets/range/within.rb +66 -0
- data/lib/facets/rbconfig.rb +45 -0
- data/lib/facets/rbsystem.rb +222 -0
- data/lib/facets/recorder.rb +109 -0
- data/lib/facets/reference.rb +99 -0
- data/lib/facets/reflection.rb +98 -0
- data/lib/facets/regexp.rb +5 -0
- data/lib/facets/regexp/arity.rb +17 -0
- data/lib/facets/regexp/to_re.rb +28 -0
- data/lib/facets/registerable.rb +35 -0
- data/lib/facets/ruby.rb +485 -0
- data/lib/facets/rwdelegator.rb +74 -0
- data/lib/facets/semaphore.rb +92 -0
- data/lib/{more/facets → facets}/set.rb +0 -0
- data/lib/facets/settings.rb +248 -0
- data/lib/facets/shellwords.rb +89 -0
- data/lib/facets/snapshot.rb +209 -0
- data/lib/facets/stackable.rb +86 -0
- data/lib/facets/string.rb +16 -0
- data/lib/facets/string/align.rb +106 -0
- data/lib/facets/string/bracket.rb +105 -0
- data/lib/facets/string/camelcase.rb +26 -0
- data/lib/facets/string/capitalized.rb +46 -0
- data/lib/facets/string/chomp.rb +33 -0
- data/lib/facets/string/cleave.rb +36 -0
- data/lib/facets/string/divide.rb +21 -0
- data/lib/facets/string/fold.rb +39 -0
- data/lib/facets/string/interpolate.rb +20 -0
- data/lib/facets/string/line_wrap.rb +21 -0
- data/lib/facets/string/mscan.rb +19 -0
- data/lib/{core/facets → facets}/string/natcmp.rb +0 -0
- data/lib/facets/string/nchar.rb +28 -0
- data/lib/facets/string/range.rb +77 -0
- data/lib/facets/string/rewrite.rb +28 -0
- data/lib/facets/string/shatter.rb +22 -0
- data/lib/facets/string/snakecase.rb +21 -0
- data/lib/facets/string/splice.rb +25 -0
- data/lib/facets/string/stylize.rb +73 -0
- data/lib/facets/string/subtract.rb +14 -0
- data/lib/facets/string/tab.rb +103 -0
- data/lib/facets/string/titlecase.rb +15 -0
- data/lib/facets/string/to_re.rb +26 -0
- data/lib/facets/string/to_time.rb +23 -0
- data/lib/facets/string/underscore.rb +28 -0
- data/lib/facets/string/words.rb +173 -0
- data/lib/facets/string/xor.rb +22 -0
- data/lib/facets/style.rb +235 -0
- data/lib/facets/succ.rb +44 -0
- data/lib/facets/symbol.rb +5 -0
- data/lib/facets/symbol/chomp.rb +24 -0
- data/lib/facets/symbol/generate.rb +24 -0
- data/lib/facets/symbol/not.rb +29 -0
- data/lib/facets/syncarray.rb +114 -0
- data/lib/facets/synchash.rb +157 -0
- data/lib/facets/thread.rb +51 -0
- data/lib/facets/time.rb +6 -0
- data/lib/facets/time/ago.rb +1 -0
- data/lib/facets/time/change.rb +99 -0
- data/lib/{core/facets → facets}/time/elapse.rb +0 -0
- data/lib/facets/time/hence.rb +56 -0
- data/lib/facets/time/set.rb +1 -0
- data/lib/facets/time/stamp.rb +46 -0
- data/lib/facets/timer.rb +274 -0
- data/lib/facets/times.rb +431 -0
- data/lib/facets/to_hash.rb +87 -0
- data/lib/facets/tracepoint.rb +209 -0
- data/lib/facets/tuple.rb +325 -0
- data/lib/facets/typecast.rb +260 -0
- data/lib/facets/unboundmethod.rb +4 -0
- data/lib/{core/facets → facets}/unboundmethod/arguments.rb +0 -0
- data/lib/facets/uninheritable.rb +50 -0
- data/lib/facets/uploadutils.rb +464 -0
- data/lib/facets/uri.rb +249 -0
- data/lib/facets/version.rb +122 -0
- data/lib/facets/xmlhash.rb +112 -0
- data/lib/facets/xoxo.rb +259 -0
- data/lib/facets/yaml.rb +66 -0
- data/lib/facets/ziputils.rb +349 -0
- data/log/Changelog.txt +314 -0
- data/log/Fixme.txt +7 -13
- data/log/Testlog.txt +202 -185
- data/log/Todo.txt +177 -257
- data/meta/contact +1 -0
- data/meta/corelibs +49 -0
- data/meta/created +1 -0
- data/meta/download +1 -0
- data/meta/homepage +1 -0
- data/meta/mailinglist +1 -0
- data/meta/project.yaml +3 -14
- data/meta/slogan +1 -0
- data/meta/unixname +1 -0
- data/meta/version +1 -0
- data/script/conflicts +38 -0
- data/script/document +231 -0
- data/script/methods +60 -0
- data/script/test +37 -0
- data/setup.rb +1478 -0
- data/test/array/test_delete.rb +30 -0
- data/test/array/test_indexable.rb +118 -0
- data/test/array/test_merge.rb +22 -0
- data/test/{core/array → array}/test_only.rb +0 -0
- data/test/array/test_pad.rb +33 -0
- data/test/array/test_product.rb +25 -0
- data/test/array/test_rotate.rb +23 -0
- data/test/array/test_select.rb +17 -0
- data/test/{core/array → array}/test_stackable.rb +0 -0
- data/test/binding/test_caller.rb +44 -0
- data/test/binding/test_defined.rb +18 -0
- data/test/binding/test_local_variables.rb +18 -0
- data/test/binding/test_opvars.rb +24 -0
- data/test/binding/test_self.rb +18 -0
- data/test/class/test_descendents.rb +14 -0
- data/test/comparable/test_bound.rb +41 -0
- data/test/comparable/test_cmp.rb +35 -0
- data/test/comparable/test_comparable.rb +52 -0
- data/test/dir/test_ascend.rb +40 -0
- data/test/dir/test_descend.rb +25 -0
- data/test/dir/test_multiglob.rb +41 -0
- data/test/dir/test_parent.rb +11 -0
- data/test/dir/test_recurse.rb +41 -0
- data/test/enumerable/test_cluster_by.rb +22 -0
- data/test/enumerable/test_collect.rb +39 -0
- data/test/enumerable/test_each_by.rb +55 -0
- data/test/enumerable/test_inject.rb +18 -0
- data/test/enumerable/test_mash.rb +38 -0
- data/test/enumerable/test_occur.rb +15 -0
- data/test/{core/enumerable → enumerable}/test_probability.rb +0 -0
- data/test/enumerable/test_uniq_by.rb +13 -0
- data/test/exception/test_exception.rb +17 -0
- data/test/file/test_file.rb +161 -0
- data/test/filetest/test_filetest.rb +10 -0
- data/test/hash/test_alias.rb +16 -0
- data/test/hash/test_at.rb +13 -0
- data/test/hash/test_autonew.rb +11 -0
- data/test/hash/test_collate.rb +33 -0
- data/test/hash/test_delete.rb +28 -0
- data/test/hash/test_insert.rb +13 -0
- data/test/hash/test_inverse.rb +15 -0
- data/test/hash/test_keys.rb +24 -0
- data/test/hash/test_mash.rb +20 -0
- data/test/hash/test_merge.rb +14 -0
- data/test/hash/test_op.rb +42 -0
- data/test/hash/test_rekey.rb +41 -0
- data/test/hash/test_rekey2.rb +37 -0
- data/test/hash/test_select.rb +35 -0
- data/test/hash/test_stringify_keys.rb +21 -0
- data/test/hash/test_swap.rb +11 -0
- data/test/hash/test_symbolize_keys.rb +20 -0
- data/test/hash/test_traverse.rb +22 -0
- data/test/hash/test_update.rb +40 -0
- data/test/{core/hash → hash}/test_weave.rb +0 -0
- data/test/hash/test_zipnew.rb +13 -0
- data/test/integer/test_bitmask.rb +53 -0
- data/test/integer/test_factorial.rb +15 -0
- data/test/integer/test_multiple.rb +14 -0
- data/test/integer/test_of.rb +19 -0
- data/test/integer/test_ordinal.rb +14 -0
- data/test/kernel/test_as.rb +50 -0
- data/test/kernel/test_attr_singleton.rb +41 -0
- data/test/kernel/test_callstack.rb +10 -0
- data/test/kernel/test_constant.rb +18 -0
- data/test/kernel/test_deepcopy.rb +27 -0
- data/test/kernel/test_here.rb +15 -0
- data/test/kernel/test_in.rb +11 -0
- data/test/kernel/test_instance.rb +24 -0
- data/test/kernel/test_not_nil.rb +13 -0
- data/test/{core/kernel → kernel}/test_object.rb +0 -0
- data/test/kernel/test_populate.rb +46 -0
- data/test/kernel/test_resc.rb +12 -0
- data/test/{core/kernel → kernel}/test_returning.rb +0 -0
- data/test/{core/kernel → kernel}/test_silence.rb +0 -0
- data/test/kernel/test_val.rb +27 -0
- data/test/{core/matchdata → matchdata}/test_match.rb +0 -0
- data/test/matchdata/test_matchset.rb +21 -0
- data/test/{core/module → module}/test_abstract.rb +0 -0
- data/test/module/test_alias.rb +44 -0
- data/test/module/test_ancestor.rb +11 -0
- data/test/{core/module → module}/test_clone.rb +0 -0
- data/test/module/test_nesting.rb +38 -0
- data/test/module/test_op.rb +44 -0
- data/test/module/test_pathize.rb +15 -0
- data/test/module/test_revise.rb +174 -0
- data/test/numeric/test_approx.rb +13 -0
- data/test/numeric/test_distance.rb +13 -0
- data/test/numeric/test_round.rb +49 -0
- data/test/proc/test_bind.rb +26 -0
- data/test/proc/test_compose.rb +20 -0
- data/test/proc/test_curry.rb +25 -0
- data/test/proc/test_partial.rb +27 -0
- data/test/proc/test_to_method.rb +26 -0
- data/test/range/test_combine.rb +18 -0
- data/test/range/test_overlap.rb +15 -0
- data/test/range/test_to_r.rb +17 -0
- data/test/range/test_within.rb +36 -0
- data/test/regexp/test_arity.rb +17 -0
- data/test/regexp/test_to_re.rb +17 -0
- data/test/{core/string → string}/test_align.rb +0 -0
- data/test/{core/string → string}/test_bracket.rb +0 -0
- data/test/string/test_camelcase.rb +42 -0
- data/test/string/test_capitalized.rb +27 -0
- data/test/string/test_cleave.rb +32 -0
- data/test/string/test_divide.rb +14 -0
- data/test/string/test_fold.rb +18 -0
- data/test/{core/string → string}/test_interpolate.rb +0 -0
- data/test/string/test_line_wrap.rb +12 -0
- data/test/string/test_mscan.rb +15 -0
- data/test/{core/string → string}/test_natcmp.rb +0 -0
- data/test/string/test_nchar.rb +14 -0
- data/test/string/test_range.rb +23 -0
- data/test/string/test_shatter.rb +14 -0
- data/test/string/test_snakecase.rb +14 -0
- data/test/string/test_stylize.rb +52 -0
- data/test/string/test_subtract.rb +13 -0
- data/test/string/test_tab.rb +234 -0
- data/test/string/test_titlecase.rb +13 -0
- data/test/string/test_to_re.rb +27 -0
- data/test/string/test_to_time.rb +24 -0
- data/test/string/test_underscore.rb +13 -0
- data/test/string/test_words.rb +82 -0
- data/test/string/test_xor.rb +13 -0
- data/test/symbol/test_chomp.rb +15 -0
- data/test/symbol/test_generate.rb +20 -0
- data/test/symbol/test_not.rb +13 -0
- data/test/{core/test_1stclassmethod.rb → test_1stclassmethod.rb} +0 -0
- data/test/test_advisable.rb +71 -0
- data/test/test_annotations.rb +120 -0
- data/test/{more/test_ansicode.rb → test_ansicode.rb} +0 -0
- data/test/test_arguments.rb +56 -0
- data/test/{class/test_association.rb → test_association.rb} +0 -0
- data/test/{class/test_autoarray.rb → test_autoarray.rb} +0 -0
- data/test/{class/test_basicobject.rb → test_basicobject.rb} +0 -0
- data/test/{more/test_bbcode.rb → test_bbcode.rb} +0 -0
- data/test/{mixin/test_binreadable.rb → test_binreadable.rb} +0 -0
- data/test/test_blank.rb +12 -0
- data/test/{core/test_boolean.rb → test_boolean.rb} +0 -0
- data/test/test_buildable.rb +73 -0
- data/test/{more/test_bytes.rb → test_bytes.rb} +0 -0
- data/test/test_cattr.rb +47 -0
- data/test/{more/test_class_extension.rb → test_class_extension.rb} +0 -0
- data/test/{more/test_classmethods.rb → test_classmethods.rb} +0 -0
- data/test/{mixin/test_cloneable.rb → test_cloneable.rb} +0 -0
- data/test/test_command.rb +71 -0
- data/test/{more/test_continuation.rb → test_continuation.rb} +0 -0
- data/test/{class/test_coroutine.rb → test_coroutine.rb} +0 -0
- data/test/{more/test_crypt.rb → test_crypt.rb} +0 -0
- data/test/{more/test_date.rb → test_date.rb} +0 -0
- data/test/{more/test_dependency.rb → test_dependency.rb} +0 -0
- data/test/{class/test_dictionary.rb → test_dictionary.rb} +0 -0
- data/test/test_elementor.rb +39 -0
- data/test/test_elementwise.rb +25 -0
- data/test/{mixin/test_enumerablepass.rb → test_enumerablepass.rb} +0 -0
- data/test/test_equatable.rb +42 -0
- data/test/{core/test_functor.rb → test_functor.rb} +0 -0
- data/test/{more/test_getoptlong.rb → test_getoptlong.rb} +0 -0
- data/test/{class/test_infinity.rb → test_infinity.rb} +0 -0
- data/test/{more/test_inheritor.rb → test_inheritor.rb} +0 -0
- data/test/test_instantiable.rb +37 -0
- data/test/{more/test_instantise.rb → test_instantise.rb} +0 -0
- data/test/{class/test_interval.rb → test_interval.rb} +0 -0
- data/test/{class/test_linkedlist.rb → test_linkedlist.rb} +0 -0
- data/test/{class/test_lrucache.rb → test_lrucache.rb} +0 -0
- data/test/{more/test_memoize.rb → test_memoize.rb} +0 -0
- data/test/test_metaid.rb +39 -0
- data/test/test_methodspace.rb +78 -0
- data/test/{more/test_multipliers.rb → test_multipliers.rb} +0 -0
- data/test/{mixin/test_multiton.rb → test_multiton.rb} +0 -0
- data/test/{class/test_opencascade.rb → test_opencascade.rb} +0 -0
- data/test/{class/test_openobject.rb → test_openobject.rb} +0 -0
- data/test/{more/test_ostruct.rb → test_ostruct.rb} +0 -0
- data/test/test_overload.rb +120 -0
- data/test/{more/test_prototype.rb → test_prototype.rb} +0 -0
- data/test/{more/test_random.rb → test_random.rb} +0 -0
- data/test/{class/test_recorder.rb → test_recorder.rb} +0 -0
- data/test/test_ruby.rb +198 -0
- data/test/test_ruby/array/test_combination.rb +29 -0
- data/test/test_ruby/array/test_permutation.rb +14 -0
- data/test/test_ruby/array/test_product.rb +23 -0
- data/test/test_ruby/kernel/test_tap.rb +19 -0
- data/test/test_ruby/symbol/test_succ.rb +13 -0
- data/test/{more/test_snapshot.rb → test_snapshot.rb} +0 -0
- data/test/test_style.rb +50 -0
- data/test/test_succ.rb +35 -0
- data/test/{class/test_syncarray.rb → test_syncarray.rb} +0 -0
- data/test/{class/test_synchash.rb → test_synchash.rb} +0 -0
- data/test/test_thread.rb +22 -0
- data/test/{class/test_timer.rb → test_timer.rb} +0 -0
- data/test/{more/test_times.rb → test_times.rb} +0 -0
- data/test/test_to_hash.rb +58 -0
- data/test/{class/test_tuple.rb → test_tuple.rb} +0 -0
- data/test/test_typecast.rb +54 -0
- data/test/{mixin/test_uninheritable.rb → test_uninheritable.rb} +0 -0
- data/test/test_uri.rb +36 -0
- data/test/test_xoxo.rb +274 -0
- data/test/time/test_change.rb +15 -0
- data/test/time/test_elapse.rb +13 -0
- data/test/time/test_stamp.rb +28 -0
- metadata +1503 -1127
- data/Rakefile +0 -26
- data/lib/class/facets/association.rb +0 -157
- data/lib/class/facets/autoarray.rb +0 -59
- data/lib/class/facets/basicobject.rb +0 -234
- data/lib/class/facets/buildingblock.rb +0 -219
- data/lib/class/facets/cachedelegator.rb +0 -93
- data/lib/class/facets/coroutine.rb +0 -120
- data/lib/class/facets/dictionary.rb +0 -435
- data/lib/class/facets/downloader.rb +0 -279
- data/lib/class/facets/filelist.rb +0 -493
- data/lib/class/facets/fileshell.rb +0 -198
- data/lib/class/facets/hashbuilder.rb +0 -97
- data/lib/class/facets/heap.rb +0 -27
- data/lib/class/facets/infinity.rb +0 -183
- data/lib/class/facets/interval.rb +0 -266
- data/lib/class/facets/ioredirect.rb +0 -133
- data/lib/class/facets/linkedlist.rb +0 -214
- data/lib/class/facets/lrucache.rb +0 -156
- data/lib/class/facets/minitar.rb +0 -999
- data/lib/class/facets/nackclass.rb +0 -43
- data/lib/class/facets/nullclass.rb +0 -79
- data/lib/class/facets/opencascade.rb +0 -92
- data/lib/class/facets/opencollection.rb +0 -46
- data/lib/class/facets/openhash.rb +0 -41
- data/lib/class/facets/openobject.rb +0 -241
- data/lib/class/facets/orderedhash.rb +0 -42
- data/lib/class/facets/pathlist.rb +0 -106
- data/lib/class/facets/pool.rb +0 -97
- data/lib/class/facets/pqueue.rb +0 -468
- data/lib/class/facets/progressbar.rb +0 -245
- data/lib/class/facets/recorder.rb +0 -97
- data/lib/class/facets/reference.rb +0 -100
- data/lib/class/facets/rwdelegator.rb +0 -79
- data/lib/class/facets/semaphore.rb +0 -97
- data/lib/class/facets/syncarray.rb +0 -122
- data/lib/class/facets/synchash.rb +0 -149
- data/lib/class/facets/timer.rb +0 -247
- data/lib/class/facets/tuple.rb +0 -310
- data/lib/class/facets/version.rb +0 -127
- data/lib/core/facets.rb +0 -1
- data/lib/core/facets/1stclassmethod.rb +0 -117
- data/lib/core/facets/array.rb +0 -12
- data/lib/core/facets/array/conjoin.rb +0 -47
- data/lib/core/facets/array/contains.rb +0 -1
- data/lib/core/facets/array/delete.rb +0 -57
- data/lib/core/facets/array/delete_unless.rb +0 -1
- data/lib/core/facets/array/delete_values.rb +0 -1
- data/lib/core/facets/array/delete_values_at.rb +0 -1
- data/lib/core/facets/array/each_iteration.rb +0 -1
- data/lib/core/facets/array/first.rb +0 -1
- data/lib/core/facets/array/indexable.rb +0 -132
- data/lib/core/facets/array/join_sentence.rb +0 -1
- data/lib/core/facets/array/last.rb +0 -1
- data/lib/core/facets/array/merge.rb +0 -23
- data/lib/core/facets/array/only.rb +0 -20
- data/lib/core/facets/array/pad.rb +0 -45
- data/lib/core/facets/array/poke.rb +0 -1
- data/lib/core/facets/array/pull.rb +0 -1
- data/lib/core/facets/array/rotate.rb +0 -41
- data/lib/core/facets/array/select.rb +0 -15
- data/lib/core/facets/array/splice.rb +0 -30
- data/lib/core/facets/array/stackable.rb +0 -30
- data/lib/core/facets/array/store.rb +0 -1
- data/lib/core/facets/array/to_b.rb +0 -1
- data/lib/core/facets/array/to_h.rb +0 -1
- data/lib/core/facets/array/to_path.rb +0 -1
- data/lib/core/facets/binding.rb +0 -7
- data/lib/core/facets/binding/__DIR__.rb +0 -1
- data/lib/core/facets/binding/__FILE__.rb +0 -1
- data/lib/core/facets/binding/__LINE__.rb +0 -1
- data/lib/core/facets/binding/__callee__.rb +0 -1
- data/lib/core/facets/binding/__method__.rb +0 -1
- data/lib/core/facets/binding/call_stack.rb +0 -1
- data/lib/core/facets/binding/called.rb +0 -1
- data/lib/core/facets/binding/caller.rb +0 -72
- data/lib/core/facets/binding/defined.rb +0 -10
- data/lib/core/facets/binding/eval.rb +0 -17
- data/lib/core/facets/binding/here.rb +0 -1
- data/lib/core/facets/binding/included.rb +0 -1
- data/lib/core/facets/binding/local_variables.rb +0 -1
- data/lib/core/facets/binding/methodname.rb +0 -1
- data/lib/core/facets/binding/op_fetch.rb +0 -1
- data/lib/core/facets/binding/self.rb +0 -12
- data/lib/core/facets/binding/vars.rb +0 -41
- data/lib/core/facets/boolean.rb +0 -161
- data/lib/core/facets/class.rb +0 -6
- data/lib/core/facets/class/cattr.rb +0 -1
- data/lib/core/facets/class/cattr_accessor.rb +0 -1
- data/lib/core/facets/class/cattr_reader.rb +0 -1
- data/lib/core/facets/class/cattr_writer.rb +0 -1
- data/lib/core/facets/class/class_load.rb +0 -1
- data/lib/core/facets/class/class_require.rb +0 -1
- data/lib/core/facets/class/descendents.rb +0 -41
- data/lib/core/facets/class/initializer.rb +0 -36
- data/lib/core/facets/class/mattr.rb +0 -1
- data/lib/core/facets/class/mattr_accessor.rb +0 -1
- data/lib/core/facets/class/mattr_reader.rb +0 -1
- data/lib/core/facets/class/mattr_writer.rb +0 -1
- data/lib/core/facets/class/remove_descendents.rb +0 -19
- data/lib/core/facets/class/remove_subclasses.rb +0 -1
- data/lib/core/facets/class/subclasses.rb +0 -1
- data/lib/core/facets/class/to_proc.rb +0 -1
- data/lib/core/facets/comparable.rb +0 -2
- data/lib/core/facets/comparable/at_least.rb +0 -1
- data/lib/core/facets/comparable/at_most.rb +0 -1
- data/lib/core/facets/comparable/bound.rb +0 -58
- data/lib/core/facets/comparable/cap.rb +0 -1
- data/lib/core/facets/comparable/clip.rb +0 -1
- data/lib/core/facets/comparable/cmp.rb +0 -92
- data/lib/core/facets/conversion.rb +0 -495
- data/lib/core/facets/dir.rb +0 -4
- data/lib/core/facets/dir/ancestor.rb +0 -1
- data/lib/core/facets/dir/ascend.rb +0 -1
- data/lib/core/facets/dir/descend.rb +0 -1
- data/lib/core/facets/dir/ls_r.rb +0 -1
- data/lib/core/facets/dir/multiglob_r.rb +0 -1
- data/lib/core/facets/dir/parent.rb +0 -12
- data/lib/core/facets/dir/recurse.rb +0 -28
- data/lib/core/facets/dir/traverse.rb +0 -56
- data/lib/core/facets/enumerable.rb +0 -9
- data/lib/core/facets/enumerable/cart.rb +0 -1
- data/lib/core/facets/enumerable/cartesian.rb +0 -62
- data/lib/core/facets/enumerable/cartesian_product.rb +0 -1
- data/lib/core/facets/enumerable/cluster_by.rb +0 -1
- data/lib/core/facets/enumerable/collate.rb +0 -0
- data/lib/core/facets/enumerable/collect.rb +0 -164
- data/lib/core/facets/enumerable/collect_if.rb +0 -1
- data/lib/core/facets/enumerable/collect_with_index.rb +0 -1
- data/lib/core/facets/enumerable/combination.rb +0 -114
- data/lib/core/facets/enumerable/combinations.rb +0 -1
- data/lib/core/facets/enumerable/combos.rb +0 -48
- data/lib/core/facets/enumerable/commonality.rb +0 -1
- data/lib/core/facets/enumerable/compact_collect.rb +0 -1
- data/lib/core/facets/enumerable/compact_map.rb +0 -1
- data/lib/core/facets/enumerable/count.rb +0 -175
- data/lib/core/facets/enumerable/divide.rb +0 -1
- data/lib/core/facets/enumerable/duplicates.rb +0 -1
- data/lib/core/facets/enumerable/each.rb +0 -86
- data/lib/core/facets/enumerable/each_by.rb +0 -1
- data/lib/core/facets/enumerable/each_combination.rb +0 -1
- data/lib/core/facets/enumerable/each_combo.rb +0 -1
- data/lib/core/facets/enumerable/each_pair.rb +0 -1
- data/lib/core/facets/enumerable/each_permutation.rb +0 -1
- data/lib/core/facets/enumerable/each_unique_pair.rb +0 -1
- data/lib/core/facets/enumerable/eachn.rb +0 -1
- data/lib/core/facets/enumerable/entropy.rb +0 -1
- data/lib/core/facets/enumerable/filter_collect.rb +0 -1
- data/lib/core/facets/enumerable/filter_map.rb +0 -1
- data/lib/core/facets/enumerable/frequency.rb +0 -1
- data/lib/core/facets/enumerable/graph.rb +0 -1
- data/lib/core/facets/enumerable/group_by.rb +0 -1
- data/lib/core/facets/enumerable/ideal_entropy.rb +0 -1
- data/lib/core/facets/enumerable/inject.rb +0 -1
- data/lib/core/facets/enumerable/injecting.rb +0 -1
- data/lib/core/facets/enumerable/map_if.rb +0 -1
- data/lib/core/facets/enumerable/map_send.rb +0 -1
- data/lib/core/facets/enumerable/map_with_index.rb +0 -1
- data/lib/core/facets/enumerable/mash.rb +0 -50
- data/lib/core/facets/enumerable/mode.rb +0 -1
- data/lib/core/facets/enumerable/modulate.rb +0 -1
- data/lib/core/facets/enumerable/none.rb +0 -1
- data/lib/core/facets/enumerable/nonuniq.rb +0 -1
- data/lib/core/facets/enumerable/occur.rb +0 -1
- data/lib/core/facets/enumerable/one.rb +0 -1
- data/lib/core/facets/enumerable/op_pow.rb +0 -1
- data/lib/core/facets/enumerable/partition_by.rb +0 -1
- data/lib/core/facets/enumerable/permutation.rb +0 -101
- data/lib/core/facets/enumerable/permutation_number.rb +0 -1
- data/lib/core/facets/enumerable/permute.rb +0 -1
- data/lib/core/facets/enumerable/probability.rb +0 -144
- data/lib/core/facets/enumerable/split.rb +0 -113
- data/lib/core/facets/enumerable/sum.rb +0 -1
- data/lib/core/facets/enumerable/to_h.rb +0 -1
- data/lib/core/facets/enumerable/to_hash.rb +0 -1
- data/lib/core/facets/enumerable/uniq_by.rb +0 -1
- data/lib/core/facets/exception/detail.rb +0 -19
- data/lib/core/facets/facets.rb +0 -49
- data/lib/core/facets/file.rb +0 -6
- data/lib/core/facets/file/append.rb +0 -1
- data/lib/core/facets/file/create.rb +0 -1
- data/lib/core/facets/file/null.rb +0 -20
- data/lib/core/facets/file/read.rb +0 -29
- data/lib/core/facets/file/read_binary.rb +0 -1
- data/lib/core/facets/file/read_list.rb +0 -1
- data/lib/core/facets/file/rewrite.rb +0 -1
- data/lib/core/facets/file/rootname.rb +0 -22
- data/lib/core/facets/file/sanitize.rb +0 -14
- data/lib/core/facets/file/split_all.rb +0 -19
- data/lib/core/facets/file/write.rb +0 -113
- data/lib/core/facets/file/writelines.rb +0 -1
- data/lib/core/facets/filetest.rb +0 -1
- data/lib/core/facets/filetest/root.rb +0 -16
- data/lib/core/facets/float.rb +0 -1
- data/lib/core/facets/float/round.rb +0 -8
- data/lib/core/facets/float/round_at.rb +0 -1
- data/lib/core/facets/float/round_off.rb +0 -1
- data/lib/core/facets/float/round_to.rb +0 -1
- data/lib/core/facets/functor.rb +0 -64
- data/lib/core/facets/hash.rb +0 -24
- data/lib/core/facets/hash/alias.rb +0 -28
- data/lib/core/facets/hash/at.rb +0 -7
- data/lib/core/facets/hash/autonew.rb +0 -26
- data/lib/core/facets/hash/collate.rb +0 -44
- data/lib/core/facets/hash/delete.rb +0 -46
- data/lib/core/facets/hash/delete_at.rb +0 -1
- data/lib/core/facets/hash/delete_unless.rb +0 -1
- data/lib/core/facets/hash/delete_values.rb +0 -1
- data/lib/core/facets/hash/delete_values_at.rb +0 -1
- data/lib/core/facets/hash/diff.rb +0 -15
- data/lib/core/facets/hash/each_with_key.rb +0 -12
- data/lib/core/facets/hash/graph.rb +0 -1
- data/lib/core/facets/hash/has_keys.rb +0 -31
- data/lib/core/facets/hash/has_only_keys.rb +0 -1
- data/lib/core/facets/hash/insert.rb +0 -19
- data/lib/core/facets/hash/inverse.rb +0 -27
- data/lib/core/facets/hash/join.rb +0 -14
- data/lib/core/facets/hash/mash.rb +0 -1
- data/lib/core/facets/hash/op.rb +0 -97
- data/lib/core/facets/hash/op_and.rb +0 -1
- data/lib/core/facets/hash/op_div.rb +0 -10
- data/lib/core/facets/hash/op_lshift.rb +0 -1
- data/lib/core/facets/hash/op_minus.rb +0 -1
- data/lib/core/facets/hash/op_mul.rb +0 -1
- data/lib/core/facets/hash/op_or.rb +0 -1
- data/lib/core/facets/hash/op_plus.rb +0 -1
- data/lib/core/facets/hash/pairs_at.rb +0 -15
- data/lib/core/facets/hash/rekey.rb +0 -58
- data/lib/core/facets/hash/replace_each.rb +0 -1
- data/lib/core/facets/hash/reverse_merge.rb +0 -29
- data/lib/core/facets/hash/reverse_update.rb +0 -1
- data/lib/core/facets/hash/swap.rb +0 -36
- data/lib/core/facets/hash/to_h.rb +0 -1
- data/lib/core/facets/hash/to_proc.rb +0 -1
- data/lib/core/facets/hash/to_proc_with_reponse.rb +0 -1
- data/lib/core/facets/hash/to_struct.rb +0 -1
- data/lib/core/facets/hash/traverse.rb +0 -41
- data/lib/core/facets/hash/update.rb +0 -63
- data/lib/core/facets/hash/update_each.rb +0 -1
- data/lib/core/facets/hash/update_keys.rb +0 -1
- data/lib/core/facets/hash/update_values.rb +0 -1
- data/lib/core/facets/hash/zipnew.rb +0 -18
- data/lib/core/facets/indexable.rb +0 -241
- data/lib/core/facets/integer.rb +0 -4
- data/lib/core/facets/integer/bit.rb +0 -1
- data/lib/core/facets/integer/clear_bit.rb +0 -1
- data/lib/core/facets/integer/even.rb +0 -1
- data/lib/core/facets/integer/fac.rb +0 -1
- data/lib/core/facets/integer/factorial.rb +0 -29
- data/lib/core/facets/integer/multiple.rb +0 -44
- data/lib/core/facets/integer/odd.rb +0 -1
- data/lib/core/facets/integer/of.rb +0 -22
- data/lib/core/facets/integer/times_collect.rb +0 -1
- data/lib/core/facets/integer/times_map.rb +0 -1
- data/lib/core/facets/kernel.rb +0 -23
- data/lib/core/facets/kernel/Bit.rb +0 -1
- data/lib/core/facets/kernel/__DIR__.rb +0 -1
- data/lib/core/facets/kernel/__assign__.rb +0 -1
- data/lib/core/facets/kernel/__callee__.rb +0 -1
- data/lib/core/facets/kernel/__class__.rb +0 -1
- data/lib/core/facets/kernel/__get__.rb +0 -1
- data/lib/core/facets/kernel/__method__.rb +0 -1
- data/lib/core/facets/kernel/__real__.rb +0 -1
- data/lib/core/facets/kernel/__set__.rb +0 -1
- data/lib/core/facets/kernel/__singleton_class__.rb +0 -1
- data/lib/core/facets/kernel/as.rb +0 -1
- data/lib/core/facets/kernel/ask.rb +0 -26
- data/lib/core/facets/kernel/assign_from.rb +0 -1
- data/lib/core/facets/kernel/assign_with.rb +0 -1
- data/lib/core/facets/kernel/bitmask.rb +0 -1
- data/lib/core/facets/kernel/bool.rb +0 -1
- data/lib/core/facets/kernel/call_stack.rb +0 -1
- data/lib/core/facets/kernel/called.rb +0 -1
- data/lib/core/facets/kernel/callee.rb +0 -1
- data/lib/core/facets/kernel/callstack.rb +0 -88
- data/lib/core/facets/kernel/class_def.rb +0 -1
- data/lib/core/facets/kernel/complete.rb +0 -1
- data/lib/core/facets/kernel/copy.rb +0 -1
- data/lib/core/facets/kernel/d.rb +0 -1
- data/lib/core/facets/kernel/deep_clone.rb +0 -1
- data/lib/core/facets/kernel/deep_copy.rb +0 -1
- data/lib/core/facets/kernel/deepcopy.rb +0 -59
- data/lib/core/facets/kernel/demo.rb +0 -1
- data/lib/core/facets/kernel/dir.rb +0 -14
- data/lib/core/facets/kernel/eigenclass.rb +0 -1
- data/lib/core/facets/kernel/enable_warnings.rb +0 -1
- data/lib/core/facets/kernel/ergo.rb +0 -40
- data/lib/core/facets/kernel/false.rb +0 -1
- data/lib/core/facets/kernel/fn.rb +0 -1
- data/lib/core/facets/kernel/here.rb +0 -9
- data/lib/core/facets/kernel/in.rb +0 -1
- data/lib/core/facets/kernel/instance.rb +0 -176
- data/lib/core/facets/kernel/instance_assign.rb +0 -1
- data/lib/core/facets/kernel/instance_assume.rb +0 -1
- data/lib/core/facets/kernel/instance_class.rb +0 -1
- data/lib/core/facets/kernel/instance_exec.rb +0 -1
- data/lib/core/facets/kernel/instance_send.rb +0 -1
- data/lib/core/facets/kernel/instance_values.rb +0 -1
- data/lib/core/facets/kernel/is.rb +0 -1
- data/lib/core/facets/kernel/load_local.rb +0 -1
- data/lib/core/facets/kernel/meta.rb +0 -1
- data/lib/core/facets/kernel/meta_alias.rb +0 -1
- data/lib/core/facets/kernel/meta_class.rb +0 -1
- data/lib/core/facets/kernel/meta_def.rb +0 -1
- data/lib/core/facets/kernel/meta_eval.rb +0 -1
- data/lib/core/facets/kernel/metaclass.rb +0 -1
- data/lib/core/facets/kernel/metaid.rb +0 -160
- data/lib/core/facets/kernel/method.rb +0 -1
- data/lib/core/facets/kernel/non_nil.rb +0 -1
- data/lib/core/facets/kernel/not_nil.rb +0 -1
- data/lib/core/facets/kernel/object.rb +0 -68
- data/lib/core/facets/kernel/object_class.rb +0 -1
- data/lib/core/facets/kernel/object_clone.rb +0 -1
- data/lib/core/facets/kernel/object_dup.rb +0 -1
- data/lib/core/facets/kernel/object_hexid.rb +0 -1
- data/lib/core/facets/kernel/object_send.rb +0 -1
- data/lib/core/facets/kernel/op_esc.rb +0 -62
- data/lib/core/facets/kernel/p.rb +0 -1
- data/lib/core/facets/kernel/populate.rb +0 -136
- data/lib/core/facets/kernel/pp_call_stack.rb +0 -1
- data/lib/core/facets/kernel/pp_exception.rb +0 -1
- data/lib/core/facets/kernel/qua_class.rb +0 -1
- data/lib/core/facets/kernel/report.rb +0 -98
- data/lib/core/facets/kernel/require.rb +0 -55
- data/lib/core/facets/kernel/require_all.rb +0 -1
- data/lib/core/facets/kernel/require_local.rb +0 -1
- data/lib/core/facets/kernel/resc.rb +0 -1
- data/lib/core/facets/kernel/respond.rb +0 -23
- data/lib/core/facets/kernel/respond_with_value.rb +0 -1
- data/lib/core/facets/kernel/returning.rb +0 -50
- data/lib/core/facets/kernel/send_as.rb +0 -1
- data/lib/core/facets/kernel/set_from.rb +0 -1
- data/lib/core/facets/kernel/set_with.rb +0 -1
- data/lib/core/facets/kernel/silence.rb +0 -79
- data/lib/core/facets/kernel/silence_stderr.rb +0 -1
- data/lib/core/facets/kernel/silence_stream.rb +0 -1
- data/lib/core/facets/kernel/silence_warnings.rb +0 -1
- data/lib/core/facets/kernel/singleton.rb +0 -1
- data/lib/core/facets/kernel/singleton_class.rb +0 -1
- data/lib/core/facets/kernel/super.rb +0 -158
- data/lib/core/facets/kernel/super_at.rb +0 -1
- data/lib/core/facets/kernel/super_method.rb +0 -1
- data/lib/core/facets/kernel/superior.rb +0 -1
- data/lib/core/facets/kernel/supermethod.rb +0 -1
- data/lib/core/facets/kernel/suppress.rb +0 -1
- data/lib/core/facets/kernel/tap.rb +0 -34
- data/lib/core/facets/kernel/this.rb +0 -1
- data/lib/core/facets/kernel/to_b.rb +0 -1
- data/lib/core/facets/kernel/to_bool.rb +0 -1
- data/lib/core/facets/kernel/true.rb +0 -1
- data/lib/core/facets/kernel/val.rb +0 -40
- data/lib/core/facets/kernel/warn_with_line.rb +0 -1
- data/lib/core/facets/kernel/with.rb +0 -1
- data/lib/core/facets/kernel/with_accessor.rb +0 -1
- data/lib/core/facets/kernel/with_reader.rb +0 -1
- data/lib/core/facets/kernel/with_writer.rb +0 -1
- data/lib/core/facets/kernel/withattr.rb +0 -53
- data/lib/core/facets/matchdata.rb +0 -2
- data/lib/core/facets/matchdata/match.rb +0 -16
- data/lib/core/facets/matchdata/matchset.rb +0 -43
- data/lib/core/facets/matchdata/matchtree.rb +0 -1
- data/lib/core/facets/module.rb +0 -13
- data/lib/core/facets/module/abstract.rb +0 -21
- data/lib/core/facets/module/alias.rb +0 -139
- data/lib/core/facets/module/alias_accessor.rb +0 -1
- data/lib/core/facets/module/alias_method_chain.rb +0 -1
- data/lib/core/facets/module/alias_module_function.rb +0 -1
- data/lib/core/facets/module/alias_reader.rb +0 -1
- data/lib/core/facets/module/alias_setter.rb +0 -1
- data/lib/core/facets/module/alias_switcher.rb +0 -1
- data/lib/core/facets/module/alias_tester.rb +0 -1
- data/lib/core/facets/module/alias_toggler.rb +0 -1
- data/lib/core/facets/module/alias_validator.rb +0 -1
- data/lib/core/facets/module/alias_writer.rb +0 -1
- data/lib/core/facets/module/all_instance_methods.rb +0 -1
- data/lib/core/facets/module/ancestor.rb +0 -1
- data/lib/core/facets/module/attr_accessor.rb +0 -1
- data/lib/core/facets/module/attr_reader.rb +0 -1
- data/lib/core/facets/module/attr_setter.rb +0 -1
- data/lib/core/facets/module/attr_switcher.rb +0 -1
- data/lib/core/facets/module/attr_tester.rb +0 -1
- data/lib/core/facets/module/attr_toggler.rb +0 -1
- data/lib/core/facets/module/attr_validator.rb +0 -1
- data/lib/core/facets/module/attr_writer.rb +0 -1
- data/lib/core/facets/module/basename.rb +0 -1
- data/lib/core/facets/module/by_name.rb +0 -1
- data/lib/core/facets/module/can.rb +0 -1
- data/lib/core/facets/module/cattr.rb +0 -110
- data/lib/core/facets/module/class.rb +0 -1
- data/lib/core/facets/module/class_def.rb +0 -1
- data/lib/core/facets/module/clone.rb +0 -50
- data/lib/core/facets/module/clone_removing.rb +0 -1
- data/lib/core/facets/module/clone_renaming.rb +0 -1
- data/lib/core/facets/module/clone_using.rb +0 -1
- data/lib/core/facets/module/conflict.rb +0 -1
- data/lib/core/facets/module/dirname.rb +0 -1
- data/lib/core/facets/module/include.rb +0 -179
- data/lib/core/facets/module/include_and_extend.rb +0 -1
- data/lib/core/facets/module/include_as.rb +0 -1
- data/lib/core/facets/module/include_function_module.rb +0 -1
- data/lib/core/facets/module/instance_method.rb +0 -1
- data/lib/core/facets/module/instance_method_defined.rb +0 -1
- data/lib/core/facets/module/integrate.rb +0 -1
- data/lib/core/facets/module/is.rb +0 -1
- data/lib/core/facets/module/methods.rb +0 -36
- data/lib/core/facets/module/modify.rb +0 -173
- data/lib/core/facets/module/modspace.rb +0 -1
- data/lib/core/facets/module/module_load.rb +0 -1
- data/lib/core/facets/module/module_method.rb +0 -1
- data/lib/core/facets/module/module_method_defined.rb +0 -1
- data/lib/core/facets/module/module_require.rb +0 -1
- data/lib/core/facets/module/name.rb +0 -122
- data/lib/core/facets/module/nesting.rb +0 -1
- data/lib/core/facets/module/nodef.rb +0 -1
- data/lib/core/facets/module/on_included.rb +0 -1
- data/lib/core/facets/module/op_minus.rb +0 -1
- data/lib/core/facets/module/op_mul.rb +0 -1
- data/lib/core/facets/module/op_plus.rb +0 -1
- data/lib/core/facets/module/private_conflict.rb +0 -1
- data/lib/core/facets/module/protected_conflict.rb +0 -1
- data/lib/core/facets/module/public_conflict.rb +0 -1
- data/lib/core/facets/module/redef.rb +0 -1
- data/lib/core/facets/module/redefine_method.rb +0 -1
- data/lib/core/facets/module/redirect.rb +0 -1
- data/lib/core/facets/module/redirect_method.rb +0 -1
- data/lib/core/facets/module/remove.rb +0 -1
- data/lib/core/facets/module/rename.rb +0 -1
- data/lib/core/facets/module/rename_method.rb +0 -1
- data/lib/core/facets/module/require.rb +0 -57
- data/lib/core/facets/module/revisal.rb +0 -1
- data/lib/core/facets/module/traits.rb +0 -146
- data/lib/core/facets/module/wrap.rb +0 -1
- data/lib/core/facets/module/wrap_method.rb +0 -1
- data/lib/core/facets/nilclass.rb +0 -2
- data/lib/core/facets/nilclass/ergo.rb +0 -1
- data/lib/core/facets/nilclass/status.rb +0 -47
- data/lib/core/facets/nilclass/to_bool.rb +0 -1
- data/lib/core/facets/nilclass/to_f.rb +0 -1
- data/lib/core/facets/nilclass/to_h.rb +0 -1
- data/lib/core/facets/numeric.rb +0 -2
- data/lib/core/facets/numeric/approx.rb +0 -1
- data/lib/core/facets/numeric/distance.rb +0 -1
- data/lib/core/facets/numeric/pred.rb +0 -1
- data/lib/core/facets/numeric/round.rb +0 -78
- data/lib/core/facets/numeric/round_at.rb +0 -1
- data/lib/core/facets/numeric/round_to.rb +0 -1
- data/lib/core/facets/numeric/succ.rb +0 -1
- data/lib/core/facets/numeric/to_b.rb +0 -1
- data/lib/core/facets/proc.rb +0 -4
- data/lib/core/facets/proc/bind.rb +0 -64
- data/lib/core/facets/proc/compose.rb +0 -41
- data/lib/core/facets/proc/fn.rb +0 -12
- data/lib/core/facets/proc/op_mul.rb +0 -1
- data/lib/core/facets/proc/to_h.rb +0 -1
- data/lib/core/facets/proc/to_method.rb +0 -1
- data/lib/core/facets/proc/update.rb +0 -9
- data/lib/core/facets/range.rb +0 -2
- data/lib/core/facets/range/combine.rb +0 -47
- data/lib/core/facets/range/overlap.rb +0 -74
- data/lib/core/facets/range/to_r.rb +0 -1
- data/lib/core/facets/range/to_range.rb +0 -1
- data/lib/core/facets/range/umbrella.rb +0 -1
- data/lib/core/facets/range/within.rb +0 -1
- data/lib/core/facets/regexp.rb +0 -1
- data/lib/core/facets/regexp/arity.rb +0 -17
- data/lib/core/facets/regexp/to_re.rb +0 -1
- data/lib/core/facets/regexp/to_regexp.rb +0 -1
- data/lib/core/facets/stackable.rb +0 -86
- data/lib/core/facets/string.rb +0 -20
- data/lib/core/facets/string/_crypt.rb +0 -1
- data/lib/core/facets/string/align.rb +0 -92
- data/lib/core/facets/string/align_center.rb +0 -1
- data/lib/core/facets/string/align_left.rb +0 -1
- data/lib/core/facets/string/align_right.rb +0 -1
- data/lib/core/facets/string/at.rb +0 -1
- data/lib/core/facets/string/blank.rb +0 -16
- data/lib/core/facets/string/bracket.rb +0 -103
- data/lib/core/facets/string/brief.rb +0 -1
- data/lib/core/facets/string/bytes.rb +0 -1
- data/lib/core/facets/string/camelcase.rb +0 -1
- data/lib/core/facets/string/capitalized.rb +0 -1
- data/lib/core/facets/string/case.rb +0 -84
- data/lib/core/facets/string/chars.rb +0 -1
- data/lib/core/facets/string/cleave.rb +0 -1
- data/lib/core/facets/string/cmp.rb +0 -1
- data/lib/core/facets/string/crypt.rb +0 -22
- data/lib/core/facets/string/dequote.rb +0 -1
- data/lib/core/facets/string/divide.rb +0 -1
- data/lib/core/facets/string/downcase.rb +0 -1
- data/lib/core/facets/string/each_char.rb +0 -1
- data/lib/core/facets/string/each_character.rb +0 -1
- data/lib/core/facets/string/each_word.rb +0 -1
- data/lib/core/facets/string/ends_with.rb +0 -1
- data/lib/core/facets/string/expand_tabs.rb +0 -1
- data/lib/core/facets/string/filter.rb +0 -60
- data/lib/core/facets/string/first.rb +0 -1
- data/lib/core/facets/string/fold.rb +0 -1
- data/lib/core/facets/string/format.rb +0 -1
- data/lib/core/facets/string/indent.rb +0 -1
- data/lib/core/facets/string/index_all.rb +0 -1
- data/lib/core/facets/string/indexable.rb +0 -165
- data/lib/core/facets/string/interpolate.rb +0 -35
- data/lib/core/facets/string/last.rb +0 -1
- data/lib/core/facets/string/lchomp.rb +0 -1
- data/lib/core/facets/string/line_wrap.rb +0 -1
- data/lib/core/facets/string/lines.rb +0 -1
- data/lib/core/facets/string/lowercase.rb +0 -1
- data/lib/core/facets/string/margin.rb +0 -1
- data/lib/core/facets/string/mscan.rb +0 -1
- data/lib/core/facets/string/nchar.rb +0 -80
- data/lib/core/facets/string/op.rb +0 -13
- data/lib/core/facets/string/op_minus.rb +0 -1
- data/lib/core/facets/string/outdent.rb +0 -1
- data/lib/core/facets/string/partitions.rb +0 -78
- data/lib/core/facets/string/peek.rb +0 -1
- data/lib/core/facets/string/poke.rb +0 -1
- data/lib/core/facets/string/pop.rb +0 -1
- data/lib/core/facets/string/pull.rb +0 -1
- data/lib/core/facets/string/push.rb +0 -1
- data/lib/core/facets/string/quote.rb +0 -1
- data/lib/core/facets/string/range.rb +0 -54
- data/lib/core/facets/string/range_all.rb +0 -1
- data/lib/core/facets/string/range_of_line.rb +0 -1
- data/lib/core/facets/string/regesc.rb +0 -30
- data/lib/core/facets/string/rewrite.rb +0 -1
- data/lib/core/facets/string/scan.rb +0 -54
- data/lib/core/facets/string/shatter.rb +0 -1
- data/lib/core/facets/string/shift.rb +0 -1
- data/lib/core/facets/string/snakecase.rb +0 -1
- data/lib/core/facets/string/splice.rb +0 -24
- data/lib/core/facets/string/sprintf.rb +0 -1
- data/lib/core/facets/string/stackable.rb +0 -181
- data/lib/core/facets/string/starts_with.rb +0 -1
- data/lib/core/facets/string/store.rb +0 -1
- data/lib/core/facets/string/succ.rb +0 -1
- data/lib/core/facets/string/tab.rb +0 -1
- data/lib/core/facets/string/taballto.rb +0 -1
- data/lib/core/facets/string/tabs.rb +0 -99
- data/lib/core/facets/string/tabto.rb +0 -1
- data/lib/core/facets/string/titlecase.rb +0 -1
- data/lib/core/facets/string/to_b.rb +0 -1
- data/lib/core/facets/string/to_const.rb +0 -1
- data/lib/core/facets/string/to_date.rb +0 -1
- data/lib/core/facets/string/to_proc.rb +0 -1
- data/lib/core/facets/string/to_re.rb +0 -1
- data/lib/core/facets/string/to_rx.rb +0 -1
- data/lib/core/facets/string/to_time.rb +0 -1
- data/lib/core/facets/string/unbracket.rb +0 -1
- data/lib/core/facets/string/unshift.rb +0 -1
- data/lib/core/facets/string/upcase.rb +0 -1
- data/lib/core/facets/string/uppercase.rb +0 -1
- data/lib/core/facets/string/whitespace.rb +0 -1
- data/lib/core/facets/string/word_filter.rb +0 -1
- data/lib/core/facets/string/word_wrap.rb +0 -1
- data/lib/core/facets/string/words.rb +0 -1
- data/lib/core/facets/string/wrap.rb +0 -189
- data/lib/core/facets/symbol.rb +0 -8
- data/lib/core/facets/symbol/chomp.rb +0 -23
- data/lib/core/facets/symbol/generate.rb +0 -20
- data/lib/core/facets/symbol/lchomp.rb +0 -1
- data/lib/core/facets/symbol/not.rb +0 -28
- data/lib/core/facets/symbol/op_tilde.rb +0 -1
- data/lib/core/facets/symbol/pad.rb +0 -1
- data/lib/core/facets/symbol/shadow.rb +0 -23
- data/lib/core/facets/symbol/succ.rb +0 -20
- data/lib/core/facets/symbol/to_const.rb +0 -1
- data/lib/core/facets/symbol/to_proc.rb +0 -39
- data/lib/core/facets/time.rb +0 -3
- data/lib/core/facets/time/change.rb +0 -28
- data/lib/core/facets/time/stamp.rb +0 -47
- data/lib/core/facets/time/to_date.rb +0 -1
- data/lib/core/facets/time/to_s.rb +0 -1
- data/lib/core/facets/time/to_time.rb +0 -1
- data/lib/core/facets/unboundmethod.rb +0 -5
- data/lib/core/facets/unboundmethod/name.rb +0 -26
- data/lib/mixin/facets/binreadable.rb +0 -224
- data/lib/mixin/facets/buildable.rb +0 -82
- data/lib/mixin/facets/cloneable.rb +0 -90
- data/lib/mixin/facets/enumerablepass.rb +0 -204
- data/lib/mixin/facets/expirable.rb +0 -89
- data/lib/mixin/facets/fileable.rb +0 -155
- data/lib/mixin/facets/instantiable.rb +0 -45
- data/lib/mixin/facets/multiton.rb +0 -357
- data/lib/mixin/facets/registerable.rb +0 -36
- data/lib/mixin/facets/tasksystem.rb +0 -350
- data/lib/mixin/facets/uninheritable.rb +0 -55
- data/lib/mixin/facets/validation.rb +0 -445
- data/lib/more/facets/advice.rb +0 -159
- data/lib/more/facets/annotations.rb +0 -154
- data/lib/more/facets/ansicode.rb +0 -268
- data/lib/more/facets/aop.rb +0 -205
- data/lib/more/facets/arguments.rb +0 -322
- data/lib/more/facets/attributes.rb +0 -133
- data/lib/more/facets/autoreload.rb +0 -150
- data/lib/more/facets/bbcode.rb +0 -346
- data/lib/more/facets/behavior.rb +0 -91
- data/lib/more/facets/bytes.rb +0 -164
- data/lib/more/facets/capsule.rb +0 -254
- data/lib/more/facets/class_extension.rb +0 -94
- data/lib/more/facets/classmethods.rb +0 -157
- data/lib/more/facets/command.rb +0 -479
- data/lib/more/facets/compare_on.rb +0 -91
- data/lib/more/facets/console.rb +0 -107
- data/lib/more/facets/continuation.rb +0 -54
- data/lib/more/facets/crypt.rb +0 -428
- data/lib/more/facets/curry.rb +0 -67
- data/lib/more/facets/cut.rb +0 -190
- data/lib/more/facets/daemonize.rb +0 -50
- data/lib/more/facets/date.rb +0 -79
- data/lib/more/facets/dependency.rb +0 -135
- data/lib/more/facets/duration.rb +0 -534
- data/lib/more/facets/elementor.rb +0 -221
- data/lib/more/facets/eventhook.rb +0 -121
- data/lib/more/facets/fileutils.rb +0 -443
- data/lib/more/facets/getoptlong.rb +0 -83
- data/lib/more/facets/hash/keyize.rb +0 -181
- data/lib/more/facets/inheritor.rb +0 -108
- data/lib/more/facets/instantise.rb +0 -85
- data/lib/more/facets/interface.rb +0 -230
- data/lib/more/facets/lazy.rb +0 -245
- data/lib/more/facets/let.rb +0 -71
- data/lib/more/facets/logger.rb +0 -202
- data/lib/more/facets/main.rb +0 -77
- data/lib/more/facets/memoize.rb +0 -110
- data/lib/more/facets/multipliers.rb +0 -99
- data/lib/more/facets/namespace.rb +0 -113
- data/lib/more/facets/ostruct.rb +0 -226
- data/lib/more/facets/overload.rb +0 -100
- data/lib/more/facets/paramix.rb +0 -148
- data/lib/more/facets/pathname.rb +0 -120
- data/lib/more/facets/prepend.rb +0 -92
- data/lib/more/facets/prototype.rb +0 -89
- data/lib/more/facets/random.rb +0 -373
- data/lib/more/facets/rbconfig.rb +0 -55
- data/lib/more/facets/rbsystem.rb +0 -227
- data/lib/more/facets/recursive.rb +0 -67
- data/lib/more/facets/reflection.rb +0 -103
- data/lib/more/facets/settings.rb +0 -250
- data/lib/more/facets/shellwords.rb +0 -43
- data/lib/more/facets/snapshot.rb +0 -183
- data/lib/more/facets/stylize.rb +0 -213
- data/lib/more/facets/thread.rb +0 -55
- data/lib/more/facets/times.rb +0 -346
- data/lib/more/facets/tracepoint.rb +0 -194
- data/lib/more/facets/typecast.rb +0 -233
- data/lib/more/facets/uploadutils.rb +0 -441
- data/lib/more/facets/yaml.rb +0 -40
- data/lib/more/facets/ziputils.rb +0 -357
- data/meta/MANIFEST +0 -947
- data/meta/VERSION +0 -1
- data/task/install +0 -98
- data/task/rdoc +0 -5
- data/task/test +0 -40
- data/test/class/test_buildingblock.rb +0 -36
- data/test/core/array/test_delete.rb +0 -38
- data/test/core/array/test_indexable.rb +0 -126
- data/test/core/array/test_merge.rb +0 -29
- data/test/core/array/test_pad.rb +0 -35
- data/test/core/array/test_rotate.rb +0 -31
- data/test/core/array/test_select.rb +0 -20
- data/test/core/binding/test_caller.rb +0 -47
- data/test/core/binding/test_defined.rb +0 -17
- data/test/core/binding/test_eval.rb +0 -17
- data/test/core/binding/test_here.rb +0 -17
- data/test/core/binding/test_self.rb +0 -17
- data/test/core/binding/test_vars.rb +0 -31
- data/test/core/class/test_descendents.rb +0 -17
- data/test/core/class/test_initializer.rb +0 -19
- data/test/core/class/test_remove_descendents.rb +0 -19
- data/test/core/comparable/test_bound.rb +0 -43
- data/test/core/comparable/test_cmp.rb +0 -63
- data/test/core/dir/test_parent.rb +0 -14
- data/test/core/dir/test_recurse.rb +0 -32
- data/test/core/dir/test_traverse.rb +0 -30
- data/test/core/enumerable/test_cartesian.rb +0 -39
- data/test/core/enumerable/test_collect.rb +0 -63
- data/test/core/enumerable/test_combination.rb +0 -48
- data/test/core/enumerable/test_count.rb +0 -63
- data/test/core/enumerable/test_each.rb +0 -77
- data/test/core/enumerable/test_mash.rb +0 -51
- data/test/core/enumerable/test_permutation.rb +0 -16
- data/test/core/enumerable/test_split.rb +0 -52
- data/test/core/exception/test_detail.rb +0 -19
- data/test/core/file/test_null.rb +0 -12
- data/test/core/file/test_read.rb +0 -34
- data/test/core/file/test_sanitize.rb +0 -52
- data/test/core/file/test_split_all.rb +0 -32
- data/test/core/file/test_write.rb +0 -76
- data/test/core/filetest/test_root.rb +0 -14
- data/test/core/hash/test_alias.rb +0 -18
- data/test/core/hash/test_at.rb +0 -17
- data/test/core/hash/test_autonew.rb +0 -13
- data/test/core/hash/test_collate.rb +0 -33
- data/test/core/hash/test_delete.rb +0 -30
- data/test/core/hash/test_each_with_key.rb +0 -16
- data/test/core/hash/test_has_keys.rb +0 -19
- data/test/core/hash/test_insert.rb +0 -15
- data/test/core/hash/test_inverse.rb +0 -17
- data/test/core/hash/test_op.rb +0 -51
- data/test/core/hash/test_rekey.rb +0 -39
- data/test/core/hash/test_reverse_merge.rb +0 -16
- data/test/core/hash/test_select.rb +0 -43
- data/test/core/hash/test_swap.rb +0 -21
- data/test/core/hash/test_traverse.rb +0 -24
- data/test/core/hash/test_update.rb +0 -35
- data/test/core/hash/test_zipnew.rb +0 -15
- data/test/core/integer/test_bitmask.rb +0 -53
- data/test/core/integer/test_factorial.rb +0 -17
- data/test/core/integer/test_multiple.rb +0 -37
- data/test/core/integer/test_of.rb +0 -21
- data/test/core/kernel/test_callstack.rb +0 -21
- data/test/core/kernel/test_constant.rb +0 -21
- data/test/core/kernel/test_deepcopy.rb +0 -30
- data/test/core/kernel/test_instance.rb +0 -63
- data/test/core/kernel/test_metaid.rb +0 -47
- data/test/core/kernel/test_populate.rb +0 -49
- data/test/core/kernel/test_report.rb +0 -9
- data/test/core/kernel/test_super.rb +0 -53
- data/test/core/kernel/test_tap.rb +0 -21
- data/test/core/kernel/test_val.rb +0 -42
- data/test/core/kernel/test_withattr.rb +0 -38
- data/test/core/matchdata/test_matchset.rb +0 -24
- data/test/core/module/test_alias.rb +0 -47
- data/test/core/module/test_cattr.rb +0 -50
- data/test/core/module/test_include.rb +0 -43
- data/test/core/module/test_modify.rb +0 -177
- data/test/core/module/test_name.rb +0 -47
- data/test/core/module/test_traits.rb +0 -51
- data/test/core/numeric/test_round.rb +0 -59
- data/test/core/proc/test_bind.rb +0 -38
- data/test/core/proc/test_compose.rb +0 -28
- data/test/core/range/test_combine.rb +0 -21
- data/test/core/range/test_overlap.rb +0 -39
- data/test/core/regexp/test_arity.rb +0 -20
- data/test/core/string/test_blank.rb +0 -18
- data/test/core/string/test_case.rb +0 -29
- data/test/core/string/test_crypt.rb +0 -17
- data/test/core/string/test_filter.rb +0 -21
- data/test/core/string/test_indexable.rb +0 -68
- data/test/core/string/test_nchar.rb +0 -16
- data/test/core/string/test_op.rb +0 -14
- data/test/core/string/test_partitions.rb +0 -52
- data/test/core/string/test_range.rb +0 -25
- data/test/core/string/test_regesc.rb +0 -21
- data/test/core/string/test_scan.rb +0 -31
- data/test/core/string/test_stackable.rb +0 -94
- data/test/core/string/test_tabs.rb +0 -236
- data/test/core/string/test_wrap.rb +0 -82
- data/test/core/symbol/test_chomp.rb +0 -17
- data/test/core/symbol/test_generate.rb +0 -13
- data/test/core/symbol/test_not.rb +0 -16
- data/test/core/symbol/test_shadow.rb +0 -14
- data/test/core/symbol/test_succ.rb +0 -15
- data/test/core/symbol/test_to_proc.rb +0 -35
- data/test/core/test_conversion.rb +0 -207
- data/test/core/time/test_change.rb +0 -17
- data/test/core/time/test_elapse.rb +0 -16
- data/test/core/time/test_stamp.rb +0 -28
- data/test/mixin/test_buildable.rb +0 -40
- data/test/mixin/test_instantiable.rb +0 -24
- data/test/more/hash/test_keyize.rb +0 -45
- data/test/more/test_advice.rb +0 -71
- data/test/more/test_annotations.rb +0 -99
- data/test/more/test_aop.rb +0 -49
- data/test/more/test_arguments.rb +0 -56
- data/test/more/test_attributes.rb +0 -26
- data/test/more/test_compare_on.rb +0 -44
- data/test/more/test_curry.rb +0 -28
- data/test/more/test_cut.rb +0 -22
- data/test/more/test_elementor.rb +0 -59
- data/test/more/test_interface.rb +0 -84
- data/test/more/test_let.rb +0 -18
- data/test/more/test_namespace.rb +0 -78
- data/test/more/test_overload.rb +0 -44
- data/test/more/test_paramix.rb +0 -86
- data/test/more/test_stylize.rb +0 -139
- data/test/more/test_thread.rb +0 -23
- data/test/more/test_typecast.rb +0 -56
data/NOTES
CHANGED
|
@@ -1,29 +1,60 @@
|
|
|
1
|
-
|
|
1
|
+
= Release Notes
|
|
2
2
|
|
|
3
|
-
Facets 2.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
Facets 2.4 is a major step forward for Facets. It is perhaps
|
|
4
|
+
the release that 2.0 should have been, but of course it took
|
|
5
|
+
the actual 2.0 release to make 2.4 possible. Some annoyances
|
|
6
|
+
you may have encountered in updating your code to 2.0 are now
|
|
7
|
+
fixed. And from 2.4 on, Facets will now be settling down into
|
|
8
|
+
simple refinement release cycles.
|
|
9
|
+
|
|
10
|
+
The main change under the hood is to bring everything up to
|
|
11
|
+
the top lib/facets/ directory. No longer are the libraries
|
|
12
|
+
sorted by category. I had done so for a long time to make
|
|
13
|
+
it easier to track the various libs, but in the end it was
|
|
14
|
+
only making it more diffcult to deal with build tools and
|
|
15
|
+
packaging.
|
|
16
|
+
|
|
17
|
+
For the end-user, the largest change is a new emphisis on:
|
|
18
|
+
|
|
19
|
+
require 'facets'
|
|
20
|
+
|
|
21
|
+
This is better than cherry-picking methods. It may seem counter-
|
|
22
|
+
intuitive, but it actually proves more advantantages to do this
|
|
23
|
+
for the sake of interoperability than the practice of cherry-picking.
|
|
24
|
+
The reason is simply because others may have cherry-picked different
|
|
25
|
+
methods, and those distinctions go unaccounted and untested.
|
|
26
|
+
|
|
27
|
+
Also with this release, to bolster the use of require 'facets',
|
|
28
|
+
some lack-luster extensions have been deprecated and namespace usage
|
|
29
|
+
has been improved. In addition, we are getting very close to full
|
|
30
|
+
ActiveSupport, and Ruby 1.9, interoperability. Expect this
|
|
31
|
+
to be complete in the next minor release or two.
|
|
32
|
+
|
|
33
|
+
This is still a bit of an early release. There remain a few
|
|
34
|
+
libraries to adjust for the new design considerations, but I
|
|
35
|
+
wanted to get this new design out as soon as possible so others
|
|
36
|
+
could adjust their code sooner rather than later. I'll be catching
|
|
37
|
+
up on the CHANGES list over the next few minor release.
|
|
38
|
+
|
|
39
|
+
== As of 2.3
|
|
9
40
|
|
|
10
41
|
Amoung other changes with this release, cloneable.rb is
|
|
11
42
|
now a true deep dup/clone mixin; tracepoint.rb returns
|
|
12
|
-
to the library
|
|
43
|
+
to the library.
|
|
13
44
|
|
|
14
|
-
As of 2.2.1:
|
|
45
|
+
== As of 2.2.1:
|
|
15
46
|
|
|
16
47
|
This release get rid of the underlying methods subdir.
|
|
17
48
|
All method redirects are now in core, to ensure
|
|
18
49
|
there are no more name clashes.
|
|
19
50
|
|
|
20
|
-
As of 2.2.0:
|
|
51
|
+
== As of 2.2.0:
|
|
21
52
|
|
|
22
53
|
This release provides improved rdocs and prepares facets for
|
|
23
54
|
use with RUby 1.9. It also adds Matthew Harris' duration.rb
|
|
24
55
|
library. Bug thanks to Matthew!
|
|
25
56
|
|
|
26
|
-
As of 2.1.0:
|
|
57
|
+
== As of 2.1.0:
|
|
27
58
|
|
|
28
59
|
Major changes include a new and much-improved command.rb,
|
|
29
60
|
a new BiCrypt class for simple two-way crypotgraphy,
|
data/README
CHANGED
|
@@ -16,7 +16,19 @@ The "more" additions are a collection of classes, modules and light meta-systems
|
|
|
16
16
|
|
|
17
17
|
== Documentation
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Facets has special documentation needs due to it's extensive bredth. For this reason, RDocs are not automatically generated when installing via RubyGems. Unfortunatgely this also prevents RI docs from being created. Hopefully we can remedy this in the future. In the mean time you can manually create them by navigating to the package directory (either the gem or tgz) and running 'rdoc --ri-site' (recommended destination).
|
|
20
|
+
|
|
21
|
+
Online documentaiton is available at http://facets.rubyforge.org/learn.html. There is a "Quick Doc" feature that can be a bit more convenient then the usual RDocs. Prior to 2.3.1 off-line docs had to be downloaded via a separate package, but this is no longer the case. I've seen past the stigma of not including documentation along with the package itself (the extra 500K isn't even a floppy disk folks!), so you will find them in the doc/ directory of whatever package you have choosen to install. In fact, a good package installer should give you the option to install those in the appropriate place in your system (eg. in /usr/share/doc/facets/).
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
== RELEASE NOTES
|
|
25
|
+
|
|
26
|
+
Please see NOTES file.
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
== Changes
|
|
30
|
+
|
|
31
|
+
Please see CHANGES file.
|
|
20
32
|
|
|
21
33
|
|
|
22
34
|
== Installation
|
|
@@ -66,11 +78,6 @@ Facets holds to the notion that the more we can reasonably integrate into a comm
|
|
|
66
78
|
* One-stop Shop and Installation
|
|
67
79
|
|
|
68
80
|
|
|
69
|
-
== Status
|
|
70
|
-
|
|
71
|
-
The current status of Facets is very good. While some libs could still use some "finishing" work, all are highly API stable and functional.
|
|
72
|
-
|
|
73
|
-
|
|
74
81
|
== Usage
|
|
75
82
|
|
|
76
83
|
For detailed usage of any given method or module please refer to the API RDocs.
|
|
@@ -110,18 +117,6 @@ Using a Facets/MORE library of modules, classes or microframeworks is essentiall
|
|
|
110
117
|
Again, for details pertaining to the functionality of each feature, please see the API Docs.
|
|
111
118
|
|
|
112
119
|
|
|
113
|
-
# PLEASE IGNORE THIS FOR NOW
|
|
114
|
-
|
|
115
|
-
It is possible to eliminate the need for the 'facets/' prefix on requires if the Facets libpaths are added to the LOAD_PATH. But this isn't as straight-forward as it is for most libraries b/c of the layout of Facets library.
|
|
116
|
-
|
|
117
|
-
require 'facets-topload'
|
|
118
|
-
require 'basicobject'
|
|
119
|
-
|
|
120
|
-
Understand that on the off chance that another library has the same name as one of Facets' everything will still work fine. You will just not be able to use the prefixless shortcut to require it.
|
|
121
|
-
|
|
122
|
-
# END IGNORE.
|
|
123
|
-
|
|
124
|
-
|
|
125
120
|
== Method File Names
|
|
126
121
|
|
|
127
122
|
Operator method redirect files are stored using English names. For instance for Proc#* is 'proc/op_mul'.
|
|
@@ -192,17 +187,12 @@ The Ruby license is a dual license that also provides for use of the GPL. Comple
|
|
|
192
187
|
Acknowledgments and Copyrights for particular snippets of borrowed code are given in their respective source. All licenses are either compatible with the Ruby license (namely the GPL) or the original author has given permission for inclusion of their code under such license.
|
|
193
188
|
|
|
194
189
|
|
|
195
|
-
== Pitch
|
|
196
|
-
|
|
197
|
-
ALL YOUR BASE ARE BELONG TO RUBY!
|
|
198
190
|
|
|
191
|
+
ALL YOUR BASE ARE BELONG TO RUBY!
|
|
199
192
|
|
|
200
|
-
----
|
|
201
193
|
|
|
202
|
-
|
|
194
|
+
Ruby Facets, Copyright (c)2005,2006,2007,2008 Thomas Sawyer
|
|
203
195
|
|
|
204
|
-
|
|
196
|
+
Do you Ruby? (http://ruby-lang.org)
|
|
205
197
|
|
|
206
|
-
Copyright (c)2007 Thomas Sawyer
|
|
207
198
|
|
|
208
|
-
Do you Ruby? (http://ruby-lang.org)
|
data/doc/History.txt
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
= Facets History
|
|
2
|
+
|
|
3
|
+
This is a record of some musings along the way in the creatiojn of Facets.
|
|
4
|
+
It is not in any way all that important. Its' simply here to give some historical
|
|
5
|
+
context to development and to provide and cues for recollection.
|
|
6
|
+
|
|
7
|
+
== On the Name "Ruby Facets"
|
|
8
|
+
|
|
9
|
+
A lot of mental anguish went into finding this good project name Ruby Facets. Of course, in the end only one name can take the honor. Other good names which were considered: Calibre, Florida and California, Warchest w/ Atomix, Downs & Ace, Trix & Atomx and even Pillbox & Pills (a _why suggestion). Then the names that almost won out and were used for a good while: Nano Methods and Mega Modules --great names but a little too "fad". Finally let's not forget even older "working" titles that were used along the way: Raspberry, ABC, Succ and the very original Tomslib.
|
|
10
|
+
|
|
11
|
+
== Feature that May Return
|
|
12
|
+
|
|
13
|
+
[EXTACTED FROM README]
|
|
14
|
+
|
|
15
|
+
It is possible to eliminate the need for the 'facets/' prefix on requires if the Facets libpaths are added to the LOAD_PATH. But this isn't as straight-forward as it is for most libraries b/c of the layout of Facets library.
|
|
16
|
+
|
|
17
|
+
require 'facets-topload'
|
|
18
|
+
require 'basicobject'
|
|
19
|
+
|
|
20
|
+
Understand that on the off chance that another library has the same name as one of Facets' everything will still work fine. You will just not be able to use the prefixless shortcut to require it.
|
|
21
|
+
|
|
22
|
+
== Some convesion extemnsions that turned out to be bad.
|
|
23
|
+
|
|
24
|
+
class Symbol
|
|
25
|
+
|
|
26
|
+
# Same functionality as before, just a touch more efficient.
|
|
27
|
+
#
|
|
28
|
+
#--
|
|
29
|
+
# CHANGE transami@gmail.com - removed #freeze from #id2name
|
|
30
|
+
# BAD BAD. Somehow it breaks things. Very weired breaks too,
|
|
31
|
+
# like making Time#parse alwsy output Time.now _after_ first use.
|
|
32
|
+
#++
|
|
33
|
+
|
|
34
|
+
def to_s
|
|
35
|
+
@to_s || (@to_s = id2name)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Symbol's really are just simplified strings.
|
|
39
|
+
# Thus #to_str seems quite reasonable.
|
|
40
|
+
# This uses the Kernal#String method.
|
|
41
|
+
#--
|
|
42
|
+
# Maybe just change to #to_s?
|
|
43
|
+
# BTW: This would be lots faster, I bet, if implemented in core.
|
|
44
|
+
#
|
|
45
|
+
# NOTE This causes Struct.new to bomb!
|
|
46
|
+
#++
|
|
47
|
+
|
|
48
|
+
def to_str
|
|
49
|
+
String( self )
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
== String#to_a extension is too dangerous
|
|
55
|
+
|
|
56
|
+
class String
|
|
57
|
+
|
|
58
|
+
# Essentially makes #to_a an alias for split,
|
|
59
|
+
# with the excpetion that if no divider is given
|
|
60
|
+
# then the array is split on charaters, and
|
|
61
|
+
# NOT on the global input record divider ($/).
|
|
62
|
+
#
|
|
63
|
+
# WARNING There is a slight chance of
|
|
64
|
+
# incompatability with other libraries which
|
|
65
|
+
# depend on spliting with $/ (although doing
|
|
66
|
+
# so is a very bad idea!).
|
|
67
|
+
|
|
68
|
+
#def to_a(div=//,limit=0)
|
|
69
|
+
# split(div,limit)
|
|
70
|
+
#end
|
|
71
|
+
|
|
72
|
+
end
|
|
73
|
+
|
data/doc/html/api.css
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
body {
|
|
2
|
+
margin: 0;
|
|
3
|
+
padding: 0;
|
|
4
|
+
background: url(img/fade_red_down.png) repeat-x;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
h1 {
|
|
8
|
+
font-size: 54px;
|
|
9
|
+
font-variant: small-caps;
|
|
10
|
+
background: transparent;
|
|
11
|
+
color: white;
|
|
12
|
+
margin: 0px 0px;
|
|
13
|
+
padding: 12px 15px 40px 0px;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
h2 {
|
|
17
|
+
font-size: 24px;
|
|
18
|
+
/* font-variant: small-caps; */
|
|
19
|
+
margin: 40px 10px 10px -3px;
|
|
20
|
+
/* padding-left: 36px;
|
|
21
|
+
background: url(img/ruby.gif) -1px 0px no-repeat; */
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
p {
|
|
25
|
+
margin: 10px 0px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
ul {
|
|
29
|
+
margin: 0px 0px;
|
|
30
|
+
padding-left: 15px;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
li {
|
|
34
|
+
list-style-type: disc;
|
|
35
|
+
list-style-image: url(’img/ruby.gif’);
|
|
36
|
+
text-indent: 5px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
img {
|
|
40
|
+
border: none;
|
|
41
|
+
margin: 2px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
pre {
|
|
45
|
+
background: black;
|
|
46
|
+
color: white;
|
|
47
|
+
font-family: monospace;
|
|
48
|
+
padding: 20px;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.content {
|
|
52
|
+
width: 84%;
|
|
53
|
+
margin: 0 auto;
|
|
54
|
+
border: 0px solid red;
|
|
55
|
+
padding-bottom: 30px;
|
|
56
|
+
background: transparent;
|
|
57
|
+
font-family: Micorsoft sans-serif, sans-serif;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.main {
|
|
61
|
+
background: url(img/ruby.png) -10px -60px no-repeat;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.nav {
|
|
65
|
+
position: absolute;
|
|
66
|
+
right: 10px;
|
|
67
|
+
top: 10px;
|
|
68
|
+
background: url(img/ruby.gif) no-repeat white;
|
|
69
|
+
color: red;
|
|
70
|
+
border: 2px solid red;
|
|
71
|
+
padding: 5px 5px 5px 36px;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.nav a {
|
|
75
|
+
color: red;
|
|
76
|
+
font-weight: bold;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
|
|
@@ -0,0 +1,894 @@
|
|
|
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: Array</title>
|
|
8
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
9
|
+
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
|
10
|
+
|
|
11
|
+
<script language="JavaScript" type="text/javascript">
|
|
12
|
+
// <![CDATA[
|
|
13
|
+
|
|
14
|
+
function toggleSource( id )
|
|
15
|
+
{
|
|
16
|
+
var elem
|
|
17
|
+
var link
|
|
18
|
+
|
|
19
|
+
if( document.getElementById )
|
|
20
|
+
{
|
|
21
|
+
elem = document.getElementById( id )
|
|
22
|
+
link = document.getElementById( "l_" + id )
|
|
23
|
+
}
|
|
24
|
+
else if ( document.all )
|
|
25
|
+
{
|
|
26
|
+
elem = eval( "document.all." + id )
|
|
27
|
+
link = eval( "document.all.l_" + id )
|
|
28
|
+
}
|
|
29
|
+
else
|
|
30
|
+
return false;
|
|
31
|
+
|
|
32
|
+
if( elem.style.display == "block" )
|
|
33
|
+
{
|
|
34
|
+
elem.style.display = "none"
|
|
35
|
+
link.innerHTML = "show source"
|
|
36
|
+
}
|
|
37
|
+
else
|
|
38
|
+
{
|
|
39
|
+
elem.style.display = "block"
|
|
40
|
+
link.innerHTML = "hide source"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function openCode( url )
|
|
45
|
+
{
|
|
46
|
+
window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
|
|
47
|
+
}
|
|
48
|
+
// ]]>
|
|
49
|
+
</script>
|
|
50
|
+
</head>
|
|
51
|
+
|
|
52
|
+
<body>
|
|
53
|
+
<table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
|
|
54
|
+
<td class="file-title"><span class="file-title-prefix">Class</span><br />Array</td>
|
|
55
|
+
<td align="right">
|
|
56
|
+
<table cellspacing="0" cellpadding="2">
|
|
57
|
+
<tr valign="top">
|
|
58
|
+
<td>In:</td>
|
|
59
|
+
<td>
|
|
60
|
+
<a href="../files/lib/facets/ruby_rb.html">lib/facets/ruby.rb</a>
|
|
61
|
+
<a href="../files/lib/facets/blank_rb.html">lib/facets/blank.rb</a>
|
|
62
|
+
<a href="../files/lib/facets/boolean_rb.html">lib/facets/boolean.rb</a>
|
|
63
|
+
<a href="../files/lib/facets/to_hash_rb.html">lib/facets/to_hash.rb</a>
|
|
64
|
+
<a href="../files/lib/facets/array/product_rb.html">lib/facets/array/product.rb</a>
|
|
65
|
+
<a href="../files/lib/facets/array/not_empty_rb.html">lib/facets/array/not_empty.rb</a>
|
|
66
|
+
<a href="../files/lib/facets/array/rotate_rb.html">lib/facets/array/rotate.rb</a>
|
|
67
|
+
<a href="../files/lib/facets/array/conjoin_rb.html">lib/facets/array/conjoin.rb</a>
|
|
68
|
+
<a href="../files/lib/facets/array/indexable_rb.html">lib/facets/array/indexable.rb</a>
|
|
69
|
+
<a href="../files/lib/facets/array/merge_rb.html">lib/facets/array/merge.rb</a>
|
|
70
|
+
<a href="../files/lib/facets/array/traverse_rb.html">lib/facets/array/traverse.rb</a>
|
|
71
|
+
<a href="../files/lib/facets/array/select_rb.html">lib/facets/array/select.rb</a>
|
|
72
|
+
<a href="../files/lib/facets/array/only_rb.html">lib/facets/array/only.rb</a>
|
|
73
|
+
<a href="../files/lib/facets/array/delete_rb.html">lib/facets/array/delete.rb</a>
|
|
74
|
+
<a href="../files/lib/facets/array/splice_rb.html">lib/facets/array/splice.rb</a>
|
|
75
|
+
<a href="../files/lib/facets/array/stackable_rb.html">lib/facets/array/stackable.rb</a>
|
|
76
|
+
<a href="../files/lib/facets/array/pad_rb.html">lib/facets/array/pad.rb</a>
|
|
77
|
+
</td>
|
|
78
|
+
</tr>
|
|
79
|
+
<tr>
|
|
80
|
+
<td>Parent:</td>
|
|
81
|
+
<td>
|
|
82
|
+
<a href="Object.html">
|
|
83
|
+
Object
|
|
84
|
+
</a>
|
|
85
|
+
</td>
|
|
86
|
+
</tr>
|
|
87
|
+
</table>
|
|
88
|
+
</td>
|
|
89
|
+
</tr>
|
|
90
|
+
</table>
|
|
91
|
+
<!-- banner header -->
|
|
92
|
+
|
|
93
|
+
<div id="bodyContent">
|
|
94
|
+
<div id="content">
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
<div class="sectiontitle">Methods</div>
|
|
100
|
+
<ul>
|
|
101
|
+
<li><a href="#M000116">**</a></li>
|
|
102
|
+
<li><a href="#M000112">combination</a></li>
|
|
103
|
+
<li><a href="#M000120">conjoin</a></li>
|
|
104
|
+
<li><a href="#M000126">delete_unless</a></li>
|
|
105
|
+
<li><a href="#M000127">delete_values</a></li>
|
|
106
|
+
<li><a href="#M000128">delete_values_at</a></li>
|
|
107
|
+
<li><a href="#M000121">merge!</a></li>
|
|
108
|
+
<li><a href="#M000117">not_empty?</a></li>
|
|
109
|
+
<li><a href="#M000125">only</a></li>
|
|
110
|
+
<li><a href="#M000130">pad</a></li>
|
|
111
|
+
<li><a href="#M000131">pad!</a></li>
|
|
112
|
+
<li><a href="#M000113">permutation</a></li>
|
|
113
|
+
<li><a href="#M000111">product</a></li>
|
|
114
|
+
<li><a href="#M000118">rotate</a></li>
|
|
115
|
+
<li><a href="#M000119">rotate!</a></li>
|
|
116
|
+
<li><a href="#M000124">select!</a></li>
|
|
117
|
+
<li><a href="#M000129">splice</a></li>
|
|
118
|
+
<li><a href="#M000114">to_b</a></li>
|
|
119
|
+
<li><a href="#M000115">to_h</a></li>
|
|
120
|
+
<li><a href="#M000122">traverse</a></li>
|
|
121
|
+
<li><a href="#M000123">traverse!</a></li>
|
|
122
|
+
</ul>
|
|
123
|
+
|
|
124
|
+
<div class="sectiontitle">Included Modules</div>
|
|
125
|
+
<ul>
|
|
126
|
+
<li><a href="Indexable.html">Indexable</a></li>
|
|
127
|
+
<li><a href="Stackable.html">Stackable</a></li>
|
|
128
|
+
</ul>
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
<div class="sectiontitle">Public Instance methods</div>
|
|
135
|
+
<div class="method">
|
|
136
|
+
<div class="title">
|
|
137
|
+
<a name="M000116"></a><b>**</b>(*enums, &block)
|
|
138
|
+
</div>
|
|
139
|
+
<div class="description">
|
|
140
|
+
<p>
|
|
141
|
+
Alias for <a href="Array.html#M000111">product</a>
|
|
142
|
+
</p>
|
|
143
|
+
</div>
|
|
144
|
+
</div>
|
|
145
|
+
<div class="method">
|
|
146
|
+
<div class="title">
|
|
147
|
+
<a name="M000112"></a><b>combination</b>(k=2) {|s.values_at(*idx)| ...}
|
|
148
|
+
</div>
|
|
149
|
+
<div class="description">
|
|
150
|
+
<p>
|
|
151
|
+
Yields the block to each unique <a
|
|
152
|
+
href="Array.html#M000112">combination</a> of <em>n</em> elements.
|
|
153
|
+
</p>
|
|
154
|
+
<pre>
|
|
155
|
+
a = %w|a b c d|
|
|
156
|
+
a.combination(3)
|
|
157
|
+
</pre>
|
|
158
|
+
<p>
|
|
159
|
+
produces
|
|
160
|
+
</p>
|
|
161
|
+
<pre>
|
|
162
|
+
[["a", "b", "c"],
|
|
163
|
+
["a", "b", "d"],
|
|
164
|
+
["a", "c", "d"],
|
|
165
|
+
["b", "c", "d"]]
|
|
166
|
+
</pre>
|
|
167
|
+
<p>
|
|
168
|
+
CREDIT: Florian Gross
|
|
169
|
+
</p>
|
|
170
|
+
</div>
|
|
171
|
+
<div class="sourcecode">
|
|
172
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000112_source')" id="l_M000112_source">show source</a> ]</p>
|
|
173
|
+
<div id="M000112_source" class="dyn-source">
|
|
174
|
+
<pre>
|
|
175
|
+
<span class="ruby-comment cmt"># File lib/facets/ruby.rb, line 65</span>
|
|
176
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">combination</span>(<span class="ruby-identifier">k</span>=<span class="ruby-value">2</span>)
|
|
177
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
|
|
178
|
+
<span class="ruby-identifier">s</span> = <span class="ruby-identifier">to_a</span>
|
|
179
|
+
<span class="ruby-identifier">n</span> = <span class="ruby-identifier">s</span>.<span class="ruby-identifier">size</span>
|
|
180
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> (<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-identifier">n</span>) <span class="ruby-operator">===</span> <span class="ruby-identifier">k</span>
|
|
181
|
+
<span class="ruby-identifier">idx</span> = (<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-identifier">k</span>).<span class="ruby-identifier">to_a</span>
|
|
182
|
+
<span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
|
|
183
|
+
<span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">values_at</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">idx</span>)
|
|
184
|
+
<span class="ruby-identifier">i</span> = <span class="ruby-identifier">k</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
|
|
185
|
+
<span class="ruby-identifier">i</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">idx</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">k</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">i</span>
|
|
186
|
+
<span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">i</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
|
|
187
|
+
<span class="ruby-identifier">idx</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
188
|
+
(<span class="ruby-identifier">i</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-operator">...</span> <span class="ruby-identifier">k</span>).<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">j</span><span class="ruby-operator">|</span> <span class="ruby-identifier">idx</span>[<span class="ruby-identifier">j</span>] = <span class="ruby-identifier">idx</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">j</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">i</span>}
|
|
189
|
+
<span class="ruby-keyword kw">end</span>
|
|
190
|
+
<span class="ruby-keyword kw">else</span>
|
|
191
|
+
<span class="ruby-identifier">to_enum</span>(<span class="ruby-identifier">:combination</span>, <span class="ruby-identifier">k</span>)
|
|
192
|
+
<span class="ruby-keyword kw">end</span>
|
|
193
|
+
<span class="ruby-comment cmt">#a = []</span>
|
|
194
|
+
<span class="ruby-comment cmt">#s = self</span>
|
|
195
|
+
<span class="ruby-comment cmt">#n = s.size</span>
|
|
196
|
+
<span class="ruby-comment cmt">#return unless (1..n) === k</span>
|
|
197
|
+
<span class="ruby-comment cmt">#dx = (0...k).to_a</span>
|
|
198
|
+
<span class="ruby-comment cmt">#loop do</span>
|
|
199
|
+
<span class="ruby-comment cmt"># a << s.values_at(*idx)</span>
|
|
200
|
+
<span class="ruby-comment cmt"># i = k - 1</span>
|
|
201
|
+
<span class="ruby-comment cmt"># i -= 1 while idx[i] == n - k + i</span>
|
|
202
|
+
<span class="ruby-comment cmt"># break if i < 0</span>
|
|
203
|
+
<span class="ruby-comment cmt"># idx[i] += 1</span>
|
|
204
|
+
<span class="ruby-comment cmt"># (i + 1 ... k).each {|j| idx[j] = idx[i] + j - i}</span>
|
|
205
|
+
<span class="ruby-comment cmt">#end</span>
|
|
206
|
+
<span class="ruby-comment cmt">#a</span>
|
|
207
|
+
<span class="ruby-keyword kw">end</span>
|
|
208
|
+
</pre>
|
|
209
|
+
</div>
|
|
210
|
+
</div>
|
|
211
|
+
</div>
|
|
212
|
+
<div class="method">
|
|
213
|
+
<div class="title">
|
|
214
|
+
<a name="M000120"></a><b>conjoin</b>(*args) {|i, *slice(i,2)| ...}
|
|
215
|
+
</div>
|
|
216
|
+
<div class="description">
|
|
217
|
+
<p>
|
|
218
|
+
This is more advnaced form of join. It allows for fine control of
|
|
219
|
+
separators.
|
|
220
|
+
</p>
|
|
221
|
+
<p>
|
|
222
|
+
NOTE: The old version used to default it‘s separator to ",
|
|
223
|
+
" and default the terminating separator to " and ". This is
|
|
224
|
+
no longer the case. You must specifically provide these parameters.
|
|
225
|
+
</p>
|
|
226
|
+
<pre>
|
|
227
|
+
[1,2,3].conjoin
|
|
228
|
+
=> "123"
|
|
229
|
+
|
|
230
|
+
[1,2,3].conjoin(', ', ' and ')
|
|
231
|
+
=> "1, 2 and 3
|
|
232
|
+
|
|
233
|
+
[1,2,3].conjoin(', ', :last => ' or ')
|
|
234
|
+
=> "1, 2 or 3
|
|
235
|
+
|
|
236
|
+
[1,2,3].conjoin('; ', -1 => ' & ')
|
|
237
|
+
=> "1; 2 & 3
|
|
238
|
+
|
|
239
|
+
[1,2,3,4].conjoin{ |i, a, b| i % 2 == 0 ? '.' : '-' }
|
|
240
|
+
=> "1.2-3.4"
|
|
241
|
+
|
|
242
|
+
[1,1,2,2].conjoin{ |i, a, b| a == b ? '=' : '!=' }
|
|
243
|
+
=> "1=1!=2=2"
|
|
244
|
+
|
|
245
|
+
CREDIT: Trans
|
|
246
|
+
</pre>
|
|
247
|
+
</div>
|
|
248
|
+
<div class="sourcecode">
|
|
249
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000120_source')" id="l_M000120_source">show source</a> ]</p>
|
|
250
|
+
<div id="M000120_source" class="dyn-source">
|
|
251
|
+
<pre>
|
|
252
|
+
<span class="ruby-comment cmt"># File lib/facets/array/conjoin.rb, line 30</span>
|
|
253
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">conjoin</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
|
254
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">first</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">size</span> <span class="ruby-operator"><</span> <span class="ruby-value">2</span>
|
|
255
|
+
|
|
256
|
+
<span class="ruby-identifier">sep</span> = []
|
|
257
|
+
|
|
258
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
|
|
259
|
+
(<span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>).<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
|
260
|
+
<span class="ruby-identifier">sep</span> <span class="ruby-operator"><<</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">i</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">slice</span>(<span class="ruby-identifier">i</span>,<span class="ruby-value">2</span>))
|
|
261
|
+
<span class="ruby-keyword kw">end</span>
|
|
262
|
+
<span class="ruby-keyword kw">else</span>
|
|
263
|
+
<span class="ruby-identifier">options</span> = (<span class="ruby-constant">Hash</span><span class="ruby-operator">===</span><span class="ruby-identifier">args</span>.<span class="ruby-identifier">last</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">pop</span> <span class="ruby-operator">:</span> {}
|
|
264
|
+
<span class="ruby-identifier">separator</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span> <span class="ruby-operator">||</span> <span class="ruby-value str">""</span>
|
|
265
|
+
<span class="ruby-identifier">options</span>[<span class="ruby-value">-1</span>] = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">shift</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">empty?</span>
|
|
266
|
+
|
|
267
|
+
<span class="ruby-identifier">sep</span> = [<span class="ruby-identifier">separator</span>] <span class="ruby-operator">*</span> (<span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)
|
|
268
|
+
|
|
269
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">:last</span>)
|
|
270
|
+
<span class="ruby-identifier">options</span>[<span class="ruby-value">-1</span>] = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">:last</span>)
|
|
271
|
+
<span class="ruby-keyword kw">end</span>
|
|
272
|
+
|
|
273
|
+
<span class="ruby-identifier">options</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">||=</span> <span class="ruby-value str">" and "</span>
|
|
274
|
+
|
|
275
|
+
<span class="ruby-identifier">options</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">i</span>, <span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">sep</span>[<span class="ruby-identifier">i</span>] = <span class="ruby-identifier">s</span>}
|
|
276
|
+
<span class="ruby-keyword kw">end</span>
|
|
277
|
+
<span class="ruby-identifier">zip</span>(<span class="ruby-identifier">sep</span>).<span class="ruby-identifier">join</span>
|
|
278
|
+
<span class="ruby-keyword kw">end</span>
|
|
279
|
+
</pre>
|
|
280
|
+
</div>
|
|
281
|
+
</div>
|
|
282
|
+
</div>
|
|
283
|
+
<div class="method">
|
|
284
|
+
<div class="title">
|
|
285
|
+
<a name="M000126"></a><b>delete_unless</b>(&block)
|
|
286
|
+
</div>
|
|
287
|
+
<div class="description">
|
|
288
|
+
<p>
|
|
289
|
+
Inverse of delete_if.
|
|
290
|
+
</p>
|
|
291
|
+
<pre>
|
|
292
|
+
[1,2,3].delete_unless{ |x| x < 2 }
|
|
293
|
+
=> [1,2]
|
|
294
|
+
|
|
295
|
+
CREDIT: Daniel Schierbeck
|
|
296
|
+
</pre>
|
|
297
|
+
</div>
|
|
298
|
+
<div class="sourcecode">
|
|
299
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000126_source')" id="l_M000126_source">show source</a> ]</p>
|
|
300
|
+
<div id="M000126_source" class="dyn-source">
|
|
301
|
+
<pre>
|
|
302
|
+
<span class="ruby-comment cmt"># File lib/facets/array/delete.rb, line 10</span>
|
|
303
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete_unless</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
|
304
|
+
<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">element</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">element</span>) }
|
|
305
|
+
<span class="ruby-keyword kw">end</span>
|
|
306
|
+
</pre>
|
|
307
|
+
</div>
|
|
308
|
+
</div>
|
|
309
|
+
</div>
|
|
310
|
+
<div class="method">
|
|
311
|
+
<div class="title">
|
|
312
|
+
<a name="M000127"></a><b>delete_values</b>(*values)
|
|
313
|
+
</div>
|
|
314
|
+
<div class="description">
|
|
315
|
+
<p>
|
|
316
|
+
Delete multiple values from array.
|
|
317
|
+
</p>
|
|
318
|
+
<pre>
|
|
319
|
+
a = [1,2,3,4]
|
|
320
|
+
a.delete_values(1,2) #=> [1,2]
|
|
321
|
+
a #=> [3,4]
|
|
322
|
+
</pre>
|
|
323
|
+
<p>
|
|
324
|
+
CREDIT: Trans
|
|
325
|
+
</p>
|
|
326
|
+
</div>
|
|
327
|
+
<div class="sourcecode">
|
|
328
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000127_source')" id="l_M000127_source">show source</a> ]</p>
|
|
329
|
+
<div id="M000127_source" class="dyn-source">
|
|
330
|
+
<pre>
|
|
331
|
+
<span class="ruby-comment cmt"># File lib/facets/array/delete.rb, line 22</span>
|
|
332
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete_values</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">values</span>)
|
|
333
|
+
<span class="ruby-identifier">d</span> = []
|
|
334
|
+
<span class="ruby-identifier">values</span>.<span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">d</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">delete</span>(<span class="ruby-identifier">v</span>) }
|
|
335
|
+
<span class="ruby-identifier">d</span>
|
|
336
|
+
<span class="ruby-keyword kw">end</span>
|
|
337
|
+
</pre>
|
|
338
|
+
</div>
|
|
339
|
+
</div>
|
|
340
|
+
</div>
|
|
341
|
+
<div class="method">
|
|
342
|
+
<div class="title">
|
|
343
|
+
<a name="M000128"></a><b>delete_values_at</b>(*selectors)
|
|
344
|
+
</div>
|
|
345
|
+
<div class="description">
|
|
346
|
+
<p>
|
|
347
|
+
Delete multiple values from array given indexes or index range.
|
|
348
|
+
</p>
|
|
349
|
+
<pre>
|
|
350
|
+
a = [1,2,3,4]
|
|
351
|
+
a.delete_values_at(1,2) #=> [2,3]
|
|
352
|
+
a #=> [1,4]
|
|
353
|
+
a = [1,2,3,4]
|
|
354
|
+
a.delete_values_at(0..2) #=> [1,2,3]
|
|
355
|
+
a #=> [4]
|
|
356
|
+
</pre>
|
|
357
|
+
<p>
|
|
358
|
+
NOTE: It would be nice to see delete_at incorporate this funcitonaility.
|
|
359
|
+
</p>
|
|
360
|
+
<pre>
|
|
361
|
+
CREDIT: Trans
|
|
362
|
+
</pre>
|
|
363
|
+
</div>
|
|
364
|
+
<div class="sourcecode">
|
|
365
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000128_source')" id="l_M000128_source">show source</a> ]</p>
|
|
366
|
+
<div id="M000128_source" class="dyn-source">
|
|
367
|
+
<pre>
|
|
368
|
+
<span class="ruby-comment cmt"># File lib/facets/array/delete.rb, line 43</span>
|
|
369
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete_values_at</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">selectors</span>)
|
|
370
|
+
<span class="ruby-identifier">idx</span> = []
|
|
371
|
+
<span class="ruby-identifier">selectors</span>.<span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
|
372
|
+
<span class="ruby-keyword kw">case</span> <span class="ruby-identifier">i</span>
|
|
373
|
+
<span class="ruby-keyword kw">when</span> <span class="ruby-constant">Range</span>
|
|
374
|
+
<span class="ruby-identifier">idx</span>.<span class="ruby-identifier">concat</span>( <span class="ruby-identifier">i</span>.<span class="ruby-identifier">to_a</span> )
|
|
375
|
+
<span class="ruby-keyword kw">else</span>
|
|
376
|
+
<span class="ruby-identifier">idx</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">i</span>.<span class="ruby-identifier">to_i</span>
|
|
377
|
+
<span class="ruby-keyword kw">end</span>
|
|
378
|
+
}
|
|
379
|
+
<span class="ruby-identifier">idx</span>.<span class="ruby-identifier">uniq!</span>
|
|
380
|
+
<span class="ruby-identifier">dvals</span> = <span class="ruby-identifier">values_at</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">idx</span>)
|
|
381
|
+
<span class="ruby-identifier">idx</span> = (<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-identifier">size</span>).<span class="ruby-identifier">to_a</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">idx</span>
|
|
382
|
+
<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">replace</span>( <span class="ruby-identifier">values_at</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">idx</span>) )
|
|
383
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">dvals</span>
|
|
384
|
+
<span class="ruby-keyword kw">end</span>
|
|
385
|
+
</pre>
|
|
386
|
+
</div>
|
|
387
|
+
</div>
|
|
388
|
+
</div>
|
|
389
|
+
<div class="method">
|
|
390
|
+
<div class="title">
|
|
391
|
+
<a name="M000121"></a><b>merge!</b>( other )
|
|
392
|
+
</div>
|
|
393
|
+
<div class="description">
|
|
394
|
+
<p>
|
|
395
|
+
In place merge.
|
|
396
|
+
</p>
|
|
397
|
+
<pre>
|
|
398
|
+
a = [1,2]
|
|
399
|
+
a.merge! [2,3]
|
|
400
|
+
a => [1,2,3]
|
|
401
|
+
|
|
402
|
+
CREDIT: Trans
|
|
403
|
+
</pre>
|
|
404
|
+
</div>
|
|
405
|
+
<div class="sourcecode">
|
|
406
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000121_source')" id="l_M000121_source">show source</a> ]</p>
|
|
407
|
+
<div id="M000121_source" class="dyn-source">
|
|
408
|
+
<pre>
|
|
409
|
+
<span class="ruby-comment cmt"># File lib/facets/array/merge.rb, line 11</span>
|
|
410
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">merge!</span>( <span class="ruby-identifier">other</span> )
|
|
411
|
+
<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">replace</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">other</span>))
|
|
412
|
+
<span class="ruby-keyword kw">end</span>
|
|
413
|
+
</pre>
|
|
414
|
+
</div>
|
|
415
|
+
</div>
|
|
416
|
+
</div>
|
|
417
|
+
<div class="method">
|
|
418
|
+
<div class="title">
|
|
419
|
+
<a name="M000117"></a><b>not_empty?</b>()
|
|
420
|
+
</div>
|
|
421
|
+
<div class="description">
|
|
422
|
+
<p>
|
|
423
|
+
Not empty?
|
|
424
|
+
</p>
|
|
425
|
+
<pre>
|
|
426
|
+
[].not_empty? #=> false
|
|
427
|
+
[1,2].not_empty? #=> true
|
|
428
|
+
</pre>
|
|
429
|
+
</div>
|
|
430
|
+
<div class="sourcecode">
|
|
431
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000117_source')" id="l_M000117_source">show source</a> ]</p>
|
|
432
|
+
<div id="M000117_source" class="dyn-source">
|
|
433
|
+
<pre>
|
|
434
|
+
<span class="ruby-comment cmt"># File lib/facets/array/not_empty.rb, line 8</span>
|
|
435
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">not_empty?</span>
|
|
436
|
+
<span class="ruby-operator">!</span><span class="ruby-identifier">empty?</span>
|
|
437
|
+
<span class="ruby-keyword kw">end</span>
|
|
438
|
+
</pre>
|
|
439
|
+
</div>
|
|
440
|
+
</div>
|
|
441
|
+
</div>
|
|
442
|
+
<div class="method">
|
|
443
|
+
<div class="title">
|
|
444
|
+
<a name="M000125"></a><b>only</b>()
|
|
445
|
+
</div>
|
|
446
|
+
<div class="description">
|
|
447
|
+
<p>
|
|
448
|
+
Returns the <em><a href="Array.html#M000125">only</a></em> element in the
|
|
449
|
+
array. Raises an IndexError if the array‘s size is not 1.
|
|
450
|
+
</p>
|
|
451
|
+
<pre>
|
|
452
|
+
[5].only # -> 5
|
|
453
|
+
[1,2,3].only # -> IndexError
|
|
454
|
+
[].only # -> IndexError
|
|
455
|
+
|
|
456
|
+
CREDIT: Gavin Sinclair
|
|
457
|
+
CREDIT: Noah Gibbs
|
|
458
|
+
</pre>
|
|
459
|
+
</div>
|
|
460
|
+
<div class="sourcecode">
|
|
461
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000125_source')" id="l_M000125_source">show source</a> ]</p>
|
|
462
|
+
<div id="M000125_source" class="dyn-source">
|
|
463
|
+
<pre>
|
|
464
|
+
<span class="ruby-comment cmt"># File lib/facets/array/only.rb, line 13</span>
|
|
465
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">only</span>
|
|
466
|
+
<span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
|
|
467
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-constant">IndexError</span>, <span class="ruby-value str">"Array#only called on non-single-element array"</span>
|
|
468
|
+
<span class="ruby-keyword kw">end</span>
|
|
469
|
+
<span class="ruby-identifier">first</span>
|
|
470
|
+
<span class="ruby-keyword kw">end</span>
|
|
471
|
+
</pre>
|
|
472
|
+
</div>
|
|
473
|
+
</div>
|
|
474
|
+
</div>
|
|
475
|
+
<div class="method">
|
|
476
|
+
<div class="title">
|
|
477
|
+
<a name="M000130"></a><b>pad</b>(len, val=nil)
|
|
478
|
+
</div>
|
|
479
|
+
<div class="description">
|
|
480
|
+
<p>
|
|
481
|
+
Pad an array with a given <tt>value</tt> upto a given <tt>length</tt>.
|
|
482
|
+
</p>
|
|
483
|
+
<pre>
|
|
484
|
+
[0,1,2].pad(6,"a") #=> [0,1,2,"a","a","a"]
|
|
485
|
+
</pre>
|
|
486
|
+
<p>
|
|
487
|
+
If <tt>length</tt> is a negative number padding will be added to the
|
|
488
|
+
beginning of the array.
|
|
489
|
+
</p>
|
|
490
|
+
<pre>
|
|
491
|
+
[0,1,2].pad(-6,"a") #=> ["a","a","a",0,1,2]
|
|
492
|
+
|
|
493
|
+
CREDIT: Richard Laugesen
|
|
494
|
+
</pre>
|
|
495
|
+
</div>
|
|
496
|
+
<div class="sourcecode">
|
|
497
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000130_source')" id="l_M000130_source">show source</a> ]</p>
|
|
498
|
+
<div id="M000130_source" class="dyn-source">
|
|
499
|
+
<pre>
|
|
500
|
+
<span class="ruby-comment cmt"># File lib/facets/array/pad.rb, line 14</span>
|
|
501
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pad</span>(<span class="ruby-identifier">len</span>, <span class="ruby-identifier">val</span>=<span class="ruby-keyword kw">nil</span>)
|
|
502
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">dup</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">>=</span> <span class="ruby-identifier">len</span>.<span class="ruby-identifier">abs</span>
|
|
503
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">len</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
|
|
504
|
+
<span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>((<span class="ruby-identifier">len</span><span class="ruby-operator">+</span><span class="ruby-identifier">size</span>).<span class="ruby-identifier">abs</span>,<span class="ruby-identifier">val</span>) <span class="ruby-operator">+</span> <span class="ruby-keyword kw">self</span>
|
|
505
|
+
<span class="ruby-keyword kw">else</span>
|
|
506
|
+
<span class="ruby-keyword kw">self</span> <span class="ruby-operator">+</span> <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">len</span><span class="ruby-operator">-</span><span class="ruby-identifier">size</span>,<span class="ruby-identifier">val</span>)
|
|
507
|
+
<span class="ruby-keyword kw">end</span>
|
|
508
|
+
<span class="ruby-keyword kw">end</span>
|
|
509
|
+
</pre>
|
|
510
|
+
</div>
|
|
511
|
+
</div>
|
|
512
|
+
</div>
|
|
513
|
+
<div class="method">
|
|
514
|
+
<div class="title">
|
|
515
|
+
<a name="M000131"></a><b>pad!</b>(len, val=nil)
|
|
516
|
+
</div>
|
|
517
|
+
<div class="description">
|
|
518
|
+
<p>
|
|
519
|
+
Like <a href="Array.html#M000130">pad</a> but changes the array in place.
|
|
520
|
+
</p>
|
|
521
|
+
<pre>
|
|
522
|
+
a = [0,1,2]
|
|
523
|
+
a.pad!(6,"x")
|
|
524
|
+
a #=> [0,1,2,"x","x","x"]
|
|
525
|
+
|
|
526
|
+
CREDIT: Richard Laugesen
|
|
527
|
+
</pre>
|
|
528
|
+
</div>
|
|
529
|
+
<div class="sourcecode">
|
|
530
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000131_source')" id="l_M000131_source">show source</a> ]</p>
|
|
531
|
+
<div id="M000131_source" class="dyn-source">
|
|
532
|
+
<pre>
|
|
533
|
+
<span class="ruby-comment cmt"># File lib/facets/array/pad.rb, line 31</span>
|
|
534
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pad!</span>(<span class="ruby-identifier">len</span>, <span class="ruby-identifier">val</span>=<span class="ruby-keyword kw">nil</span>)
|
|
535
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">>=</span> <span class="ruby-identifier">len</span>.<span class="ruby-identifier">abs</span>
|
|
536
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">len</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
|
|
537
|
+
<span class="ruby-identifier">replace</span> <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>((<span class="ruby-identifier">len</span><span class="ruby-operator">+</span><span class="ruby-identifier">size</span>).<span class="ruby-identifier">abs</span>,<span class="ruby-identifier">val</span>) <span class="ruby-operator">+</span> <span class="ruby-keyword kw">self</span>
|
|
538
|
+
<span class="ruby-keyword kw">else</span>
|
|
539
|
+
<span class="ruby-identifier">concat</span> <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">len</span><span class="ruby-operator">-</span><span class="ruby-identifier">size</span>,<span class="ruby-identifier">val</span>)
|
|
540
|
+
<span class="ruby-keyword kw">end</span>
|
|
541
|
+
<span class="ruby-keyword kw">end</span>
|
|
542
|
+
</pre>
|
|
543
|
+
</div>
|
|
544
|
+
</div>
|
|
545
|
+
</div>
|
|
546
|
+
<div class="method">
|
|
547
|
+
<div class="title">
|
|
548
|
+
<a name="M000113"></a><b>permutation</b>(n=size) {|[]| ...}
|
|
549
|
+
</div>
|
|
550
|
+
<div class="description">
|
|
551
|
+
<p>
|
|
552
|
+
Permutation provids the possible orders of an enumerable. Each is indexed
|
|
553
|
+
by a <a href="Array.html#M000113">permutation</a> number. The maximum
|
|
554
|
+
number of arrangements is the factorial of the size of the array.
|
|
555
|
+
</p>
|
|
556
|
+
<pre>
|
|
557
|
+
CREDIT: Shin-ichiro Hara
|
|
558
|
+
</pre>
|
|
559
|
+
</div>
|
|
560
|
+
<div class="sourcecode">
|
|
561
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000113_source')" id="l_M000113_source">show source</a> ]</p>
|
|
562
|
+
<div id="M000113_source" class="dyn-source">
|
|
563
|
+
<pre>
|
|
564
|
+
<span class="ruby-comment cmt"># File lib/facets/ruby.rb, line 104</span>
|
|
565
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">permutation</span>(<span class="ruby-identifier">n</span>=<span class="ruby-identifier">size</span>)
|
|
566
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">size</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">n</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">n</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span>
|
|
567
|
+
<span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
568
|
+
<span class="ruby-keyword kw">yield</span>([])
|
|
569
|
+
<span class="ruby-keyword kw">else</span>
|
|
570
|
+
<span class="ruby-keyword kw">self</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>].<span class="ruby-identifier">permutation</span>(<span class="ruby-identifier">n</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span>
|
|
571
|
+
(<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-identifier">n</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
|
572
|
+
<span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">x</span>[<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-identifier">i</span>] <span class="ruby-operator">+</span> [<span class="ruby-identifier">first</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">x</span>[<span class="ruby-identifier">i</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>])
|
|
573
|
+
<span class="ruby-keyword kw">end</span>
|
|
574
|
+
<span class="ruby-keyword kw">end</span>
|
|
575
|
+
<span class="ruby-keyword kw">self</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>].<span class="ruby-identifier">permutation</span>(<span class="ruby-identifier">n</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span>
|
|
576
|
+
<span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">x</span>)
|
|
577
|
+
<span class="ruby-keyword kw">end</span>
|
|
578
|
+
<span class="ruby-keyword kw">end</span>
|
|
579
|
+
<span class="ruby-keyword kw">end</span>
|
|
580
|
+
</pre>
|
|
581
|
+
</div>
|
|
582
|
+
</div>
|
|
583
|
+
</div>
|
|
584
|
+
<div class="method">
|
|
585
|
+
<div class="title">
|
|
586
|
+
<a name="M000111"></a><b>product</b>(*enums, &block)
|
|
587
|
+
</div>
|
|
588
|
+
<div class="description">
|
|
589
|
+
<p>
|
|
590
|
+
Provides the cross-<a href="Array.html#M000111">product</a> of two or more
|
|
591
|
+
Enumerables. This is the class-level method. The instance method calls on
|
|
592
|
+
this.
|
|
593
|
+
</p>
|
|
594
|
+
<pre>
|
|
595
|
+
Enumerable.cartesian_product([1,2], [4], ["apple", "banana"])
|
|
596
|
+
#=> [[1, 4, "apple"], [1, 4, "banana"], [2, 4, "apple"], [2, 4, "banana"]]
|
|
597
|
+
|
|
598
|
+
Enumerable.cartesian_product([1,2], [3,4])
|
|
599
|
+
#=> [[1, 3], [1, 4], [2, 3], [2, 4]]
|
|
600
|
+
|
|
601
|
+
a = []
|
|
602
|
+
[1,2].cart([4,5]){|elem| a << elem }
|
|
603
|
+
a #=> [[1, 4],[1, 5],[2, 4],[2, 5]]
|
|
604
|
+
|
|
605
|
+
CREDIT: Thomas Hafner
|
|
606
|
+
</pre>
|
|
607
|
+
</div>
|
|
608
|
+
<div class="aka">
|
|
609
|
+
This method is also aliased as
|
|
610
|
+
<a href="Array.html#M000116">**</a>
|
|
611
|
+
</div>
|
|
612
|
+
<div class="sourcecode">
|
|
613
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000111_source')" id="l_M000111_source">show source</a> ]</p>
|
|
614
|
+
<div id="M000111_source" class="dyn-source">
|
|
615
|
+
<pre>
|
|
616
|
+
<span class="ruby-comment cmt"># File lib/facets/ruby.rb, line 32</span>
|
|
617
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">product</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">enums</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
|
618
|
+
<span class="ruby-identifier">enums</span>.<span class="ruby-identifier">unshift</span> <span class="ruby-keyword kw">self</span>
|
|
619
|
+
<span class="ruby-identifier">result</span> = [[]]
|
|
620
|
+
<span class="ruby-keyword kw">while</span> [] <span class="ruby-operator">!=</span> <span class="ruby-identifier">enums</span>
|
|
621
|
+
<span class="ruby-identifier">t</span>, <span class="ruby-identifier">result</span> = <span class="ruby-identifier">result</span>, []
|
|
622
|
+
<span class="ruby-identifier">b</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">enums</span> = <span class="ruby-identifier">enums</span>
|
|
623
|
+
<span class="ruby-identifier">t</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span>
|
|
624
|
+
<span class="ruby-identifier">b</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">n</span><span class="ruby-operator">|</span>
|
|
625
|
+
<span class="ruby-identifier">result</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">a</span> <span class="ruby-operator">+</span> [<span class="ruby-identifier">n</span>]
|
|
626
|
+
<span class="ruby-keyword kw">end</span>
|
|
627
|
+
<span class="ruby-keyword kw">end</span>
|
|
628
|
+
<span class="ruby-keyword kw">end</span>
|
|
629
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
|
|
630
|
+
<span class="ruby-identifier">result</span>.<span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">e</span>) }
|
|
631
|
+
<span class="ruby-keyword kw">else</span>
|
|
632
|
+
<span class="ruby-identifier">result</span>
|
|
633
|
+
<span class="ruby-keyword kw">end</span>
|
|
634
|
+
<span class="ruby-keyword kw">end</span>
|
|
635
|
+
</pre>
|
|
636
|
+
</div>
|
|
637
|
+
</div>
|
|
638
|
+
</div>
|
|
639
|
+
<div class="method">
|
|
640
|
+
<div class="title">
|
|
641
|
+
<a name="M000118"></a><b>rotate</b>(n=1)
|
|
642
|
+
</div>
|
|
643
|
+
<div class="description">
|
|
644
|
+
<p>
|
|
645
|
+
Rotates an array‘s elements from back to front n times.
|
|
646
|
+
</p>
|
|
647
|
+
<pre>
|
|
648
|
+
[1,2,3].rotate #=> [3,1,2]
|
|
649
|
+
[3,1,2].rotate #=> [2,3,1]
|
|
650
|
+
[3,1,2].rotate #=> [1,2,3]
|
|
651
|
+
[1,2,3].rotate(3) #=> [1,2,3]
|
|
652
|
+
</pre>
|
|
653
|
+
<p>
|
|
654
|
+
A negative parameter reverses the order from front to back.
|
|
655
|
+
</p>
|
|
656
|
+
<pre>
|
|
657
|
+
[1,2,3].rotate(-1) #=> [2,3,1]
|
|
658
|
+
|
|
659
|
+
CREDIT: Florian Gross
|
|
660
|
+
CREDIT: Thomas Sawyer
|
|
661
|
+
</pre>
|
|
662
|
+
</div>
|
|
663
|
+
<div class="sourcecode">
|
|
664
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000118_source')" id="l_M000118_source">show source</a> ]</p>
|
|
665
|
+
<div id="M000118_source" class="dyn-source">
|
|
666
|
+
<pre>
|
|
667
|
+
<span class="ruby-comment cmt"># File lib/facets/array/rotate.rb, line 17</span>
|
|
668
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rotate</span>(<span class="ruby-identifier">n</span>=<span class="ruby-value">1</span>)
|
|
669
|
+
<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>.<span class="ruby-identifier">rotate!</span>(<span class="ruby-identifier">n</span>)
|
|
670
|
+
<span class="ruby-keyword kw">end</span>
|
|
671
|
+
</pre>
|
|
672
|
+
</div>
|
|
673
|
+
</div>
|
|
674
|
+
</div>
|
|
675
|
+
<div class="method">
|
|
676
|
+
<div class="title">
|
|
677
|
+
<a name="M000119"></a><b>rotate!</b>(n=1)
|
|
678
|
+
</div>
|
|
679
|
+
<div class="description">
|
|
680
|
+
<p>
|
|
681
|
+
Same as <a href="Array.html#M000118">rotate</a>, but acts in place.
|
|
682
|
+
</p>
|
|
683
|
+
<pre>
|
|
684
|
+
a = [1,2,3]
|
|
685
|
+
a.rotate!
|
|
686
|
+
a #=> [3,1,2]
|
|
687
|
+
|
|
688
|
+
CREDIT: Florian Gross
|
|
689
|
+
CREDIT: Thomas Sawyer
|
|
690
|
+
</pre>
|
|
691
|
+
</div>
|
|
692
|
+
<div class="sourcecode">
|
|
693
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000119_source')" id="l_M000119_source">show source</a> ]</p>
|
|
694
|
+
<div id="M000119_source" class="dyn-source">
|
|
695
|
+
<pre>
|
|
696
|
+
<span class="ruby-comment cmt"># File lib/facets/array/rotate.rb, line 30</span>
|
|
697
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rotate!</span>(<span class="ruby-identifier">n</span>=<span class="ruby-value">1</span>)
|
|
698
|
+
<span class="ruby-identifier">n</span> = <span class="ruby-identifier">n</span>.<span class="ruby-identifier">to_int</span>
|
|
699
|
+
<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> <span class="ruby-keyword kw">or</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">empty?</span>)
|
|
700
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
701
|
+
<span class="ruby-identifier">n</span>.<span class="ruby-identifier">abs</span>.<span class="ruby-identifier">times</span>{ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">unshift</span>( <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">pop</span> ) }
|
|
702
|
+
<span class="ruby-keyword kw">else</span>
|
|
703
|
+
<span class="ruby-identifier">n</span>.<span class="ruby-identifier">abs</span>.<span class="ruby-identifier">times</span>{ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">push</span>( <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">shift</span> ) }
|
|
704
|
+
<span class="ruby-keyword kw">end</span>
|
|
705
|
+
<span class="ruby-keyword kw">self</span>
|
|
706
|
+
<span class="ruby-keyword kw">end</span>
|
|
707
|
+
</pre>
|
|
708
|
+
</div>
|
|
709
|
+
</div>
|
|
710
|
+
</div>
|
|
711
|
+
<div class="method">
|
|
712
|
+
<div class="title">
|
|
713
|
+
<a name="M000124"></a><b>select!</b>( {|| ...}
|
|
714
|
+
</div>
|
|
715
|
+
<div class="description">
|
|
716
|
+
<p>
|
|
717
|
+
As with select but modifies the <a href="Array.html">Array</a> in place.
|
|
718
|
+
</p>
|
|
719
|
+
<pre>
|
|
720
|
+
a = [1,2,3,4,5,6,7,8,9,10]
|
|
721
|
+
a.select!{ |e| e % 2 == 0 }
|
|
722
|
+
a #=> [2,4,6,8,10]
|
|
723
|
+
|
|
724
|
+
CREDIT: Gavin Sinclair
|
|
725
|
+
</pre>
|
|
726
|
+
</div>
|
|
727
|
+
<div class="sourcecode">
|
|
728
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000124_source')" id="l_M000124_source">show source</a> ]</p>
|
|
729
|
+
<div id="M000124_source" class="dyn-source">
|
|
730
|
+
<pre>
|
|
731
|
+
<span class="ruby-comment cmt"># File lib/facets/array/select.rb, line 11</span>
|
|
732
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">select!</span> <span class="ruby-comment cmt"># :yield:</span>
|
|
733
|
+
<span class="ruby-identifier">reject!</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">not</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">e</span>) }
|
|
734
|
+
<span class="ruby-keyword kw">end</span>
|
|
735
|
+
</pre>
|
|
736
|
+
</div>
|
|
737
|
+
</div>
|
|
738
|
+
</div>
|
|
739
|
+
<div class="method">
|
|
740
|
+
<div class="title">
|
|
741
|
+
<a name="M000129"></a><b>splice</b>(*args)
|
|
742
|
+
</div>
|
|
743
|
+
<div class="description">
|
|
744
|
+
<p>
|
|
745
|
+
Splice acts a <a href="Array.html#M000112">combination</a> of slice! and
|
|
746
|
+
store. If two arguments are given it calls store. If a single argument is
|
|
747
|
+
give it calls slice!.
|
|
748
|
+
</p>
|
|
749
|
+
<pre>
|
|
750
|
+
a = [1,2,3]
|
|
751
|
+
a.splice(1) #=> 2
|
|
752
|
+
a #=> [1,3]
|
|
753
|
+
|
|
754
|
+
a = [1,2,3]
|
|
755
|
+
a.splice(1,4) #=> 4
|
|
756
|
+
a #=>[1,4,3]
|
|
757
|
+
|
|
758
|
+
CREDIT: Trans
|
|
759
|
+
</pre>
|
|
760
|
+
</div>
|
|
761
|
+
<div class="sourcecode">
|
|
762
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000129_source')" id="l_M000129_source">show source</a> ]</p>
|
|
763
|
+
<div id="M000129_source" class="dyn-source">
|
|
764
|
+
<pre>
|
|
765
|
+
<span class="ruby-comment cmt"># File lib/facets/array/splice.rb, line 17</span>
|
|
766
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">splice</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
|
767
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
|
|
768
|
+
<span class="ruby-identifier">slice!</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
|
769
|
+
<span class="ruby-keyword kw">else</span>
|
|
770
|
+
<span class="ruby-identifier">store</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
|
771
|
+
<span class="ruby-keyword kw">end</span>
|
|
772
|
+
<span class="ruby-keyword kw">end</span>
|
|
773
|
+
</pre>
|
|
774
|
+
</div>
|
|
775
|
+
</div>
|
|
776
|
+
</div>
|
|
777
|
+
<div class="method">
|
|
778
|
+
<div class="title">
|
|
779
|
+
<a name="M000114"></a><b>to_b</b>()
|
|
780
|
+
</div>
|
|
781
|
+
<div class="description">
|
|
782
|
+
<p>
|
|
783
|
+
Boolean conversion for not empty?
|
|
784
|
+
</p>
|
|
785
|
+
</div>
|
|
786
|
+
<div class="sourcecode">
|
|
787
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000114_source')" id="l_M000114_source">show source</a> ]</p>
|
|
788
|
+
<div id="M000114_source" class="dyn-source">
|
|
789
|
+
<pre>
|
|
790
|
+
<span class="ruby-comment cmt"># File lib/facets/boolean.rb, line 60</span>
|
|
791
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_b</span>
|
|
792
|
+
<span class="ruby-operator">!</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">empty?</span>
|
|
793
|
+
<span class="ruby-keyword kw">end</span>
|
|
794
|
+
</pre>
|
|
795
|
+
</div>
|
|
796
|
+
</div>
|
|
797
|
+
</div>
|
|
798
|
+
<div class="method">
|
|
799
|
+
<div class="title">
|
|
800
|
+
<a name="M000115"></a><b>to_h</b>(arrayed=nil)
|
|
801
|
+
</div>
|
|
802
|
+
<div class="description">
|
|
803
|
+
<p>
|
|
804
|
+
Converts a two-element associative array into a hash.
|
|
805
|
+
</p>
|
|
806
|
+
<pre>
|
|
807
|
+
a = [ [:a,1], [:b,2] ]
|
|
808
|
+
a.to_h #=> { :a=>1, :b=>2 }
|
|
809
|
+
</pre>
|
|
810
|
+
<p>
|
|
811
|
+
If <tt>arrayed</tt> is set it will maintain trailing arrays.
|
|
812
|
+
</p>
|
|
813
|
+
<pre>
|
|
814
|
+
a = [ [:a,1,2], [:b,3] ]
|
|
815
|
+
a.to_h(true) #=> { :a=>[1,2], :b=>[3] }
|
|
816
|
+
</pre>
|
|
817
|
+
<p>
|
|
818
|
+
Note that the use of a values parameter has been deprecated because that
|
|
819
|
+
functionality is as simple as:
|
|
820
|
+
</p>
|
|
821
|
+
<pre>
|
|
822
|
+
array1.zip(array2).to_h
|
|
823
|
+
|
|
824
|
+
CREDIT: Trans
|
|
825
|
+
</pre>
|
|
826
|
+
</div>
|
|
827
|
+
<div class="sourcecode">
|
|
828
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000115_source')" id="l_M000115_source">show source</a> ]</p>
|
|
829
|
+
<div id="M000115_source" class="dyn-source">
|
|
830
|
+
<pre>
|
|
831
|
+
<span class="ruby-comment cmt"># File lib/facets/to_hash.rb, line 20</span>
|
|
832
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_h</span>(<span class="ruby-identifier">arrayed</span>=<span class="ruby-keyword kw">nil</span>)
|
|
833
|
+
<span class="ruby-identifier">h</span> = {}
|
|
834
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arrayed</span> <span class="ruby-comment cmt">#or (flatten.size % 2 == 1)</span>
|
|
835
|
+
<span class="ruby-comment cmt">#each{ |e| h[e.first] = e.slice(1..-1) }</span>
|
|
836
|
+
<span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-operator">*</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">h</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">v</span> }
|
|
837
|
+
<span class="ruby-keyword kw">else</span>
|
|
838
|
+
<span class="ruby-comment cmt">#h = Hash[*flatten(1)] # TODO Use in 1.9 instead.</span>
|
|
839
|
+
<span class="ruby-identifier">ary</span> = []
|
|
840
|
+
<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span>
|
|
841
|
+
<span class="ruby-constant">Array</span><span class="ruby-operator">===</span><span class="ruby-identifier">a</span> <span class="ruby-value">? </span><span class="ruby-identifier">ary</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">a</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">ary</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">a</span>
|
|
842
|
+
<span class="ruby-keyword kw">end</span>
|
|
843
|
+
<span class="ruby-identifier">h</span> = <span class="ruby-constant">Hash</span>[<span class="ruby-operator">*</span><span class="ruby-identifier">ary</span>]
|
|
844
|
+
<span class="ruby-keyword kw">end</span>
|
|
845
|
+
<span class="ruby-identifier">h</span>
|
|
846
|
+
<span class="ruby-keyword kw">end</span>
|
|
847
|
+
</pre>
|
|
848
|
+
</div>
|
|
849
|
+
</div>
|
|
850
|
+
</div>
|
|
851
|
+
<div class="method">
|
|
852
|
+
<div class="title">
|
|
853
|
+
<a name="M000122"></a><b>traverse</b>() {|item| ...}
|
|
854
|
+
</div>
|
|
855
|
+
<div class="sourcecode">
|
|
856
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000122_source')" id="l_M000122_source">show source</a> ]</p>
|
|
857
|
+
<div id="M000122_source" class="dyn-source">
|
|
858
|
+
<pre>
|
|
859
|
+
<span class="ruby-comment cmt"># File lib/facets/array/traverse.rb, line 5</span>
|
|
860
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">traverse</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
|
861
|
+
<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span>
|
|
862
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">item</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>)
|
|
863
|
+
<span class="ruby-identifier">item</span>.<span class="ruby-identifier">traverse</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
|
864
|
+
<span class="ruby-keyword kw">else</span>
|
|
865
|
+
<span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">item</span>
|
|
866
|
+
<span class="ruby-keyword kw">end</span>
|
|
867
|
+
<span class="ruby-keyword kw">end</span>
|
|
868
|
+
<span class="ruby-keyword kw">end</span>
|
|
869
|
+
</pre>
|
|
870
|
+
</div>
|
|
871
|
+
</div>
|
|
872
|
+
</div>
|
|
873
|
+
<div class="method">
|
|
874
|
+
<div class="title">
|
|
875
|
+
<a name="M000123"></a><b>traverse!</b>(&block)
|
|
876
|
+
</div>
|
|
877
|
+
<div class="sourcecode">
|
|
878
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000123_source')" id="l_M000123_source">show source</a> ]</p>
|
|
879
|
+
<div id="M000123_source" class="dyn-source">
|
|
880
|
+
<pre>
|
|
881
|
+
<span class="ruby-comment cmt"># File lib/facets/array/traverse.rb, line 17</span>
|
|
882
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">traverse!</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
|
883
|
+
<span class="ruby-identifier">replace</span>(<span class="ruby-identifier">traverse</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">block</span>))
|
|
884
|
+
<span class="ruby-keyword kw">end</span>
|
|
885
|
+
</pre>
|
|
886
|
+
</div>
|
|
887
|
+
</div>
|
|
888
|
+
</div>
|
|
889
|
+
</div>
|
|
890
|
+
|
|
891
|
+
</div>
|
|
892
|
+
|
|
893
|
+
</body>
|
|
894
|
+
</html>
|