Build all packages removed dependencies of libtest-exception-perl libtest-warn-perl...
[dh-make-perl] / dev / i386 / libperl-critic-perl / libperl-critic-perl-1.088 / lib / Perl / Critic / PolicyParameter / Behavior / Boolean.pm
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) $
4 #   $Author: clonezone $
5 # $Revision: 2489 $
6 ##############################################################################
7
8 package Perl::Critic::PolicyParameter::Behavior::Boolean;
9
10 use 5.006001;
11 use strict;
12 use warnings;
13 use Perl::Critic::Utils;
14
15 use base qw{ Perl::Critic::PolicyParameter::Behavior };
16
17 our $VERSION = '1.088';
18
19 #-----------------------------------------------------------------------------
20
21 sub _parse {
22     my ($policy, $parameter, $config_string) = @_;
23
24     my $value;
25     my $value_string = $parameter->get_default_string();
26
27     if (defined $config_string) {
28         $value_string = $config_string;
29     }
30
31     if ( $value_string ) {
32         $value = $TRUE;
33     } else {
34         $value = $FALSE;
35     }
36
37     $policy->__set_parameter_value($parameter, $value);
38
39     return;
40 }
41
42 #-----------------------------------------------------------------------------
43
44 sub initialize_parameter {
45     my ($self, $parameter, $specification) = @_;
46
47     $parameter->_set_parser(\&_parse);
48
49     return;
50 }
51
52 #-----------------------------------------------------------------------------
53
54 1;
55
56 __END__
57
58 #-----------------------------------------------------------------------------
59
60 =pod
61
62 =for stopwords
63
64 =head1 NAME
65
66 Perl::Critic::PolicyParameter::Behavior::Boolean - Actions appropriate for a boolean parameter.
67
68
69 =head1 DESCRIPTION
70
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.
74
75 NOTE: Do not instantiate this class.  Use the singleton instance held
76 onto by L<Perl::Critic::PolicyParameter>.
77
78
79 =head1 METHODS
80
81 =over
82
83 =item C<initialize_parameter( $parameter, $specification )>
84
85 Plug in the functionality this behavior provides into the parameter.
86 At present, this behavior isn't customizable by the specification.
87
88 =back
89
90
91 =head1 AUTHOR
92
93 Elliot Shank <perl@galumph.com>
94
95 =head1 COPYRIGHT
96
97 Copyright (c) 2006-2008 Elliot Shank.  All rights reserved.
98
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.
102
103 =cut
104
105 # Local Variables:
106 #   mode: cperl
107 #   cperl-indent-level: 4
108 #   fill-column: 78
109 #   indent-tabs-mode: nil
110 #   c-indentation-style: bsd
111 # End:
112 # ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :