Revision history for Perl extension Class::Meta.
0.30 2004-04-19T23:44:26
- Added semi-affordance accessor generation.
- Modified arguments passed to check code references. Now, in addition
to the new value to be assiged to the attribute, the object being
assigned to and the Class::Meta::Attribute object that describes the
attribute are passed. If the attribute is a class attribute, then the
second argument is a hash reference containing the existing value and
the name of the package.
- Thanks the the presence of the attribute object as an argument to
check code references, the name of the attribute is now included in
exceptions thrown for "once" and "required" attributes.
- Added "class" accessors to Constructor, Attribute, and Method, to
return the Class object for the class in which the constructor,
attribute, or method was defined.
- Added "error_handler" parameter to Class::Meta->new to be called for
fatal errors.
- Added default_error_handler() class method to Class::Meta to act
as the default error handler when no "error_handler" parameter is
passed to Class::Meta->new.
0.20 2004-01-28T22:03:09
- Added more documentation to the Class::Meta synopsis that highlights
the generated constructor and attribute accessors, as well as the
introspection API.
- Fixed documentation to reflect that the introspection class method
installed in a generated class is called my_class(), not class().
Thanks to Marcus Ramberg for the spot!
- Documented the "required" attribute of Class::Meta::Attribute.
- Added "once" attribute to Class::Meta::Attribute. This attribute
indicates whether an attribute value can be set to a defined value
only once.
- Renamed the call_get() and call_set() methods of
Class::Meta::Attribute to simply get() and set().
0.14 2004-01-21T01:00:18
- Private and protected constructors generated by Class::Meta are now
truly private and protected.
- Class::Meta no longer generates constructors when they're added with
create => 0.
0.13 2004-01-20T21:36:30
- For default accessors, object and class attribute accessors were
reversed.
- Private and protected attributes now are truly private and protected
if they're constructed by the accessor builder packages that come with
Class::Meta.
- The call_get() and call_set() methods of Class::Meta::Attribute and
the call() methods of Class::Meta::Constructor and
Class::Meta::::Method now use goto to execute the true methods. This
removes the call to call_get() or call_set() or call() from the call
stack trace, and makes it possible for the private and protected
checks to always work properly.
0.12 2004-01-17T20:25:58
- The class "name" attribute now defaults to be the same as the key
if it is not explicitly set.
- The constructor generated by Class::Meta no longer attempts to set
class attributes.
- A package name now must be passed to the Class::Meta::Constructor's
call() method as the first argument. This is allow for proper support
for inheritance.
- Accessor generators now create accessors for class attributes as
class attributes, instead of as object attributes.
0.11 2004-01-15T03:47:33
- Added link to rt.cpan.org for reporting bugs.
- Added distribution information to all modules.
- The package attribute now properly defaults to the package
calling Class::Meta->new.
- Class::Meta::Class->construtors now works.
0.10 2004-01-09T03:56:11
- Initial public release.