Revision history for Goose
0.016 23/Dec/2011
Added 'requires' to Goose::Role, which is just a clone of 'offers'. Mainly for compatibility with the 1,000 choices of OOP systems out there.
Removed :Utils attribute and moved Goose::Utils to its own module.
0.015 21/Dec/2011
Pretty nasty big in Goose where the "with" method doesn't get the correct package name.. yeah, like I said. Bad. This is the fix for it.
0.014 21/Dec/2011
Added Goose::Role. Currently it's very minimal, but it works. A Goose::Role can "offer" a subroutine to any classes using it (thanks to Goose's new 'with' method).
I'll try to add some more info in the documentation.
0.013 14/Dec/2011
:Antlers is now enabled by default. It wasn't hurting anything and it didn't slow processing down any, so why not? You can turn it off with the attribute :HideAntlers
constructor and destructor methods added. They look nicer than import and DESTROY.
0.012 13/Dec/2011
The new 'tag' method can, well, tag a subroutine with a message of your choosing. This is handy in debugging situations. If you use it on multiple subroutines then the sub name is ouputted in
brackets at the end of the message string so you know which one is being called. Maybe a timestamp would be handy, too?
Modified pod very lightly.
0.011 07/Dec/2011
Adding Antlers to a class, then calling $Class->new(name => 'World') for example will create a read-writable accessor called 'name' with a default value of 'World'
0.010 06/Dec/2011
To limit the number of import attributes I've moved :Try into :Utils. So if you want to use Try::Tiny, use import :Utils, which also includes some
other handy stuff. Check out the documentation if you'd like more information.
Honestly, I hate having underscores in my method names. drop_sub has been replaced by 'withdraw'. I figured simply 'drop' might be severe namespace polution in some instances.
Added 'speak' method to Goose/Utils. I really need to add some documentation in this module..
0.009 06/Dec/2011
Testing is fixed. Huzzah! Added Try::Tiny to Makefile.PL as Goose can now import 'try' and 'catch' with the import attribute ':Try'.
0.008 02/Dec/2011
Sorry. Massive problems with testing...
0.007 02/Dec/2011
Small change to the Makefile.PL to use the newest version of Test::Lite. These was a problem with the previous version.
0.006 30/Nov/2011
Started new module within Goose called Goose::Utils. Its methods can be accessed by importing ':Utils' within Goose.
Usage information can be found in the Goose documentation.
0.005 30/Nov/2011
A few people decided :Class was becoming redundant with the new :Antlers import (myself included). Because of this, :Class has been replaced by :Antlers and
'accessor' will be replaced by 'has'. This means less typing, because if you're using :Class there's a good chance you may want 'has', too. But to use them both
you'd need to use qw/:Class :Antlers/, now you can just ':Antlers'. Wee!
0.004 29/Nov/2011
$Class->sub_run can now run multiple subroutines with arguments. Please see documentation for more information.
0.003 29/Nov/2011
Added import feature :Antlers. Use this to export the 'has' method. Currently only supports 'is' and 'default'.
use Goose qw/:Antlers/;
has => x ( is => 'ro', default => 7 );
0.002 24/Nov/2011
Very minor change, but important if you use exports. The exported subroutine was coming from Goose.pm instead of your current module.
This has now been fixed.
0.001 23/Nov/2011
First version, released on an unsuspecting world.