Happy New Year! Ruby Facets kicks off the year with a 2.9.x release.
This release adds a number of new methods, a few general improvements
and bug fixes, a couple of deprecations and finally settles the
project down to a two-part core/standard project organization.
The main purpose of this release is a fix for Module#redefine_method,
so it will not conflict with ActiveSupport. Beyond that a handful of new
methods have been added. This release also marks the start of using
a src/ directory to generate the lib/ directory.
This release is fairly extensive as it was originally intended to be …
After further consideration it was decided to reserve v3.0 for the
polish of real world feedback and more progressive changes. The primary
focus of this release has been the completion of migrating Facets into a true
extensions library. With this release almost all add-on classes and mixins
have now been spun-off to other projects. Only the most general purposes
add-on classes and mixins remain.
A new TOUR library division has also been added to complement CORE and MORE.
This division houses purely optional extensions. The new division serves
a couple of useful purposes. In particular, it helps separates the standard
library extensions from optional core extension in the RDocs and thus makes
the perfect place to vet new extension ideas.
One important change that will effect anyone using Facets along side
ActiveSupport is that Facets no longer tries to conditionally avoid
method overlaps with ActiveSupport. This is fine for the upcoming
ActiveSupport 3.0 library which extends core classes directly instead of
using mixins. One need only require 'facets' in the Rails config/preinitializer.rb
file and ActiveSupport will take precedence over Facets. For older versions
of ActiveSupport, the best approach is to cherry pick from Facets just the
extensions you want, thus avoiding any conflicts. There are actually only a
dozen or so overlaps and all are intended to compatible, but it doesn't hurt
to be sure.
Lastly, it is worth mentioning that this release has been more thuroughly
tested than any version of Facets to date. Thanks to RVM this release runs
green on Ruby 1.8.6, 1.8.7 and 1.9.2.