X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FMeta%2FMethod%2FAugmented.pm;h=d09e7805348bf7f76bc83783db0bfaec8531e4fc;hb=ae7820b1b884344a7ee90d94b484ca46459eb7b1;hp=7d86a770399acc31cb6565ac86cf4a7d3f5f959d;hpb=3e504337fbb00a184ddca0bb0a1baeacd3e6e7e2;p=gitmo%2FMoose.git diff --git a/lib/Moose/Meta/Method/Augmented.pm b/lib/Moose/Meta/Method/Augmented.pm index 7d86a77..d09e780 100644 --- a/lib/Moose/Meta/Method/Augmented.pm +++ b/lib/Moose/Meta/Method/Augmented.pm @@ -3,9 +3,8 @@ package Moose::Meta::Method::Augmented; use strict; use warnings; -use Carp 'confess'; - -our $VERSION = '0.50'; +our $VERSION = '1.06'; +$VERSION = eval $VERSION; our $AUTHORITY = 'cpan:STEVAN'; use base 'Moose::Meta::Method'; @@ -26,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 @@ -67,27 +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. + +The augmentation subroutine reference will be invoked explicitly using +the C keyword from the parent class's method definition. -This involves setting up C for the superclass body, and dispatching to -the superclass from the normal body. +=head1 INHERITANCE -The subclass definition (the augmentation itself) will be invoked explicitly -using the C keyword from the parent class's method definition. +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 -exception. If you find a bug please either email me, or add the bug -to cpan-RT. +See L for details on reporting bugs. =head1 AUTHOR @@ -95,7 +115,7 @@ Yuval Kogman Enothingmuch@cpan.orgE =head1 COPYRIGHT AND LICENSE -Copyright 2006-2008 by Infinity Interactive, Inc. +Copyright 2006-2010 by Infinity Interactive, Inc. L