File Coverage

lib/IPC/SRLock/Constants.pm
Criterion Covered Total %
statement 17 17 100.0
branch 4 4 100.0
condition n/a
subroutine 6 6 100.0
pod 2 2 100.0
total 29 29 100.0


line stmt bran cond sub pod time code
1             package IPC::SRLock::Constants;
2              
3 1     1   3 use strict;
  1         1  
  1         22  
4 1     1   3 use warnings;
  1         1  
  1         23  
5 1     1   3 use parent 'Exporter::Tiny';
  1         1  
  1         3  
6              
7 1     1   40 use File::DataClass::Exception;
  1         1  
  1         98  
8              
9             our @EXPORT_OK = qw( EXCEPTION_CLASS );
10              
11             my $_exception_class = 'File::DataClass::Exception';
12              
13 5     5 1 22 sub EXCEPTION_CLASS () { __PACKAGE__->Exception_Class }
14              
15             sub Exception_Class {
16 7 100   7 1 731 my ($self, $class) = @_; defined $class or return $_exception_class;
  7         48  
17              
18 2 100       32 $class->can( 'throw' )
19             or die "Class '${class}' is not loaded or has no 'throw' method";
20              
21 1         9 return $_exception_class = $class;
22             }
23              
24             1;
25              
26             __END__
27              
28             =pod
29              
30             =encoding utf-8
31              
32             =head1 Name
33              
34             IPC::SRLock::Constants - Defines constants used in this distribution
35              
36             =head1 Synopsis
37              
38             use IPC::SRLock::Constants qw( EXCEPTION_CLASS );
39              
40             =head1 Description
41              
42             Defines constants used in this distribution
43              
44             =head1 Configuration and Environment
45              
46             Defines no attributes
47              
48             =head1 Subroutines/Methods
49              
50             =head2 Exception_Class
51              
52             Class method. An accessor / mutator for the classname returned by the
53             L</EXCEPTION_CLASS> function
54              
55             =head2 C<EXCEPTION_CLASS>
56              
57             The class to use when throwing exceptions
58              
59             =head1 Diagnostics
60              
61             None
62              
63             =head1 Dependencies
64              
65             =over 3
66              
67             =item L<Exporter>
68              
69             =back
70              
71             =head1 Incompatibilities
72              
73             There are no known incompatibilities in this module
74              
75             =head1 Bugs and Limitations
76              
77             There are no known bugs in this module. Please report problems to
78             http://rt.cpan.org/NoAuth/Bugs.html?Dist=IPC-SRLock.
79             Patches are welcome
80              
81             =head1 Acknowledgements
82              
83             Larry Wall - For the Perl programming language
84              
85             =head1 Author
86              
87             Peter Flanigan, C<< <pjfl@cpan.org> >>
88              
89             =head1 License and Copyright
90              
91             Copyright (c) 2016 Peter Flanigan. All rights reserved
92              
93             This program is free software; you can redistribute it and/or modify it
94             under the same terms as Perl itself. See L<perlartistic>
95              
96             This program is distributed in the hope that it will be useful,
97             but WITHOUT WARRANTY; without even the implied warranty of
98             MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
99              
100             =cut
101              
102             # Local Variables:
103             # mode: perl
104             # tab-width: 3
105             # End:
106             # vim: expandtab shiftwidth=3: