H, ok, reading over all the discussion, how about using Class for
everything and kind of yield the new class around? Like so:
Class.extending(ParentClass).including(Enumerable,
Comparable).create({
initialize: function() { ... },
...
}).aliasing({
anAlias: aliased,
...
});
All of
After a few days working on a few hacks for 'enhancing' dates here and
there (like strftime, which days are in a month), I got tired and
extracted most of that into a library. I then ported a few utilities
from ActiveSupport::CoreExt, a few more, a few more, heck, I ported
the Inflector :P