1 package Moose::Meta::Role::Application;
8 our $AUTHORITY = 'cpan:STEVAN';
10 sub new { (shift)->meta->new_object(@_) }
15 $self->check_role_exclusions(@_);
16 $self->check_required_methods(@_);
17 $self->check_required_attributes(@_);
19 $self->apply_attributes(@_);
20 $self->apply_methods(@_);
22 $self->apply_override_method_modifiers(@_);
24 $self->apply_before_method_modifiers(@_);
25 $self->apply_around_method_modifiers(@_);
26 $self->apply_after_method_modifiers(@_);
29 sub check_role_exclusions { die "Abstract Method" }
30 sub check_required_methods { die "Abstract Method" }
31 sub check_required_attributes { die "Abstract Method" }
33 sub apply_attributes { die "Abstract Method" }
34 sub apply_methods { die "Abstract Method" }
35 sub apply_override_method_modifiers { die "Abstract Method" }
36 sub apply_method_modifiers { die "Abstract Method" }
38 sub apply_before_method_modifiers { (shift)->apply_method_modifiers('before' => @_) }
39 sub apply_around_method_modifiers { (shift)->apply_method_modifiers('around' => @_) }
40 sub apply_after_method_modifiers { (shift)->apply_method_modifiers('after' => @_) }
50 Moose::Meta::Role::Application
54 This is the abstract base class for role applications.
66 =item B<check_role_exclusions>
68 =item B<check_required_methods>
70 =item B<check_required_attributes>
72 =item B<apply_attributes>
74 =item B<apply_methods>
76 =item B<apply_method_modifiers>
78 =item B<apply_before_method_modifiers>
80 =item B<apply_after_method_modifiers>
82 =item B<apply_around_method_modifiers>
84 =item B<apply_override_method_modifiers>
90 All complex software has bugs lurking in it, and this module is no
91 exception. If you find a bug please either email me, or add the bug
96 Stevan Little E<lt>stevan@iinteractive.comE<gt>
98 =head1 COPYRIGHT AND LICENSE
100 Copyright 2006-2008 by Infinity Interactive, Inc.
102 L<http://www.iinteractive.com>
104 This library is free software; you can redistribute it and/or modify
105 it under the same terms as Perl itself.