facets 3.1.0 → 3.2.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.
- checksums.yaml +5 -5
- data/HISTORY.md +141 -0
- data/LICENSE.txt +21 -343
- data/README.md +26 -19
- data/lib/core/facets/array/arrange.rb +1 -42
- data/lib/core/facets/array/average.rb +0 -1
- data/lib/core/facets/array/before.rb +1 -1
- data/lib/core/facets/array/delete_first.rb +21 -0
- data/lib/core/facets/array/duplicates.rb +13 -0
- data/lib/core/facets/array/indexes.rb +113 -0
- data/lib/core/facets/array/nonuniq.rb +6 -8
- data/lib/core/facets/array/occurrence.rb +4 -1
- data/lib/core/facets/array/remove.rb +39 -0
- data/lib/core/facets/array/span.rb +29 -0
- data/lib/core/facets/array/split_at.rb +25 -0
- data/lib/core/facets/array/standard_deviation.rb +7 -2
- data/lib/core/facets/array/step.rb +12 -14
- data/lib/core/facets/array/to_ranges.rb +48 -0
- data/lib/core/facets/array/uniq_by.rb +3 -3
- data/lib/core/facets/binding/caller.rb +8 -2
- data/lib/core/facets/binding/op_get.rb +7 -11
- data/lib/core/facets/binding/self.rb +4 -10
- data/lib/core/facets/boolean.rb +1 -1
- data/lib/core/facets/class/descendants.rb +0 -2
- data/lib/core/facets/class.rb +2 -2
- data/lib/core/facets/comparable/bound.rb +13 -1
- data/lib/core/facets/comparable/clip.rb +3 -32
- data/lib/core/facets/denumerable.rb +0 -3
- data/lib/core/facets/dir/find.rb +20 -0
- data/lib/core/facets/dir/recurse.rb +8 -26
- data/lib/core/facets/enumerable/compact_map.rb +2 -12
- data/lib/core/facets/enumerable/defer.rb +2 -13
- data/lib/core/facets/enumerable/each_by.rb +0 -2
- data/lib/core/facets/enumerable/frequency.rb +2 -2
- data/lib/core/facets/enumerable/hinge.rb +3 -4
- data/lib/core/facets/enumerable/map_with_index.rb +3 -6
- data/lib/core/facets/enumerable/mash.rb +5 -28
- data/lib/core/facets/enumerable/uniq_by.rb +4 -8
- data/lib/core/facets/enumerable/with_position.rb +58 -0
- data/lib/core/facets/enumerator.rb +2 -75
- data/lib/core/facets/exception/error_print.rb +6 -71
- data/lib/core/facets/file/null.rb +3 -15
- data/lib/core/facets/file/read_binary.rb +3 -12
- data/lib/core/facets/hash/except.rb +0 -7
- data/lib/core/facets/hash/fetch_nested.rb +8 -9
- data/lib/core/facets/hash/graph.rb +1 -1
- data/lib/core/facets/hash/rekey.rb +3 -3
- data/lib/core/facets/hash/revalue.rb +3 -3
- data/lib/core/facets/hash/{to_proc.rb → setter.rb} +8 -9
- data/lib/core/facets/hash/slice.rb +0 -26
- data/lib/core/facets/hash/update_keys.rb +4 -11
- data/lib/core/facets/hash/update_values.rb +4 -10
- data/lib/core/facets/indexable.rb +6 -4
- data/lib/core/facets/kernel/callstack.rb +5 -24
- data/lib/core/facets/kernel/eigenclass.rb +6 -6
- data/lib/core/facets/kernel/extension.rb +3 -6
- data/lib/core/facets/kernel/functor.rb +16 -0
- data/lib/core/facets/kernel/instance_class.rb +4 -20
- data/lib/core/facets/kernel/instance_send.rb +5 -3
- data/lib/core/facets/kernel/load_relative.rb +8 -20
- data/lib/core/facets/kernel/memo.rb +4 -26
- data/lib/core/facets/kernel/meta_class.rb +10 -6
- data/lib/core/facets/kernel/object_class.rb +5 -6
- data/lib/core/facets/kernel/object_send.rb +5 -26
- data/lib/core/facets/kernel/qua_class.rb +4 -20
- data/lib/core/facets/kernel/require_all.rb +8 -20
- data/lib/core/facets/kernel/returning.rb +3 -19
- data/lib/core/facets/kernel/tap.rb +3 -36
- data/lib/core/facets/kernel/tee.rb +2 -0
- data/lib/core/facets/kernel/try.rb +38 -28
- data/lib/core/facets/kernel.rb +2 -4
- data/lib/core/facets/lazy.rb +1 -1
- data/lib/core/facets/module/alias_method_chain.rb +4 -43
- data/lib/core/facets/module/attr_setter.rb +3 -2
- data/lib/core/facets/module/can.rb +5 -16
- data/lib/core/facets/module/class_extend.rb +2 -2
- data/lib/core/facets/object/dup.rb +0 -46
- data/lib/core/facets/proc/bind.rb +0 -2
- data/lib/core/facets/proc/compose.rb +7 -28
- data/lib/core/facets/proc/to_method.rb +0 -1
- data/lib/core/facets/proc/update.rb +8 -1
- data/lib/core/facets/range/intersection.rb +42 -0
- data/lib/core/facets/range/nudge.rb +6 -8
- data/lib/core/facets/string/ascii_only.rb +2 -2
- data/lib/core/facets/string/cleanlines.rb +0 -2
- data/lib/core/facets/string/dashcase.rb +21 -0
- data/lib/core/facets/string/lchomp.rb +7 -14
- data/lib/core/facets/string/newlines.rb +0 -2
- data/lib/core/facets/string/snakecase.rb +12 -5
- data/lib/core/facets/string/words.rb +13 -1
- data/lib/core/facets/string.rb +0 -1
- data/lib/core/facets/struct/attributes.rb +2 -3
- data/lib/core/facets/time/trunc.rb +12 -5
- data/lib/core/facets/unboundmethod/arguments.rb +1 -0
- data/lib/core/facets/version.rb +1 -17
- data/lib/core/facets.rb +0 -1
- data/lib/standard/facets/argvector.rb +1 -1
- data/lib/standard/facets/cgi/escape_html.rb +14 -25
- data/lib/standard/facets/cloneable.rb +4 -51
- data/lib/standard/facets/continuation.rb +2 -56
- data/lib/standard/facets/crypt3.rb +126 -0
- data/lib/standard/facets/date/cmp.rb +32 -0
- data/lib/standard/facets/date.rb +1 -0
- data/lib/standard/facets/digest.rb +0 -1
- data/lib/standard/facets/fileutils/cp_rx.rb +0 -2
- data/lib/standard/facets/fileutils/ln_r.rb +0 -1
- data/lib/standard/facets/find/select.rb +0 -2
- data/lib/standard/facets/getoptlong.rb +3 -59
- data/lib/standard/facets/load_monitor.rb +2 -26
- data/lib/standard/facets/math/gini_coefficient.rb +5 -4
- data/lib/standard/facets/math/kldivergence.rb +8 -7
- data/lib/standard/facets/math/percentile.rb +1 -1
- data/lib/standard/facets/multiton.rb +1 -1
- data/lib/standard/facets/ostruct/initialize.rb +4 -19
- data/lib/standard/facets/ostruct/to_ostruct.rb +2 -1
- data/lib/standard/facets/ostruct.rb +0 -88
- data/lib/standard/facets/pathname/empty.rb +2 -10
- data/lib/standard/facets/pathname/glob.rb +19 -12
- data/lib/standard/facets/pathname/null.rb +3 -14
- data/lib/standard/facets/random.rb +47 -133
- data/lib/standard/facets/tuple.rb +2 -4
- data/lib/standard/facets/uri.rb +3 -2
- metadata +29 -1172
- data/.index +0 -80
- data/.yardopts +0 -10
- data/NOTICE.rdoc +0 -167
- data/demo/applique/assertion_framework.rb +0 -1
- data/demo/applique/file_helpers.rb +0 -34
- data/demo/core/array/after.md +0 -13
- data/demo/core/array/arrange.md +0 -17
- data/demo/core/array/before.md +0 -14
- data/demo/core/array/collapse.md +0 -15
- data/demo/core/array/collisions.md +0 -30
- data/demo/core/array/commonality.md +0 -31
- data/demo/core/array/conjoin.md +0 -47
- data/demo/core/array/contains.md +0 -9
- data/demo/core/array/delete_unless.md +0 -13
- data/demo/core/array/delete_values.md +0 -10
- data/demo/core/array/delete_values_at.md +0 -15
- data/demo/core/array/divide.md +0 -14
- data/demo/core/array/duplicates.md +0 -14
- data/demo/core/array/each_overlap.md +0 -12
- data/demo/core/array/each_pair.md +0 -13
- data/demo/core/array/each_value.md +0 -12
- data/demo/core/array/entropy.md +0 -13
- data/demo/core/array/extract_options.md +0 -13
- data/demo/core/array/first.md +0 -11
- data/demo/core/array/from.md +0 -11
- data/demo/core/array/ideal_entropy.md +0 -11
- data/demo/core/array/intersection.md +0 -11
- data/demo/core/array/last.md +0 -11
- data/demo/core/array/median.md +0 -23
- data/demo/core/array/merge.md +0 -15
- data/demo/core/array/missing.md +0 -10
- data/demo/core/array/mode.md +0 -9
- data/demo/core/array/nonuniq.md +0 -16
- data/demo/core/array/not_empty.md +0 -8
- data/demo/core/array/occur.md +0 -18
- data/demo/core/array/occurrence.md +0 -13
- data/demo/core/array/only.md +0 -9
- data/demo/core/array/op_pow.md +0 -10
- data/demo/core/array/pad.md +0 -28
- data/demo/core/array/peek.md +0 -10
- data/demo/core/array/poke.md +0 -15
- data/demo/core/array/probability +0 -8
- data/demo/core/array/pull.md +0 -10
- data/demo/core/array/recurse.md +0 -10
- data/demo/core/array/recursively.md +0 -20
- data/demo/core/array/reject_values.md +0 -10
- data/demo/core/array/splice.md +0 -14
- data/demo/core/array/split.md +0 -13
- data/demo/core/array/squeeze.md +0 -14
- data/demo/core/array/step.md +0 -16
- data/demo/core/array/store.md +0 -9
- data/demo/core/array/thru.md +0 -12
- data/demo/core/array/to_h.md +0 -11
- data/demo/core/array/traverse.md +0 -20
- data/demo/core/array/uniq_by.md +0 -16
- data/demo/core/array/unique_permutation.md +0 -14
- data/demo/core/array/zip.md +0 -8
- data/demo/core/binding/caller.md +0 -57
- data/demo/core/binding/defined.md +0 -10
- data/demo/core/binding/opvars.md +0 -16
- data/demo/core/binding/self.md +0 -6
- data/demo/core/class/descendants.md +0 -13
- data/demo/core/class/to_proc.md +0 -11
- data/demo/core/comparable/at_least.md +0 -11
- data/demo/core/comparable/at_most.md +0 -11
- data/demo/core/comparable/bound.md +0 -13
- data/demo/core/comparable/cap.md +0 -11
- data/demo/core/comparable/clip.md +0 -29
- data/demo/core/comparable/cmp.md +0 -18
- data/demo/core/comparable/op_get.md +0 -32
- data/demo/core/dir/ascend.md +0 -24
- data/demo/core/dir/descend.md +0 -16
- data/demo/core/dir/multiglob.md +0 -41
- data/demo/core/dir/parent.md +0 -6
- data/demo/core/dir/recurse.md +0 -41
- data/demo/core/exception/detail.md +0 -19
- data/demo/core/facets.md +0 -6
- data/demo/core/filetest/root.md +0 -13
- data/demo/core/hash/recursively.md +0 -21
- data/demo/core/indexable.md +0 -95
- data/demo/core/integer/bitmask.md +0 -46
- data/demo/core/integer/factorial.md +0 -10
- data/demo/core/integer/length.md +0 -7
- data/demo/core/integer/multiple.md +0 -12
- data/demo/core/integer/of.md +0 -11
- data/demo/core/integer/ordinal.md +0 -11
- data/demo/core/integer/times_collect.md +0 -9
- data/demo/core/matchdata/match.md +0 -7
- data/demo/core/matchdata/matchset.md +0 -7
- data/demo/core/matchdata/matchtree.md +0 -10
- data/demo/core/module/cattr.md +0 -43
- data/demo/core/module/class_extend.md +0 -64
- data/demo/core/module/class_inheritor.md +0 -126
- data/demo/core/module/copy_inheritor.md +0 -30
- data/demo/core/module/include_as.md +0 -31
- data/demo/core/module/method_space.md +0 -24
- data/demo/core/string/acronym.md +0 -9
- data/demo/core/string/align.md +0 -34
- data/demo/core/string/ascii_only.md +0 -37
- data/demo/core/string/bracket.md +0 -35
- data/demo/core/string/camelcase.md +0 -47
- data/demo/core/string/capitalized.md +0 -27
- data/demo/core/string/characters.md +0 -11
- data/demo/core/string/cleanlines.md +0 -10
- data/demo/core/string/cleave.md +0 -49
- data/demo/core/string/compress_lines.md +0 -22
- data/demo/core/string/crypt.md +0 -15
- data/demo/core/string/divide.md +0 -9
- data/demo/core/string/each_word.md +0 -11
- data/demo/core/string/edit_distance.md +0 -15
- data/demo/core/string/exclude.md +0 -15
- data/demo/core/string/expand_tabs.md +0 -69
- data/demo/core/string/fold.md +0 -14
- data/demo/core/string/indent.md +0 -65
- data/demo/core/string/index_all.md +0 -14
- data/demo/core/string/interpolate.md +0 -8
- data/demo/core/string/lchomp.md +0 -14
- data/demo/core/string/line_wrap.md +0 -7
- data/demo/core/string/lowercase.md +0 -12
- data/demo/core/string/methodize.md +0 -22
- data/demo/core/string/modulize.md +0 -22
- data/demo/core/string/mscan.md +0 -10
- data/demo/core/string/natcmp.md +0 -10
- data/demo/core/string/nchar.md +0 -9
- data/demo/core/string/newlines.md +0 -9
- data/demo/core/string/number.md +0 -27
- data/demo/core/string/op_div.md +0 -10
- data/demo/core/string/op_sub.md +0 -7
- data/demo/core/string/pathize.md +0 -22
- data/demo/core/string/quote.md +0 -20
- data/demo/core/string/random.md +0 -25
- data/demo/core/string/range.md +0 -19
- data/demo/core/string/remove.md +0 -33
- data/demo/core/string/rewrite.md +0 -9
- data/demo/core/string/shatter.md +0 -9
- data/demo/core/string/similarity.md +0 -12
- data/demo/core/string/snakecase.md +0 -14
- data/demo/core/string/splice.md +0 -28
- data/demo/core/string/squish.md +0 -27
- data/demo/core/string/store.md +0 -10
- data/demo/core/string/subtract.md +0 -8
- data/demo/core/string/titlecase.md +0 -8
- data/demo/core/string/to_re.md +0 -22
- data/demo/core/string/trim.md +0 -92
- data/demo/core/string/unbracket.md +0 -24
- data/demo/core/string/underscore.md +0 -17
- data/demo/core/string/unfold.md +0 -9
- data/demo/core/string/unindent.md +0 -65
- data/demo/core/string/unquote.md +0 -6
- data/demo/core/string/uppercase.md +0 -15
- data/demo/core/string/variablize.md +0 -7
- data/demo/core/string/word_wrap.md +0 -54
- data/demo/core/string/words.md +0 -13
- data/demo/core/string/xor.md +0 -8
- data/demo/standard/02_cloneable.rdoc +0 -46
- data/demo/standard/03_enumargs.rdoc +0 -75
- data/demo/standard/04_equitable.rdoc +0 -35
- data/demo/standard/05_instantiable.rdoc +0 -42
- data/demo/standard/basic_object.rdoc +0 -22
- data/demo/standard/memoizable.rdoc +0 -134
- data/demo/standard/mulititon.rdoc +0 -156
- data/lib/core/facets/applique/file_helpers.rb +0 -33
- data/lib/core/facets/array/intersection.rb +0 -25
- data/lib/core/facets/array/op_pow.rb +0 -12
- data/lib/core/facets/array/to_h.rb +0 -19
- data/lib/core/facets/class/singleton.rb +0 -1
- data/lib/core/facets/class/singleton_class.rb +0 -16
- data/lib/core/facets/class/subclasses.rb +0 -28
- data/lib/core/facets/dir/each_child.rb +0 -16
- data/lib/core/facets/enumerable/filter.rb +0 -33
- data/lib/core/facets/enumerable/sum.rb +0 -40
- data/lib/core/facets/exception/set_message.rb +0 -10
- data/lib/core/facets/file/write.rb +0 -24
- data/lib/core/facets/fixnum.rb +0 -7
- data/lib/core/facets/kernel/__dir__.rb +0 -28
- data/lib/core/facets/kernel/constant.rb +0 -22
- data/lib/core/facets/kernel/instance_exec.rb +0 -47
- data/lib/core/facets/kernel/p.rb +0 -24
- data/lib/core/facets/kernel/singleton_class.rb +0 -10
- data/lib/core/facets/matchdata/match.rb +0 -15
- data/lib/core/facets/method/curry.rb +0 -13
- data/lib/core/facets/numeric/negative.rb +0 -1
- data/lib/core/facets/numeric/positive.rb +0 -15
- data/lib/core/facets/object/itself.rb +0 -16
- data/lib/core/facets/object/try_dup.rb +0 -1
- data/lib/core/facets/process/daemon.rb +0 -32
- data/lib/core/facets/range/overlap.rb +0 -12
- data/lib/core/facets/string/characters.rb +0 -13
- data/lib/core/facets/string/crypt.rb +0 -22
- data/lib/core/facets/symbol/succ.rb +0 -23
- data/lib/core/facets.yml +0 -80
- data/lib/standard/facets/basicobject.rb +0 -75
- data/lib/standard/facets/digest/base64digest.rb +0 -45
- data/lib/standard/facets/ostruct/each.rb +0 -11
- data/lib/standard/facets/ostruct/merge.rb +0 -21
- data/lib/standard/facets/ostruct/op_fetch.rb +0 -29
- data/lib/standard/facets/ostruct/op_store.rb +0 -1
- data/lib/standard/facets/ostruct/to_h.rb +0 -10
- data/test/core/array/test_arrange.rb +0 -37
- data/test/core/array/test_average.rb +0 -16
- data/test/core/array/test_before.rb +0 -48
- data/test/core/array/test_collapse.rb +0 -23
- data/test/core/array/test_commonality.rb +0 -35
- data/test/core/array/test_conjoin.rb +0 -50
- data/test/core/array/test_contains.rb +0 -14
- data/test/core/array/test_delete.rb +0 -42
- data/test/core/array/test_delete_unless.rb +0 -17
- data/test/core/array/test_delete_values.rb +0 -31
- data/test/core/array/test_divide.rb +0 -24
- data/test/core/array/test_duplicates.rb +0 -29
- data/test/core/array/test_each_overlap.rb +0 -31
- data/test/core/array/test_each_pair.rb +0 -16
- data/test/core/array/test_each_value.rb +0 -16
- data/test/core/array/test_entropy.rb +0 -23
- data/test/core/array/test_extract_options.rb +0 -28
- data/test/core/array/test_first.rb +0 -17
- data/test/core/array/test_from.rb +0 -42
- data/test/core/array/test_intersection.rb +0 -19
- data/test/core/array/test_last.rb +0 -17
- data/test/core/array/test_median.rb +0 -27
- data/test/core/array/test_merge.rb +0 -27
- data/test/core/array/test_missing.rb +0 -12
- data/test/core/array/test_mode.rb +0 -17
- data/test/core/array/test_nonuniq.rb +0 -25
- data/test/core/array/test_not_empty.rb +0 -17
- data/test/core/array/test_occur.rb +0 -52
- data/test/core/array/test_occurrence.rb +0 -20
- data/test/core/array/test_only.rb +0 -17
- data/test/core/array/test_op_pow.rb +0 -13
- data/test/core/array/test_pad.rb +0 -40
- data/test/core/array/test_peek.rb +0 -28
- data/test/core/array/test_poke.rb +0 -21
- data/test/core/array/test_probability.rb +0 -18
- data/test/core/array/test_pull.rb +0 -15
- data/test/core/array/test_recurse.rb +0 -40
- data/test/core/array/test_recursively.rb +0 -33
- data/test/core/array/test_reject_values.rb +0 -17
- data/test/core/array/test_splice.rb +0 -21
- data/test/core/array/test_split.rb +0 -22
- data/test/core/array/test_squeeze.rb +0 -22
- data/test/core/array/test_standard_deviation.rb +0 -18
- data/test/core/array/test_step.rb +0 -28
- data/test/core/array/test_store.rb +0 -22
- data/test/core/array/test_to_h.rb +0 -14
- data/test/core/array/test_traverse.rb +0 -26
- data/test/core/array/test_uniq_by.rb +0 -24
- data/test/core/array/test_unique_permutation.rb +0 -23
- data/test/core/array/test_variance.rb +0 -17
- data/test/core/array/test_zip.rb +0 -13
- data/test/core/binding/test_caller.rb +0 -69
- data/test/core/binding/test_defined.rb +0 -18
- data/test/core/binding/test_op.rb +0 -24
- data/test/core/binding/test_self.rb +0 -16
- data/test/core/class/test_descendents.rb +0 -19
- data/test/core/class/test_preallocate.rb +0 -32
- data/test/core/class/test_subclasses.rb +0 -20
- data/test/core/class/test_to_proc.rb +0 -16
- data/test/core/comparable/test_bound.rb +0 -32
- data/test/core/comparable/test_cap.rb +0 -36
- data/test/core/comparable/test_clip.rb +0 -31
- data/test/core/comparable/test_cmp.rb +0 -16
- data/test/core/comparable/test_op_get.rb +0 -61
- data/test/core/denumerable_tc.rb +0 -194
- data/test/core/dir/test_ascend.rb +0 -40
- data/test/core/dir/test_descend.rb +0 -24
- data/test/core/dir/test_each_child.rb +0 -22
- data/test/core/dir/test_multiglob.rb +0 -25
- data/test/core/dir/test_parent.rb +0 -14
- data/test/core/dir/test_recurse.rb +0 -26
- data/test/core/enumerable/test_accumulate.rb +0 -44
- data/test/core/enumerable/test_cluster.rb +0 -36
- data/test/core/enumerable/test_compact_map.rb +0 -32
- data/test/core/enumerable/test_defer.rb +0 -27
- data/test/core/enumerable/test_each_by.rb +0 -49
- data/test/core/enumerable/test_every.rb +0 -33
- data/test/core/enumerable/test_ewise.rb +0 -30
- data/test/core/enumerable/test_exclude.rb +0 -15
- data/test/core/enumerable/test_expand.rb +0 -15
- data/test/core/enumerable/test_filter.rb +0 -19
- data/test/core/enumerable/test_find_yield.rb +0 -96
- data/test/core/enumerable/test_frequency.rb +0 -15
- data/test/core/enumerable/test_graph.rb +0 -42
- data/test/core/enumerable/test_hashify.rb +0 -113
- data/test/core/enumerable/test_key_by.rb +0 -22
- data/test/core/enumerable/test_map_by.rb +0 -27
- data/test/core/enumerable/test_map_send.rb +0 -26
- data/test/core/enumerable/test_map_with_index.rb +0 -23
- data/test/core/enumerable/test_mash.rb +0 -17
- data/test/core/enumerable/test_modulate.rb +0 -17
- data/test/core/enumerable/test_occur.rb +0 -40
- data/test/core/enumerable/test_only.rb +0 -40
- data/test/core/enumerable/test_per.rb +0 -19
- data/test/core/enumerable/test_purge.rb +0 -22
- data/test/core/enumerable/test_recursively.rb +0 -33
- data/test/core/enumerable/test_squeeze.rb +0 -35
- data/test/core/enumerable/test_sum.rb +0 -40
- data/test/core/enumerable/test_uniq_by.rb +0 -25
- data/test/core/enumerable/test_visit.rb +0 -14
- data/test/core/enumerator/lazy/test_squeeze.rb +0 -33
- data/test/core/enumerator/test_fx.rb +0 -16
- data/test/core/enumerator/test_new.rb +0 -21
- data/test/core/enumerator_tc.rb +0 -40
- data/test/core/exception/test_detail.rb +0 -15
- data/test/core/exception/test_raised.rb +0 -15
- data/test/core/exception/test_suppress.rb +0 -16
- data/test/core/file/test_append.rb +0 -22
- data/test/core/file/test_create.rb +0 -17
- data/test/core/file/test_ext.rb +0 -31
- data/test/core/file/test_null.rb +0 -14
- data/test/core/file/test_read_binary.rb +0 -19
- data/test/core/file/test_read_list.rb +0 -16
- data/test/core/file/test_rewrite.rb +0 -35
- data/test/core/file/test_rootname.rb +0 -13
- data/test/core/file/test_sanitize.rb +0 -32
- data/test/core/file/test_split_all.rb +0 -14
- data/test/core/file/test_write.rb +0 -22
- data/test/core/file/test_writelines.rb +0 -21
- data/test/core/filetest/test_root.rb +0 -14
- data/test/core/functor_tc.rb +0 -41
- data/test/core/hash/test_alias.rb +0 -25
- data/test/core/hash/test_argumentize.rb +0 -23
- data/test/core/hash/test_at.rb +0 -16
- data/test/core/hash/test_autonew.rb +0 -22
- data/test/core/hash/test_collate.rb +0 -61
- data/test/core/hash/test_count.rb +0 -23
- data/test/core/hash/test_data.rb +0 -35
- data/test/core/hash/test_dearray_values.rb +0 -26
- data/test/core/hash/test_deep_merge.rb +0 -31
- data/test/core/hash/test_deep_rekey.rb +0 -131
- data/test/core/hash/test_delete_at.rb +0 -18
- data/test/core/hash/test_delete_unless.rb +0 -18
- data/test/core/hash/test_delete_values.rb +0 -30
- data/test/core/hash/test_diff.rb +0 -16
- data/test/core/hash/test_each_with_key.rb +0 -16
- data/test/core/hash/test_expect.rb +0 -34
- data/test/core/hash/test_fetch_nested.rb +0 -24
- data/test/core/hash/test_graph.rb +0 -40
- data/test/core/hash/test_insert.rb +0 -20
- data/test/core/hash/test_inverse.rb +0 -20
- data/test/core/hash/test_join.rb +0 -32
- data/test/core/hash/test_keys.rb +0 -41
- data/test/core/hash/test_new_with.rb +0 -17
- data/test/core/hash/test_op_add.rb +0 -17
- data/test/core/hash/test_op_and.rb +0 -31
- data/test/core/hash/test_op_mul.rb +0 -17
- data/test/core/hash/test_op_or.rb +0 -17
- data/test/core/hash/test_op_push.rb +0 -34
- data/test/core/hash/test_op_sub.rb +0 -28
- data/test/core/hash/test_recurse.rb +0 -39
- data/test/core/hash/test_recursively.rb +0 -71
- data/test/core/hash/test_rekey.rb +0 -119
- data/test/core/hash/test_replace_each.rb +0 -17
- data/test/core/hash/test_revalue.rb +0 -98
- data/test/core/hash/test_reverse_merge.rb +0 -39
- data/test/core/hash/test_slice.rb +0 -36
- data/test/core/hash/test_stringify_keys.rb +0 -26
- data/test/core/hash/test_swap.rb +0 -15
- data/test/core/hash/test_symbolize_keys.rb +0 -26
- data/test/core/hash/test_to_mod.rb +0 -24
- data/test/core/hash/test_to_proc.rb +0 -23
- data/test/core/hash/test_to_struct.rb +0 -22
- data/test/core/hash/test_traverse.rb +0 -29
- data/test/core/hash/test_update_each.rb +0 -16
- data/test/core/hash/test_update_keys.rb +0 -21
- data/test/core/hash/test_update_values.rb +0 -15
- data/test/core/hash/test_weave.rb +0 -18
- data/test/core/hash/test_zip.rb +0 -16
- data/test/core/indexable_tc.rb +0 -226
- data/test/core/integer/test_bitmask.rb +0 -73
- data/test/core/integer/test_factorial.rb +0 -30
- data/test/core/integer/test_multiple.rb +0 -16
- data/test/core/integer/test_of.rb +0 -36
- data/test/core/integer/test_ordinal.rb +0 -27
- data/test/core/kernel/test_as.rb +0 -74
- data/test/core/kernel/test_ask.rb +0 -9
- data/test/core/kernel/test_assign.rb +0 -61
- data/test/core/kernel/test_assign_from.rb +0 -48
- data/test/core/kernel/test_attr_singleton.rb +0 -51
- data/test/core/kernel/test_blank.rb +0 -103
- data/test/core/kernel/test_callstack.rb +0 -21
- data/test/core/kernel/test_class.rb +0 -14
- data/test/core/kernel/test_complete.rb +0 -19
- data/test/core/kernel/test_constant.rb +0 -18
- data/test/core/kernel/test_d.rb +0 -10
- data/test/core/kernel/test_deep_clone.rb +0 -31
- data/test/core/kernel/test_deep_copy.rb +0 -15
- data/test/core/kernel/test_dir.rb +0 -24
- data/test/core/kernel/test_disable_warnings.rb +0 -38
- data/test/core/kernel/test_ergo.rb +0 -34
- data/test/core/kernel/test_extension.rb +0 -18
- data/test/core/kernel/test_get.rb +0 -54
- data/test/core/kernel/test_here.rb +0 -13
- data/test/core/kernel/test_hierarchical_send.rb +0 -48
- data/test/core/kernel/test_in.rb +0 -14
- data/test/core/kernel/test_instance_assign.rb +0 -19
- data/test/core/kernel/test_instance_class.rb +0 -15
- data/test/core/kernel/test_instance_extract.rb +0 -28
- data/test/core/kernel/test_instance_replace.rb +0 -47
- data/test/core/kernel/test_instance_send.rb +0 -26
- data/test/core/kernel/test_maybe.rb +0 -13
- data/test/core/kernel/test_meta_alias.rb +0 -18
- data/test/core/kernel/test_meta_class.rb +0 -33
- data/test/core/kernel/test_meta_def.rb +0 -15
- data/test/core/kernel/test_meta_eval.rb +0 -18
- data/test/core/kernel/test_method.rb +0 -20
- data/test/core/kernel/test_not.rb +0 -51
- data/test/core/kernel/test_not_nil.rb +0 -25
- data/test/core/kernel/test_object_class.rb +0 -22
- data/test/core/kernel/test_object_hexid.rb +0 -20
- data/test/core/kernel/test_object_send.rb +0 -25
- data/test/core/kernel/test_presence.rb +0 -37
- data/test/core/kernel/test_qua_class.rb +0 -25
- data/test/core/kernel/test_require_all.rb +0 -11
- data/test/core/kernel/test_respond.rb +0 -38
- data/test/core/kernel/test_returning.rb +0 -17
- data/test/core/kernel/test_silence.rb +0 -24
- data/test/core/kernel/test_singleton_class.rb +0 -15
- data/test/core/kernel/test_super_method.rb +0 -23
- data/test/core/kernel/test_tap.rb +0 -38
- data/test/core/kernel/test_temporarily.rb +0 -25
- data/test/core/kernel/test_true.rb +0 -31
- data/test/core/kernel/test_try.rb +0 -35
- data/test/core/kernel/test_val.rb +0 -30
- data/test/core/kernel/test_with.rb +0 -18
- data/test/core/kernel/test_writers.rb +0 -53
- data/test/core/matchdata/test_match.rb +0 -14
- data/test/core/matchdata/test_matchset.rb +0 -29
- data/test/core/method/test_composition.rb +0 -42
- data/test/core/module/test_abstract.rb +0 -24
- data/test/core/module/test_alias_accessor.rb +0 -27
- data/test/core/module/test_alias_method_chain.rb +0 -34
- data/test/core/module/test_alias_module_function.rb +0 -24
- data/test/core/module/test_all_instance_methods.rb +0 -27
- data/test/core/module/test_ancestor.rb +0 -16
- data/test/core/module/test_anonymous.rb +0 -18
- data/test/core/module/test_attr_setter.rb +0 -28
- data/test/core/module/test_basename.rb +0 -14
- data/test/core/module/test_can.rb +0 -22
- data/test/core/module/test_class.rb +0 -22
- data/test/core/module/test_class_def.rb +0 -22
- data/test/core/module/test_class_extend.rb +0 -73
- data/test/core/module/test_class_inheritor.rb +0 -135
- data/test/core/module/test_copy_inheritor.rb +0 -35
- data/test/core/module/test_enclosure.rb +0 -24
- data/test/core/module/test_instance_function.rb +0 -30
- data/test/core/module/test_instance_method.rb +0 -20
- data/test/core/module/test_instance_method_defined.rb +0 -38
- data/test/core/module/test_integrate.rb +0 -28
- data/test/core/module/test_is.rb +0 -50
- data/test/core/module/test_memoize.rb +0 -33
- data/test/core/module/test_method_clash.rb +0 -59
- data/test/core/module/test_method_space.rb +0 -72
- data/test/core/module/test_methodize.rb +0 -26
- data/test/core/module/test_modname.rb +0 -13
- data/test/core/module/test_module_def.rb +0 -22
- data/test/core/module/test_module_load.rb +0 -23
- data/test/core/module/test_nodef.rb +0 -19
- data/test/core/module/test_op.rb +0 -56
- data/test/core/module/test_pathize.rb +0 -25
- data/test/core/module/test_preextend.rb +0 -26
- data/test/core/module/test_redefine_method.rb +0 -30
- data/test/core/module/test_redirect_method.rb +0 -32
- data/test/core/module/test_remove.rb +0 -18
- data/test/core/module/test_rename_method.rb +0 -34
- data/test/core/module/test_revise.rb +0 -61
- data/test/core/module/test_set.rb +0 -30
- data/test/core/module/test_spacename.rb +0 -15
- data/test/core/module/test_to_obj.rb +0 -20
- data/test/core/module/test_wrap_method.rb +0 -32
- data/test/core/numeric/test_approx.rb +0 -26
- data/test/core/numeric/test_delimit.rb +0 -68
- data/test/core/numeric/test_distance.rb +0 -16
- data/test/core/numeric/test_length.rb +0 -16
- data/test/core/numeric/test_round_to.rb +0 -76
- data/test/core/numeric/test_spacing.rb +0 -17
- data/test/core/object/test_dup.rb +0 -115
- data/test/core/object/test_object_state.rb +0 -75
- data/test/core/object/test_try_dup.rb +0 -59
- data/test/core/proc/test_bind.rb +0 -29
- data/test/core/proc/test_bind_to.rb +0 -17
- data/test/core/proc/test_compose.rb +0 -27
- data/test/core/proc/test_partial.rb +0 -27
- data/test/core/proc/test_to_method.rb +0 -43
- data/test/core/proc/test_update.rb +0 -15
- data/test/core/range/test_combine.rb +0 -32
- data/test/core/range/test_nudge.rb +0 -32
- data/test/core/range/test_op_add.rb +0 -24
- data/test/core/range/test_op_sub.rb +0 -34
- data/test/core/range/test_overlap.rb +0 -15
- data/test/core/range/test_to_rng.rb +0 -20
- data/test/core/range/test_umbrella.rb +0 -32
- data/test/core/range/test_within.rb +0 -25
- data/test/core/regexp/test_arity.rb +0 -30
- data/test/core/regexp/test_multiline.rb +0 -19
- data/test/core/regexp/test_op_add.rb +0 -15
- data/test/core/regexp/test_op_or.rb +0 -16
- data/test/core/regexp/test_to_re.rb +0 -24
- data/test/core/string/test_acronym.rb +0 -14
- data/test/core/string/test_align.rb +0 -32
- data/test/core/string/test_ascii_only.rb +0 -51
- data/test/core/string/test_bracket.rb +0 -37
- data/test/core/string/test_camelcase.rb +0 -59
- data/test/core/string/test_capitalized.rb +0 -36
- data/test/core/string/test_characters.rb +0 -13
- data/test/core/string/test_cleanlines.rb +0 -12
- data/test/core/string/test_cleave.rb +0 -27
- data/test/core/string/test_cmp.rb +0 -18
- data/test/core/string/test_compress_lines.rb +0 -27
- data/test/core/string/test_crypt.rb +0 -17
- data/test/core/string/test_divide.rb +0 -17
- data/test/core/string/test_each_word.rb +0 -17
- data/test/core/string/test_edit_distance.rb +0 -20
- data/test/core/string/test_exclude.rb +0 -23
- data/test/core/string/test_expand_tabs.rb +0 -83
- data/test/core/string/test_file.rb +0 -15
- data/test/core/string/test_fold.rb +0 -21
- data/test/core/string/test_indent.rb +0 -90
- data/test/core/string/test_index_all.rb +0 -22
- data/test/core/string/test_interpolate.rb +0 -16
- data/test/core/string/test_lchomp.rb +0 -25
- data/test/core/string/test_line_wrap.rb +0 -15
- data/test/core/string/test_lowercase.rb +0 -18
- data/test/core/string/test_margin.rb +0 -16
- data/test/core/string/test_methodize.rb +0 -28
- data/test/core/string/test_modulize.rb +0 -28
- data/test/core/string/test_mscan.rb +0 -18
- data/test/core/string/test_natcmp.rb +0 -17
- data/test/core/string/test_nchar.rb +0 -17
- data/test/core/string/test_newlines.rb +0 -14
- data/test/core/string/test_number.rb +0 -44
- data/test/core/string/test_op_div.rb +0 -15
- data/test/core/string/test_op_sub.rb +0 -15
- data/test/core/string/test_pathize.rb +0 -31
- data/test/core/string/test_quote.rb +0 -41
- data/test/core/string/test_random.rb +0 -25
- data/test/core/string/test_range.rb +0 -35
- data/test/core/string/test_remove.rb +0 -50
- data/test/core/string/test_rewrite.rb +0 -17
- data/test/core/string/test_rotate.rb +0 -31
- data/test/core/string/test_shatter.rb +0 -17
- data/test/core/string/test_similarity.rb +0 -22
- data/test/core/string/test_snakecase.rb +0 -22
- data/test/core/string/test_splice.rb +0 -37
- data/test/core/string/test_squish.rb +0 -31
- data/test/core/string/test_store.rb +0 -16
- data/test/core/string/test_subtract.rb +0 -16
- data/test/core/string/test_titlecase.rb +0 -16
- data/test/core/string/test_to_re.rb +0 -35
- data/test/core/string/test_trim.rb +0 -116
- data/test/core/string/test_unbracket.rb +0 -38
- data/test/core/string/test_underscore.rb +0 -21
- data/test/core/string/test_unfold.rb +0 -17
- data/test/core/string/test_unindent.rb +0 -105
- data/test/core/string/test_unquote.rb +0 -13
- data/test/core/string/test_uppercase.rb +0 -22
- data/test/core/string/test_variablize.rb +0 -15
- data/test/core/string/test_word_wrap.rb +0 -80
- data/test/core/string/test_words.rb +0 -24
- data/test/core/string/test_xor.rb +0 -16
- data/test/core/struct/test_replace.rb +0 -18
- data/test/core/symbol/test_as_s.rb +0 -15
- data/test/core/symbol/test_bang.rb +0 -15
- data/test/core/symbol/test_chomp.rb +0 -22
- data/test/core/symbol/test_generate.rb +0 -20
- data/test/core/symbol/test_not.rb +0 -19
- data/test/core/symbol/test_op_div.rb +0 -15
- data/test/core/symbol/test_plain.rb +0 -19
- data/test/core/symbol/test_query.rb +0 -19
- data/test/core/symbol/test_setter.rb +0 -17
- data/test/core/symbol/test_succ.rb +0 -16
- data/test/core/symbol/test_thrown.rb +0 -22
- data/test/core/symbol/test_variablize.rb +0 -14
- data/test/core/time/test_ago.rb +0 -18
- data/test/core/time/test_change.rb +0 -17
- data/test/core/time/test_dst_adjustment.rb +0 -19
- data/test/core/time/test_elapse.rb +0 -15
- data/test/core/time/test_future.rb +0 -32
- data/test/core/time/test_hence.rb +0 -18
- data/test/core/time/test_in.rb +0 -18
- data/test/core/time/test_less.rb +0 -139
- data/test/core/time/test_past.rb +0 -32
- data/test/core/time/test_round_to.rb +0 -34
- data/test/core/time/test_set.rb +0 -43
- data/test/core/time/test_shift.rb +0 -135
- data/test/core/time/test_stamp.rb +0 -42
- data/test/core/time/test_to_time.rb +0 -15
- data/test/core/time/test_trunc.rb +0 -34
- data/test/core/unboundmethod/test_arguments.rb +0 -25
- data/test/standard/binding/test_block_exec.rb +0 -21
- data/test/standard/math/test_abs.rb +0 -13
- data/test/standard/math/test_acot.rb +0 -23
- data/test/standard/math/test_acoth.rb +0 -22
- data/test/standard/math/test_beta.rb +0 -19
- data/test/standard/math/test_ceil.rb +0 -22
- data/test/standard/math/test_cosec.rb +0 -19
- data/test/standard/math/test_cosech.rb +0 -19
- data/test/standard/math/test_cot.rb +0 -13
- data/test/standard/math/test_coth.rb +0 -13
- data/test/standard/math/test_distance.rb +0 -16
- data/test/standard/math/test_exp10.rb +0 -14
- data/test/standard/math/test_exp2.rb +0 -14
- data/test/standard/math/test_factorial.rb +0 -13
- data/test/standard/math/test_floor.rb +0 -23
- data/test/standard/math/test_gcd.rb +0 -18
- data/test/standard/math/test_lcm.rb +0 -13
- data/test/standard/math/test_median.rb +0 -17
- data/test/standard/math/test_percentile.rb +0 -13
- data/test/standard/math/test_pow.rb +0 -30
- data/test/standard/math/test_root.rb +0 -15
- data/test/standard/math/test_sec.rb +0 -19
- data/test/standard/math/test_sech.rb +0 -19
- data/test/standard/math/test_sign.rb +0 -20
- data/test/standard/math/test_sinc.rb +0 -15
- data/test/standard/math/test_srq.rb +0 -20
- data/test/standard/pathname/test_chdir.rb +0 -16
- data/test/standard/pathname/test_readline.rb +0 -23
- data/test/standard/test_argvector.rb +0 -64
- data/test/standard/test_cloneable.rb +0 -60
- data/test/standard/test_date.rb +0 -82
- data/test/standard/test_enumargs.rb +0 -105
- data/test/standard/test_equitable.rb +0 -46
- data/test/standard/test_instantiable.rb +0 -40
- data/test/standard/test_math.rb +0 -3
- data/test/standard/test_memoizable.rb +0 -42
- data/test/standard/test_multipliers.rb +0 -141
- data/test/standard/test_ostruct.rb +0 -191
- data/test/standard/test_random.rb +0 -241
- data/test/standard/test_shellwords.rb +0 -74
- data/test/standard/test_thread.rb +0 -24
- data/test/standard/test_timer.rb +0 -62
- data/test/standard/test_tuple.rb +0 -68
- data/test/standard/test_uri.rb +0 -50
data/.index
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
revision: 2013
|
|
3
|
-
type: ruby
|
|
4
|
-
sources:
|
|
5
|
-
- Indexfile
|
|
6
|
-
- Gemfile
|
|
7
|
-
authors:
|
|
8
|
-
- name: Thomas Sawyer
|
|
9
|
-
email: transfire@gmail.com
|
|
10
|
-
organizations:
|
|
11
|
-
- name: Rubyworks
|
|
12
|
-
requirements:
|
|
13
|
-
- groups:
|
|
14
|
-
- test
|
|
15
|
-
version: ">= 0"
|
|
16
|
-
name: lemon
|
|
17
|
-
- groups:
|
|
18
|
-
- test
|
|
19
|
-
version: ">= 0"
|
|
20
|
-
name: qed
|
|
21
|
-
- groups:
|
|
22
|
-
- test
|
|
23
|
-
version: ">= 0"
|
|
24
|
-
name: rubytest-cli
|
|
25
|
-
- groups:
|
|
26
|
-
- test
|
|
27
|
-
version: ">= 0"
|
|
28
|
-
name: rake
|
|
29
|
-
- groups:
|
|
30
|
-
- test
|
|
31
|
-
version: ">= 0"
|
|
32
|
-
name: simplecov
|
|
33
|
-
- groups:
|
|
34
|
-
- guard
|
|
35
|
-
version: ">= 0"
|
|
36
|
-
name: guard
|
|
37
|
-
conflicts: []
|
|
38
|
-
alternatives: []
|
|
39
|
-
resources:
|
|
40
|
-
- type: home
|
|
41
|
-
uri: http://rubyworks.github.com/facets
|
|
42
|
-
label: Homepage
|
|
43
|
-
- type: code
|
|
44
|
-
uri: http://github.com/rubyworks/facets
|
|
45
|
-
label: Source Code
|
|
46
|
-
- type: docs
|
|
47
|
-
uri: http://rubyworks.github.com/facets/learn.html
|
|
48
|
-
label: Documentation
|
|
49
|
-
- type: wiki
|
|
50
|
-
uri: http://wiki.github.com/rubyworks/facets
|
|
51
|
-
label: User Guide
|
|
52
|
-
- type: talk
|
|
53
|
-
uri: http://groups.google.com/group/facets-universal
|
|
54
|
-
repositories:
|
|
55
|
-
- name: upstream
|
|
56
|
-
scm: git
|
|
57
|
-
uri: git@github.com:rubyworks/facets.git
|
|
58
|
-
categories: []
|
|
59
|
-
copyrights:
|
|
60
|
-
- holder: Rubyworks
|
|
61
|
-
year: '2004'
|
|
62
|
-
license: BSD-2-Clause
|
|
63
|
-
customs: []
|
|
64
|
-
paths:
|
|
65
|
-
load:
|
|
66
|
-
- lib/core
|
|
67
|
-
- lib/standard
|
|
68
|
-
name: facets
|
|
69
|
-
title: Ruby Facets
|
|
70
|
-
version: 3.1.0
|
|
71
|
-
summary: The orginal well curated collection of extension methods for Ruby.
|
|
72
|
-
slogan: ALL YOUR BASE ARE BELONG TO RUBY!
|
|
73
|
-
description: Facets is the premier collection of extension methods for the Ruby programming
|
|
74
|
-
language. Facets extensions are unique by virtue of thier atomicity. They are stored
|
|
75
|
-
in individual files allowing for highly granular control of requirements. In addition,
|
|
76
|
-
Facets includes a few additional classes and mixins suitable to wide variety of
|
|
77
|
-
applications.
|
|
78
|
-
scm_uri: https://github.com/rubyworks/facets/tree/master
|
|
79
|
-
created: '2004-12-16'
|
|
80
|
-
date: '2016-05-09'
|
data/.yardopts
DELETED
data/NOTICE.rdoc
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
= COPYRIGHT NOTICES
|
|
2
|
-
|
|
3
|
-
== Ruby Facets
|
|
4
|
-
|
|
5
|
-
Copyright:: (c) 2005,2011 Thomas Sawyer
|
|
6
|
-
|
|
7
|
-
Copyright (c) 2005,2011 Thomas Sawyer
|
|
8
|
-
|
|
9
|
-
You may distribute this software under the same terms as Ruby.
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
== Ruby/Extensions
|
|
13
|
-
|
|
14
|
-
Copyright:: (c) 2004 Gavin Sinclair
|
|
15
|
-
License:: Ruby
|
|
16
|
-
|
|
17
|
-
Copyright (c) 2004 Gavin Sinclair
|
|
18
|
-
|
|
19
|
-
Ruby/Extensions (extensions.rubyforge.org) is copyrighted free software
|
|
20
|
-
created and maintained by Gavin Sinclair (gsinclair@soyabean.com.au) and
|
|
21
|
-
released under the same license as Ruby.
|
|
22
|
-
|
|
23
|
-
THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
|
|
24
|
-
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
|
25
|
-
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
26
|
-
PURPOSE.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
== Nitro/Glue
|
|
30
|
-
|
|
31
|
-
Copyright:: (c) 2006, George Moschovitis
|
|
32
|
-
License:: BSD-3-Clause
|
|
33
|
-
|
|
34
|
-
Copyright (c) 2006, George Moschovitis
|
|
35
|
-
All rights reserved.
|
|
36
|
-
|
|
37
|
-
Redistribution and use in source and binary forms, with or without
|
|
38
|
-
modification, are permitted provided that the following conditions
|
|
39
|
-
are met:
|
|
40
|
-
|
|
41
|
-
* Redistributions of source code must retain the above copyright notice,
|
|
42
|
-
this list of conditions and the following disclaimer.
|
|
43
|
-
|
|
44
|
-
* Redistributions in binary form must reproduce the above copyright notice,
|
|
45
|
-
this list of conditions and the following disclaimer in the documentation
|
|
46
|
-
and/or other materials provided with the distribution.
|
|
47
|
-
|
|
48
|
-
* Neither the name of the <ORGANIZATION> nor the names of its contributors
|
|
49
|
-
may be used to endorse or promote products derived from this software
|
|
50
|
-
without specific prior written permission.
|
|
51
|
-
|
|
52
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
53
|
-
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
54
|
-
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
55
|
-
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
56
|
-
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
57
|
-
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
58
|
-
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
59
|
-
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
60
|
-
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
61
|
-
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
62
|
-
POSSIBILITY OF SUCH DAMAGE.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
== ActiveSupport
|
|
66
|
-
|
|
67
|
-
Copyright:: (c) 2005-2011 David Heinemeier Hansson
|
|
68
|
-
License:: MIT
|
|
69
|
-
Website:: http://rails.org
|
|
70
|
-
|
|
71
|
-
Copyright (c) 2005-2011 David Heinemeier Hansson
|
|
72
|
-
|
|
73
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
|
74
|
-
a copy of this software and associated documentation files (the
|
|
75
|
-
"Software"), to deal in the Software without restriction, including
|
|
76
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
|
77
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
|
78
|
-
permit persons to whom the Software is furnished to do so, subject to
|
|
79
|
-
the following conditions:
|
|
80
|
-
|
|
81
|
-
The above copyright notice and this permission notice shall be
|
|
82
|
-
included in all copies or substantial portions of the Software.
|
|
83
|
-
|
|
84
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
85
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
86
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
87
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
88
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
89
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
90
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
== Ruby Treasures
|
|
94
|
-
|
|
95
|
-
Copyright:: (c) 2001 Paul Brannan
|
|
96
|
-
License:: Ruby License
|
|
97
|
-
|
|
98
|
-
Ruby Treasures 0.1
|
|
99
|
-
Copyright (c) 2001 Paul Brannan <paul@atdesk.com>
|
|
100
|
-
|
|
101
|
-
You may distribute this software under the same terms as Ruby (see the file
|
|
102
|
-
RUBY.txt that was distributed with this library).
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
== Metaid
|
|
106
|
-
|
|
107
|
-
Copyright:: (c) why the lucky stiff
|
|
108
|
-
|
|
109
|
-
Copyright (c) why the lucky stiff
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
== CLAP
|
|
113
|
-
|
|
114
|
-
Copyright:: (c) 2010 Michel Martens
|
|
115
|
-
License:: MIT
|
|
116
|
-
Website:: https://github.com/soveran/clap
|
|
117
|
-
|
|
118
|
-
Copyright (c) 2010 Michel Martens
|
|
119
|
-
|
|
120
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
121
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
122
|
-
in the Software without restriction, including without limitation the rights
|
|
123
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
124
|
-
of the Software, and to permit persons to whom the Software is furnished to
|
|
125
|
-
do so, subject to the following conditions:
|
|
126
|
-
|
|
127
|
-
The above copyright notice and this permission notice shall be included in all
|
|
128
|
-
copies or substantial portions of the Software.
|
|
129
|
-
|
|
130
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
131
|
-
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
132
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
133
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
134
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
135
|
-
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
136
|
-
IN THE SOFTWARE.
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
== String#natcmp
|
|
140
|
-
|
|
141
|
-
Copyright:: (c) 2003 by Alan Davies
|
|
142
|
-
License:: Custom
|
|
143
|
-
|
|
144
|
-
String#natcmp is based on Martin Pool's "Natural Order String Comparison"
|
|
145
|
-
originally written in C. (see http://sourcefrog.net/projects/natsort/)
|
|
146
|
-
|
|
147
|
-
This implementation is Copyright (C) 2003 by Alan Davies
|
|
148
|
-
<cs96and_AT_yahoo_DOT_co_DOT_uk>
|
|
149
|
-
|
|
150
|
-
This software is provided 'as-is', without any express or implied
|
|
151
|
-
warranty. In no event will the authors be held liable for any damages
|
|
152
|
-
arising from the use of this software.
|
|
153
|
-
|
|
154
|
-
Permission is granted to anyone to use this software for any purpose,
|
|
155
|
-
including commercial applications, and to alter it and redistribute it
|
|
156
|
-
freely, subject to the following restrictions:
|
|
157
|
-
|
|
158
|
-
1. The origin of this software must not be misrepresented; you must not
|
|
159
|
-
claim that you wrote the original software. If you use this software
|
|
160
|
-
in a product, an acknowledgment in the product documentation would be
|
|
161
|
-
appreciated but is not required.
|
|
162
|
-
|
|
163
|
-
2. Altered source versions must be plainly marked as such, and must not be
|
|
164
|
-
misrepresented as being the original software.
|
|
165
|
-
|
|
166
|
-
3. This notice may not be removed or altered from any source distribution.
|
|
167
|
-
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
require 'ae'
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
require 'fileutils'
|
|
2
|
-
require 'pathname'
|
|
3
|
-
|
|
4
|
-
def temporary_directory
|
|
5
|
-
@temporary_directory ||= 'tmp'
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
Before :document do
|
|
9
|
-
if File.exist?(temporary_directory)
|
|
10
|
-
FileUtils.rm_r(temporary_directory)
|
|
11
|
-
end
|
|
12
|
-
FileUtils.mkdir(temporary_directory)
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
When /Given a directory '(.*?)' containing/ do |dir, text|
|
|
16
|
-
#abort unless /^#{temporary_directory}/ =~ dir
|
|
17
|
-
text.lines.each do |file|
|
|
18
|
-
next if file =~ /^\s*$/
|
|
19
|
-
file = File.join(dir, file.strip)
|
|
20
|
-
path = File.dirname(file)
|
|
21
|
-
FileUtils.mkdir_p(path)
|
|
22
|
-
File.open(file, 'w'){ |f| f << "SPINICH" }
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
# Return project root directory by looking for +lib+ directory.
|
|
27
|
-
def root_directory
|
|
28
|
-
@root_directory ||= (
|
|
29
|
-
Pathname.new(Dir.pwd).ascend do |root|
|
|
30
|
-
break root if root.join('lib').directory?
|
|
31
|
-
end
|
|
32
|
-
)
|
|
33
|
-
end
|
|
34
|
-
|
data/demo/core/array/after.md
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
## Array#after
|
|
2
|
-
|
|
3
|
-
require 'facets/array/after'
|
|
4
|
-
|
|
5
|
-
`Array#after` returns the first value that comes after a given value. The
|
|
6
|
-
value after the last is the first. Returns `nil` if the given value is not
|
|
7
|
-
in the array.
|
|
8
|
-
|
|
9
|
-
sequence = ['a', 'b', 'c']
|
|
10
|
-
sequence.after('a').assert == 'b'
|
|
11
|
-
sequence.after('b').assert == 'c'
|
|
12
|
-
sequence.after('c').assert == 'a'
|
|
13
|
-
sequence.after('d').assert == nil
|
data/demo/core/array/arrange.md
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
## Array#arrange
|
|
2
|
-
|
|
3
|
-
require 'facets/array/arrange'
|
|
4
|
-
|
|
5
|
-
The `arrange` method produces appropriate ranges from the objects in the array.
|
|
6
|
-
It assumes inclusive ranges (i.e. `1..4`) and `range.first <= range.last`.
|
|
7
|
-
|
|
8
|
-
Works with integers, dates and strings. However, all the objects in the array must
|
|
9
|
-
be of the same class.
|
|
10
|
-
|
|
11
|
-
[1,2,3,6,7,8].arrange.assert == [1..3, 6..8]
|
|
12
|
-
|
|
13
|
-
[10..15, 16..20, 21, 22].arrange.assert == [10..22]
|
|
14
|
-
|
|
15
|
-
a = %w{a b c g h i j k m o}
|
|
16
|
-
a.arrange.assert == ['a'..'c','g'..'k', 'm' , 'o']
|
|
17
|
-
|
data/demo/core/array/before.md
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
## Array#before
|
|
2
|
-
|
|
3
|
-
require 'facets/array/before'
|
|
4
|
-
|
|
5
|
-
Returns the value prior to the given value. The value previous
|
|
6
|
-
to the first is the last. Returns nil if the given value is not
|
|
7
|
-
in the array.
|
|
8
|
-
|
|
9
|
-
sequence = ['a', 'b', 'c']
|
|
10
|
-
sequence.before('a').assert == 'c'
|
|
11
|
-
sequence.before('b').assert == 'a'
|
|
12
|
-
sequence.before('c').assert == 'b'
|
|
13
|
-
sequence.before('d').assert == nil
|
|
14
|
-
|
data/demo/core/array/collapse.md
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
## Array#collapse
|
|
2
|
-
|
|
3
|
-
require 'facets/array/collapse'
|
|
4
|
-
|
|
5
|
-
Simplify an array by flattening it then compacting it.
|
|
6
|
-
|
|
7
|
-
[1,[2,nil,[3]],nil,4].collapse.assert == [1,2,3,4]
|
|
8
|
-
|
|
9
|
-
## Array#collapse!
|
|
10
|
-
|
|
11
|
-
Simplify an array by flattening it in place then compacting it in place.
|
|
12
|
-
|
|
13
|
-
a = [1, nil, [1, 2], nil, [[3]]]
|
|
14
|
-
a.collapse!
|
|
15
|
-
a.assert == [1, 1, 2, 3]
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
## Array#collisions
|
|
2
|
-
|
|
3
|
-
_alias for Array#commonality_.
|
|
4
|
-
|
|
5
|
-
require 'facets/array/collisions'
|
|
6
|
-
|
|
7
|
-
Get a list of all items that have something in common in terms of the
|
|
8
|
-
supplied block. If no block is given objects are considered to be in
|
|
9
|
-
common if they return the same value for Object#hash and if obj1 == obj2.
|
|
10
|
-
|
|
11
|
-
This can be useful, for instance, in determining all persons that share
|
|
12
|
-
their last name with another person.
|
|
13
|
-
|
|
14
|
-
Person = Struct.new(:name)
|
|
15
|
-
persons = %w{Wayne Pennyworth Grayson Wayne Pennyworth}.map{|n| Person.new(n)}
|
|
16
|
-
persons.collisions { |person| person.name }.keys.assert == ["Wayne","Pennyworth"]
|
|
17
|
-
|
|
18
|
-
The method is similar to #group_by which is a standard Ruby method as of 1.9.
|
|
19
|
-
To get effectively the same results with #group_by use `select{ |k,v| v.size > 1 }`.
|
|
20
|
-
|
|
21
|
-
expected = { 2 => [2, 2], 4 => [4, 4] }
|
|
22
|
-
|
|
23
|
-
[1, 2, 2, 3, 4, 4].group_by{ |e| e }.
|
|
24
|
-
select{ |k,v| v.size > 1 }.assert == expected
|
|
25
|
-
|
|
26
|
-
[1, 2, 2, 3, 4, 4].collisions.assert == expected
|
|
27
|
-
|
|
28
|
-
%w{foo bar baz}.collisions{|str| str[0]}.assert == {'b' =>["bar", "baz"] }
|
|
29
|
-
|
|
30
|
-
Returns a Hash mapping common attribute to those elements.
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
## Array#commonality
|
|
2
|
-
|
|
3
|
-
require 'facets/array/commonality'
|
|
4
|
-
|
|
5
|
-
Get a list of all items that have something in common in terms of the
|
|
6
|
-
supplied block. If no block is given objects are considered to be in
|
|
7
|
-
common if they return the same value for Object#hash and if obj1 == obj2.
|
|
8
|
-
|
|
9
|
-
This can be useful, for instance, in determining all persons that share
|
|
10
|
-
their last name with another person.
|
|
11
|
-
|
|
12
|
-
Person = Struct.new(:name)
|
|
13
|
-
persons = %w{Wayne Pennyworth Grayson Wayne Pennyworth}.map{|n| Person.new(n)}
|
|
14
|
-
persons.commonality { |person| person.name }.keys # => ["Wayne","Pennyworth"]
|
|
15
|
-
|
|
16
|
-
The method is similar to #group_by which is a standard Ruby method as of 1.9.
|
|
17
|
-
To get effectively the same results with #group_by use `select{ |k,v| v.size > 1 }`.
|
|
18
|
-
|
|
19
|
-
expected = { 2 => [2, 2], 4 => [4, 4] }
|
|
20
|
-
|
|
21
|
-
[1, 2, 2, 3, 4, 4].group_by{ |e| e }.
|
|
22
|
-
select{ |k,v| v.size > 1 }.assert == expected
|
|
23
|
-
|
|
24
|
-
[1, 2, 2, 3, 4, 4].commonality.assert == expected
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
%w{foo bar baz}.commonality{|str| str[0]}.assert == {'b' =>["bar", "baz"] }
|
|
28
|
-
|
|
29
|
-
Returns a Hash mapping common attribute to those elements.
|
|
30
|
-
|
|
31
|
-
|
data/demo/core/array/conjoin.md
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
## Array#conjoin
|
|
2
|
-
|
|
3
|
-
require 'facets/array/conjoin'
|
|
4
|
-
|
|
5
|
-
This is more advanced form of #join. It allows for fine control
|
|
6
|
-
of separators.
|
|
7
|
-
|
|
8
|
-
NOTE: The old version used to default its separator to ", " and
|
|
9
|
-
default the terminating separator to " and ". This is no longer
|
|
10
|
-
the case. You must specifically provide these parameters.
|
|
11
|
-
|
|
12
|
-
If no parameters are given, it acts like #join but will a space
|
|
13
|
-
separator.
|
|
14
|
-
|
|
15
|
-
[1,2,3].conjoin.assert == "1 2 3"
|
|
16
|
-
|
|
17
|
-
Use comma+space and 'and' on tail.
|
|
18
|
-
|
|
19
|
-
[1,2,3].conjoin(', ', ' and ').assert == "1, 2 and 3"
|
|
20
|
-
|
|
21
|
-
Use comma+space and 'or' on tail using :last option.
|
|
22
|
-
|
|
23
|
-
[1,2,3].conjoin(', ', :last => ' or ').assert == "1, 2 or 3"
|
|
24
|
-
|
|
25
|
-
Use semicolon+space and ampersand on tail using index.
|
|
26
|
-
|
|
27
|
-
[1,2,3].conjoin('; ', -1 => ' & ').assert == "1; 2 & 3"
|
|
28
|
-
|
|
29
|
-
Can take a block to determine separator.
|
|
30
|
-
|
|
31
|
-
[1,2,3,4].conjoin{ |i, a, b| i % 2 == 0 ? '.' : '-' }.assert == "1.2-3.4"
|
|
32
|
-
|
|
33
|
-
This makes very esoteric transformation possible.
|
|
34
|
-
|
|
35
|
-
[1,1,2,2].conjoin{ |i, a, b| a == b ? '=' : ' != ' }.assert == "1=1 != 2=2"
|
|
36
|
-
|
|
37
|
-
[1,2,3,4].conjoin{ |i, x, y| "<#{i} #{x} #{y}>" }.assert == "1<0 1 2>2<1 2 3>3<2 3 4>4"
|
|
38
|
-
|
|
39
|
-
There are also spacing options. Providing the :space option
|
|
40
|
-
pads the separators.
|
|
41
|
-
|
|
42
|
-
[1,2,3].conjoin(',', '&', :space=>2).assert == "1 , 2 & 3"
|
|
43
|
-
|
|
44
|
-
And the :spacer option can set an alternate spacing string.
|
|
45
|
-
|
|
46
|
-
[1,2,3].conjoin('|', '>', :space=>2, :spacer=>'-').assert == "1--|--2-->--3"
|
|
47
|
-
|
data/demo/core/array/contains.md
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
## Array#delete_unless
|
|
2
|
-
|
|
3
|
-
require 'facets/array/delete_unless'
|
|
4
|
-
|
|
5
|
-
The method `#delete_unless` is the inverse of `#delete_if`.
|
|
6
|
-
|
|
7
|
-
a = [1,2,3]
|
|
8
|
-
a.delete_unless{ |e| e == 2 }
|
|
9
|
-
a.assert == [2]
|
|
10
|
-
|
|
11
|
-
[1,2,3].delete_unless{ |x| x < 2 }.assert == [1]
|
|
12
|
-
[1,2,3].delete_unless(&:even?).assert == [2]
|
|
13
|
-
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
## Array#delete_values_at
|
|
2
|
-
|
|
3
|
-
require 'facets/array/delete_values_at'
|
|
4
|
-
|
|
5
|
-
Delete multiple values from array given
|
|
6
|
-
indexes or index range.
|
|
7
|
-
|
|
8
|
-
a = [1,2,3,4]
|
|
9
|
-
a.delete_values_at(1,2).assert == [2,3]
|
|
10
|
-
a.assert == [1,4]
|
|
11
|
-
|
|
12
|
-
a = [1,2,3,4]
|
|
13
|
-
a.delete_values_at(0..2).assert == [1,2,3]
|
|
14
|
-
a.assert == [4]
|
|
15
|
-
|
data/demo/core/array/divide.md
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
## Array#divide
|
|
2
|
-
|
|
3
|
-
require 'facets/array/divide'
|
|
4
|
-
|
|
5
|
-
Divide into sub arrays at elemetns matching given pattern
|
|
6
|
-
|
|
7
|
-
r = ['a1','b1','a2','b2'].divide(/^a/)
|
|
8
|
-
r.assert == [['a1','b1'],['a2','b2']]
|
|
9
|
-
|
|
10
|
-
r = ['a1','b1','a2','b2'].divide(/^b/)
|
|
11
|
-
r.assert == [['a1'],['b1','a2'],['b2']]
|
|
12
|
-
|
|
13
|
-
r = ['a1','b1','a2','b2'].divide(/c/)
|
|
14
|
-
r.assert = [['a1','b1','a2','b2']]
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
## Array#each_overlap
|
|
2
|
-
|
|
3
|
-
require 'facets/array/each_overlap'
|
|
4
|
-
|
|
5
|
-
Iterate over each slice where the last n values of a preceding slice
|
|
6
|
-
overlap with the first n values of the following slice. The value of n
|
|
7
|
-
is specified by the second `overlap` argument.
|
|
8
|
-
|
|
9
|
-
a, r = [1,2,3,4,5], []
|
|
10
|
-
a.each_overlap(2,1) { |x,y| r << [x,y] }
|
|
11
|
-
r.assert == [[1,2],[2,3],[3,4],[4,5]]
|
|
12
|
-
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
## Array#each_pair
|
|
2
|
-
|
|
3
|
-
require 'facets/array/each_pair'
|
|
4
|
-
|
|
5
|
-
Iterate over an array yielding with index and value.
|
|
6
|
-
|
|
7
|
-
result = {}
|
|
8
|
-
a = [:a,:b,:c,:d]
|
|
9
|
-
a.each_pair{|i,e| result[e] = i + 1}
|
|
10
|
-
result.assert == {a: 1, b: 2, c: 3, d: 4}
|
|
11
|
-
|
|
12
|
-
*NOTE* this is the inverse of `Array#each_with_index`, and is intended to provide
|
|
13
|
-
polymorphism with `Hash#each_pair`.
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
## Array#each_value
|
|
2
|
-
|
|
3
|
-
require 'facets/array/each_value'
|
|
4
|
-
|
|
5
|
-
This is an alias of Alias#each, and is provided to provide polymorphism with
|
|
6
|
-
Hash#each_value.
|
|
7
|
-
|
|
8
|
-
a = [ "a", "b", "c" ]
|
|
9
|
-
out = ''
|
|
10
|
-
a.each_value {|x| out += "#{x} -- " }
|
|
11
|
-
out.assert == 'a -- b -- c -- '
|
|
12
|
-
|
data/demo/core/array/entropy.md
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
## Array#entropy
|
|
2
|
-
|
|
3
|
-
require 'facets/array/entropy'
|
|
4
|
-
|
|
5
|
-
Shannon's entropy for an array - returns the average
|
|
6
|
-
bits per symbol required to encode the array.
|
|
7
|
-
Lower values mean less "entropy" - i.e. less unique
|
|
8
|
-
information in the array.
|
|
9
|
-
|
|
10
|
-
e = %w{ a b c d e e e }.entropy
|
|
11
|
-
|
|
12
|
-
("%.3f" % e) #=> "2.128"
|
|
13
|
-
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
## Array#extract_options!
|
|
2
|
-
|
|
3
|
-
require 'facets/array/extract_options'
|
|
4
|
-
|
|
5
|
-
Extracts options from a set of arguments. Removes and returns the last
|
|
6
|
-
element in the array if it's a hash, otherwise returns a blank hash.
|
|
7
|
-
|
|
8
|
-
def options(*args)
|
|
9
|
-
args.extract_options!
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
options(1, 2).assert == {}
|
|
13
|
-
options(1, 2, :a => :b).assert == {:a=>:b}
|
data/demo/core/array/first.md
DELETED
data/demo/core/array/from.md
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
## Array#ideal_entropy
|
|
2
|
-
|
|
3
|
-
require 'facets/array/entropy'
|
|
4
|
-
|
|
5
|
-
Returns the maximum possible Shannon entropy of the array
|
|
6
|
-
with given size assuming that it is an "order-0" source
|
|
7
|
-
(each element is selected independently of the next).
|
|
8
|
-
|
|
9
|
-
%w{ a b }.ideal_entropy.assert == 1.0
|
|
10
|
-
%w{ a a b b }.ideal_entropy.assert == 2.0
|
|
11
|
-
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
## Array#intersection
|
|
2
|
-
|
|
3
|
-
require 'facets/array/intersection'
|
|
4
|
-
|
|
5
|
-
Returns the values in common for an array set (nil, single value/object, or range).
|
|
6
|
-
|
|
7
|
-
[1,2].intersection.assert == nil
|
|
8
|
-
[1..10,11..20].intersection.assert == nil
|
|
9
|
-
[10,1..10].intersection.assert == 10
|
|
10
|
-
[1..10,5,5..8,4..8].intersection.assert == 5
|
|
11
|
-
[1..10, 5..8, 5..10 ].intersection.assert == (5..8)
|