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