Release commit for 0.023
[catagits/Web-Simple.git] / lib / Web / Simple / Role.pm
CommitLineData
01183e70 1package Web::Simple::Role;
2
3=head1 NAME
4
5Web::Simple::Role
6
7=head1 SYNOPSIS
8
9 package MyApp;
10 use Web::Simple;
11 with MyApp::Role;
12
13 sub dispatch_request { ... }
14
15and in the role:
16
17 package MyApp::Role;
18 use Web::Simple::Role;
19
20 around dispatch_request => sub {
21 my ($orig, $self) = @_;
22 return (
23 $self->$orig,
24 sub (GET + /baz) { ... }
25 );
26 };
27
28Now C<MyApp> can also dispatch C</baz>
29
30=cut
31
32use strictures 1;
33use 5.008;
34use warnings::illegalproto ();
35use Moo::Role ();
36
37our $VERSION = '0.020';
38
39sub import {
40 my ($class, $app_package) = @_;
41 $app_package ||= caller;
42 eval "package $app_package; use Web::Dispatch::Wrapper; use Moo::Role; 1"
43 or die "Failed to setup app package: $@";
44 strictures->import;
45 warnings::illegalproto->unimport;
46}
47
48=head1 AUTHOR
49
50osfameron@cpan.org
51
52=cut
53
541;