Hello,
I'd like to announce about the JooseX.Attribute release.
This distribution implements additional features for attributes, like laziness, triggers etc.
Interesting part of this release is the combined accessors feature (a la Moose). It allows you to have a single accessor with the same name as the attribute itself.
The distinction between accessors types is taken from calling context - call without arguments is treated like getter call, with arguments - setter:
var attrValue = instance.attr() // getter
instance.attr(newValue) // setter
Advanced features for attributes in Joose 3 are provided outside of the core distribution, which makes them optional (read - reduce the codebase) and pluggable.
Anyone can create and use its own attribute extensions.
Currently not whole functionality of Joose 2 is repeated, missing features are:
- delegation (as it somewhat relies on the type system which is also absent at the moment)
- predicates/clearers
Documentation:
http://openjsan.org/go/?l=JooseX.Attribute
Recommended installation procedure:
http://master.openjsan.org/src/s/sa/samuraijack/JooseX.Attribute-0.01/INSTALL
-or-
Direct download link:
http://master.openjsan.org/dist/s/sa/samuraijack/JooseX.Attribute-0.01.tar.gz
JooseX.Attributes requires Joose 3.006 - don't forget to update it or use jsan shell for installation.
Regards, Nickolay