fixing sartaks bug
[gitmo/Moose.git] / lib / Moose / Meta / Role / Application.pm
CommitLineData
fb1e11d5 1package Moose::Meta::Role::Application;
2
3use strict;
4use warnings;
5use metaclass;
6
7our $VERSION = '0.01';
8our $AUTHORITY = 'cpan:STEVAN';
9
10# no need to get fancy here ...
1c9db35c 11sub new { bless {} => (shift) }
fb1e11d5 12
13sub apply {
1c9db35c 14 my $self = shift;
fb1e11d5 15
1c9db35c 16 $self->check_role_exclusions(@_);
17 $self->check_required_methods(@_);
fb1e11d5 18
1c9db35c 19 $self->apply_attributes(@_);
20 $self->apply_methods(@_);
fb1e11d5 21
1c9db35c 22 $self->apply_override_method_modifiers(@_);
fb1e11d5 23
1c9db35c 24 $self->apply_before_method_modifiers(@_);
25 $self->apply_around_method_modifiers(@_);
26 $self->apply_after_method_modifiers(@_);
fb1e11d5 27}
28
29sub check_role_exclusions { die "Abstract Method" }
30sub check_required_methods { die "Abstract Method" }
31sub apply_attributes { die "Abstract Method" }
32sub apply_methods { die "Abstract Method" }
33sub apply_override_method_modifiers { die "Abstract Method" }
34sub apply_method_modifiers { die "Abstract Method" }
35sub apply_before_method_modifiers { die "Abstract Method" }
36sub apply_around_method_modifiers { die "Abstract Method" }
37sub apply_after_method_modifiers { die "Abstract Method" }
38
391;
40
41__END__
42
43=pod
44
45=head1 NAME
46
47Moose::Meta::Role::Application
48
49=head1 DESCRIPTION
50
51This is the abstract base class for role applications.
52
53=head2 METHODS
54
55=over 4
56
57=item B<new>
58
59=item B<meta>
60
61=item B<apply>
62
63=item B<check_required_methods>
64
65=item B<check_role_exclusions>
66
67=item B<apply_attributes>
68
69=item B<apply_methods>
70
71=item B<apply_method_modifiers>
72
73=item B<apply_before_method_modifiers>
74
75=item B<apply_after_method_modifiers>
76
77=item B<apply_around_method_modifiers>
78
79=item B<apply_override_method_modifiers>
80
81=back
82
83=head1 BUGS
84
85All complex software has bugs lurking in it, and this module is no
86exception. If you find a bug please either email me, or add the bug
87to cpan-RT.
88
89=head1 AUTHOR
90
91Stevan Little E<lt>stevan@iinteractive.comE<gt>
92
93=head1 COPYRIGHT AND LICENSE
94
95Copyright 2006, 2007 by Infinity Interactive, Inc.
96
97L<http://www.iinteractive.com>
98
99This library is free software; you can redistribute it and/or modify
100it under the same terms as Perl itself.
101
102=cut
103