Perl::Critic::UserProfile - The contents of the user's profile, often .perlcriticrc.
This is a helper class that encapsulates the contents of the user's profile, which is usually stored in a .perlcriticrc file. There are no user-serviceable parts here.
This is considered to be a non-public class. Its interface is subject to change without notice.
new( -profile => $p )
-profile is the path to the user's profile. If -profile is not defined, then it looks for the profile at ./.perlcriticrc and then $HOME/.perlcriticrc. If neither of those files exists, then the UserProfile is created with default values.
This object does not take into account any command-line overrides; Perl::Critic::Config does that.
options_processor()
Returns the Perl::Critic::OptionsProcessor object for this UserProfile.
policy_is_disabled( $policy )
Given a reference to a Perl::Critic::Policy object or the name of one, returns true if the user has disabled that policy in their profile.
policy_is_enabled( $policy )
Given a reference to a Perl::Critic::Policy object or the name of one, returns true if the user has explicitly enabled that policy in their user profile.
policy_params( $policy )
Given a reference to a Perl::Critic::Policy object or the name of one, returns a Perl::Critic::PolicyConfig for the user's configuration parameters for that policy.
raw_policy_params( $policy )
Given a reference to a Perl::Critic::Policy object or the name of one, returns a reference to a hash of the user's configuration parameters for that policy.
listed_policies()
Returns a list of the names of all the Policies that are mentioned in the profile. The Policy names will be fully qualified (e.g. Perl::Critic::Foo).
source()
The place where the profile information came from, if available. Usually the path to a .perlcriticrc.
Perl::Critic::Config, Perl::Critic::OptionsProcessor
Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>
Copyright (c) 2005-2023 Imaginative Software Systems.
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.