A N N O U N C I N G
Facets 1.4
ALL YOUR BASE ARE BELONG TO RUBY!
= ABSTRACT
Facets is a large collection of core extension methods and module
additions for the Ruby programming language. The core extensions are
unique by virtue of thier atomicity. Methods are stored in their own
files, allowing for highly granular control of requirements. The
modules include a variety of useful classes, mixins and
microframeworks, from the Functor to a full-blown SI units system.
= LATEST NEWS
The 1.4 series of Facets is now official as of v1.4.5.
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.)
Here are the other major highlights of 1.4 series:
-
Added nilclass/status which allows a message to be passed through a
failure chain. -
Added enumerable/cascade, a cascade a list of actions on each element
of an enumerable. Thanks to Sean O’Halpin for this. -
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. -
Fixed bug in BasicObject#self.
-
Addedd Cookie, HTTP and HTTPAccess of Hiroshi N.'s
httpaccess2.rb library. Cookie has been moved to Web namespace. -
OpenObject’s get and set methods have been changed to
fetch and store to correspond to the Hash methods. -
Added OpenCascade, which is like OpenObject but chains access.
-
Included MenTaLguY’s lazy.rb which include’s Future and Promise
classes. Cool lib! -
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. -
Improved Hash#traverse (it now does all traversing before yielding).
-
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?) -
Console::Application is deprecated as an alias for Console::Command.
-
Console::Command now supports run-on flags (eg. -xvzf).
-
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. -
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 }. -
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.
I see the gleen in your eye Enjoy!
= RELATED LINKS
Generated by
___
| _ \___ __ _ _ __
| ) -_) _` | '_ \
|_|_\___\__,_| .__)
|_|
The Ruby Project Assistant
Do you Ruby? (http://www.ruby-lang.org)