projects
/
gitmo/Mouse.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
blame
|
history
|
raw
|
HEAD
Export and test blessed and confess
[gitmo/Mouse.git]
/
lib
/
Mouse
/
Role.pm
1
#!/usr/bin/env perl
2
package Mouse::Role;
3
use strict;
4
use warnings;
5
6
use Sub::Exporter;
7
use Carp 'confess';
8
use Scalar::Util;
9
10
do {
11
my $CALLER;
12
13
my %exports = (
14
extends => sub {
15
return sub {
16
confess "Role does not currently support 'extends'";
17
}
18
},
19
before => sub {
20
return sub { }
21
},
22
after => sub {
23
return sub { }
24
},
25
around => sub {
26
return sub { }
27
},
28
has => sub {
29
return sub { }
30
},
31
with => sub {
32
return sub { }
33
},
34
requires => sub {
35
return sub { }
36
},
37
excludes => sub {
38
return sub { }
39
},
40
blessed => sub {
41
return \&Scalar::Util::blessed;
42
},
43
confess => sub {
44
return \&Carp::confess;
45
},
46
);
47
48
my $exporter = Sub::Exporter::build_exporter({
49
exports => \%exports,
50
groups => { default => [':all'] },
51
});
52
53
sub import {
54
$CALLER = caller;
55
56
strict->import;
57
warnings->import;
58
59
goto $exporter;
60
}
61
62
sub unimport {
63
}
64
};
65
66
1;
67