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.

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! 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.
