File: | lib/Yukki/Web/Controller.pm |
Coverage: | 100.0% |
line | stmt | bran | cond | sub | pod | time | code |
---|---|---|---|---|---|---|---|
1 | package Yukki::Web::Controller; | ||||||
2 | |||||||
3 | 2 2 | 960 7 | use v5.24; | ||||
4 | 2 2 2 | 9 4 13 | use utf8; | ||||
5 | 2 2 2 | 38 4 11 | use Moo::Role; | ||||
6 | |||||||
7 | 2 2 2 | 660 5 16 | use Type::Utils; | ||||
8 | |||||||
9 | 2 2 2 | 3824 4 11 | use namespace::clean; | ||||
10 | |||||||
11 | # ABSTRACT: Base class for Yukki::Web controllers | ||||||
12 | |||||||
13 - 23 | =head1 DESCRIPTION All L<Yukki::Web> controllers extend from here. =head1 ATTRIBUTES =head2 app This is the L<Yukki::Web> application. =cut | ||||||
24 | |||||||
25 | has app => ( | ||||||
26 | is => 'ro', | ||||||
27 | isa => class_type('Yukki::Web'), | ||||||
28 | required => 1, | ||||||
29 | weak_ref => 1, | ||||||
30 | handles => 'Yukki::Role::App', | ||||||
31 | ); | ||||||
32 | |||||||
33 - 43 | =head1 REQUIRED METHODS =head2 fire $controller->fire($context); Controllers must implement this method. This method will be given a L<Yukki::Web::Context> to work with. It is expected to fill in the L<Yukki::Web::Response> attached to that context or throw an exception. =cut | ||||||
44 | |||||||
45 | requires 'fire'; | ||||||
46 | |||||||
47 | 1; |