1 ##############################################################################
2 # $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/Perl-Critic/lib/Perl/Critic/PolicyParameter/Behavior/Boolean.pm $
3 # $Date: 2008-07-03 10:19:10 -0500 (Thu, 03 Jul 2008) $
6 ##############################################################################
8 package Perl::Critic::PolicyParameter::Behavior::Boolean;
13 use Perl::Critic::Utils;
15 use base qw{ Perl::Critic::PolicyParameter::Behavior };
17 our $VERSION = '1.088';
19 #-----------------------------------------------------------------------------
22 my ($policy, $parameter, $config_string) = @_;
25 my $value_string = $parameter->get_default_string();
27 if (defined $config_string) {
28 $value_string = $config_string;
31 if ( $value_string ) {
37 $policy->__set_parameter_value($parameter, $value);
42 #-----------------------------------------------------------------------------
44 sub initialize_parameter {
45 my ($self, $parameter, $specification) = @_;
47 $parameter->_set_parser(\&_parse);
52 #-----------------------------------------------------------------------------
58 #-----------------------------------------------------------------------------
66 Perl::Critic::PolicyParameter::Behavior::Boolean - Actions appropriate for a boolean parameter.
71 Provides a standard set of functionality for a boolean
72 L<Perl::Critic::PolicyParameter> so that the developer of a policy
73 does not have to provide it her/himself.
75 NOTE: Do not instantiate this class. Use the singleton instance held
76 onto by L<Perl::Critic::PolicyParameter>.
83 =item C<initialize_parameter( $parameter, $specification )>
85 Plug in the functionality this behavior provides into the parameter.
86 At present, this behavior isn't customizable by the specification.
93 Elliot Shank <perl@galumph.com>
97 Copyright (c) 2006-2008 Elliot Shank. All rights reserved.
99 This program is free software; you can redistribute it and/or modify
100 it under the same terms as Perl itself. The full text of this license
101 can be found in the LICENSE file included with this module.
107 # cperl-indent-level: 4
109 # indent-tabs-mode: nil
110 # c-indentation-style: bsd
112 # ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :