The Perl Toolchain Summit 2025 Needs You: You can help 🙏 Learn more

##############################################################################
# $Date: 2008-05-17 00:26:31 -0500 (Sat, 17 May 2008) $
# $Author: clonezone $
# $Revision: 2340 $
##############################################################################
use strict;
use Perl::Critic::Utils qw{ :characters };
our $VERSION = '1.083_002';
#-----------------------------------------------------------------------------
'Perl::Critic::Exception::Configuration::Option::Policy::ParameterValue' => {
isa => 'Perl::Critic::Exception::Configuration::Option::Policy',
description => 'A problem with the value of a parameter for a policy.',
alias => 'throw_policy_value',
},
);
#-----------------------------------------------------------------------------
Readonly::Array our @EXPORT_OK => qw< throw_policy_value >;
#-----------------------------------------------------------------------------
sub full_message {
my ( $self ) = @_;
my $source = $self->source();
if ($source) {
$source = qq{ found in "$source"};
}
else {
$source = $EMPTY;
}
my $policy = $self->policy();
my $option_name = $self->option_name();
my $option_value =
defined $self->option_value()
? $DQUOTE . $self->option_value() . $DQUOTE
: '<undef>';
my $message_suffix = $self->message_suffix() || $EMPTY;
return
qq{The value for the $policy "$option_name" option }
. qq{($option_value)$source $message_suffix};
}
1;
__END__
#-----------------------------------------------------------------------------
=pod
=for stopwords
=head1 NAME
Perl::Critic::Exception::Configuration::Option::Policy::ParameterValue - A problem with the value of a parameter for a policy.
=head1 DESCRIPTION
A representation of a problem found with the value of a parameter for a
L<Perl::Critic::Policy>, whether from a F<.perlcriticrc>, another
profile file, or command line.
=head1 CLASS METHODS
=over
=item C<< throw( policy => $policy, option_name => $option_name, option_value => $option_value, source => $source, message_suffix => $message_suffix ) >>
See L<Exception::Class/"throw">.
=item C<< new( policy => $policy, option_name => $option_name, option_value => $option_value, source => $source, message_suffix => $message_suffix ) >>
See L<Exception::Class/"new">.
=back
=head1 METHODS
=over
=item C<full_message()>
Provide a standard message for policy parameter value problems. See
L<Exception::Class/"full_message">.
=back
=head1 AUTHOR
Elliot Shank <perl@galumph.com>
=head1 COPYRIGHT
Copyright (c) 2007-2008 Elliot Shank. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself. The full text of this license
can be found in the LICENSE file included with this module.
=cut
# Local Variables:
# mode: cperl
# cperl-indent-level: 4
# fill-column: 78
# indent-tabs-mode: nil
# c-indentation-style: bsd
# End:
# ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :