Commit | Line | Data |
3fea05b9 |
1 | package MooseX::MethodAttributes::Inheritable; |
2 | our $VERSION = '0.18'; |
3 | |
4 | # ABSTRACT: inheritable code attribute introspection |
5 | |
6 | |
7 | # Ensure trait is registered |
8 | use MooseX::MethodAttributes::Role::Meta::Role (); |
9 | |
10 | use Moose; |
11 | |
12 | use namespace::clean -except => 'meta'; |
13 | |
14 | with 'MooseX::MethodAttributes::Role::AttrContainer::Inheritable'; |
15 | |
16 | __PACKAGE__->meta->make_immutable; |
17 | |
18 | |
19 | __END__ |
20 | |
21 | =pod |
22 | |
23 | =head1 NAME |
24 | |
25 | MooseX::MethodAttributes::Inheritable - inheritable code attribute introspection |
26 | |
27 | =head1 VERSION |
28 | |
29 | version 0.18 |
30 | |
31 | =head1 SYNOPSIS |
32 | |
33 | package BaseClass; |
34 | use base qw/MooseX::MethodAttributes::Inheritable/; |
35 | |
36 | package SubClass; |
37 | use base qw/BaseClass/; |
38 | |
39 | sub foo : Bar {} |
40 | |
41 | my $attrs = SubClass->meta->get_method('foo')->attributes; # ["Bar"] |
42 | |
43 | =head1 DESCRIPTION |
44 | |
45 | This module does the same as C<MooseX::MethodAttributes>, except that classes |
46 | inheriting from other classes using it don't need to do anything special to get |
47 | their code attributes captured. |
48 | |
49 | |
50 | |
51 | =head1 AUTHORS |
52 | |
53 | Florian Ragwitz <rafl@debian.org> |
54 | Tomas Doran <bobtfish@bobtfish.net> |
55 | |
56 | =head1 COPYRIGHT AND LICENSE |
57 | |
58 | This software is copyright (c) 2009 by Florian Ragwitz. |
59 | |
60 | This is free software; you can redistribute it and/or modify it under |
61 | the same terms as perl itself. |
62 | |
63 | =cut |
64 | |
65 | |