NAME
    Perl::Critic::Policy::logicLAB::RequirePackageNamePattern - simple
    policy for enforcing a package naming policy

AFFILIATION
    This policy is a policy in the Perl::Critic::logicLAB distribution. The
    policy is themed: logiclab.

VERSION
    This documentation describes version 0.01.

DESCRIPTION
    The policy can be used to enforced naming conventions for packages.

SYNOPSIS
    Policy configuration:

        [logicLAB::RequirePackageNamePattern]
        names = Acme

    Your package:

        package This::Is::A::Test;

            # code goes here

        1;

    Invocation of policy:

        $ perlcritic --single-policy logicLAB::RequirePackageNamePattern lib

    Explanation:

        Use specified requirement for package naming for This::Is::A::Test

    Description:

        Package name: This::Is::A::Test is not complying with required standard

CONFIGURATION AND ENVIRONMENT
    This policy allow you to configure the contents of the shebang lines you
    want to allow using "names".

  names
    "names", is the configuration parameter used to specify the patterns you
    want to enforce.

    The different usage scenarios are documented below

   Toplevel namespace
        [logicLAB::RequirePackageNamePattern]
        names = ^App::

   Subclass
        [logicLAB::RequirePackageNamePattern]
        names = ::JONASBN$

   Postfix
        [logicLAB::RequirePackageNamePattern]
        names = Utils$

   Prefix
        [logicLAB::RequirePackageNamePattern]
        names = ^Acme

   Contains
        [logicLAB::RequirePackageNamePattern]
        names = Tiny

   Or
        [logicLAB::RequirePackageNamePattern]
        names = Acme || logicLAB

  debug
    Optionally and for development purposes I have added a debug flag. This
    can be set in your Perl::Critic configuration file as follows:

        [logicLAB::RequirePackageNamePattern]
        debug = 1

    This enables more explicit output on what is going on during the actual
    processing of the policy.

DEPENDENCIES AND REQUIREMENTS
    *   Module::Build

    *   Perl::Critic

    *   Perl::Critic::Utils

    *   Perl::Critic::Policy

    *   Test::More

    *   Test::Class

    *   Test::Perl::Critic

    *   Data::Dumper

INCOMPATIBILITIES
    This distribution has no known incompatibilities.

BUGS AND LIMITATIONS
    There are no known bugs or limitations

TEST AND QUALITY
    The following policies have been disabled for this distribution

    *   Perl::Critic::Policy::ValuesAndExpressions::ProhibitConstantPragma

        Constants are good, - see the link below.

        *   <https://logiclab.jira.com/wiki/display/OPEN/Perl-Critic-Policy-
            ValuesAndExpressions-ProhibitConstantPragma>

    *   Perl::Critic::Policy::NamingConventions::Capitalization

    See also t/perlcriticrc

  TEST COVERAGE
    Coverage test executed the following way, the coverage report is based
    on the version described in this documentation (see "VERSION").

        ./Build testcover

        ---------------------------- ------ ------ ------ ------ ------ ------ ------
        File                           stmt   bran   cond    sub    pod   time  total
        ---------------------------- ------ ------ ------ ------ ------ ------ ------
        ...uirePackageNamePattern.pm   89.2   68.2   36.4  100.0  100.0  100.0   82.5
        Total                          89.2   68.2   36.4  100.0  100.0  100.0   82.5
        ---------------------------- ------ ------ ------ ------ ------ ------ ------

SEE ALSO
    *   Perl::Critic

    *   <perlmod manpage>

    *   <http://logiclab.jira.com/wiki/display/PCPLRPNP/Home>

    *   <http://logiclab.jira.com/wiki/display/PCLL/Home>

AUTHOR
    *   Jonas B. Nielsen, jonasbn "<jonasbn@cpan.org>"

ACKNOWLEDGEMENT
    *   Jeffrey Ryan Thalhammer (THALJEF) and the Perl::Critic contributors
        for Perl::Critic

LICENSE AND COPYRIGHT
    Copyright (c) 2013-2014 Jonas B. Nielsen, jonasbn. All rights reserved.

    Perl::Critic::Policy::logicLAB::RequirePackageNamePattern; is released
    under the Artistic License 2.0

    The distribution is licensed under the Artistic License 2.0, as
    specified by the license file included in this distribution.

