X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FMeta%2FMethod%2FAugmented.pm;h=cce62e6b59432c1181a9d6cc523efcc247ca01a1;hb=cb5f4275cc545d6566664cbbac66e6ec5dcbca36;hp=44b2c081c8c51430a3a6b93dd1a0c928eada3993;hpb=7a388c12358603c8a3bb6769915bc0e3e7da4f03;p=gitmo%2FMoose.git diff --git a/lib/Moose/Meta/Method/Augmented.pm b/lib/Moose/Meta/Method/Augmented.pm index 44b2c08..cce62e6 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.61'; +our $VERSION = '0.75'; $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,19 +66,42 @@ 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 @@ -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