NAME

Perl::Critic::UserProfile - The contents of the user's profile, often .perlcriticrc.

DESCRIPTION

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.

INTERFACE SUPPORT

This is considered to be a non-public class. Its interface is subject to change without notice.

CONSTRUCTOR

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.

METHODS

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.

SEE ALSO

Perl::Critic::Config, Perl::Critic::OptionsProcessor

AUTHOR

Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>

COPYRIGHT

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.