From: TRANS Date: 2005-05-22T19:25:32+09:00 Subject: [ANN] Ruby Facets 0.7.2 A N N O U N C I N G Ruby Facets, v0.7.2 Fantastic Atomic Core Extensions ABSTRACT: Ruby Facets is a cornicopia of extensions and additions for the Ruby programming language. Facets' extensions are unique by virtue of thier atomicity. Methods are stored in their own files, allowing for extremely granular control of requirements. Facets also now includes a wide variety of add-on classes, modules and mixins. Ruby Facets is a subproject of Ruby Calibre. For More Information http://calibre.rubyforge.org ALL YOUR BASE ARE BELONG TO RUBY! ------------------------------------------------------------------------ (from ANN) Hi-- Exciting news! Ruby Facets 0.7 series is officially out. And this version goes ballistic. Why? Well, what used to be the Carats library has now been merged into Facets! So not only does Facets have the atomic methods, it now has a plethora of classes, modules and mixins to draw upon. There are too many class/modules/mixins taken from Carats to go into here, but here's a list of the general changes for the current version 0.7.2: * The Carats library has been ported into the Facet lib. These files sit in the main lib directory 'facet/' above the "atomic" methods which are all in subdirectories 'facet/{module|class}/'. This layout works well, and allows for everything to be provided from the same location. * All methods with names containing non-alphanumeric characters are now CGI-escaped. This removes some incompatibilites with some file systems. For instance Object#in? is now stored in object/in%3F.rb. * So one doesn't have to fuss with these escape chars, a new method has been added, kernel/require_facet, which automatically does the substitutions. * An expiremental file, facet.rb, had been added that allows automatic requiring of atomic methods. It uses object/method_missing to require the methods on demand. * A number of "molecular" files have been added. These require multiple related "atoms" at once for greater convenience. * A few methods that were grouped together in the same file have been separated into their own files. (This is more feasible thanks to the additional "require collections.") * The method array/put has been changed to array/top (it is an alias for #unshift). * Methods #matchdata/post_match_from and #matchdata/pre_match_from have been deprecated in favor of some more generalized methods that serves the same purposes, matchdata/matchtree and matchdata/matchset. * Added module/include_as which allows one to include a module but within a specified namespace. * Added array/each_permutation, which applys a block to each permutation (in contrast to each_combination). As for the rest. Well, this thing is HUGE! As I said, there's no way I can go into it all of it here. So dig in and check it out. Documentation is a bit improved, too btw, albeit there's still plenty of work to be done in this regard. If you have any extension methods that you use and think may be of benefit to others, please submit them. And, of course, please let me know if you come across any bugs. You can contact me either privately or via ruby-talk, or via the Ruby Muse mailing list, suby-ruby at berlios.de (membership required). http://rubyforge.org/mailman/listinfo/calibre-cuts Thanks, T. ------------------------------------------------------------------------ Generated by Reap, a dedicated Ruby Packaging Assistant. Do you Ruby? (http://www.ruby-lang.org)