facets 1.7.0 → 1.7.30
Sign up to get free protection for your applications and to get access to all the features.
- data/{meta/projectinfo → PROJECT} +1 -3
- data/README +114 -47
- data/VERSION +1 -0
- data/doc/{ChangeLog → CHANGELOG} +30 -0
- data/doc/{ChangeLog.pre1.5 → CHANGELOG.1} +0 -0
- data/{COPYING → doc/COPYING} +0 -0
- data/lib/facet/cache.rb +1 -0
- data/lib/facet/doublemetaphone.rb +1 -0
- data/lib/facet/enumerable/eachn.rb +1 -0
- data/lib/facet/file/self/null.rb +1 -0
- data/lib/facet/filesystem.rb +1 -0
- data/lib/facet/filetest/self/root.rb +1 -0
- data/lib/facet/hash/delete_at.rb +1 -0
- data/lib/facet/hash/delete_values.rb +1 -0
- data/lib/facet/hash/delete_values_at.rb +1 -0
- data/lib/facet/kernel/load_local.rb +1 -0
- data/lib/facet/main_as_module.rb +1 -0
- data/lib/facet/nilclass/to_path.rb +1 -0
- data/lib/facet/symbol/to_s.rb +1 -0
- data/lib/facets.rb +1 -0
- data/lib/facets/core/array/delete_values_at.rb +2 -0
- data/lib/facets/core/array/op_fetch.rb +27 -0
- data/lib/facets/core/array/op_store.rb +2 -47
- data/lib/facets/core/enumerable/each_by.rb +91 -2
- data/lib/facets/core/enumerable/eachn.rb +41 -0
- data/lib/facets/core/file/self/null.rb +17 -0
- data/lib/facets/core/filetest/self/root.rb +13 -0
- data/lib/facets/core/hash/delete_at.rb +10 -0
- data/lib/facets/core/hash/delete_values.rb +20 -0
- data/lib/facets/core/hash/delete_values_at.rb +24 -0
- data/lib/facets/core/hash/each.rb +26 -11
- data/lib/facets/core/kernel/load_local.rb +26 -0
- data/lib/facets/core/nilclass/to_path.rb +18 -0
- data/lib/facets/core/symbol/to_s.rb +10 -0
- data/lib/facets/more/association.rb +1 -1
- data/lib/facets/more/cache.rb +81 -0
- data/lib/facets/more/command.rb +11 -1
- data/lib/facets/more/doublemetaphone.rb +371 -0
- data/lib/facets/more/filesystem.rb +43 -0
- data/lib/facets/more/main_as_module.rb +42 -0
- data/lib/facets/more/taskable.rb +89 -212
- data/setup.rb +204 -181
- data/test/lib/facets/core/array/test_at_rand.rb +1 -1
- data/test/lib/facets/core/array/test_delete_unless.rb +1 -1
- data/test/lib/facets/core/array/test_delete_values.rb +1 -1
- data/test/lib/facets/core/array/test_delete_values_at.rb +1 -1
- data/test/lib/facets/core/array/test_first.rb +1 -1
- data/test/lib/facets/core/array/test_head.rb +1 -1
- data/test/lib/facets/core/array/test_last_index.rb +1 -1
- data/test/lib/facets/core/array/test_merge.rb +1 -1
- data/test/lib/facets/core/array/test_mid.rb +1 -1
- data/test/lib/facets/core/array/test_middle.rb +1 -1
- data/test/lib/facets/core/array/test_op_fetch.rb +9 -1
- data/test/lib/facets/core/array/test_op_store.rb +1 -1
- data/test/lib/facets/core/array/test_pick.rb +1 -1
- data/test/lib/facets/core/array/test_pos.rb +1 -1
- data/test/lib/facets/core/array/test_pot.rb +1 -1
- data/test/lib/facets/core/array/test_pull.rb +1 -1
- data/test/lib/facets/core/array/test_rand_index.rb +1 -1
- data/test/lib/facets/core/array/test_rand_subset.rb +1 -1
- data/test/lib/facets/core/array/test_range.rb +1 -1
- data/test/lib/facets/core/array/test_rotate.rb +1 -1
- data/test/lib/facets/core/array/test_select.rb +1 -1
- data/test/lib/facets/core/array/test_shuffle.rb +1 -1
- data/test/lib/facets/core/array/test_thru.rb +1 -1
- data/test/lib/facets/core/array/test_to_b.rb +1 -1
- data/test/lib/facets/core/array/test_to_h.rb +1 -1
- data/test/lib/facets/core/array/test_to_hash.rb +1 -1
- data/test/lib/facets/core/binding/self/test_of_caller.rb +1 -1
- data/test/lib/facets/core/binding/test___LINE__.rb +1 -1
- data/test/lib/facets/core/binding/test_call_stack.rb +1 -1
- data/test/lib/facets/core/binding/test_called.rb +1 -1
- data/test/lib/facets/core/binding/test_caller.rb +1 -1
- data/test/lib/facets/core/binding/test_defined.rb +1 -1
- data/test/lib/facets/core/binding/test_eval.rb +1 -1
- data/test/lib/facets/core/binding/test_local_variables.rb +1 -1
- data/test/lib/facets/core/binding/test_method_name.rb +1 -1
- data/test/lib/facets/core/binding/test_op_fetch.rb +1 -1
- data/test/lib/facets/core/binding/test_op_store.rb +1 -1
- data/test/lib/facets/core/binding/test_self.rb +1 -1
- data/test/lib/facets/core/class/test_cattr.rb +1 -1
- data/test/lib/facets/core/class/test_descendents.rb +1 -1
- data/test/lib/facets/core/class/test_method_name.rb +1 -1
- data/test/lib/facets/core/class/test_remove_descendents.rb +1 -1
- data/test/lib/facets/core/class/test_unix_path.rb +1 -1
- data/test/lib/facets/core/comparable/test_at_least.rb +1 -1
- data/test/lib/facets/core/comparable/test_clip.rb +1 -1
- data/test/lib/facets/core/comparable/test_cmp.rb +1 -1
- data/test/lib/facets/core/continuation/self/test_create.rb +1 -1
- data/test/lib/facets/core/date/test_days_in_month.rb +1 -1
- data/test/lib/facets/core/date/test_days_of_month.rb +1 -1
- data/test/lib/facets/core/date/test_stamp.rb +1 -1
- data/test/lib/facets/core/date/test_to_date.rb +1 -1
- data/test/lib/facets/core/date/test_to_s.rb +1 -1
- data/test/lib/facets/core/date/test_to_time.rb +1 -1
- data/test/lib/facets/core/dir/self/test_ancestor.rb +1 -1
- data/test/lib/facets/core/dir/self/test_ascend.rb +1 -1
- data/test/lib/facets/core/enumerable/self/test_combinations.rb +1 -1
- data/test/lib/facets/core/enumerable/self/test_cross.rb +1 -1
- data/test/lib/facets/core/enumerable/test_collect_with_index.rb +1 -1
- data/test/lib/facets/core/enumerable/test_commonality.rb +1 -1
- data/test/lib/facets/core/enumerable/test_compact_collect.rb +1 -1
- data/test/lib/facets/core/enumerable/test_count.rb +1 -1
- data/test/lib/facets/core/enumerable/test_cross.rb +1 -1
- data/test/lib/facets/core/enumerable/test_each_by.rb +71 -0
- data/test/lib/facets/core/enumerable/test_each_combination.rb +1 -1
- data/test/lib/facets/core/enumerable/test_each_pair.rb +1 -1
- data/test/lib/facets/core/enumerable/test_each_unique_pair.rb +1 -1
- data/test/lib/facets/core/enumerable/test_eachn.rb +34 -0
- data/test/lib/facets/core/enumerable/test_entropy.rb +1 -1
- data/test/lib/facets/core/enumerable/test_every.rb +1 -1
- data/test/lib/facets/core/enumerable/test_ew.rb +1 -1
- data/test/lib/facets/core/enumerable/test_filter_collect.rb +1 -1
- data/test/lib/facets/core/enumerable/test_find_collisions.rb +1 -1
- data/test/lib/facets/core/enumerable/test_frequency.rb +1 -1
- data/test/lib/facets/core/enumerable/test_graph.rb +1 -1
- data/test/lib/facets/core/enumerable/test_ideal_entropy.rb +1 -1
- data/test/lib/facets/core/enumerable/test_none.rb +1 -1
- data/test/lib/facets/core/enumerable/test_occur.rb +1 -1
- data/test/lib/facets/core/enumerable/test_one.rb +1 -1
- data/test/lib/facets/core/enumerable/test_op_pow.rb +1 -1
- data/test/lib/facets/core/enumerable/test_partition_by.rb +1 -1
- data/test/lib/facets/core/enumerable/test_permute.rb +1 -1
- data/test/lib/facets/core/enumerable/test_probability.rb +1 -1
- data/test/lib/facets/core/enumerable/test_to_h.rb +1 -1
- data/test/lib/facets/core/enumerable/test_uniq_by.rb +1 -1
- data/test/lib/facets/core/file/self/test_create.rb +1 -1
- data/test/lib/facets/core/file/self/test_open_as_string.rb +1 -1
- data/test/lib/facets/core/file/self/test_read_list.rb +1 -1
- data/test/lib/facets/core/file/self/test_sanitize.rb +1 -1
- data/test/lib/facets/core/file/self/test_split_all.rb +1 -1
- data/test/lib/facets/core/float/test_round_at.rb +1 -1
- data/test/lib/facets/core/float/test_round_to.rb +1 -1
- data/test/lib/facets/core/hash/self/test_zipnew.rb +1 -1
- data/test/lib/facets/core/hash/test_alias.rb +1 -1
- data/test/lib/facets/core/hash/test_assert_has_keys.rb +1 -1
- data/test/lib/facets/core/hash/test_assert_has_only_keys.rb +1 -1
- data/test/lib/facets/core/hash/test_at.rb +1 -1
- data/test/lib/facets/core/hash/test_collate.rb +1 -1
- data/test/lib/facets/core/hash/test_each.rb +1 -1
- data/test/lib/facets/core/hash/test_each_with_index.rb +1 -1
- data/test/lib/facets/core/hash/test_each_with_key.rb +1 -1
- data/test/lib/facets/core/hash/test_graph.rb +1 -1
- data/test/lib/facets/core/hash/test_has_keys.rb +1 -1
- data/test/lib/facets/core/hash/test_has_only_keys.rb +1 -1
- data/test/lib/facets/core/hash/test_inverse.rb +1 -1
- data/test/lib/facets/core/hash/test_normalize_keys.rb +1 -1
- data/test/lib/facets/core/hash/test_op_fetch.rb +1 -1
- data/test/lib/facets/core/hash/test_op_lshift.rb +1 -1
- data/test/lib/facets/core/hash/test_rand_key.rb +1 -1
- data/test/lib/facets/core/hash/test_rand_pair.rb +1 -1
- data/test/lib/facets/core/hash/test_rand_value.rb +1 -1
- data/test/lib/facets/core/hash/test_replace_each.rb +1 -1
- data/test/lib/facets/core/hash/test_shuffle.rb +1 -1
- data/test/lib/facets/core/hash/test_slice.rb +1 -1
- data/test/lib/facets/core/hash/test_stringify_keys.rb +1 -1
- data/test/lib/facets/core/hash/test_swap.rb +1 -1
- data/test/lib/facets/core/hash/test_swapkey.rb +1 -1
- data/test/lib/facets/core/hash/test_symbolize_keys.rb +1 -1
- data/test/lib/facets/core/hash/test_to_h.rb +1 -1
- data/test/lib/facets/core/hash/test_to_ostruct.rb +1 -1
- data/test/lib/facets/core/hash/test_to_ostruct_recurse.rb +1 -1
- data/test/lib/facets/core/hash/test_traverse.rb +1 -1
- data/test/lib/facets/core/hash/test_update_each.rb +1 -1
- data/test/lib/facets/core/hash/test_update_keys.rb +1 -1
- data/test/lib/facets/core/hash/test_update_values.rb +1 -1
- data/test/lib/facets/core/hash/test_weave.rb +1 -1
- data/test/lib/facets/core/integer/test_factorial.rb +1 -1
- data/test/lib/facets/core/integer/test_multiple.rb +1 -1
- data/test/lib/facets/core/integer/test_of.rb +1 -1
- data/test/lib/facets/core/integer/test_ordinal.rb +1 -1
- data/test/lib/facets/core/integer/test_times_collect.rb +1 -1
- data/test/lib/facets/core/kernel/test___class__.rb +1 -1
- data/test/lib/facets/core/kernel/test_as.rb +1 -1
- data/test/lib/facets/core/kernel/test_assign_from.rb +1 -1
- data/test/lib/facets/core/kernel/test_assign_with.rb +1 -1
- data/test/lib/facets/core/kernel/test_bool.rb +1 -1
- data/test/lib/facets/core/kernel/test_bug.rb +1 -1
- data/test/lib/facets/core/kernel/test_call_stack.rb +1 -1
- data/test/lib/facets/core/kernel/test_called.rb +1 -1
- data/test/lib/facets/core/kernel/test_callee.rb +1 -1
- data/test/lib/facets/core/kernel/test_constant.rb +1 -1
- data/test/lib/facets/core/kernel/test_copy.rb +1 -1
- data/test/lib/facets/core/kernel/test_deep_copy.rb +1 -1
- data/test/lib/facets/core/kernel/test_demo.rb +1 -1
- data/test/lib/facets/core/kernel/test_fn.rb +1 -1
- data/test/lib/facets/core/kernel/test_get_by_id.rb +1 -1
- data/test/lib/facets/core/kernel/test_here.rb +1 -1
- data/test/lib/facets/core/kernel/test_in.rb +1 -1
- data/test/lib/facets/core/kernel/test_instance_exec.rb +1 -1
- data/test/lib/facets/core/kernel/test_maybe.rb +1 -1
- data/test/lib/facets/core/kernel/test_metaclass.rb +1 -1
- data/test/lib/facets/core/kernel/test_method.rb +1 -1
- data/test/lib/facets/core/kernel/test_methods.rb +1 -1
- data/test/lib/facets/core/kernel/test_new.rb +1 -1
- data/test/lib/facets/core/kernel/test_object_class.rb +1 -1
- data/test/lib/facets/core/kernel/test_object_hexid.rb +1 -1
- data/test/lib/facets/core/kernel/test_quaclass.rb +1 -1
- data/test/lib/facets/core/kernel/test_require_all.rb +1 -1
- data/test/lib/facets/core/kernel/test_require_esc.rb +1 -1
- data/test/lib/facets/core/kernel/test_require_facet.rb +1 -1
- data/test/lib/facets/core/kernel/test_resc.rb +1 -1
- data/test/lib/facets/core/kernel/test_returning.rb +1 -1
- data/test/lib/facets/core/kernel/test_send_as.rb +1 -1
- data/test/lib/facets/core/kernel/test_set_from.rb +1 -1
- data/test/lib/facets/core/kernel/test_set_with.rb +1 -1
- data/test/lib/facets/core/kernel/test_silently.rb +1 -1
- data/test/lib/facets/core/kernel/test_singleton.rb +1 -1
- data/test/lib/facets/core/kernel/test_singleton_class.rb +1 -1
- data/test/lib/facets/core/kernel/test_superior.rb +1 -1
- data/test/lib/facets/core/kernel/test_supermethod.rb +1 -1
- data/test/lib/facets/core/kernel/test_this.rb +1 -1
- data/test/lib/facets/core/kernel/test_to_b.rb +1 -1
- data/test/lib/facets/core/kernel/test_to_bool.rb +1 -1
- data/test/lib/facets/core/kernel/test_to_data.rb +1 -1
- data/test/lib/facets/core/kernel/test_uri.rb +1 -1
- data/test/lib/facets/core/kernel/test_val.rb +1 -1
- data/test/lib/facets/core/kernel/test_with_accessor.rb +1 -1
- data/test/lib/facets/core/matchdata/test_match.rb +1 -1
- data/test/lib/facets/core/matchdata/test_matchtree.rb +1 -1
- data/test/lib/facets/core/module/test_abstract.rb +1 -1
- data/test/lib/facets/core/module/test_alias_module_function.rb +1 -1
- data/test/lib/facets/core/module/test_ancestor.rb +1 -1
- data/test/lib/facets/core/module/test_basename.rb +1 -1
- data/test/lib/facets/core/module/test_by_name.rb +1 -1
- data/test/lib/facets/core/module/test_class_extension.rb +1 -1
- data/test/lib/facets/core/module/test_clone_using.rb +1 -1
- data/test/lib/facets/core/module/test_dirname.rb +1 -1
- data/test/lib/facets/core/module/test_equate_on.rb +1 -1
- data/test/lib/facets/core/module/test_include_as.rb +1 -1
- data/test/lib/facets/core/module/test_initializer.rb +1 -1
- data/test/lib/facets/core/module/test_instance_methods.rb +1 -1
- data/test/lib/facets/core/module/test_integrate.rb +1 -1
- data/test/lib/facets/core/module/test_memoize.rb +1 -1
- data/test/lib/facets/core/module/test_modspace.rb +1 -1
- data/test/lib/facets/core/module/test_namespace.rb +1 -1
- data/test/lib/facets/core/module/test_nesting.rb +1 -1
- data/test/lib/facets/core/module/test_nodef.rb +1 -1
- data/test/lib/facets/core/module/test_on_included.rb +1 -1
- data/test/lib/facets/core/module/test_redef.rb +1 -1
- data/test/lib/facets/core/module/test_redefine_method.rb +1 -1
- data/test/lib/facets/core/module/test_redirect.rb +1 -1
- data/test/lib/facets/core/module/test_redirect_method.rb +1 -1
- data/test/lib/facets/core/module/test_remove.rb +1 -1
- data/test/lib/facets/core/module/test_rename.rb +1 -1
- data/test/lib/facets/core/module/test_rename_method.rb +1 -1
- data/test/lib/facets/core/module/test_revisal.rb +1 -1
- data/test/lib/facets/core/module/test_shadow_method.rb +1 -1
- data/test/lib/facets/core/module/test_sort_on.rb +1 -1
- data/test/lib/facets/core/module/test_this.rb +1 -1
- data/test/lib/facets/core/module/test_wrap.rb +1 -1
- data/test/lib/facets/core/module/test_wrap_method.rb +1 -1
- data/test/lib/facets/core/nilclass/test_blank.rb +1 -1
- data/test/lib/facets/core/nilclass/test_empty.rb +1 -1
- data/test/lib/facets/core/nilclass/test_include.rb +1 -1
- data/test/lib/facets/core/nilclass/test_op_fetch.rb +1 -1
- data/test/lib/facets/core/nilclass/test_size.rb +1 -1
- data/test/lib/facets/core/nilclass/test_to_h.rb +1 -1
- data/test/lib/facets/core/numeric/test_approx.rb +1 -1
- data/test/lib/facets/core/numeric/test_ceil_multiple.rb +1 -1
- data/test/lib/facets/core/numeric/test_distance.rb +1 -1
- data/test/lib/facets/core/numeric/test_succ.rb +1 -1
- data/test/lib/facets/core/numeric/test_to_b.rb +1 -1
- data/test/lib/facets/core/ostruct/test___merge__.rb +1 -1
- data/test/lib/facets/core/ostruct/test___update__.rb +1 -1
- data/test/lib/facets/core/ostruct/test_op_fetch.rb +1 -1
- data/test/lib/facets/core/ostruct/test_op_store.rb +1 -1
- data/test/lib/facets/core/proc/test_compose.rb +1 -1
- data/test/lib/facets/core/proc/test_op_mul.rb +1 -1
- data/test/lib/facets/core/proc/test_to_method.rb +1 -1
- data/test/lib/facets/core/range/test_to_r.rb +1 -1
- data/test/lib/facets/core/range/test_to_range.rb +1 -1
- data/test/lib/facets/core/range/test_umbrella.rb +1 -1
- data/test/lib/facets/core/range/test_within.rb +1 -1
- data/test/lib/facets/core/regexp/test_arity.rb +1 -1
- data/test/lib/facets/core/regexp/test_to_re.rb +1 -1
- data/test/lib/facets/core/regexp/test_to_regexp.rb +1 -1
- data/test/lib/facets/core/string/self/test_interpolate.rb +1 -1
- data/test/lib/facets/core/string/self/test_patterns.rb +1 -1
- data/test/lib/facets/core/string/self/test_rand_letter.rb +1 -1
- data/test/lib/facets/core/string/test_align_center.rb +1 -1
- data/test/lib/facets/core/string/test_at_rand.rb +1 -1
- data/test/lib/facets/core/string/test_basename.rb +1 -1
- data/test/lib/facets/core/string/test_blank.rb +1 -1
- data/test/lib/facets/core/string/test_bracket.rb +1 -1
- data/test/lib/facets/core/string/test_camelcase.rb +1 -1
- data/test/lib/facets/core/string/test_camelize.rb +1 -1
- data/test/lib/facets/core/string/test_capitalized.rb +1 -1
- data/test/lib/facets/core/string/test_chars.rb +1 -1
- data/test/lib/facets/core/string/test_cmp.rb +1 -1
- data/test/lib/facets/core/string/test_demodulize.rb +1 -1
- data/test/lib/facets/core/string/test_divide.rb +1 -1
- data/test/lib/facets/core/string/test_downcase.rb +1 -1
- data/test/lib/facets/core/string/test_dresner.rb +1 -1
- data/test/lib/facets/core/string/test_each_char.rb +1 -1
- data/test/lib/facets/core/string/test_each_word.rb +1 -1
- data/test/lib/facets/core/string/test_first.rb +1 -1
- data/test/lib/facets/core/string/test_fold.rb +1 -1
- data/test/lib/facets/core/string/test_humanize.rb +1 -1
- data/test/lib/facets/core/string/test_indent.rb +1 -1
- data/test/lib/facets/core/string/test_index_all.rb +1 -1
- data/test/lib/facets/core/string/test_last.rb +1 -1
- data/test/lib/facets/core/string/test_line_wrap.rb +1 -1
- data/test/lib/facets/core/string/test_lines.rb +1 -1
- data/test/lib/facets/core/string/test_lowercase.rb +1 -1
- data/test/lib/facets/core/string/test_margin.rb +1 -1
- data/test/lib/facets/core/string/test_methodize.rb +1 -1
- data/test/lib/facets/core/string/test_modulize.rb +1 -1
- data/test/lib/facets/core/string/test_mscan.rb +1 -1
- data/test/lib/facets/core/string/test_natcmp.rb +1 -1
- data/test/lib/facets/core/string/test_nchar.rb +1 -1
- data/test/lib/facets/core/string/test_pathize.rb +1 -1
- data/test/lib/facets/core/string/test_pop.rb +1 -1
- data/test/lib/facets/core/string/test_pot.rb +1 -1
- data/test/lib/facets/core/string/test_push.rb +1 -1
- data/test/lib/facets/core/string/test_quote.rb +1 -1
- data/test/lib/facets/core/string/test_rand_byte.rb +1 -1
- data/test/lib/facets/core/string/test_rand_index.rb +1 -1
- data/test/lib/facets/core/string/test_range.rb +1 -1
- data/test/lib/facets/core/string/test_range_all.rb +1 -1
- data/test/lib/facets/core/string/test_range_of_line.rb +1 -1
- data/test/lib/facets/core/string/test_regesc.rb +1 -1
- data/test/lib/facets/core/string/test_shatter.rb +1 -1
- data/test/lib/facets/core/string/test_shift.rb +1 -1
- data/test/lib/facets/core/string/test_shuffle.rb +1 -1
- data/test/lib/facets/core/string/test_similarity.rb +1 -1
- data/test/lib/facets/core/string/test_singular.rb +1 -1
- data/test/lib/facets/core/string/test_soundex.rb +1 -1
- data/test/lib/facets/core/string/test_succ.rb +1 -1
- data/test/lib/facets/core/string/test_to_a.rb +1 -1
- data/test/lib/facets/core/string/test_to_b.rb +1 -1
- data/test/lib/facets/core/string/test_to_const.rb +1 -1
- data/test/lib/facets/core/string/test_to_date.rb +1 -1
- data/test/lib/facets/core/string/test_to_proc.rb +1 -1
- data/test/lib/facets/core/string/test_to_re.rb +1 -1
- data/test/lib/facets/core/string/test_to_time.rb +1 -1
- data/test/lib/facets/core/string/test_unix_crypt.rb +1 -1
- data/test/lib/facets/core/string/test_unpack.rb +1 -1
- data/test/lib/facets/core/string/test_unshift.rb +1 -1
- data/test/lib/facets/core/string/test_upcase.rb +1 -1
- data/test/lib/facets/core/string/test_whitespace.rb +1 -1
- data/test/lib/facets/core/string/test_word_filter.rb +1 -1
- data/test/lib/facets/core/string/test_word_wrap.rb +1 -1
- data/test/lib/facets/core/string/test_words.rb +1 -1
- data/test/lib/facets/core/symbol/test_camelcase.rb +1 -1
- data/test/lib/facets/core/symbol/test_camelize.rb +1 -1
- data/test/lib/facets/core/symbol/test_capitalize.rb +1 -1
- data/test/lib/facets/core/symbol/test_capitalized.rb +1 -1
- data/test/lib/facets/core/symbol/test_downcase.rb +1 -1
- data/test/lib/facets/core/symbol/test_not.rb +1 -1
- data/test/lib/facets/core/symbol/test_pad.rb +1 -1
- data/test/lib/facets/core/symbol/test_succ.rb +1 -1
- data/test/lib/facets/core/symbol/test_to_const.rb +1 -1
- data/test/lib/facets/core/symbol/test_to_proc.rb +1 -1
- data/test/lib/facets/core/symbol/test_to_str.rb +1 -1
- data/test/lib/facets/core/symbol/test_underscore.rb +1 -1
- data/test/lib/facets/core/symbol/test_upcase.rb +1 -1
- data/test/lib/facets/core/time/test_change.rb +1 -1
- data/test/lib/facets/core/time/test_elapse.rb +1 -1
- data/test/lib/facets/core/time/test_stamp.rb +1 -1
- data/test/lib/facets/core/time/test_to_date.rb +1 -1
- data/test/lib/facets/core/time/test_to_s.rb +1 -1
- data/test/lib/facets/core/time/test_to_time.rb +1 -1
- data/test/lib/facets/more/test_annattr.rb +1 -1
- data/test/lib/facets/more/test_annotation.rb +1 -1
- data/test/lib/facets/more/test_ansicode.rb +1 -1
- data/test/lib/facets/more/test_association.rb +1 -1
- data/test/lib/facets/more/test_autoarray.rb +1 -1
- data/test/lib/facets/more/test_basicobject.rb +1 -1
- data/test/lib/facets/more/test_bbcode.rb +1 -1
- data/test/lib/facets/more/test_binaryreader.rb +1 -1
- data/test/lib/facets/more/test_bitmask.rb +1 -1
- data/test/lib/facets/more/test_bytes.rb +1 -1
- data/test/lib/facets/more/test_classmethods.rb +1 -1
- data/test/lib/facets/more/test_command.rb +1 -1
- data/test/lib/facets/more/test_coroutine.rb +1 -1
- data/test/lib/facets/more/test_crypt.rb +1 -1
- data/test/lib/facets/more/test_cut.rb +1 -1
- data/test/lib/facets/more/test_dictionary.rb +1 -1
- data/test/lib/facets/more/test_elementor.rb +1 -1
- data/test/lib/facets/more/test_enumerablepass.rb +1 -1
- data/test/lib/facets/more/test_floatstring.rb +1 -1
- data/test/lib/facets/more/test_functor.rb +1 -1
- data/test/lib/facets/more/test_htmlbuilder.rb +1 -1
- data/test/lib/facets/more/test_infinity.rb +1 -1
- data/test/lib/facets/more/test_inheritor.rb +1 -1
- data/test/lib/facets/more/test_instance_intercept.rb +1 -1
- data/test/lib/facets/more/test_interval.rb +1 -1
- data/test/lib/facets/more/test_json.rb +1 -1
- data/test/lib/facets/more/test_lisp.rb +1 -1
- data/test/lib/facets/more/test_lisp_format.rb +1 -1
- data/test/lib/facets/more/test_lrucache.rb +1 -1
- data/test/lib/facets/more/test_mathconstants.rb +1 -1
- data/test/lib/facets/more/test_methodfilter.rb +1 -1
- data/test/lib/facets/more/test_methodprobe.rb +1 -1
- data/test/lib/facets/more/test_multipliers.rb +1 -1
- data/test/lib/facets/more/test_multiton.rb +1 -1
- data/test/lib/facets/more/test_nackclass.rb +1 -1
- data/test/lib/facets/more/test_nilcomparable.rb +1 -1
- data/test/lib/facets/more/test_opencascade.rb +1 -1
- data/test/lib/facets/more/test_openobject.rb +1 -1
- data/test/lib/facets/more/test_overload.rb +1 -1
- data/test/lib/facets/more/test_paramix.rb +1 -1
- data/test/lib/facets/more/test_pqueue.rb +1 -1
- data/test/lib/facets/more/test_predicate.rb +1 -1
- data/test/lib/facets/more/test_preinitialize.rb +1 -1
- data/test/lib/facets/more/test_promoteself.rb +1 -1
- data/test/lib/facets/more/test_recorder.rb +1 -1
- data/test/lib/facets/more/test_snapshot.rb +1 -1
- data/test/lib/facets/more/test_statichash.rb +1 -1
- data/test/lib/facets/more/test_syncarray.rb +1 -1
- data/test/lib/facets/more/test_synchash.rb +1 -1
- data/test/lib/facets/more/test_tagiterator.rb +1 -1
- data/test/lib/facets/more/test_taskable.rb +28 -7
- data/test/lib/facets/more/test_timer.rb +1 -1
- data/test/lib/facets/more/test_times.rb +1 -1
- data/test/lib/facets/more/test_tuple.rb +1 -1
- data/test/lib/facets/more/test_typecast.rb +1 -1
- data/test/lib/facets/more/test_uninheritable.rb +1 -1
- data/test/lib/facets/more/test_units.rb +1 -1
- data/test/lib/facets/more/test_xmlbuilder.rb +1 -1
- data/test/lib/facets/more/test_xmlhelper.rb +1 -1
- data/test/lib/facets/more/test_xoxo.rb +1 -1
- data/test/lib/facets/more/test_yamlstruct.rb +1 -1
- data/util/announce +20 -0
- data/util/changelog +8 -0
- data/util/count +8 -0
- data/util/extest +8 -0
- data/util/list +38 -0
- data/util/package +9 -0
- data/util/prepare +12 -0
- data/util/redirect +34 -0
- data/util/release +13 -0
- data/util/setup +7 -0
- data/util/test +7 -0
- data/util/version +8 -0
- metadata +1514 -1491
- data/doc/CAUTION +0 -55
- data/doc/IMPORTANT +0 -8
- data/doc/LATEST +0 -41
- data/doc/history/ANN-0.6.0 +0 -40
- data/doc/history/ANN-0.6.1 +0 -36
- data/doc/history/ANN-0.6.3 +0 -43
- data/doc/history/ANN-0.7.0 +0 -59
- data/doc/history/ANN-0.8.1 +0 -127
- data/doc/history/INTRO +0 -172
- data/doc/history/README +0 -223
- data/doc/history/README-OLD +0 -180
- data/doc/manifest +0 -1209
- data/doc/scrap/Rakefile.old +0 -181
- data/lib/facet/enumerable/each_slice.rb +0 -1
- data/lib/facets/core/enumerable/each_slice.rb +0 -131
- data/meta/reapfile +0 -184
- data/meta/task +0 -74
- data/meta/tasks/calibre.rb +0 -16
- data/meta/version +0 -1
data/doc/CAUTION
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
|
2
|
-
# Some caution should be taken when using certain facets.
|
3
|
-
# What follows ois list of such facets and the reasons
|
4
|
-
# these particular facets should given special consideration.
|
5
|
-
|
6
|
-
# Some facets require other files to be loaded first
|
7
|
-
# that are not loaded automatically, like fileutils
|
8
|
-
# (i.e. they are part of the standard lib, not core).
|
9
|
-
# The file include all of the following.
|
10
|
-
|
11
|
-
date/*
|
12
|
-
fileutils/*
|
13
|
-
ostruct/*
|
14
|
-
logger/*
|
15
|
-
gem/*
|
16
|
-
|
17
|
-
# Others effect the system in slightly non-standard ways.
|
18
|
-
# Though such changes are kept to a minumim and intended
|
19
|
-
# to be backward compatible, there still may be edge cases
|
20
|
-
# that could cause another library to misbehave.
|
21
|
-
# The following is a list known facets that may have
|
22
|
-
# this potential.
|
23
|
-
|
24
|
-
array/op_fetch.rb
|
25
|
-
array/op_store.rb
|
26
|
-
binding/self/of_caller.rb
|
27
|
-
hash/op_fetch.rb
|
28
|
-
hash/op_store.rb
|
29
|
-
numeric/succ.rb
|
30
|
-
numeric/pred.rb
|
31
|
-
string/succ.rb
|
32
|
-
string/unpack.rb
|
33
|
-
module/attr.rb
|
34
|
-
#module/attr_reader.rb
|
35
|
-
#module/attr_writer.rb
|
36
|
-
#module/attr_accessor.rb
|
37
|
-
|
38
|
-
# There are also some facets that are potentially unsafe b/c
|
39
|
-
# they change Ruby's default behavior in a nonconvential
|
40
|
-
# manner and hence are not designed to be backward compatible.
|
41
|
-
# Using these with a pre-existent program may cause the program
|
42
|
-
# to misbehave. So while they can be useful, be sure to
|
43
|
-
# understand exactly what they do before putting them to
|
44
|
-
# serious use.
|
45
|
-
|
46
|
-
hash/each.rb
|
47
|
-
module/methods.rb
|
48
|
-
object/method.rb
|
49
|
-
nilclass/op_fetch.rb
|
50
|
-
nilclass/empty.rb
|
51
|
-
nilclass/include.rb
|
52
|
-
nilclass/size.rb
|
53
|
-
nilclass/length.rb
|
54
|
-
nilclass/method_missing.rb
|
55
|
-
|
data/doc/IMPORTANT
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
Facets is a GENERAL PURPOSE library. It is vital that is stay that way!
|
2
|
-
|
3
|
-
Under no circumstances should something be added to Facets specific to
|
4
|
-
a particular use case or application. While a lib might serve the needs
|
5
|
-
of such, the lib itself must have general applicability. Although not a
|
6
|
-
sure test in either "direction", a good rule of thumb for such a
|
7
|
-
condition is whether a lib has an external dependency --it should not.
|
8
|
-
|
data/doc/LATEST
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
|
2
|
-
The 1.4 series of Facets is now official!
|
3
|
-
|
4
|
-
There are have been quite a few improvements since the last offical release. The single biggest change is actually completely behind the scenes. Darcs is now being usd as the revision control system. Darcs really is a dream to use and should make it easier for others to contribute to the project. (I only wish Rubyforge and Tracs would gear up their Darcs support.)
|
5
|
-
|
6
|
-
Here are the other major highlights of 1.4 series:
|
7
|
-
|
8
|
-
* Added nilclass/status which allows a message to be passed through a failure chain.
|
9
|
-
|
10
|
-
* Added enumerable/cascade, a cascade a list of actions on each element of an enumerable. Thanks to Sean O'Halpin for this.
|
11
|
-
|
12
|
-
* Removed hash/keys_to_iv because it is a poor name. Since the alternative of 'keys_to_instance_variables' conveys the wrong idea, we simply deprecated it in favor of the Rails compatible #variablize_keys.
|
13
|
-
|
14
|
-
* Fixed bug in BasicObject#__self__.
|
15
|
-
|
16
|
-
* Addedd Cookie, HTTP and HTTPAccess of Hiroshi Nakamura's httpaccess2.rb library. Cookie has been moved to Web namespace.
|
17
|
-
|
18
|
-
* OpenObject's __get__ and __set__ methods have been changed to __fetch__ and __store__ to correspond to the Hash methods.
|
19
|
-
|
20
|
-
* Added OpenCascade, which is like OpenObject but chains access.
|
21
|
-
|
22
|
-
* Included MenTaLguY's lazy.rb which include's Future and Promise classes. Cool lib!
|
23
|
-
|
24
|
-
* Created task.rb, which provides a Rake interface compatible task system, but that can be used in any code. Instead of defining tasks globally it defines them as methods of the current module or class. This makes the "task pattern" reusable.
|
25
|
-
|
26
|
-
* Improved Hash#traverse (it now does all traversing before yielding).
|
27
|
-
|
28
|
-
* kernel/me, kernel/methodname and kernel/method_name have all been deprecated in favor of 1.9's kernel/__method__ and kernel/__callee__ (but why more __ methods if you don't like them, matz?)
|
29
|
-
|
30
|
-
* Console::Application is deprecated as an alias for Console::Command.
|
31
|
-
|
32
|
-
* Console::Command now supports run-on flags (eg. -xvzf).
|
33
|
-
|
34
|
-
* More's classinherit.rb has been removed, and classmethods.rb will eventaully be deprecated as well. You should transition all uses of these to the core method module/class_extension.
|
35
|
-
|
36
|
-
* Updated tuple.rb so that when a string is converted to a Tuple (#to_t) the values wll be made integers if they are composed of only numbers. If you need all strings you can use a block since the block bypasses auto coerce, eg. to_t{ |v| v }.
|
37
|
-
|
38
|
-
* If anyone missed the changes from 1.3 the main of them were the inclusion of xoxo.rb, json.rb and rtals.rb; the moving of the cattr methods from module/ to class/. The mattr methods are still being reconsidered (They were aliases for cattr.); and adding zimba.tm's string/modulize, pathize and methodize methods.
|
39
|
-
|
40
|
-
I see the gleen in your eye ;) Enjoy!
|
41
|
-
|
data/doc/history/ANN-0.6.0
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
Happy Winter Solstice,
|
2
|
-
|
3
|
-
I am pleased to finally announce the first public release of Ruby
|
4
|
-
Facets. Ruby Facets was born, as I imagine many such projects
|
5
|
-
are, over a period of years, as a growing collection of routines
|
6
|
-
for which I commonly found need. Recently the library had
|
7
|
-
grown large enough that I thought it might stand on its own.
|
8
|
-
So a few weeks ago, I decided I'd go ahead and prepare a
|
9
|
-
release. There was a good bit of work to do --organizing,
|
10
|
-
documenting, testing; and I had the "bright" idea of scouring
|
11
|
-
the web for other tidbits that I might add. That turned into a
|
12
|
-
whole project in itself! But I persevered and now Facets is
|
13
|
-
finally polished enough for an initial offering.
|
14
|
-
|
15
|
-
Of course, there are still plenty of things left to do: write better
|
16
|
-
documentation, improve the tests and write a few yet missing,
|
17
|
-
improve the methods themselves, perhaps even a few improvements
|
18
|
-
in method and file names, plus error catching code --I'm sure there
|
19
|
-
are a number of places for that improvement, and of course there's
|
20
|
-
plenty of room for adding new goodies, too. In fact I hope the
|
21
|
-
Ruby community at large will take this opportunity to contribute any
|
22
|
-
extension methods used personally but deemed generally useful.
|
23
|
-
As the project manager I am quite open to the many possibilities.
|
24
|
-
Please contribute!
|
25
|
-
|
26
|
-
Being the very first release, I expect there may arise some
|
27
|
-
unforeseen bugs. If you come across any please let me know,
|
28
|
-
as soon as possible, so I can fix. You can contact me either
|
29
|
-
privately or via ruby-talk, or through the new calibre-cuts
|
30
|
-
mailing-list:
|
31
|
-
|
32
|
-
http://rubyforge.org/mailman/listinfo/calibre-cuts
|
33
|
-
|
34
|
-
My hope for Ruby Facets, and the other children of its parent
|
35
|
-
project, Ruby Calibre, is that Ruby will gain a vast and widely
|
36
|
-
used set of useful classes and routines in a nice all-in-one package
|
37
|
-
--Ruby's Tertiary library after Core and Standard, if you will.
|
38
|
-
|
39
|
-
Thanks and Happy Holidays,
|
40
|
-
T.
|
data/doc/history/ANN-0.6.1
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
Happy New Year,
|
2
|
-
|
3
|
-
A new version of Ruby Facets is out: 0.6.1. This version updates the common
|
4
|
-
"mix" files to be insync with the previous 0.6 updates (they were lagging
|
5
|
-
behind at version 0.5). Not to be confused with a _mixin_, a mix simply
|
6
|
-
bundles a group of atomic requires into single file. The most common are
|
7
|
-
for the class and modules themselves. For example:
|
8
|
-
|
9
|
-
require 'facet/string'
|
10
|
-
|
11
|
-
This mix requires all String facets considerd most commonly useful.
|
12
|
-
|
13
|
-
Also added are a few new extra mixes: 'facet/rand' and 'facet/nil-as-emptiness'.
|
14
|
-
'rand' requires an assortment of random related methods. 'nil-as-emptiness'
|
15
|
-
makes NilClass return nil to a number of common methods, like #empty?
|
16
|
-
and #[].
|
17
|
-
|
18
|
-
If you are interested in contributing to a project but have little time
|
19
|
-
to spare, helping with Facets may be a perfect project. There are still
|
20
|
-
plenty of light-weight tasks to do: improve documentation, improve the
|
21
|
-
tests and write a few yet missing, improve the rohbustness of methods
|
22
|
-
themselves, including exceptional error catching, and of course there's
|
23
|
-
plenty of room for adding new goodies, too. If you have any extension
|
24
|
-
methods that you use and think may be of benefit to others, please let
|
25
|
-
us know. We are quite open to the many possibilities.
|
26
|
-
|
27
|
-
And, of course, please let us know if you come across any bugs.
|
28
|
-
|
29
|
-
You can contact us either privately or via ruby-talk, or through the
|
30
|
-
new calibre-cuts mailing-list:
|
31
|
-
|
32
|
-
http://rubyforge.org/mailman/listinfo/calibre-cuts
|
33
|
-
|
34
|
-
Thanks,
|
35
|
-
T.
|
36
|
-
|
data/doc/history/ANN-0.6.3
DELETED
@@ -1,43 +0,0 @@
|
|
1
|
-
Hi--
|
2
|
-
|
3
|
-
Ruby Facets 0.6.3 is now out. This version adds some new methods (as
|
4
|
-
usual). But the biggest news is that Facets is now avaialble via
|
5
|
-
RubyGems. To install simply run 'gem install facets'.
|
6
|
-
|
7
|
-
Here's a rundown of the ChangeLog for 0.6.3:
|
8
|
-
|
9
|
-
* Added kernel/require_all which allows one to require a pattern of files,
|
10
|
-
making it easy to require every file in a directory.
|
11
|
-
|
12
|
-
* Added hash/traverse and hash/traverse!, which takes a block and iterates over
|
13
|
-
each key-value pair descending into subhash values and applying the block.
|
14
|
-
Thanks goes to Ara T. Howard and robert for their help.
|
15
|
-
|
16
|
-
* Changed enumerable/build_hash to enumerable/graph. The method #build_hash
|
17
|
-
has been aliased to #graph for the time being for backward compatability.
|
18
|
-
|
19
|
-
* Added hash/collect. This uses enumerable/graph so that
|
20
|
-
hash/collect will return a hash rather then an array.
|
21
|
-
|
22
|
-
* Added numeric/before and numeric/after in place of #ago and #since
|
23
|
-
and aliased #ago and #since to them, per the suggestions of
|
24
|
-
Francis Hwang.
|
25
|
-
|
26
|
-
* Added "poor man's profiler", time/elapse. Credit goes to Hal Fulton.
|
27
|
-
|
28
|
-
* Added array/last_index. Thanks goes to Jabari.
|
29
|
-
|
30
|
-
|
31
|
-
If you have any extension methods that you use and think may be of benefit
|
32
|
-
to others, please submit them. And, of course, please let me know if you
|
33
|
-
come across any bugs.
|
34
|
-
|
35
|
-
You can contact me either privately or via ruby-talk,
|
36
|
-
or via the Ruby Muse mailing list, suby-ruby at berlios.de
|
37
|
-
(membership required).
|
38
|
-
|
39
|
-
http://rubyforge.org/mailman/listinfo/calibre-cuts
|
40
|
-
|
41
|
-
Thanks,
|
42
|
-
T.
|
43
|
-
|
data/doc/history/ANN-0.7.0
DELETED
@@ -1,59 +0,0 @@
|
|
1
|
-
Hi--
|
2
|
-
|
3
|
-
Exciting news! Ruby Facets 0.7 series is officially out. And this version goes ballistic.
|
4
|
-
Why? Well, what used to be the Carats library has now been merged into Facets! So not only
|
5
|
-
does Facets have the atomic methods, it now has a plethora of classes, modules and mixins
|
6
|
-
to draw upon.
|
7
|
-
|
8
|
-
Here's a list of the general changes for the current version 0.7.2:
|
9
|
-
|
10
|
-
* The Carats library has been ported into the Facet lib. These files sit in the
|
11
|
-
main lib directory 'facet/' above the "atomic" methods which are all in
|
12
|
-
subdirectories 'facet/{module|class}/'. This layout works well, and allows for
|
13
|
-
everything to be provided from the same location.
|
14
|
-
|
15
|
-
* All methods with names containing non-alphanumeric characters are now CGI-escaped.
|
16
|
-
This removes some incompatibilites with some file systems. For instance Object#in?
|
17
|
-
is now stored in object/in%3F.rb.
|
18
|
-
|
19
|
-
* So one doesn't have to fuss with these escape chars, a new method has been added,
|
20
|
-
kernel/require_facet, which automatically does the substitutions.
|
21
|
-
|
22
|
-
* An expiremental file, facet.rb, had been added that allows automatic requiring of
|
23
|
-
atomic methods. It uses object/method_missing to require the methods on demand.
|
24
|
-
|
25
|
-
* A number of "molecular" files have been added. These require multiple
|
26
|
-
related "atoms" at once for greater convenience.
|
27
|
-
|
28
|
-
* A few methods that were grouped together in the same file have been separated
|
29
|
-
into their own files. (This is more feasible thanks to the additional
|
30
|
-
"require collections.")
|
31
|
-
|
32
|
-
* The method array/put has been changed to array/top (it is an alias for #unshift).
|
33
|
-
|
34
|
-
* Methods #matchdata/post_match_from and #matchdata/pre_match_from have been
|
35
|
-
deprecated in favor of some more generalized methods that serves the same
|
36
|
-
purposes, matchdata/matchtree and matchdata/matchset.
|
37
|
-
|
38
|
-
* Added module/include_as which allows one to include a module but within a specified
|
39
|
-
namespace.
|
40
|
-
|
41
|
-
* Added array/each_permutation, which applys a block to each permutation (in contrast
|
42
|
-
to each_combination).
|
43
|
-
|
44
|
-
As for the rest. Well, this thing is HUGE! There's no way I can go into it all of it here.
|
45
|
-
So dig in and check it out. Documentation is a bit improved, too btw, albeit there's still
|
46
|
-
plenty of work to be done in this regard.
|
47
|
-
|
48
|
-
If you have any extension methods that you use and think may be of benefit
|
49
|
-
to others, please submit them. And, of course, please let me know if you
|
50
|
-
come across any bugs.
|
51
|
-
|
52
|
-
You can contact me either privately or via ruby-talk,
|
53
|
-
or via the Ruby Muse mailing list, suby-ruby at berlios.de
|
54
|
-
(membership required).
|
55
|
-
|
56
|
-
http://rubyforge.org/mailman/listinfo/calibre-cuts
|
57
|
-
|
58
|
-
Thanks,
|
59
|
-
T.
|
data/doc/history/ANN-0.8.1
DELETED
@@ -1,127 +0,0 @@
|
|
1
|
-
|
2
|
-
DRUM ROLL PLEASE. I'm happy to announce two new sister projects:
|
3
|
-
Nano Methods and Mega Modules. They are born from the heritage of the
|
4
|
-
old Ruby Facets project (now deprecated). In the course of the last
|
5
|
-
several months a slew of major improvements have been made. We have some
|
6
|
-
spiffy new websites and, most importantly, this release marks the
|
7
|
-
beginning of a clear window toward 1.0 status.
|
8
|
-
|
9
|
-
GREAT NEWS! Nano Methods and Mega Modules are now the official
|
10
|
-
support libraries for Nitro and Og (http://www.nitrohq.com).
|
11
|
-
Nitro is a sophisticated Web Application Engine and Og is an
|
12
|
-
intuitive yet powerful Object Relational Mapping Library.
|
13
|
-
|
14
|
-
WHY MEGA? You may have noticed that I back peddled on the major change to
|
15
|
-
Facets 0.7.0. In that release I had merged the class and module additions
|
16
|
-
library, Ruby Carats, into Facets. But I had to separate them out again. It
|
17
|
-
simply proved too cumbersome to have such a variety of content all in one
|
18
|
-
location. I am very excited the re-separation though. It has already lent
|
19
|
-
itself to major improvements to the library, with a number of exciting
|
20
|
-
additions on the way.
|
21
|
-
|
22
|
-
NANO SYSTEM. Another new feature is the introduction of the NanoSystem
|
23
|
-
module. This module provides access to meta-info about Nano's extensions.
|
24
|
-
Primarily it is an index of all the methods. With this information at its
|
25
|
-
disposal another unique way to require method becomes possible:
|
26
|
-
|
27
|
-
require 'nanosys'
|
28
|
-
|
29
|
-
String.use :capitalized?, :underscore
|
30
|
-
|
31
|
-
I am not recommending this approach at the moment. But in the long run,
|
32
|
-
as the NanoSystem module matures, it may well prove to be a much more
|
33
|
-
elegant means of extension loading.
|
34
|
-
|
35
|
-
FOR FACETS USERS. To upgrade, the project name change will require
|
36
|
-
you to change the #require path-space from 'facet/' to 'nano/', or
|
37
|
-
occasionally 'mega/'. The division is pretty clear, Nano stores methods
|
38
|
-
and Mega stores classes and modules. Sorry for the inconvenience, but
|
39
|
-
after a long debate I decided it was worth it --and better to do so now
|
40
|
-
rather then later. Hope you like the new names.
|
41
|
-
|
42
|
-
CORNUCOPIA. Finally, there are also _a lot_ of minor changes in this release.
|
43
|
-
Some of them are simply improvements in the naming of methods or more appropriate
|
44
|
-
class/module placement. I've gone over all the methods enough now to be
|
45
|
-
confident that the present methods are pretty well set. You can expect many fewer
|
46
|
-
name/location changes from here on out. Also, a good number of new methods have
|
47
|
-
been added. Most of these I have managed to make mention of in the following
|
48
|
-
ChangeLog summary.
|
49
|
-
|
50
|
-
* Class methods are not prefixed with '::' to separate them from instance methods.
|
51
|
-
|
52
|
-
* Added logger #format and #format_message (whomever wrote these please let me know,
|
53
|
-
I got them thru a second-hand source and the original author is lost to me. I try
|
54
|
-
very hard to credit where credit is due.)
|
55
|
-
|
56
|
-
* Renamed object/supers to object/superup. Better!
|
57
|
-
|
58
|
-
* Got rid of symbol/gen. Use object/generate_method_name or
|
59
|
-
module#generate_instance_method_name instead. [ed- Is that the longest
|
60
|
-
non-foo method name ever?]
|
61
|
-
|
62
|
-
* The file 1st.rb file has moved to object/method!. This provides a version
|
63
|
-
of #method that persists the returned Method object.
|
64
|
-
|
65
|
-
* Added module/clone_using, module/clone_renaming and module/clone_removing.
|
66
|
-
|
67
|
-
* Added module/integrate (I love this one, but note that its syntax is not yet
|
68
|
-
set in stone.)
|
69
|
-
|
70
|
-
* Added many new enumerable methods: #filter_map, #compact_map, #commonality,
|
71
|
-
#frequency, #probability and #find_collisions.
|
72
|
-
|
73
|
-
* Moved some methods from array to enumerable: #each_permutation,
|
74
|
-
#each_combination, #each_unique_pair and the class method ::combinations.
|
75
|
-
|
76
|
-
* Added string/bytes per ruby-dev summary 26385-26467.
|
77
|
-
|
78
|
-
* Moved #cattr_reader, #cattr_writer and #cattr_accessor from Class to Module.
|
79
|
-
These are the class variable attributes as defined by Rails DHH.
|
80
|
-
|
81
|
-
* Added class instance attribute methods: iattr_reader, iatter_writer, &c.
|
82
|
-
The name of these are not set in stone. It's a bad misnomer. Looking
|
83
|
-
for suggestions.
|
84
|
-
|
85
|
-
* Added methods to comparable: #cap, #clip. #clip replaces #bound_by, since
|
86
|
-
'by' generally indicates the method takes a block parameter. I have retained
|
87
|
-
#at_least and #at_most, although #cap and #clip handle the same functionality.
|
88
|
-
|
89
|
-
* Added class/descendants (alias subclasses) and class/remove_descendants.
|
90
|
-
|
91
|
-
* Removed string/table_name and string/class_name (were too Rails specific).
|
92
|
-
Note: A new module has been added to Mega Modules, called orm_inflect.rb.
|
93
|
-
It contains numerous methods for doing this sort of thing.
|
94
|
-
|
95
|
-
* Added numeric/ceil_multiple.
|
96
|
-
|
97
|
-
* Added string/soundex for calculating the soundex code of a word/name.
|
98
|
-
|
99
|
-
* numeric/octet_units has bee moved to mega/binary_multipliers, which
|
100
|
-
is a rewrite of Richard Kilmer's bytes.rb. Actually #octet_units is
|
101
|
-
now just an alias or #strfbytes, accompanied by #strfbits.
|
102
|
-
|
103
|
-
* Placed Florian's binding-of-caller.rb in binding/of_caller. Makes more
|
104
|
-
sense there.
|
105
|
-
|
106
|
-
* Fixed Continuation::create; it wasn't defined as a class method
|
107
|
-
and should have been.
|
108
|
-
|
109
|
-
* Fixed bug with string/capitalized? which wasn't always giving the correct
|
110
|
-
result.
|
111
|
-
|
112
|
-
There are a number of others, but this particular session of development was
|
113
|
-
so rapid and choked full, I wasn't able to log them all.
|
114
|
-
Please see the API RDocs for a complete listing.
|
115
|
-
|
116
|
-
CONTRIBUTE. As always, if you have any extension methods that you use and think
|
117
|
-
may be of benefit to others, please submit them. There's a good chance they'll be
|
118
|
-
incorporated. Also, if you happen to notice any code that is mis-credited or is
|
119
|
-
not credited at all and should be, please correct me. Giving credit where credit
|
120
|
-
is due is _vry_ important to me, unfortuantely in the juggle of things it doesn't
|
121
|
-
always get doen as wellas it should. And, of course, please let me know if you
|
122
|
-
come across any bugs.
|
123
|
-
|
124
|
-
You can contact me either privately or via ruby-talk.
|
125
|
-
|
126
|
-
Thanks and Enjoy,
|
127
|
-
trans|onoma
|
data/doc/history/INTRO
DELETED
@@ -1,172 +0,0 @@
|
|
1
|
-
|
2
|
-
= Ruby Calibre, Common Applications Library Suite
|
3
|
-
|
4
|
-
"ALL BASE COMMON"
|
5
|
-
|
6
|
-
== Introduction
|
7
|
-
|
8
|
-
Welcome to the Ruby Calibre Project[1].
|
9
|
-
|
10
|
-
Calibre is an open API repository project for the Ruby programming language.
|
11
|
-
The intent of the project is to provide extensive general purposed library
|
12
|
-
collections to supplement the core and standard libraries already
|
13
|
-
included with Ruby. Specifically, it is an free and open repository of
|
14
|
-
useful and well tested classes, modules, mixins and methods.
|
15
|
-
|
16
|
-
Calibre has a simple slogan, "ALL BASE COMMON". The notion is that small
|
17
|
-
commonly used tools are better served whole. There are a number of
|
18
|
-
advantages in bundling these into a single suite.
|
19
|
-
|
20
|
-
* Better code reuse
|
21
|
-
* Collabretive improvements
|
22
|
-
* Name consistency
|
23
|
-
* One-stop shop and installation
|
24
|
-
|
25
|
-
The name Calibre is derived from the term used in gemstones:
|
26
|
-
|
27
|
-
"Calibre-cut stones are small stones that are cut into special shapes
|
28
|
-
that are meant for use in commonly-used designs."
|
29
|
-
|
30
|
-
So you see, the gemstone analogy is perfect. :)
|
31
|
-
|
32
|
-
The project is presently divided into two parts.
|
33
|
-
|
34
|
-
The first and most fundemental of these is Ruby Facets, the Fantasic Atomic
|
35
|
-
Core Extensions. The uniquness of this library collection lies in the
|
36
|
-
atomicity of its extensions layout (hence the name) --nearly every core
|
37
|
-
extension method is in it's own file, so it can be required independently.
|
38
|
-
|
39
|
-
The second is Cuts&Carats, a Collection of API Useful Tools. This is a higher-level
|
40
|
-
general purpose library which includes classes, modules, mixins, and other
|
41
|
-
assorted general purposed additions.
|
42
|
-
|
43
|
-
All Calibre libraries include expiremental development repositories where
|
44
|
-
new potential additions are kept for research and testing. Please,
|
45
|
-
feel free to explore these repositories and help contribute to those
|
46
|
-
works-in-progess. If you have something you'd like to add, please
|
47
|
-
submit and it will be placed into the appropriate development area,
|
48
|
-
where it will reside until deemed fit for inclusion in the main.
|
49
|
-
|
50
|
-
Note: Calibre is still a young project so a number of libs
|
51
|
-
still need improvements despite their inclusion in the main.
|
52
|
-
|
53
|
-
|
54
|
-
== Installation
|
55
|
-
|
56
|
-
presently only a manual install is avaliable but it is simple enough
|
57
|
-
in that it uses setup.rb. Simply uncompress the package and run
|
58
|
-
setup.rb. For example:
|
59
|
-
|
60
|
-
> tar -xvzf trix-x.y.z.tar.gz
|
61
|
-
> cd trix-x.y.z
|
62
|
-
> sudo ruby setup.rb
|
63
|
-
|
64
|
-
|
65
|
-
== Usage
|
66
|
-
|
67
|
-
Umm... that might require a book. You should look at the API RDocs.
|
68
|
-
To date, not everything in documented. But it's getting there.
|
69
|
-
You are welcome to help out. The basic requires are:
|
70
|
-
|
71
|
-
require 'calib/<file>'
|
72
|
-
|
73
|
-
require 'calib/cut/<file>'
|
74
|
-
require 'calib/carat/<file>'
|
75
|
-
|
76
|
-
require 'facet/<file>'
|
77
|
-
require 'facet/<class>/<file>'
|
78
|
-
|
79
|
-
For instance:
|
80
|
-
|
81
|
-
require 'facet/nil/empty?'
|
82
|
-
|
83
|
-
The #empty? method will be the only new method added to NilClass.
|
84
|
-
In the Facet's lib almost every file is named for the method in
|
85
|
-
contains. The only exceptions are for methods that are tightly
|
86
|
-
related. In these few cases either the file will be named after
|
87
|
-
the "core" method, or named as a conjunction, like +true&false?.rb+.
|
88
|
-
|
89
|
-
|
90
|
-
== Mascots
|
91
|
-
|
92
|
-
Doesn't every good project need a mascot? Well, ours is the Raspberry,
|
93
|
-
becasue it's red and faceted. But we also like Carrots, Baseball Diamonds
|
94
|
-
and Swirling Atoms. :)
|
95
|
-
|
96
|
-
==== Why Raspberry?
|
97
|
-
|
98
|
-
Becasue it adds color (namely red) and a nice flavor to the whole affair.
|
99
|
-
|
100
|
-
|
101
|
-
== Authorship
|
102
|
-
|
103
|
-
This collection was put together by, and much of it written by Thomas Sawyer
|
104
|
-
(aka T. Onoma). He can be reached via email at transami at runbox.com.
|
105
|
-
|
106
|
-
This package is a collection of work by many persons.
|
107
|
-
If it matters, the collection(s) per collection(s) is licensed:
|
108
|
-
|
109
|
-
Calibre, Common Application Libraries
|
110
|
-
Copyright (c) 2004 Thomas Sawyer
|
111
|
-
Ruby License
|
112
|
-
|
113
|
-
Carats, the Ruby Toolchest
|
114
|
-
Copyright (c) 2004 Thomas Sawyer
|
115
|
-
Ruby License
|
116
|
-
|
117
|
-
Cuts, Common Useful Tools
|
118
|
-
Copyright (c) 2004 Thomas Sawyer
|
119
|
-
Ruby License
|
120
|
-
|
121
|
-
But the individual pieces of code are licensed according to the original authors
|
122
|
-
desires, thus far being one of the following: Ruby, GPL, LGPL, MIT, or Artistic.
|
123
|
-
Copies of these licenses should accompany this document. Any piece of code
|
124
|
-
not specifically laballed shall fall under the Ruby License.
|
125
|
-
|
126
|
-
Please Note: I am working to make sure everything is labeled appropriately.
|
127
|
-
Please forgive me if I have not done so in a particular place --just let
|
128
|
-
me know and I will fix.
|
129
|
-
|
130
|
-
Also, I would like to ask all those authors, whose code is collected here,
|
131
|
-
to consider moving to a common license, assumedly the Ruby license,
|
132
|
-
so one license can serve for all.
|
133
|
-
|
134
|
-
=== Contributing Authors
|
135
|
-
|
136
|
-
This follwoing is a list code contributors.
|
137
|
-
(Please notify me, if anyone is missing.)
|
138
|
-
|
139
|
-
* Thomas Sawyer <transami#runbox.com>
|
140
|
-
* Paul Brannan <paul#atdesk.com>
|
141
|
-
* Renald Buter <buter#cwts.nl>
|
142
|
-
* Daniel J. Berger
|
143
|
-
* Hal Fulton <hal9000#hypermetrics.com>
|
144
|
-
* Gavin Sinclair <gavin#>
|
145
|
-
* Michael Granger <ged#FaerieMUD.org>
|
146
|
-
* Michael Neumann <mneumann#ntecs.de>
|
147
|
-
* Florian Frank
|
148
|
-
* Mohammad Khan <mkhan#lextranet.com>
|
149
|
-
* Derek Lewis <lewisd#f00f.net>
|
150
|
-
* Thomas-Ivo Heinen
|
151
|
-
* Jan Molic
|
152
|
-
* Shashank Date
|
153
|
-
* Austin Ziegler <halostatue#gmail.com>
|
154
|
-
|
155
|
-
|
156
|
-
== Pitch
|
157
|
-
|
158
|
-
ALL YOUR BASE ARE BELONG TO RUBY
|
159
|
-
|
160
|
-
|
161
|
-
----
|
162
|
-
|
163
|
-
|
164
|
-
[1] A lot of mental anguish went into finding good titles. Of course in the end,
|
165
|
-
only one theme could take the honor. Other good names that were considered were
|
166
|
-
Ruby Warchest w/ Atomix, Ruby Downs & Ace, Ruby Pillbox & Pills (a _why suggestion),
|
167
|
-
and one that almost won out, Trix & Atomx. Of course, let us not forget even older
|
168
|
-
"working" names that were used along the way: Tomslib, Succ, ABC and finally Raspberry.
|
169
|
-
|
170
|
-
|
171
|
-
# Copyright (c)2004 Thomas Sawyer
|
172
|
-
# --.com : The web page without a name.
|