File Coverage

blib/lib/Map/Metro/Exception.pm
Criterion Covered Total %
statement 22 28 78.5
branch n/a
condition n/a
subroutine 9 11 81.8
pod 0 2 0.0
total 31 41 75.6


line stmt bran cond sub pod time code
1 1     1   12 use 5.16.0;
  1         4  
2 1     1   6 use strict;
  1         1  
  1         28  
3 1     1   7 use warnings;
  1         2  
  1         63  
4              
5             our $VERSION = '0.2300'; # VERSION
6              
7             # Insired by Throwable::X
8             package Map::Metro::Exception {
9              
10 1     1   5 use Moose::Role;
  1         3  
  1         10  
11 1     1   6194 use Throwable::X::Types;
  1         4835  
  1         41  
12              
13 1     1   6 use namespace::clean -except => 'meta';
  1         3  
  1         13  
14              
15 1         13 use Sub::Exporter -setup => {
16             exports => { Payload => \'__payload' },
17 1     1   329 };
  1         2  
18              
19             sub __payload {
20             sub {
21 2     2   19 'Role::HasPayload::Meta::Attribute::Payload';
22             }
23 2     2   403 }
24              
25             sub out {
26 0     0 0   my $self = shift;
27 0           say $self->message;
28 0           say '';
29 0           say $self->stack_trace;
30 0           return $self;
31             }
32             sub fatal {
33 0     0 0   die;
34             }
35             with(
36             'Throwable',
37             'StackTrace::Auto',
38             'Role::HasPayload::Merged',
39             'Role::HasMessage::Errf' => {
40             default => sub { $_[0]->info },
41             lazy => 1,
42             }
43             );
44             }
45              
46             1;
47              
48             __END__
49              
50             =pod
51              
52             =encoding UTF-8
53              
54             =head1 NAME
55              
56             Map::Metro::Exception
57              
58             =head1 VERSION
59              
60             Version 0.2300, released 2016-01-14.
61              
62             =head1 SOURCE
63              
64             L<https://github.com/Csson/p5-Map-Metro>
65              
66             =head1 HOMEPAGE
67              
68             L<https://metacpan.org/release/Map-Metro>
69              
70             =head1 AUTHOR
71              
72             Erik Carlsson <info@code301.com>
73              
74             =head1 COPYRIGHT AND LICENSE
75              
76             This software is copyright (c) 2016 by Erik Carlsson.
77              
78             This is free software; you can redistribute it and/or modify it under
79             the same terms as the Perl 5 programming language system itself.
80              
81             =cut