File Coverage

blib/lib/Zonemaster/Engine/Exception.pm
Criterion Covered Total %
statement 19 19 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod 1 1 100.0
total 27 27 100.0


line stmt bran cond sub pod time code
1             package Zonemaster::Engine::Exception;
2              
3 3     3   34505 use version; our $VERSION = version->declare("v1.0.3");
  3         8  
  3         26  
4              
5 3     3   369 use 5.014002;
  3         13  
6 3     3   18 use warnings;
  3         6  
  3         107  
7              
8 3     3   17 use Moose;
  3         7  
  3         27  
9              
10 3     3   24259 use overload '""' => \&string;
  3         6  
  3         33  
11              
12             has 'message' => ( is => 'ro', isa => 'Str', required => 1 );
13              
14             sub string {
15 18     18 1 88 my ( $self ) = @_;
16              
17 18         475 return $self->message;
18             }
19              
20 3     3   443 no Moose;
  3         9  
  3         16  
21             __PACKAGE__->meta->make_immutable;
22              
23             1;
24              
25             =head1 NAME
26              
27             Zonemaster::Engine::Exception -- base class for Zonemaster::Engine exceptions
28              
29             =head1 SYNOPSIS
30              
31             die Zonemaster::Engine::Exception->new({ message => "This is an exception" });
32              
33             =head1 ATTRIBUTES
34              
35             =over
36              
37             =item message
38              
39             A string attribute holding a message for possible human consumption.
40              
41             =back
42              
43             =head1 METHODS
44              
45             =over
46              
47             =item string()
48              
49             Method that stringifies the object by returning the C<message> attribute.
50             Stringification is overloaded to this.
51              
52             =back
53              
54             =cut