File Coverage

blib/lib/Perl/ToPerl6/Exception/Configuration/Option.pm
Criterion Covered Total %
statement 14 19 73.6
branch n/a
condition n/a
subroutine 5 8 62.5
pod 3 3 100.0
total 22 30 73.3


line stmt bran cond sub pod time code
1             package Perl::ToPerl6::Exception::Configuration::Option;
2              
3 26     26   15855 use 5.006001;
  26         72  
4 26     26   113 use strict;
  26         38  
  26         532  
5 26     26   133 use warnings;
  26         41  
  26         1134  
6              
7             our $VERSION = '0.031';
8              
9             #-----------------------------------------------------------------------------
10              
11 26     26   11423 use Perl::ToPerl6::Exception::Fatal::Internal;
  26         54  
  26         1586  
12              
13             use Exception::Class ( # this must come after "use P::C::Exception::*"
14 26         151 'Perl::ToPerl6::Exception::Configuration::Option' => {
15             isa => 'Perl::ToPerl6::Exception::Configuration',
16             description => 'A problem with an option in the Perl::ToPerl6 configuration, whether from a file or a command line or some other source.',
17             fields => [ qw{ option_name option_value message_suffix } ],
18             },
19 26     26   146 );
  26         44  
20              
21             #-----------------------------------------------------------------------------
22              
23             sub message {
24 0     0 1   my $self = shift;
25              
26 0           return $self->full_message();
27             }
28              
29             #-----------------------------------------------------------------------------
30              
31             sub error {
32 0     0 1   my $self = shift;
33              
34 0           return $self->full_message();
35             }
36              
37             #-----------------------------------------------------------------------------
38              
39             sub full_message {
40 0     0 1   Perl::ToPerl6::Exception::Fatal::Internal->throw(
41             'Subclass failed to override abstract method.'
42             );
43             }
44             ## use mogrify
45              
46              
47             1;
48              
49             __END__
50              
51             #-----------------------------------------------------------------------------
52              
53             =pod
54              
55             =for stopwords
56              
57             =head1 NAME
58              
59             Perl::ToPerl6::Exception::Configuration::Option - A problem with an option in the L<Perl::ToPerl6|Perl::ToPerl6> configuration.
60              
61             =head1 DESCRIPTION
62              
63             A representation of a problem found with an option in the
64             configuration of L<Perl::ToPerl6|Perl::ToPerl6>, whether from a
65             F<.perlmogrifyrc>, another profile file, or command line.
66              
67             This is an abstract class. It should never be instantiated.
68              
69              
70             =head1 INTERFACE SUPPORT
71              
72             This is considered to be a public class. Any changes to its interface
73             will go through a deprecation cycle.
74              
75              
76             =head1 METHODS
77              
78             =over
79              
80             =item C<option_name()>
81              
82             The name of the option that was found to be in error.
83              
84              
85             =item C<option_value()>
86              
87             The value of the option that was found to be in error.
88              
89              
90             =item C<message_suffix()>
91              
92             Any text that should be applied to end of the standard message for
93             this kind of exception.
94              
95              
96             =item C<message()>
97              
98             =item C<error()>
99              
100             Overridden to call C<full_message()>. I.e. any message string in the
101             superclass is ignored.
102              
103              
104             =item C<full_message()>
105              
106             Overridden to turn it into an abstract method to force subclasses to
107             implement it.
108              
109              
110             =back
111              
112              
113             =head1 SEE ALSO
114              
115             L<Perl::ToPerl6::Exception::Configuration::Option::Global|Perl::ToPerl6::Exception::Configuration::Option::Global>
116             L<Perl::ToPerl6::Exception::Configuration::Option::Transformer|Perl::ToPerl6::Exception::Configuration::Option::Transformer>
117              
118              
119             =head1 AUTHOR
120              
121             Elliot Shank <perl@galumph.com>
122              
123             =head1 COPYRIGHT
124              
125             Copyright (c) 2007-2011 Elliot Shank.
126              
127             This program is free software; you can redistribute it and/or modify
128             it under the same terms as Perl itself. The full text of this license
129             can be found in the LICENSE file included with this module.
130              
131             =cut
132              
133             # Local Variables:
134             # mode: cperl
135             # cperl-indent-level: 4
136             # fill-column: 78
137             # indent-tabs-mode: nil
138             # c-indentation-style: bsd
139             # End:
140             # ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :