Add definition context to every accessor defined internally
[gitmo/Moose.git] / lib / Moose / Meta / Role / Application.pm
index 7111601..d9d4c2f 100644 (file)
@@ -4,32 +4,22 @@ use strict;
 use warnings;
 use metaclass;
 
-our $VERSION   = '0.72';
-$VERSION = eval $VERSION;
-our $AUTHORITY = 'cpan:STEVAN';
-
 __PACKAGE__->meta->add_attribute('method_exclusions' => (
-    init_arg => 'excludes',
+    init_arg => '-excludes',
     reader   => 'get_method_exclusions',
-    default  => sub { [] }
+    default  => sub { [] },
+    Class::MOP::_definition_context(),
 ));
 
 __PACKAGE__->meta->add_attribute('method_aliases' => (
-    init_arg => 'alias',
+    init_arg => '-alias',
     reader   => 'get_method_aliases',
-    default  => sub { {} }
+    default  => sub { {} },
+    Class::MOP::_definition_context(),
 ));
 
-sub new { 
+sub new {
     my ($class, %params) = @_;
-    
-    if (exists $params{excludes}) {
-        # I wish we had coercion here :)
-        $params{excludes} = (ref $params{excludes} eq 'ARRAY' 
-                                ? $params{excludes} 
-                                : [ $params{excludes} ]);
-    }
-    
     $class->_new(\%params);
 }
 
@@ -58,12 +48,12 @@ sub apply {
     $self->check_role_exclusions(@_);
     $self->check_required_methods(@_);
     $self->check_required_attributes(@_);
-    
+
     $self->apply_attributes(@_);
-    $self->apply_methods(@_);    
-    
+    $self->apply_methods(@_);
+
     $self->apply_override_method_modifiers(@_);
-    
+
     $self->apply_before_method_modifiers(@_);
     $self->apply_around_method_modifiers(@_);
     $self->apply_after_method_modifiers(@_);
@@ -84,18 +74,19 @@ sub apply_after_method_modifiers    { (shift)->apply_method_modifiers('after'  =
 
 1;
 
+# ABSTRACT: A base class for role application
+
 __END__
 
 =pod
 
-=head1 NAME
-
-Moose::Meta::Role::Application - A base class for role application
-
 =head1 DESCRIPTION
 
 This is the abstract base class for role applications.
 
+The API for this class and its subclasses still needs some
+consideration, and is intentionally not yet documented.
+
 =head2 METHODS
 
 =over 4
@@ -140,22 +131,7 @@ This is the abstract base class for role applications.
 
 =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.
-
-=head1 AUTHOR
-
-Stevan Little E<lt>stevan@iinteractive.comE<gt>
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright 2006-2009 by Infinity Interactive, Inc.
-
-L<http://www.iinteractive.com>
-
-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