Begin writing tests for Mouse::Meta::Role
[gitmo/Mouse.git] / lib / Mouse / Role.pm
CommitLineData
f9e68395 1#!/usr/bin/env perl
2package Mouse::Role;
3use strict;
4use warnings;
5
6use Sub::Exporter;
8da998d9 7use Carp 'confess';
4377514b 8use Scalar::Util;
f9e68395 9
10do {
11 my $CALLER;
12
13 my %exports = (
8da998d9 14 extends => sub {
15 return sub {
964eaf79 16 confess "Role does not currently support 'extends'";
8da998d9 17 }
18 },
72381201 19 before => sub {
20 return sub { }
21 },
22 after => sub {
23 return sub { }
24 },
25 around => sub {
26 return sub { }
27 },
26482d3f 28 has => sub {
29 return sub { }
30 },
00c0e9c2 31 with => sub {
32 return sub { }
33 },
eb812bde 34 requires => sub {
35 return sub { }
36 },
37 excludes => sub {
38 return sub { }
39 },
4377514b 40 blessed => sub {
41 return \&Scalar::Util::blessed;
42 },
43 confess => sub {
44 return \&Carp::confess;
45 },
f9e68395 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
661;
67