NAME¶
Perl::Critic::PolicyParameter - Metadata about a parameter for a Policy.
DESCRIPTION¶
A provider of validation and parsing of parameter values and metadata about the
parameter.
INTERFACE SUPPORT¶
This is considered to be a public class. Any changes to its interface will go
through a deprecation cycle.
METHODS¶
- "get_name()"
- Return the name of the parameter. This is the key that will
be looked for in the .perlcriticrc.
- "get_description()"
- Return an explanation of the significance of the parameter,
as provided by the developer of the policy.
- "get_default_string()"
- Return a representation of the default value of this
parameter as it would appear if it was specified in a .perlcriticrc
file.
- "parse_and_validate_config_value( $parser, $config
)"
- Extract the configuration value for this parameter from the
overall configuration and initialize the policy based upon it.
- "generate_full_description()"
- Produce a more complete explanation of the significance of
this parameter than the value returned by "get_description()".
If no description can be derived, returns the empty string.
Note that the result may contain multiple lines.
- "to_formatted_string( $format )"
- Generate a string representation of this parameter, based
upon the format.
The format is a combination of literal and escape characters similar to the
way "sprintf" works. If you want to know the specific formatting
capabilities, look at String::Format. Valid escape characters are:
- %n
- The name of the parameter.
- %d
- The description, as supplied by the programmer.
- %D
- The default value, in a parsable form.
- %f
- The full description, which is an extension of the value
returned by %d. Takes a parameter of a prefix for the beginning of each
line.
SEE ALSO¶
"MAKING YOUR POLICY CONFIGURABLE" in Perl::Critic::DEVELOPER
AUTHOR¶
Elliot Shank <perl@galumph.com>
COPYRIGHT¶
Copyright (c) 2006-2011 Elliot Shank.
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.