.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Perl::Critic::PolicyFactory 3pm" .TH Perl::Critic::PolicyFactory 3pm 2023-07-26 "perl v5.38.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Perl::Critic::PolicyFactory \- Instantiates Policy objects. .SH DESCRIPTION .IX Header "DESCRIPTION" This is a helper class that instantiates Perl::Critic::Policy objects with the user's preferred parameters. There are no user-serviceable parts here. .SH "INTERFACE SUPPORT" .IX Header "INTERFACE SUPPORT" This is considered to be a non-public class. Its interface is subject to change without notice. .SH CONSTRUCTOR .IX Header "CONSTRUCTOR" .ie n .IP """new( \-profile => $profile, \-errors => $config_errors )""" 4 .el .IP "\f(CWnew( \-profile => $profile, \-errors => $config_errors )\fR" 4 .IX Item "new( -profile => $profile, -errors => $config_errors )" Returns a reference to a new Perl::Critic::PolicyFactory object. .Sp \&\fB\-profile\fR is a reference to a Perl::Critic::UserProfile object. This argument is required. .Sp \&\fB\-errors\fR is a reference to an instance of Perl::Critic::ConfigErrors. This argument is optional. If specified, than any problems found will be added to the object. .SH METHODS .IX Header "METHODS" .ie n .IP """create_policy( \-name => $policy_name, \-params => \e%param_hash )""" 4 .el .IP "\f(CWcreate_policy( \-name => $policy_name, \-params => \e%param_hash )\fR" 4 .IX Item "create_policy( -name => $policy_name, -params => %param_hash )" Creates one Policy object. If the object cannot be instantiated, it will throw a fatal exception. Otherwise, it returns a reference to the new Policy object. .Sp \&\fB\-name\fR is the name of a Perl::Critic::Policy subclass module. The \f(CW\*(AqPerl::Critic::Policy\*(Aq\fR portion of the name can be omitted for brevity. This argument is required. .Sp \&\fB\-params\fR is an optional reference to hash of parameters that will be passed into the constructor of the Policy. If \f(CW\*(C`\-params\*(C'\fR is not defined, we will use the appropriate Policy parameters from the Perl::Critic::UserProfile. .Sp Note that the Policy will not have had "initialize_if_enabled" in Perl::Critic::Policy invoked on it, so it may not yet be usable. .ie n .IP " create_all_policies() " 4 .el .IP "\f(CW create_all_policies() \fR" 4 .IX Item " create_all_policies() " Constructs and returns one instance of each Perl::Critic::Policy subclass that is installed on the local system. Each Policy will be created with the appropriate parameters from the user's configuration profile. .Sp Note that the Policies will not have had "initialize_if_enabled" in Perl::Critic::Policy invoked on them, so they may not yet be usable. .SH SUBROUTINES .IX Header "SUBROUTINES" Perl::Critic::PolicyFactory has a few static subroutines that are used internally, but may be useful to you in some way. .ie n .IP site_policy_names() 4 .el .IP \f(CWsite_policy_names()\fR 4 .IX Item "site_policy_names()" Returns a list of all the Policy modules that are currently installed in the Perl::Critic:Policy namespace. These will include modules that are distributed with Perl::Critic plus any third-party modules that have been installed. .SH AUTHOR .IX Header "AUTHOR" Jeffrey Ryan Thalhammer .SH COPYRIGHT .IX Header "COPYRIGHT" Copyright (c) 2005\-2011 Imaginative Software Systems .PP 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.