Revision history for Perl extension Class::Framework.
0.05 Thu Jun 27 16:53:41 EST 2002
- Fixed a problem in create_contained_objects() in which a 'foo_class'
parameter wouldn't get properly passsed to all the contained objects
that needed to see it.
- Added a documentation section "Scenario" explaining the main benefits
of using the module.
- Improved the output of show_containers(), notably the names of
delayed classes
- Merge $self->{container}{delayed} into $self->{container}{contained},
with a 'delayed' property. This allows simplification of the rest of
the code in several places, notably the show_containers() routine.
- Simplify show_containers() a little, and make it more accurate on
contained objects' classes
- Fixed a doc error in the first example
- Added a bit in the first doc paragraph, saying that any of the
Mason objects can be replaced by a subclass.
- Added an internal comment about the strategy inside the
allowed_params method.
- Simplified the allowed_params method internally.
- Got rid of special-casing to check for circular containment
relationships. This seemed to have been added for HTML::Mason, but
all Mason tests (as well as all Class::Container tests) still pass
when I remove it.
0.04 Wed Jun 26 19:15:26 EST 2002
- Add the show_containers() method, which should be a godsend during
debugging.
- Convert contained_objects() string specs to hashes upon input, rather
than checking them every time they're used later in the code.
- Change " if (%args)" to " if (keys %args)", which is more officially
correct (though both would work in this particular case).
0.03 Fri Jun 21 17:44:37 EST 2002
- Subclasses can now override contained_objects settings of their
superclass (previously it was backwards).
- Let call_method() accept arbitrary additional parameters, don't
force them into a hash.
- Added contained_class() method.
- Use new contained_class() method inside call_method().
- delayed_object_class() shouldn't be settable, it'll mess up the
parameters accepted.
- The 'container' parameter shouldn't be shared among containers the way
other parameters are.
- Made create_delayed_object() a little more efficient by not shifting
things off @_ - just pass @_ to the next new() method.
- Don't check for $contained_class->can('allowed_params'), check for
$contained_class->isa(__PACKAGE__).
- Clarified a few error messages.
- Clarified documentation and removed a couple of doc errors.
0.02 Wed Jun 19 10:52:48 AEST 2002
- Made Scalar::Util a little more optional - the container() method
is just a no-op if it's not around.
- Use Params::Validate 0.18 new validate_with() method to set a
meaningful subroutine name in error messages
- Added the delayed_object_class() method
- Documented how delayed objects are declared and created [Dave
Rolsky]
- Added some tests for the above stuff
- Various documentation spruce-ups
0.01_05 Fri May 10 15:29:46 AEST 2002
- If a container has two contained classes that both need to see a
parameter of the same name, it will now be passed to both. Previously
it was passed to one of them, randomly.
- Added 2 tests for the above.
- Added 4 tests to make sure class names can be properly overridden.
- Got rid of _make_contained_object() method.
- Changed the (undocumented) get_contained_objects() method to
get_contained_object_spec().
- Added the container() method, to get a reference to the thingy that
created you. Uses weak references if Scalar::Util is available.
- Consolidated all Container metadata in $self->{container} (subject to
change to {_container} or something).
- Added call_method() method.
0.01 Wed Mar 20 19:33:40 2002
- original version, based on HTML::Mason::Container