add definition_context info for inlined constructors and destructors
[gitmo/Moose.git] / lib / Moose / Meta / Method / Augmented.pm
index 67dcf38..fdb91b8 100644 (file)
@@ -3,12 +3,6 @@ package Moose::Meta::Method::Augmented;
 use strict;
 use warnings;
 
-use Carp 'confess';
-
-our $VERSION   = '0.56';
-$VERSION = eval $VERSION;
-our $AUTHORITY = 'cpan:STEVAN';
-
 use base 'Moose::Meta::Method';
 
 sub new {
@@ -24,11 +18,11 @@ sub new {
     my $super = $meta->find_next_method_by_name($name);
 
     (defined $super)
-        || confess "You cannot augment '$name' because it has no super method";
+        || $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
@@ -58,49 +52,55 @@ sub new {
 
 1;
 
+# ABSTRACT: A Moose Method metaclass for augmented methods
+
 __END__
 
 =pod
 
-=head1 NAME
-
-Moose::Meta::Method::Augmented - A Moose Method metaclass for augmented methods
-
 =head1 DESCRIPTION
 
-This class implements method augmenting logic for the L<Moose> C<augment> keyword.
+This class implements method augmentation logic for the L<Moose>
+C<augment> keyword.
+
+The augmentation subroutine reference will be invoked explicitly using
+the C<inner> keyword from the parent class's method definition.
 
-This involves setting up C<inner> 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<inner> keyword from the parent class's method definition.
+C<Moose::Meta::Method::Augmented> is a subclass of L<Moose::Meta::Method>.
 
 =head1 METHODS
 
 =over 4
 
-=item B<new>
+=item B<< Moose::Meta::Method::Augmented->new(%options) >>
 
-=back
+This constructs a new object. It accepts the following options:
 
-=head1 BUGS
+=over 8
+
+=item * class
 
-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.
+The metaclass object for the class in which the augmentation is being
+declared. This option is required.
 
-=head1 AUTHOR
+=item * name
 
-Yuval Kogman E<lt>nothingmuch@cpan.orgE<gt>
+The name of the method which we are augmenting. This method must exist
+in one of the class's superclasses. This option is required.
 
-=head1 COPYRIGHT AND LICENSE
+=item * method
 
-Copyright 2006-2008 by Infinity Interactive, Inc.
+The subroutine reference which implements the augmentation. This
+option is required.
+
+=back
 
-L<http://www.iinteractive.com>
+=back
+
+=head1 BUGS
 
-This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
+See L<Moose/BUGS> for details on reporting bugs.
 
 =cut