Commit | Line | Data |
f9e68395 |
1 | #!/usr/bin/env perl |
2 | package Mouse::Role; |
3 | use strict; |
4 | use warnings; |
5 | |
6 | use Sub::Exporter; |
8da998d9 |
7 | use Carp 'confess'; |
f9e68395 |
8 | |
9 | do { |
10 | my $CALLER; |
11 | |
12 | my %exports = ( |
8da998d9 |
13 | extends => sub { |
14 | return sub { |
964eaf79 |
15 | confess "Role does not currently support 'extends'"; |
8da998d9 |
16 | } |
17 | }, |
72381201 |
18 | before => sub { |
19 | return sub { } |
20 | }, |
21 | after => sub { |
22 | return sub { } |
23 | }, |
24 | around => sub { |
25 | return sub { } |
26 | }, |
26482d3f |
27 | has => sub { |
28 | return sub { } |
29 | }, |
00c0e9c2 |
30 | with => sub { |
31 | return sub { } |
32 | }, |
eb812bde |
33 | requires => sub { |
34 | return sub { } |
35 | }, |
36 | excludes => sub { |
37 | return sub { } |
38 | }, |
f9e68395 |
39 | ); |
40 | |
41 | my $exporter = Sub::Exporter::build_exporter({ |
42 | exports => \%exports, |
43 | groups => { default => [':all'] }, |
44 | }); |
45 | |
46 | sub import { |
47 | $CALLER = caller; |
48 | |
49 | strict->import; |
50 | warnings->import; |
51 | |
52 | goto $exporter; |
53 | } |
54 | |
55 | sub unimport { |
56 | } |
57 | }; |
58 | |
59 | 1; |
60 | |