File Coverage

blib/lib/Yukki/Web/Controller.pm
Criterion Covered Total %
statement 14 14 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod n/a
total 19 19 100.0


line stmt bran cond sub pod time code
1             package Yukki::Web::Controller;
2             $Yukki::Web::Controller::VERSION = '0.991_002'; # TRIAL
3              
4 1     1   351 $Yukki::Web::Controller::VERSION = '0.991002';use v5.24;
  1         3  
5 1     1   4 use utf8;
  1         2  
  1         7  
6 1     1   19 use Moo::Role;
  1         2  
  1         4  
7              
8 1     1   277 use Type::Utils;
  1         2  
  1         7  
9              
10 1     1   1223 use namespace::clean;
  1         2  
  1         6  
11              
12             # ABSTRACT: Base class for Yukki::Web controllers
13              
14              
15             has app => (
16             is => 'ro',
17             isa => class_type('Yukki::Web'),
18             required => 1,
19             weak_ref => 1,
20             handles => 'Yukki::Role::App',
21             );
22              
23              
24             requires 'fire';
25              
26             1;
27              
28             __END__
29              
30             =pod
31              
32             =encoding UTF-8
33              
34             =head1 NAME
35              
36             Yukki::Web::Controller - Base class for Yukki::Web controllers
37              
38             =head1 VERSION
39              
40             version 0.991_002
41              
42             =head1 DESCRIPTION
43              
44             All L<Yukki::Web> controllers extend from here.
45              
46             =head1 ATTRIBUTES
47              
48             =head2 app
49              
50             This is the L<Yukki::Web> application.
51              
52             =head1 REQUIRED METHODS
53              
54             =head2 fire
55              
56             $controller->fire($context);
57              
58             Controllers must implement this method. This method will be given a
59             L<Yukki::Web::Context> to work with. It is expected to fill in the
60             L<Yukki::Web::Response> attached to that context or throw an exception.
61              
62             =head1 AUTHOR
63              
64             Andrew Sterling Hanenkamp <hanenkamp@cpan.org>
65              
66             =head1 COPYRIGHT AND LICENSE
67              
68             This software is copyright (c) 2017 by Qubling Software LLC.
69              
70             This is free software; you can redistribute it and/or modify it under
71             the same terms as the Perl 5 programming language system itself.
72              
73             =cut