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
|
@@ -0,0 +1,260 @@
|
|
|
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: BasicObject</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 />BasicObject</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/basicobject_rb.html">lib/facets/basicobject.rb</a>
|
|
61
|
+
</td>
|
|
62
|
+
</tr>
|
|
63
|
+
<tr>
|
|
64
|
+
<td>Parent:</td>
|
|
65
|
+
<td>
|
|
66
|
+
Object
|
|
67
|
+
</td>
|
|
68
|
+
</tr>
|
|
69
|
+
</table>
|
|
70
|
+
</td>
|
|
71
|
+
</tr>
|
|
72
|
+
</table>
|
|
73
|
+
<!-- banner header -->
|
|
74
|
+
|
|
75
|
+
<div id="bodyContent">
|
|
76
|
+
<div id="content">
|
|
77
|
+
|
|
78
|
+
<div class="description"><h1><a href="BasicObject.html">BasicObject</a></h1>
|
|
79
|
+
<p>
|
|
80
|
+
<a href="BasicObject.html">BasicObject</a> provides an abstract base class
|
|
81
|
+
with no predefined methods, except for <tt>respond_to?</tt>, any method
|
|
82
|
+
starting in <tt>__</tt> (two underscore, like <tt>__id__</tt>) as well as
|
|
83
|
+
any method starting with <tt>instance_</ttr>.
|
|
84
|
+
</p>
|
|
85
|
+
<p>
|
|
86
|
+
<a href="BasicObject.html">BasicObject</a> is useful as a base class when
|
|
87
|
+
writing classes that depend upon <tt>method_missing</tt> (e.g. dynamic
|
|
88
|
+
proxies).
|
|
89
|
+
</p>
|
|
90
|
+
<p>
|
|
91
|
+
The patterns used to reserve methods are:
|
|
92
|
+
</p>
|
|
93
|
+
<pre>
|
|
94
|
+
/^__/, /^instance/, /^object/, /\?$/, /^\W$/,
|
|
95
|
+
'initialize', 'initialize_copy', 'inspect', 'dup', 'clone', 'null', 'as'
|
|
96
|
+
</pre>
|
|
97
|
+
<p>
|
|
98
|
+
By default these are the reserved methods:
|
|
99
|
+
</p>
|
|
100
|
+
<pre>
|
|
101
|
+
== __id__ __self__ __send__ as clone dup eql? equal? frozen?
|
|
102
|
+
initialize inspect instance_eval instance_of? instance_variable_get
|
|
103
|
+
instance_variable_set instance_variables is_a? kind_of? nil? null object_class
|
|
104
|
+
respond_to? tainted?
|
|
105
|
+
</pre>
|
|
106
|
+
<p>
|
|
107
|
+
In practice only ‘as’, ‘clone’, ‘dup’
|
|
108
|
+
and ‘null’ have much chance of name clash. So be especially
|
|
109
|
+
aware of these four. All the rest either begin with a ‘__’, end
|
|
110
|
+
in a ’?’ mark or start with the word ‘instance’ or
|
|
111
|
+
‘object’.
|
|
112
|
+
</p>
|
|
113
|
+
<p>
|
|
114
|
+
The special method <a href="BasicObject.html#M000026">object_self</a>
|
|
115
|
+
allows access to the underlying object via a specialized Functor-style
|
|
116
|
+
class access via as(Object). This binds the actual self to the subsequently
|
|
117
|
+
called methods of Object instancea methods. So even though a method may no
|
|
118
|
+
longer be defined for <a href="BasicObject.html">BasicObject</a> it can
|
|
119
|
+
still be called via this interface.
|
|
120
|
+
</p>
|
|
121
|
+
<pre>
|
|
122
|
+
class A < BasicObject
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
a.object_self.class #=> A
|
|
126
|
+
a.class #=> NoMethodError
|
|
127
|
+
</pre>
|
|
128
|
+
<p>
|
|
129
|
+
Note that <a href="BasicObject.html#M000026">object_self</a> used to be
|
|
130
|
+
called <em>self</em>. Also provided is object_class.
|
|
131
|
+
</p>
|
|
132
|
+
<p>
|
|
133
|
+
Since Ruby is very dynamic, methods added to the ancestors of <a
|
|
134
|
+
href="BasicObject.html">BasicObject</a> <em>after <a
|
|
135
|
+
href="BasicObject.html">BasicObject</a> is defined</em> will show up in the
|
|
136
|
+
list of available <a href="BasicObject.html">BasicObject</a> methods. We
|
|
137
|
+
handle this by defining hooks in Object, Kernel and <a
|
|
138
|
+
href="Module.html">Module</a> that will <a
|
|
139
|
+
href="BasicObject.html#M000028">hide</a> any defined.
|
|
140
|
+
</p>
|
|
141
|
+
</div>
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
<div class="sectiontitle">Methods</div>
|
|
146
|
+
<ul>
|
|
147
|
+
<li><a href="#M000027">__self__</a></li>
|
|
148
|
+
<li><a href="#M000028">hide</a></li>
|
|
149
|
+
<li><a href="#M000026">object_self</a></li>
|
|
150
|
+
</ul>
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
<div class="sectiontitle">Constants</div>
|
|
156
|
+
<table border='0' cellpadding='5'>
|
|
157
|
+
<tr valign='top'>
|
|
158
|
+
<td class="attr-name">EXCLUDE</td>
|
|
159
|
+
<td>=</td>
|
|
160
|
+
<td class="attr-value">[ /^__/, /^instance_/, /^object_/, /\?$/, /^\W$/, 'initialize', 'initialize_copy', 'inspect', 'dup', 'clone', 'null', 'as'</td>
|
|
161
|
+
</tr>
|
|
162
|
+
<tr valign='top'>
|
|
163
|
+
<td> </td>
|
|
164
|
+
<td colspan="2" class="attr-desc">
|
|
165
|
+
Methods not to get rid of as they are either too important, or they are not
|
|
166
|
+
likely to get in the way (such as methods ending in ’?’).
|
|
167
|
+
|
|
168
|
+
<p>
|
|
169
|
+
In Ruby 1.9 <a href="BasicObject.html">BasicObject</a> has only these
|
|
170
|
+
methods: [ /^__/, "funcall", "send",
|
|
171
|
+
"respond_to?", "equal?", "==",
|
|
172
|
+
"object_id" ]
|
|
173
|
+
</p>
|
|
174
|
+
<p>
|
|
175
|
+
NOTE The absolute bare minimum is EXCLUDE = /^(__|instance_eval$)/. But in
|
|
176
|
+
most cases you‘ll want a few extra methods like dup too.
|
|
177
|
+
</p>
|
|
178
|
+
</td>
|
|
179
|
+
</tr>
|
|
180
|
+
</table>
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
<div class="sectiontitle">Public Class methods</div>
|
|
184
|
+
<div class="method">
|
|
185
|
+
<div class="title">
|
|
186
|
+
<a name="M000028"></a><b>hide</b>(name)
|
|
187
|
+
</div>
|
|
188
|
+
<div class="description">
|
|
189
|
+
<p>
|
|
190
|
+
Undef unwanted method as long as it doesn‘t match anything in the
|
|
191
|
+
EXCLUDE list.
|
|
192
|
+
</p>
|
|
193
|
+
</div>
|
|
194
|
+
<div class="sourcecode">
|
|
195
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000028_source')" id="l_M000028_source">show source</a> ]</p>
|
|
196
|
+
<div id="M000028_source" class="dyn-source">
|
|
197
|
+
<pre>
|
|
198
|
+
<span class="ruby-comment cmt"># File lib/facets/basicobject.rb, line 177</span>
|
|
199
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">hide</span>(<span class="ruby-identifier">name</span>)
|
|
200
|
+
<span class="ruby-comment cmt">#if instance_methods.include?(name.to_s) and name !~ EXCLUDE #/^(#{EXCLUDE.join('|')})/</span>
|
|
201
|
+
<span class="ruby-comment cmt">#if name !~ EXCLUDE and</span>
|
|
202
|
+
<span class="ruby-keyword kw">case</span> <span class="ruby-identifier">name</span>
|
|
203
|
+
<span class="ruby-keyword kw">when</span> <span class="ruby-operator">*</span><span class="ruby-constant">EXCLUDE</span>
|
|
204
|
+
<span class="ruby-comment cmt"># do nothing</span>
|
|
205
|
+
<span class="ruby-keyword kw">else</span>
|
|
206
|
+
<span class="ruby-comment cmt">#if ( public_instance_methods.include?(name.to_s) or</span>
|
|
207
|
+
<span class="ruby-comment cmt"># private_instance_methods.include?(name.to_s) or</span>
|
|
208
|
+
<span class="ruby-comment cmt"># protected_instance_methods.include?(name.to_s)</span>
|
|
209
|
+
<span class="ruby-comment cmt"># )</span>
|
|
210
|
+
<span class="ruby-identifier">undef_method</span> <span class="ruby-identifier">name</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
|
|
211
|
+
<span class="ruby-comment cmt">#end</span>
|
|
212
|
+
<span class="ruby-keyword kw">end</span>
|
|
213
|
+
<span class="ruby-keyword kw">end</span>
|
|
214
|
+
</pre>
|
|
215
|
+
</div>
|
|
216
|
+
</div>
|
|
217
|
+
</div>
|
|
218
|
+
<div class="sectiontitle">Public Instance methods</div>
|
|
219
|
+
<div class="method">
|
|
220
|
+
<div class="title">
|
|
221
|
+
<a name="M000027"></a><b>__self__</b>()
|
|
222
|
+
</div>
|
|
223
|
+
<div class="description">
|
|
224
|
+
<p>
|
|
225
|
+
Alias for <a href="BasicObject.html#M000026">object_self</a>
|
|
226
|
+
</p>
|
|
227
|
+
</div>
|
|
228
|
+
</div>
|
|
229
|
+
<div class="method">
|
|
230
|
+
<div class="title">
|
|
231
|
+
<a name="M000026"></a><b>object_self</b>()
|
|
232
|
+
</div>
|
|
233
|
+
<div class="description">
|
|
234
|
+
<p>
|
|
235
|
+
Returns the Self functor class, which can then be used to call
|
|
236
|
+
Kernel/Object methods on the current object.
|
|
237
|
+
</p>
|
|
238
|
+
</div>
|
|
239
|
+
<div class="aka">
|
|
240
|
+
This method is also aliased as
|
|
241
|
+
<a href="BasicObject.html#M000027">__self__</a>
|
|
242
|
+
</div>
|
|
243
|
+
<div class="sourcecode">
|
|
244
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000026_source')" id="l_M000026_source">show source</a> ]</p>
|
|
245
|
+
<div id="M000026_source" class="dyn-source">
|
|
246
|
+
<pre>
|
|
247
|
+
<span class="ruby-comment cmt"># File lib/facets/basicobject.rb, line 122</span>
|
|
248
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">object_self</span>
|
|
249
|
+
<span class="ruby-ivar">@__object_self__</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">As</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-operator">::</span><span class="ruby-constant">Object</span>)
|
|
250
|
+
<span class="ruby-keyword kw">end</span>
|
|
251
|
+
</pre>
|
|
252
|
+
</div>
|
|
253
|
+
</div>
|
|
254
|
+
</div>
|
|
255
|
+
</div>
|
|
256
|
+
|
|
257
|
+
</div>
|
|
258
|
+
|
|
259
|
+
</body>
|
|
260
|
+
</html>
|
|
@@ -0,0 +1,145 @@
|
|
|
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: Behavior</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 />Behavior</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/behavior_rb.html">lib/facets/behavior.rb</a>
|
|
61
|
+
</td>
|
|
62
|
+
</tr>
|
|
63
|
+
<tr>
|
|
64
|
+
<td>Parent:</td>
|
|
65
|
+
<td>
|
|
66
|
+
<a href="Module.html">
|
|
67
|
+
Module
|
|
68
|
+
</a>
|
|
69
|
+
</td>
|
|
70
|
+
</tr>
|
|
71
|
+
</table>
|
|
72
|
+
</td>
|
|
73
|
+
</tr>
|
|
74
|
+
</table>
|
|
75
|
+
<!-- banner header -->
|
|
76
|
+
|
|
77
|
+
<div id="bodyContent">
|
|
78
|
+
<div id="content">
|
|
79
|
+
|
|
80
|
+
<div class="description"><h1>Beahvior</h1>
|
|
81
|
+
<p>
|
|
82
|
+
<a href="Behavior.html">Behavior</a> class is used to encapsulates a
|
|
83
|
+
behavior.
|
|
84
|
+
</p>
|
|
85
|
+
<pre>
|
|
86
|
+
nil.behaving(:to_nil) do
|
|
87
|
+
"1"
|
|
88
|
+
end
|
|
89
|
+
</pre>
|
|
90
|
+
<p>
|
|
91
|
+
TODO: This behavior library needs improvement. If we can
|
|
92
|
+
</p>
|
|
93
|
+
<pre>
|
|
94
|
+
refine it enough and it proves solid, this would
|
|
95
|
+
make a good candidate for core.
|
|
96
|
+
</pre>
|
|
97
|
+
</div>
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
<div class="sectiontitle">Methods</div>
|
|
102
|
+
<ul>
|
|
103
|
+
<li><a href="#M000223">define</a></li>
|
|
104
|
+
</ul>
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
<div class="sectiontitle">Public Instance methods</div>
|
|
112
|
+
<div class="method">
|
|
113
|
+
<div class="title">
|
|
114
|
+
<a name="M000223"></a><b>define</b>(behavior, &body)
|
|
115
|
+
</div>
|
|
116
|
+
<div class="sourcecode">
|
|
117
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000223_source')" id="l_M000223_source">show source</a> ]</p>
|
|
118
|
+
<div id="M000223_source" class="dyn-source">
|
|
119
|
+
<pre>
|
|
120
|
+
<span class="ruby-comment cmt"># File lib/facets/behavior.rb, line 41</span>
|
|
121
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">define</span>(<span class="ruby-identifier">behavior</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">body</span>)
|
|
122
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">body</span>
|
|
123
|
+
<span class="ruby-identifier">define_method</span>(<span class="ruby-identifier">behavior</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">body</span>)
|
|
124
|
+
<span class="ruby-keyword kw">else</span>
|
|
125
|
+
<span class="ruby-identifier">behavior</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">behavior</span>, <span class="ruby-identifier">body</span><span class="ruby-operator">|</span>
|
|
126
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">body</span>
|
|
127
|
+
<span class="ruby-identifier">define_method</span>(<span class="ruby-identifier">behavior</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">body</span>)
|
|
128
|
+
<span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">body</span>.<span class="ruby-identifier">nil?</span>
|
|
129
|
+
<span class="ruby-identifier">remove_method</span>(<span class="ruby-identifier">behavior</span>)
|
|
130
|
+
<span class="ruby-keyword kw">else</span>
|
|
131
|
+
<span class="ruby-identifier">undef_method</span>(<span class="ruby-identifier">behavior</span>)
|
|
132
|
+
<span class="ruby-keyword kw">end</span>
|
|
133
|
+
<span class="ruby-keyword kw">end</span>
|
|
134
|
+
<span class="ruby-keyword kw">end</span>
|
|
135
|
+
<span class="ruby-keyword kw">end</span>
|
|
136
|
+
</pre>
|
|
137
|
+
</div>
|
|
138
|
+
</div>
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
141
|
+
|
|
142
|
+
</div>
|
|
143
|
+
|
|
144
|
+
</body>
|
|
145
|
+
</html>
|
|
@@ -0,0 +1,543 @@
|
|
|
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: BiCrypt</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 />BiCrypt</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/bicrypt_rb.html">lib/facets/bicrypt.rb</a>
|
|
61
|
+
</td>
|
|
62
|
+
</tr>
|
|
63
|
+
<tr>
|
|
64
|
+
<td>Parent:</td>
|
|
65
|
+
<td>
|
|
66
|
+
Object
|
|
67
|
+
</td>
|
|
68
|
+
</tr>
|
|
69
|
+
</table>
|
|
70
|
+
</td>
|
|
71
|
+
</tr>
|
|
72
|
+
</table>
|
|
73
|
+
<!-- banner header -->
|
|
74
|
+
|
|
75
|
+
<div id="bodyContent">
|
|
76
|
+
<div id="content">
|
|
77
|
+
|
|
78
|
+
<div class="description"><h1><a href="BiCrypt.html">BiCrypt</a></h1>
|
|
79
|
+
<p>
|
|
80
|
+
A simple two-way encryption class.
|
|
81
|
+
</p>
|
|
82
|
+
</div>
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
<div class="sectiontitle">Methods</div>
|
|
87
|
+
<ul>
|
|
88
|
+
<li><a href="#M000577">block_size</a></li>
|
|
89
|
+
<li><a href="#M000588">carefully_open_file</a></li>
|
|
90
|
+
<li><a href="#M000584">decrypt_block</a></li>
|
|
91
|
+
<li><a href="#M000590">decrypt_file</a></li>
|
|
92
|
+
<li><a href="#M000582">decrypt_pair</a></li>
|
|
93
|
+
<li><a href="#M000587">decrypt_stream</a></li>
|
|
94
|
+
<li><a href="#M000592">decrypt_string</a></li>
|
|
95
|
+
<li><a href="#M000583">encrypt_block</a></li>
|
|
96
|
+
<li><a href="#M000589">encrypt_file</a></li>
|
|
97
|
+
<li><a href="#M000581">encrypt_pair</a></li>
|
|
98
|
+
<li><a href="#M000586">encrypt_stream</a></li>
|
|
99
|
+
<li><a href="#M000591">encrypt_string</a></li>
|
|
100
|
+
<li><a href="#M000580">f</a></li>
|
|
101
|
+
<li><a href="#M000585">generate_initialization_vector</a></li>
|
|
102
|
+
<li><a href="#M000578">new</a></li>
|
|
103
|
+
<li><a href="#M000579">precalculate_S_table</a></li>
|
|
104
|
+
</ul>
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
<div class="sectiontitle">Constants</div>
|
|
110
|
+
<table border='0' cellpadding='5'>
|
|
111
|
+
<tr valign='top'>
|
|
112
|
+
<td class="attr-name">ULONG</td>
|
|
113
|
+
<td>=</td>
|
|
114
|
+
<td class="attr-value">0x100000000</td>
|
|
115
|
+
</tr>
|
|
116
|
+
</table>
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
<div class="sectiontitle">Public Class methods</div>
|
|
120
|
+
<div class="method">
|
|
121
|
+
<div class="title">
|
|
122
|
+
<a name="M000578"></a><b>new</b>(userKey)
|
|
123
|
+
</div>
|
|
124
|
+
<div class="sourcecode">
|
|
125
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000578_source')" id="l_M000578_source">show source</a> ]</p>
|
|
126
|
+
<div id="M000578_source" class="dyn-source">
|
|
127
|
+
<pre>
|
|
128
|
+
<span class="ruby-comment cmt"># File lib/facets/bicrypt.rb, line 37</span>
|
|
129
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">userKey</span>)
|
|
130
|
+
|
|
131
|
+
<span class="ruby-comment cmt"># These are the S-boxes given in Applied Cryptography 2nd Ed., p. 333</span>
|
|
132
|
+
<span class="ruby-ivar">@sBox</span> = [
|
|
133
|
+
[<span class="ruby-value">4</span>, <span class="ruby-value">10</span>, <span class="ruby-value">9</span>, <span class="ruby-value">2</span>, <span class="ruby-value">13</span>, <span class="ruby-value">8</span>, <span class="ruby-value">0</span>, <span class="ruby-value">14</span>, <span class="ruby-value">6</span>, <span class="ruby-value">11</span>, <span class="ruby-value">1</span>, <span class="ruby-value">12</span>, <span class="ruby-value">7</span>, <span class="ruby-value">15</span>, <span class="ruby-value">5</span>, <span class="ruby-value">3</span>],
|
|
134
|
+
[<span class="ruby-value">14</span>, <span class="ruby-value">11</span>, <span class="ruby-value">4</span>, <span class="ruby-value">12</span>, <span class="ruby-value">6</span>, <span class="ruby-value">13</span>, <span class="ruby-value">15</span>, <span class="ruby-value">10</span>, <span class="ruby-value">2</span>, <span class="ruby-value">3</span>, <span class="ruby-value">8</span>, <span class="ruby-value">1</span>, <span class="ruby-value">0</span>, <span class="ruby-value">7</span>, <span class="ruby-value">5</span>, <span class="ruby-value">9</span>],
|
|
135
|
+
[<span class="ruby-value">5</span>, <span class="ruby-value">8</span>, <span class="ruby-value">1</span>, <span class="ruby-value">13</span>, <span class="ruby-value">10</span>, <span class="ruby-value">3</span>, <span class="ruby-value">4</span>, <span class="ruby-value">2</span>, <span class="ruby-value">14</span>, <span class="ruby-value">15</span>, <span class="ruby-value">12</span>, <span class="ruby-value">7</span>, <span class="ruby-value">6</span>, <span class="ruby-value">0</span>, <span class="ruby-value">9</span>, <span class="ruby-value">11</span>],
|
|
136
|
+
[<span class="ruby-value">7</span>, <span class="ruby-value">13</span>, <span class="ruby-value">10</span>, <span class="ruby-value">1</span>, <span class="ruby-value">0</span>, <span class="ruby-value">8</span>, <span class="ruby-value">9</span>, <span class="ruby-value">15</span>, <span class="ruby-value">14</span>, <span class="ruby-value">4</span>, <span class="ruby-value">6</span>, <span class="ruby-value">12</span>, <span class="ruby-value">11</span>, <span class="ruby-value">2</span>, <span class="ruby-value">5</span>, <span class="ruby-value">3</span>],
|
|
137
|
+
[<span class="ruby-value">6</span>, <span class="ruby-value">12</span>, <span class="ruby-value">7</span>, <span class="ruby-value">1</span>, <span class="ruby-value">5</span>, <span class="ruby-value">15</span>, <span class="ruby-value">13</span>, <span class="ruby-value">8</span>, <span class="ruby-value">4</span>, <span class="ruby-value">10</span>, <span class="ruby-value">9</span>, <span class="ruby-value">14</span>, <span class="ruby-value">0</span>, <span class="ruby-value">3</span>, <span class="ruby-value">11</span>, <span class="ruby-value">2</span>],
|
|
138
|
+
[<span class="ruby-value">4</span>, <span class="ruby-value">11</span>, <span class="ruby-value">10</span>, <span class="ruby-value">0</span>, <span class="ruby-value">7</span>, <span class="ruby-value">2</span>, <span class="ruby-value">1</span>, <span class="ruby-value">13</span>, <span class="ruby-value">3</span>, <span class="ruby-value">6</span>, <span class="ruby-value">8</span>, <span class="ruby-value">5</span>, <span class="ruby-value">9</span>, <span class="ruby-value">12</span>, <span class="ruby-value">15</span>, <span class="ruby-value">14</span>],
|
|
139
|
+
[<span class="ruby-value">13</span>, <span class="ruby-value">11</span>, <span class="ruby-value">4</span>, <span class="ruby-value">1</span>, <span class="ruby-value">3</span>, <span class="ruby-value">15</span>, <span class="ruby-value">5</span>, <span class="ruby-value">9</span>, <span class="ruby-value">0</span>, <span class="ruby-value">10</span>, <span class="ruby-value">14</span>, <span class="ruby-value">7</span>, <span class="ruby-value">6</span>, <span class="ruby-value">8</span>, <span class="ruby-value">2</span>, <span class="ruby-value">12</span>],
|
|
140
|
+
[<span class="ruby-value">1</span>, <span class="ruby-value">15</span>, <span class="ruby-value">13</span>, <span class="ruby-value">0</span>, <span class="ruby-value">5</span>, <span class="ruby-value">7</span>, <span class="ruby-value">10</span>, <span class="ruby-value">4</span>, <span class="ruby-value">9</span>, <span class="ruby-value">2</span>, <span class="ruby-value">3</span>, <span class="ruby-value">14</span>, <span class="ruby-value">6</span>, <span class="ruby-value">11</span>, <span class="ruby-value">8</span>, <span class="ruby-value">12</span>]
|
|
141
|
+
]
|
|
142
|
+
|
|
143
|
+
<span class="ruby-comment cmt"># These are the S-boxes given in the GOST source code listing in Applied</span>
|
|
144
|
+
<span class="ruby-comment cmt"># Cryptography 2nd Ed., p. 644. They appear to be from the DES S-boxes</span>
|
|
145
|
+
<span class="ruby-comment cmt"># [13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7 ],</span>
|
|
146
|
+
<span class="ruby-comment cmt"># [ 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1 ],</span>
|
|
147
|
+
<span class="ruby-comment cmt"># [12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11 ],</span>
|
|
148
|
+
<span class="ruby-comment cmt"># [ 2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9 ],</span>
|
|
149
|
+
<span class="ruby-comment cmt"># [ 7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 15 ],</span>
|
|
150
|
+
<span class="ruby-comment cmt"># [10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8 ],</span>
|
|
151
|
+
<span class="ruby-comment cmt"># [15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10 ],</span>
|
|
152
|
+
<span class="ruby-comment cmt"># [14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7 ]</span>
|
|
153
|
+
|
|
154
|
+
<span class="ruby-comment cmt"># precalculate the S table</span>
|
|
155
|
+
<span class="ruby-ivar">@sTable</span> = <span class="ruby-identifier">precalculate_S_table</span>()
|
|
156
|
+
|
|
157
|
+
<span class="ruby-comment cmt"># derive the 32-byte key from the user-supplied key</span>
|
|
158
|
+
<span class="ruby-identifier">userKeyLength</span> = <span class="ruby-identifier">userKey</span>.<span class="ruby-identifier">length</span>
|
|
159
|
+
<span class="ruby-ivar">@key</span> = <span class="ruby-identifier">userKey</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">31</span>].<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">'C'</span><span class="ruby-operator">*</span><span class="ruby-value">32</span>)
|
|
160
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">userKeyLength</span> <span class="ruby-operator"><</span> <span class="ruby-value">32</span>)
|
|
161
|
+
<span class="ruby-identifier">userKeyLength</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">31</span>) { <span class="ruby-ivar">@key</span> <span class="ruby-operator"><<</span> <span class="ruby-value">0</span> }
|
|
162
|
+
<span class="ruby-keyword kw">end</span>
|
|
163
|
+
<span class="ruby-keyword kw">end</span>
|
|
164
|
+
</pre>
|
|
165
|
+
</div>
|
|
166
|
+
</div>
|
|
167
|
+
</div>
|
|
168
|
+
<div class="sectiontitle">Public Instance methods</div>
|
|
169
|
+
<div class="method">
|
|
170
|
+
<div class="title">
|
|
171
|
+
<a name="M000577"></a><b>block_size</b>()
|
|
172
|
+
</div>
|
|
173
|
+
<div class="sourcecode">
|
|
174
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000577_source')" id="l_M000577_source">show source</a> ]</p>
|
|
175
|
+
<div id="M000577_source" class="dyn-source">
|
|
176
|
+
<pre>
|
|
177
|
+
<span class="ruby-comment cmt"># File lib/facets/bicrypt.rb, line 33</span>
|
|
178
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">block_size</span>
|
|
179
|
+
<span class="ruby-keyword kw">return</span>(<span class="ruby-value">8</span>)
|
|
180
|
+
<span class="ruby-keyword kw">end</span>
|
|
181
|
+
</pre>
|
|
182
|
+
</div>
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|
|
185
|
+
<div class="method">
|
|
186
|
+
<div class="title">
|
|
187
|
+
<a name="M000588"></a><b>carefully_open_file</b>(filename, mode)
|
|
188
|
+
</div>
|
|
189
|
+
<div class="sourcecode">
|
|
190
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000588_source')" id="l_M000588_source">show source</a> ]</p>
|
|
191
|
+
<div id="M000588_source" class="dyn-source">
|
|
192
|
+
<pre>
|
|
193
|
+
<span class="ruby-comment cmt"># File lib/facets/bicrypt.rb, line 217</span>
|
|
194
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">carefully_open_file</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-identifier">mode</span>)
|
|
195
|
+
<span class="ruby-keyword kw">begin</span>
|
|
196
|
+
<span class="ruby-identifier">aFile</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-identifier">mode</span>)
|
|
197
|
+
<span class="ruby-keyword kw">rescue</span>
|
|
198
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-node">"Sorry. There was a problem opening the file <#{filename}>."</span>
|
|
199
|
+
<span class="ruby-identifier">aFile</span>.<span class="ruby-identifier">close</span>() <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">aFile</span>.<span class="ruby-identifier">nil?</span>
|
|
200
|
+
<span class="ruby-identifier">raise</span>
|
|
201
|
+
<span class="ruby-keyword kw">end</span>
|
|
202
|
+
<span class="ruby-keyword kw">return</span>(<span class="ruby-identifier">aFile</span>)
|
|
203
|
+
<span class="ruby-keyword kw">end</span>
|
|
204
|
+
</pre>
|
|
205
|
+
</div>
|
|
206
|
+
</div>
|
|
207
|
+
</div>
|
|
208
|
+
<div class="method">
|
|
209
|
+
<div class="title">
|
|
210
|
+
<a name="M000584"></a><b>decrypt_block</b>(block)
|
|
211
|
+
</div>
|
|
212
|
+
<div class="sourcecode">
|
|
213
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000584_source')" id="l_M000584_source">show source</a> ]</p>
|
|
214
|
+
<div id="M000584_source" class="dyn-source">
|
|
215
|
+
<pre>
|
|
216
|
+
<span class="ruby-comment cmt"># File lib/facets/bicrypt.rb, line 147</span>
|
|
217
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">decrypt_block</span>(<span class="ruby-identifier">block</span>)
|
|
218
|
+
<span class="ruby-identifier">xl</span>, <span class="ruby-identifier">xr</span> = <span class="ruby-identifier">block</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">'NN'</span>)
|
|
219
|
+
<span class="ruby-identifier">xl</span>, <span class="ruby-identifier">xr</span> = <span class="ruby-identifier">decrypt_pair</span>(<span class="ruby-identifier">xl</span>, <span class="ruby-identifier">xr</span>)
|
|
220
|
+
<span class="ruby-identifier">decrypted</span> = [<span class="ruby-identifier">xl</span>, <span class="ruby-identifier">xr</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'NN'</span>)
|
|
221
|
+
<span class="ruby-keyword kw">return</span>(<span class="ruby-identifier">decrypted</span>)
|
|
222
|
+
<span class="ruby-keyword kw">end</span>
|
|
223
|
+
</pre>
|
|
224
|
+
</div>
|
|
225
|
+
</div>
|
|
226
|
+
</div>
|
|
227
|
+
<div class="method">
|
|
228
|
+
<div class="title">
|
|
229
|
+
<a name="M000590"></a><b>decrypt_file</b>(cryptFilename, plainFilename)
|
|
230
|
+
</div>
|
|
231
|
+
<div class="sourcecode">
|
|
232
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000590_source')" id="l_M000590_source">show source</a> ]</p>
|
|
233
|
+
<div id="M000590_source" class="dyn-source">
|
|
234
|
+
<pre>
|
|
235
|
+
<span class="ruby-comment cmt"># File lib/facets/bicrypt.rb, line 238</span>
|
|
236
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">decrypt_file</span>(<span class="ruby-identifier">cryptFilename</span>, <span class="ruby-identifier">plainFilename</span>)
|
|
237
|
+
<span class="ruby-identifier">cryptFile</span> = <span class="ruby-identifier">carefully_open_file</span>(<span class="ruby-identifier">cryptFilename</span>, <span class="ruby-value str">'rb'</span>)
|
|
238
|
+
<span class="ruby-identifier">plainFile</span> = <span class="ruby-identifier">carefully_open_file</span>(<span class="ruby-identifier">plainFilename</span>, <span class="ruby-value str">'wb+'</span>)
|
|
239
|
+
<span class="ruby-identifier">decrypt_stream</span>(<span class="ruby-identifier">cryptFile</span>, <span class="ruby-identifier">plainFile</span>)
|
|
240
|
+
<span class="ruby-identifier">cryptFile</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">cryptFile</span>.<span class="ruby-identifier">closed?</span>
|
|
241
|
+
<span class="ruby-identifier">plainFile</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">plainFile</span>.<span class="ruby-identifier">closed?</span>
|
|
242
|
+
<span class="ruby-keyword kw">end</span>
|
|
243
|
+
</pre>
|
|
244
|
+
</div>
|
|
245
|
+
</div>
|
|
246
|
+
</div>
|
|
247
|
+
<div class="method">
|
|
248
|
+
<div class="title">
|
|
249
|
+
<a name="M000582"></a><b>decrypt_pair</b>(xl, xr)
|
|
250
|
+
</div>
|
|
251
|
+
<div class="sourcecode">
|
|
252
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000582_source')" id="l_M000582_source">show source</a> ]</p>
|
|
253
|
+
<div id="M000582_source" class="dyn-source">
|
|
254
|
+
<pre>
|
|
255
|
+
<span class="ruby-comment cmt"># File lib/facets/bicrypt.rb, line 117</span>
|
|
256
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">decrypt_pair</span>(<span class="ruby-identifier">xl</span>, <span class="ruby-identifier">xr</span>)
|
|
257
|
+
<span class="ruby-identifier">xr</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xl</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">0</span>])
|
|
258
|
+
<span class="ruby-identifier">xl</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xr</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">1</span>])
|
|
259
|
+
<span class="ruby-identifier">xr</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xl</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">2</span>])
|
|
260
|
+
<span class="ruby-identifier">xl</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xr</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">3</span>])
|
|
261
|
+
<span class="ruby-identifier">xr</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xl</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">4</span>])
|
|
262
|
+
<span class="ruby-identifier">xl</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xr</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">5</span>])
|
|
263
|
+
<span class="ruby-identifier">xr</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xl</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">6</span>])
|
|
264
|
+
<span class="ruby-identifier">xl</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xr</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">7</span>])
|
|
265
|
+
<span class="ruby-value">3</span>.<span class="ruby-identifier">times</span> {
|
|
266
|
+
<span class="ruby-identifier">xr</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xl</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">7</span>])
|
|
267
|
+
<span class="ruby-identifier">xl</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xr</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">6</span>])
|
|
268
|
+
<span class="ruby-identifier">xr</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xl</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">5</span>])
|
|
269
|
+
<span class="ruby-identifier">xl</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xr</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">4</span>])
|
|
270
|
+
<span class="ruby-identifier">xr</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xl</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">3</span>])
|
|
271
|
+
<span class="ruby-identifier">xl</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xr</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">2</span>])
|
|
272
|
+
<span class="ruby-identifier">xr</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xl</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">1</span>])
|
|
273
|
+
<span class="ruby-identifier">xl</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xr</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">0</span>])
|
|
274
|
+
}
|
|
275
|
+
<span class="ruby-keyword kw">return</span>([<span class="ruby-identifier">xr</span>, <span class="ruby-identifier">xl</span>])
|
|
276
|
+
<span class="ruby-keyword kw">end</span>
|
|
277
|
+
</pre>
|
|
278
|
+
</div>
|
|
279
|
+
</div>
|
|
280
|
+
</div>
|
|
281
|
+
<div class="method">
|
|
282
|
+
<div class="title">
|
|
283
|
+
<a name="M000587"></a><b>decrypt_stream</b>(cryptStream, plainStream)
|
|
284
|
+
</div>
|
|
285
|
+
<div class="sourcecode">
|
|
286
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000587_source')" id="l_M000587_source">show source</a> ]</p>
|
|
287
|
+
<div id="M000587_source" class="dyn-source">
|
|
288
|
+
<pre>
|
|
289
|
+
<span class="ruby-comment cmt"># File lib/facets/bicrypt.rb, line 199</span>
|
|
290
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">decrypt_stream</span>(<span class="ruby-identifier">cryptStream</span>, <span class="ruby-identifier">plainStream</span>)
|
|
291
|
+
<span class="ruby-comment cmt"># Cypher-block-chain mode</span>
|
|
292
|
+
<span class="ruby-identifier">chain</span> = <span class="ruby-identifier">cryptStream</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">block_size</span>())
|
|
293
|
+
|
|
294
|
+
<span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">block</span> = <span class="ruby-identifier">cryptStream</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">block_size</span>()))
|
|
295
|
+
<span class="ruby-identifier">decrypted</span> = <span class="ruby-identifier">decrypt_block</span>(<span class="ruby-identifier">block</span>)
|
|
296
|
+
<span class="ruby-identifier">plainText</span> = <span class="ruby-identifier">decrypted</span> <span class="ruby-operator">^</span> <span class="ruby-identifier">chain</span>
|
|
297
|
+
<span class="ruby-identifier">plainStream</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">plainText</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">cryptStream</span>.<span class="ruby-identifier">eof?</span>
|
|
298
|
+
<span class="ruby-identifier">chain</span> = <span class="ruby-identifier">block</span>
|
|
299
|
+
<span class="ruby-keyword kw">end</span>
|
|
300
|
+
|
|
301
|
+
<span class="ruby-comment cmt"># write the final block, omitting the padding</span>
|
|
302
|
+
<span class="ruby-identifier">buffer</span> = <span class="ruby-identifier">plainText</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">''</span>)
|
|
303
|
+
<span class="ruby-identifier">remainingMessageBytes</span> = <span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">'C'</span>).<span class="ruby-identifier">first</span>
|
|
304
|
+
<span class="ruby-identifier">remainingMessageBytes</span>.<span class="ruby-identifier">times</span> { <span class="ruby-identifier">plainStream</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">shift</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="M000592"></a><b>decrypt_string</b>(cryptText)
|
|
313
|
+
</div>
|
|
314
|
+
<div class="sourcecode">
|
|
315
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000592_source')" id="l_M000592_source">show source</a> ]</p>
|
|
316
|
+
<div id="M000592_source" class="dyn-source">
|
|
317
|
+
<pre>
|
|
318
|
+
<span class="ruby-comment cmt"># File lib/facets/bicrypt.rb, line 256</span>
|
|
319
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">decrypt_string</span>(<span class="ruby-identifier">cryptText</span>)
|
|
320
|
+
<span class="ruby-identifier">cryptStream</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">cryptText</span>)
|
|
321
|
+
<span class="ruby-identifier">plainStream</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">''</span>)
|
|
322
|
+
<span class="ruby-identifier">decrypt_stream</span>(<span class="ruby-identifier">cryptStream</span>, <span class="ruby-identifier">plainStream</span>)
|
|
323
|
+
<span class="ruby-identifier">plainText</span> = <span class="ruby-identifier">plainStream</span>.<span class="ruby-identifier">string</span>
|
|
324
|
+
<span class="ruby-keyword kw">return</span>(<span class="ruby-identifier">plainText</span>)
|
|
325
|
+
<span class="ruby-keyword kw">end</span>
|
|
326
|
+
</pre>
|
|
327
|
+
</div>
|
|
328
|
+
</div>
|
|
329
|
+
</div>
|
|
330
|
+
<div class="method">
|
|
331
|
+
<div class="title">
|
|
332
|
+
<a name="M000583"></a><b>encrypt_block</b>(block)
|
|
333
|
+
</div>
|
|
334
|
+
<div class="sourcecode">
|
|
335
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000583_source')" id="l_M000583_source">show source</a> ]</p>
|
|
336
|
+
<div id="M000583_source" class="dyn-source">
|
|
337
|
+
<pre>
|
|
338
|
+
<span class="ruby-comment cmt"># File lib/facets/bicrypt.rb, line 139</span>
|
|
339
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">encrypt_block</span>(<span class="ruby-identifier">block</span>)
|
|
340
|
+
<span class="ruby-identifier">xl</span>, <span class="ruby-identifier">xr</span> = <span class="ruby-identifier">block</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">'NN'</span>)
|
|
341
|
+
<span class="ruby-identifier">xl</span>, <span class="ruby-identifier">xr</span> = <span class="ruby-identifier">encrypt_pair</span>(<span class="ruby-identifier">xl</span>, <span class="ruby-identifier">xr</span>)
|
|
342
|
+
<span class="ruby-identifier">encrypted</span> = [<span class="ruby-identifier">xl</span>, <span class="ruby-identifier">xr</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'NN'</span>)
|
|
343
|
+
<span class="ruby-keyword kw">return</span>(<span class="ruby-identifier">encrypted</span>)
|
|
344
|
+
<span class="ruby-keyword kw">end</span>
|
|
345
|
+
</pre>
|
|
346
|
+
</div>
|
|
347
|
+
</div>
|
|
348
|
+
</div>
|
|
349
|
+
<div class="method">
|
|
350
|
+
<div class="title">
|
|
351
|
+
<a name="M000589"></a><b>encrypt_file</b>(plainFilename, cryptFilename)
|
|
352
|
+
</div>
|
|
353
|
+
<div class="sourcecode">
|
|
354
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000589_source')" id="l_M000589_source">show source</a> ]</p>
|
|
355
|
+
<div id="M000589_source" class="dyn-source">
|
|
356
|
+
<pre>
|
|
357
|
+
<span class="ruby-comment cmt"># File lib/facets/bicrypt.rb, line 229</span>
|
|
358
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">encrypt_file</span>(<span class="ruby-identifier">plainFilename</span>, <span class="ruby-identifier">cryptFilename</span>)
|
|
359
|
+
<span class="ruby-identifier">plainFile</span> = <span class="ruby-identifier">carefully_open_file</span>(<span class="ruby-identifier">plainFilename</span>, <span class="ruby-value str">'rb'</span>)
|
|
360
|
+
<span class="ruby-identifier">cryptFile</span> = <span class="ruby-identifier">carefully_open_file</span>(<span class="ruby-identifier">cryptFilename</span>, <span class="ruby-value str">'wb+'</span>)
|
|
361
|
+
<span class="ruby-identifier">encrypt_stream</span>(<span class="ruby-identifier">plainFile</span>, <span class="ruby-identifier">cryptFile</span>)
|
|
362
|
+
<span class="ruby-identifier">plainFile</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">plainFile</span>.<span class="ruby-identifier">closed?</span>
|
|
363
|
+
<span class="ruby-identifier">cryptFile</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">cryptFile</span>.<span class="ruby-identifier">closed?</span>
|
|
364
|
+
<span class="ruby-keyword kw">end</span>
|
|
365
|
+
</pre>
|
|
366
|
+
</div>
|
|
367
|
+
</div>
|
|
368
|
+
</div>
|
|
369
|
+
<div class="method">
|
|
370
|
+
<div class="title">
|
|
371
|
+
<a name="M000581"></a><b>encrypt_pair</b>(xl, xr)
|
|
372
|
+
</div>
|
|
373
|
+
<div class="sourcecode">
|
|
374
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000581_source')" id="l_M000581_source">show source</a> ]</p>
|
|
375
|
+
<div id="M000581_source" class="dyn-source">
|
|
376
|
+
<pre>
|
|
377
|
+
<span class="ruby-comment cmt"># File lib/facets/bicrypt.rb, line 94</span>
|
|
378
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">encrypt_pair</span>(<span class="ruby-identifier">xl</span>, <span class="ruby-identifier">xr</span>)
|
|
379
|
+
<span class="ruby-value">3</span>.<span class="ruby-identifier">times</span> {
|
|
380
|
+
<span class="ruby-identifier">xr</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xl</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">0</span>])
|
|
381
|
+
<span class="ruby-identifier">xl</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xr</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">1</span>])
|
|
382
|
+
<span class="ruby-identifier">xr</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xl</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">2</span>])
|
|
383
|
+
<span class="ruby-identifier">xl</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xr</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">3</span>])
|
|
384
|
+
<span class="ruby-identifier">xr</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xl</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">4</span>])
|
|
385
|
+
<span class="ruby-identifier">xl</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xr</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">5</span>])
|
|
386
|
+
<span class="ruby-identifier">xr</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xl</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">6</span>])
|
|
387
|
+
<span class="ruby-identifier">xl</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xr</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">7</span>])
|
|
388
|
+
}
|
|
389
|
+
<span class="ruby-identifier">xr</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xl</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">7</span>])
|
|
390
|
+
<span class="ruby-identifier">xl</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xr</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">6</span>])
|
|
391
|
+
<span class="ruby-identifier">xr</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xl</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">5</span>])
|
|
392
|
+
<span class="ruby-identifier">xl</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xr</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">4</span>])
|
|
393
|
+
<span class="ruby-identifier">xr</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xl</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">3</span>])
|
|
394
|
+
<span class="ruby-identifier">xl</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xr</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">2</span>])
|
|
395
|
+
<span class="ruby-identifier">xr</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xl</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">1</span>])
|
|
396
|
+
<span class="ruby-identifier">xl</span> <span class="ruby-operator">^=</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">xr</span><span class="ruby-operator">+</span><span class="ruby-ivar">@key</span>[<span class="ruby-value">0</span>])
|
|
397
|
+
<span class="ruby-keyword kw">return</span>([<span class="ruby-identifier">xr</span>, <span class="ruby-identifier">xl</span>])
|
|
398
|
+
<span class="ruby-keyword kw">end</span>
|
|
399
|
+
</pre>
|
|
400
|
+
</div>
|
|
401
|
+
</div>
|
|
402
|
+
</div>
|
|
403
|
+
<div class="method">
|
|
404
|
+
<div class="title">
|
|
405
|
+
<a name="M000586"></a><b>encrypt_stream</b>(plainStream, cryptStream)
|
|
406
|
+
</div>
|
|
407
|
+
<div class="sourcecode">
|
|
408
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000586_source')" id="l_M000586_source">show source</a> ]</p>
|
|
409
|
+
<div id="M000586_source" class="dyn-source">
|
|
410
|
+
<pre>
|
|
411
|
+
<span class="ruby-comment cmt"># File lib/facets/bicrypt.rb, line 168</span>
|
|
412
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">encrypt_stream</span>(<span class="ruby-identifier">plainStream</span>, <span class="ruby-identifier">cryptStream</span>)
|
|
413
|
+
<span class="ruby-comment cmt"># Cypher-block-chain mode</span>
|
|
414
|
+
|
|
415
|
+
<span class="ruby-identifier">initVector</span> = <span class="ruby-identifier">generate_initialization_vector</span>(<span class="ruby-identifier">block_size</span>() <span class="ruby-operator">/</span> <span class="ruby-value">4</span>)
|
|
416
|
+
<span class="ruby-identifier">chain</span> = <span class="ruby-identifier">encrypt_block</span>(<span class="ruby-identifier">initVector</span>)
|
|
417
|
+
<span class="ruby-identifier">cryptStream</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">chain</span>)
|
|
418
|
+
|
|
419
|
+
<span class="ruby-keyword kw">while</span> ((<span class="ruby-identifier">block</span> = <span class="ruby-identifier">plainStream</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">block_size</span>())) <span class="ruby-operator">&&</span> (<span class="ruby-identifier">block</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">block_size</span>()))
|
|
420
|
+
<span class="ruby-identifier">block</span> = <span class="ruby-identifier">block</span> <span class="ruby-operator">^</span> <span class="ruby-identifier">chain</span>
|
|
421
|
+
<span class="ruby-identifier">encrypted</span> = <span class="ruby-identifier">encrypt_block</span>(<span class="ruby-identifier">block</span>)
|
|
422
|
+
<span class="ruby-identifier">cryptStream</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">encrypted</span>)
|
|
423
|
+
<span class="ruby-identifier">chain</span> = <span class="ruby-identifier">encrypted</span>
|
|
424
|
+
<span class="ruby-keyword kw">end</span>
|
|
425
|
+
|
|
426
|
+
<span class="ruby-comment cmt"># write the final block</span>
|
|
427
|
+
<span class="ruby-comment cmt"># At most block_size()-1 bytes can be part of the message.</span>
|
|
428
|
+
<span class="ruby-comment cmt"># That means the final byte can be used to store the number of meaningful</span>
|
|
429
|
+
<span class="ruby-comment cmt"># bytes in the final block</span>
|
|
430
|
+
<span class="ruby-identifier">block</span> = <span class="ruby-value str">''</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block</span>.<span class="ruby-identifier">nil?</span>
|
|
431
|
+
<span class="ruby-identifier">buffer</span> = <span class="ruby-identifier">block</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">''</span>)
|
|
432
|
+
<span class="ruby-identifier">remainingMessageBytes</span> = <span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">length</span>
|
|
433
|
+
<span class="ruby-comment cmt"># we use 7-bit characters to avoid possible strange behavior on the Mac</span>
|
|
434
|
+
<span class="ruby-identifier">remainingMessageBytes</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">block_size</span>()<span class="ruby-operator">-</span><span class="ruby-value">2</span>) { <span class="ruby-identifier">buffer</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">rand</span>(<span class="ruby-value">128</span>).<span class="ruby-identifier">chr</span> }
|
|
435
|
+
<span class="ruby-identifier">buffer</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">remainingMessageBytes</span>.<span class="ruby-identifier">chr</span>
|
|
436
|
+
<span class="ruby-identifier">block</span> = <span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">''</span>)
|
|
437
|
+
<span class="ruby-identifier">block</span> = <span class="ruby-identifier">block</span> <span class="ruby-operator">^</span> <span class="ruby-identifier">chain</span>
|
|
438
|
+
<span class="ruby-identifier">encrypted</span> = <span class="ruby-identifier">encrypt_block</span>(<span class="ruby-identifier">block</span>)
|
|
439
|
+
<span class="ruby-identifier">cryptStream</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">encrypted</span>)
|
|
440
|
+
<span class="ruby-keyword kw">end</span>
|
|
441
|
+
</pre>
|
|
442
|
+
</div>
|
|
443
|
+
</div>
|
|
444
|
+
</div>
|
|
445
|
+
<div class="method">
|
|
446
|
+
<div class="title">
|
|
447
|
+
<a name="M000591"></a><b>encrypt_string</b>(plainText)
|
|
448
|
+
</div>
|
|
449
|
+
<div class="sourcecode">
|
|
450
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000591_source')" id="l_M000591_source">show source</a> ]</p>
|
|
451
|
+
<div id="M000591_source" class="dyn-source">
|
|
452
|
+
<pre>
|
|
453
|
+
<span class="ruby-comment cmt"># File lib/facets/bicrypt.rb, line 247</span>
|
|
454
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">encrypt_string</span>(<span class="ruby-identifier">plainText</span>)
|
|
455
|
+
<span class="ruby-identifier">plainStream</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">plainText</span>)
|
|
456
|
+
<span class="ruby-identifier">cryptStream</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">''</span>)
|
|
457
|
+
<span class="ruby-identifier">encrypt_stream</span>(<span class="ruby-identifier">plainStream</span>, <span class="ruby-identifier">cryptStream</span>)
|
|
458
|
+
<span class="ruby-identifier">cryptText</span> = <span class="ruby-identifier">cryptStream</span>.<span class="ruby-identifier">string</span>
|
|
459
|
+
<span class="ruby-keyword kw">return</span>(<span class="ruby-identifier">cryptText</span>)
|
|
460
|
+
<span class="ruby-keyword kw">end</span>
|
|
461
|
+
</pre>
|
|
462
|
+
</div>
|
|
463
|
+
</div>
|
|
464
|
+
</div>
|
|
465
|
+
<div class="method">
|
|
466
|
+
<div class="title">
|
|
467
|
+
<a name="M000580"></a><b>f</b>(longWord)
|
|
468
|
+
</div>
|
|
469
|
+
<div class="sourcecode">
|
|
470
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000580_source')" id="l_M000580_source">show source</a> ]</p>
|
|
471
|
+
<div id="M000580_source" class="dyn-source">
|
|
472
|
+
<pre>
|
|
473
|
+
<span class="ruby-comment cmt"># File lib/facets/bicrypt.rb, line 88</span>
|
|
474
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">f</span>(<span class="ruby-identifier">longWord</span>)
|
|
475
|
+
<span class="ruby-identifier">longWord</span> = <span class="ruby-identifier">longWord</span> <span class="ruby-operator">%</span> <span class="ruby-constant">ULONG</span>
|
|
476
|
+
<span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span>, <span class="ruby-identifier">c</span>, <span class="ruby-identifier">d</span> = [<span class="ruby-identifier">longWord</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'L'</span>).<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">'CCCC'</span>)
|
|
477
|
+
<span class="ruby-keyword kw">return</span>(<span class="ruby-ivar">@sTable</span>[<span class="ruby-value">3</span>][<span class="ruby-identifier">d</span>] <span class="ruby-operator">^</span> <span class="ruby-ivar">@sTable</span>[<span class="ruby-value">2</span>][<span class="ruby-identifier">c</span>] <span class="ruby-operator">^</span> <span class="ruby-ivar">@sTable</span>[<span class="ruby-value">1</span>][<span class="ruby-identifier">b</span>] <span class="ruby-operator">^</span> <span class="ruby-ivar">@sTable</span>[<span class="ruby-value">0</span>][<span class="ruby-identifier">a</span>])
|
|
478
|
+
<span class="ruby-keyword kw">end</span>
|
|
479
|
+
</pre>
|
|
480
|
+
</div>
|
|
481
|
+
</div>
|
|
482
|
+
</div>
|
|
483
|
+
<div class="method">
|
|
484
|
+
<div class="title">
|
|
485
|
+
<a name="M000585"></a><b>generate_initialization_vector</b>(words)
|
|
486
|
+
</div>
|
|
487
|
+
<div class="description">
|
|
488
|
+
<p>
|
|
489
|
+
When this module is mixed in with an encryption class, the class must
|
|
490
|
+
provide three methods: <a
|
|
491
|
+
href="BiCrypt.html#M000583">encrypt_block</a>(block) and <a
|
|
492
|
+
href="BiCrypt.html#M000584">decrypt_block</a>(block) and <a
|
|
493
|
+
href="BiCrypt.html#M000577">block_size</a>()
|
|
494
|
+
</p>
|
|
495
|
+
</div>
|
|
496
|
+
<div class="sourcecode">
|
|
497
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000585_source')" id="l_M000585_source">show source</a> ]</p>
|
|
498
|
+
<div id="M000585_source" class="dyn-source">
|
|
499
|
+
<pre>
|
|
500
|
+
<span class="ruby-comment cmt"># File lib/facets/bicrypt.rb, line 158</span>
|
|
501
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate_initialization_vector</span>(<span class="ruby-identifier">words</span>)
|
|
502
|
+
<span class="ruby-identifier">srand</span>(<span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">to_i</span>)
|
|
503
|
+
<span class="ruby-identifier">vector</span> = <span class="ruby-value str">""</span>
|
|
504
|
+
<span class="ruby-identifier">words</span>.<span class="ruby-identifier">times</span> {
|
|
505
|
+
<span class="ruby-identifier">vector</span> <span class="ruby-operator"><<</span> [<span class="ruby-identifier">rand</span>(<span class="ruby-constant">ULONG</span>)].<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'N'</span>)
|
|
506
|
+
}
|
|
507
|
+
<span class="ruby-keyword kw">return</span>(<span class="ruby-identifier">vector</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="M000579"></a><b>precalculate_S_table</b>()
|
|
516
|
+
</div>
|
|
517
|
+
<div class="sourcecode">
|
|
518
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000579_source')" id="l_M000579_source">show source</a> ]</p>
|
|
519
|
+
<div id="M000579_source" class="dyn-source">
|
|
520
|
+
<pre>
|
|
521
|
+
<span class="ruby-comment cmt"># File lib/facets/bicrypt.rb, line 74</span>
|
|
522
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">precalculate_S_table</span>()
|
|
523
|
+
<span class="ruby-identifier">sTable</span> = [[], [], [], []]
|
|
524
|
+
<span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">3</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
|
525
|
+
<span class="ruby-value">0</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-value">255</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
|
|
526
|
+
<span class="ruby-identifier">t</span> = <span class="ruby-ivar">@sBox</span>[<span class="ruby-value">2</span><span class="ruby-operator">*</span><span class="ruby-identifier">i</span>][<span class="ruby-identifier">j</span> <span class="ruby-operator">%</span> <span class="ruby-value">16</span>] <span class="ruby-operator">|</span> (<span class="ruby-ivar">@sBox</span>[<span class="ruby-value">2</span><span class="ruby-operator">*</span><span class="ruby-identifier">i</span><span class="ruby-operator">+</span><span class="ruby-value">1</span>][<span class="ruby-identifier">j</span><span class="ruby-operator">/</span><span class="ruby-value">16</span>] <span class="ruby-operator"><<</span> <span class="ruby-value">4</span>)
|
|
527
|
+
<span class="ruby-identifier">u</span> = (<span class="ruby-value">8</span><span class="ruby-operator">*</span><span class="ruby-identifier">i</span> <span class="ruby-operator">+</span> <span class="ruby-value">11</span>) <span class="ruby-operator">%</span> <span class="ruby-value">32</span>
|
|
528
|
+
<span class="ruby-identifier">v</span> = (<span class="ruby-identifier">t</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">u</span>) <span class="ruby-operator">|</span> (<span class="ruby-identifier">t</span> <span class="ruby-operator">>></span> (<span class="ruby-value">32</span><span class="ruby-operator">-</span><span class="ruby-identifier">u</span>))
|
|
529
|
+
<span class="ruby-identifier">sTable</span>[<span class="ruby-identifier">i</span>][<span class="ruby-identifier">j</span>] = (<span class="ruby-identifier">v</span> <span class="ruby-operator">%</span> <span class="ruby-constant">ULONG</span>)
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
<span class="ruby-keyword kw">return</span>(<span class="ruby-identifier">sTable</span>)
|
|
533
|
+
<span class="ruby-keyword kw">end</span>
|
|
534
|
+
</pre>
|
|
535
|
+
</div>
|
|
536
|
+
</div>
|
|
537
|
+
</div>
|
|
538
|
+
</div>
|
|
539
|
+
|
|
540
|
+
</div>
|
|
541
|
+
|
|
542
|
+
</body>
|
|
543
|
+
</html>
|