X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FMeta%2FMethod%2FAugmented.pm;h=685a0120123c4a7b06651c9ed8da9ebc8c77129d;hb=85f8617c231a822a3ffe26fdcc90903437046d93;hp=8ce49017b7fd99727c4c5c66c1a0eea20604db71;hpb=2351f08e7d635babd893a7951af6ef553ef23cec;p=gitmo%2FMoose.git diff --git a/lib/Moose/Meta/Method/Augmented.pm b/lib/Moose/Meta/Method/Augmented.pm index 8ce4901..685a012 100644 --- a/lib/Moose/Meta/Method/Augmented.pm +++ b/lib/Moose/Meta/Method/Augmented.pm @@ -3,7 +3,7 @@ package Moose::Meta::Method::Augmented; use strict; use warnings; -our $VERSION = '0.59'; +our $VERSION = '0.78'; $VERSION = eval $VERSION; our $AUTHORITY = 'cpan:STEVAN'; @@ -25,8 +25,8 @@ sub new { || $meta->throw_error("You cannot augment '$name' because it has no super method", data => $name); my $_super_package = $super->package_name; - # BUT!,... if this is an overriden method .... - if ($super->isa('Moose::Meta::Method::Overriden')) { + # BUT!,... if this is an overridden method .... + if ($super->isa('Moose::Meta::Method::Overridden')) { # we need to be sure that we actually # find the next method, which is not # an 'override' method, the reason is @@ -66,25 +66,48 @@ Moose::Meta::Method::Augmented - A Moose Method metaclass for augmented methods =head1 DESCRIPTION -This class implements method augmenting logic for the L C keyword. +This class implements method augmentation logic for the L +C keyword. -This involves setting up C for the superclass body, and dispatching to -the superclass from the normal body. +The augmentation subroutine reference will be invoked explicitly using +the C keyword from the parent class's method definition. -The subclass definition (the augmentation itself) will be invoked explicitly -using the C keyword from the parent class's method definition. +=head1 INHERITANCE + +C is a subclass of L. =head1 METHODS =over 4 -=item B +=item B<< Moose::Meta::Method::Augmented->new(%options) >> + +This constructs a new object. It accepts the following options: + +=over 8 + +=item * class + +The metaclass object for the class in which the augmentation is being +declared. This option is required. + +=item * name + +The name of the method which we are augmenting. This method must exist +in one of the class's superclasses. This option is required. + +=item * method + +The subroutine reference which implements the augmentation. This +option is required. + +=back =back =head1 BUGS -All complex software has bugs lurking in it, and this module is no +All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT. @@ -94,7 +117,7 @@ Yuval Kogman Enothingmuch@cpan.orgE =head1 COPYRIGHT AND LICENSE -Copyright 2006-2008 by Infinity Interactive, Inc. +Copyright 2006-2009 by Infinity Interactive, Inc. L