NAME
    CPAN::Critic::Module::Abstract - Critic CPAN module abstract

VERSION
    version 0.02

SYNOPSIS
     % critic-cpan-module-abstract 'Perl extension for blah blah blah'

     # customize profile (add/remove policies, modify severities, ...)
     # TODO

DESCRIPTION
    This is a proof-of-concept module to critic CPAN module abstract.

    Dist::Zilla plugin coming shortly.

DESCRIPTION
    This module has Rinci metadata.

FUNCTIONS
    None are exported by default, but they are exportable.

  critique_cpan_module_abstract(%args) -> [status, msg, result, meta]
    Arguments ('*' denotes required arguments):

    *   abstract* => *str*

    *   profile => *str* (default: "default")

    Return value:

    Returns an enveloped result (an array). First element (status) is an
    integer containing HTTP status code (200 means OK, 4xx caller error, 5xx
    function error). Second element (msg) is a string containing error
    message, or 'OK' if status is 200. Third element (result) is optional,
    the actual result. Fourth element (meta) is called result metadata and
    is optional, a hash that contains extra information.

  policy_prohibit_empty(%args) -> [status, msg, result, meta]
    Arguments ('*' denotes required arguments):

    *   abstract* => *str*

    *   stash => *hash*

    Return value:

    Returns an enveloped result (an array). First element (status) is an
    integer containing HTTP status code (200 means OK, 4xx caller error, 5xx
    function error). Second element (msg) is a string containing error
    message, or 'OK' if status is 200. Third element (result) is optional,
    the actual result. Fourth element (meta) is called result metadata and
    is optional, a hash that contains extra information.

  policy_prohibit_ends_with_full_stop(%args) -> [status, msg, result, meta]
    Arguments ('*' denotes required arguments):

    *   abstract* => *str*

    *   stash => *hash*

    Return value:

    Returns an enveloped result (an array). First element (status) is an
    integer containing HTTP status code (200 means OK, 4xx caller error, 5xx
    function error). Second element (msg) is a string containing error
    message, or 'OK' if status is 200. Third element (result) is optional,
    the actual result. Fourth element (meta) is called result metadata and
    is optional, a hash that contains extra information.

  policy_prohibit_just_module_name(%args) -> [status, msg, result, meta]
    Arguments ('*' denotes required arguments):

    *   abstract* => *str*

    *   stash => *hash*

    Return value:

    Returns an enveloped result (an array). First element (status) is an
    integer containing HTTP status code (200 means OK, 4xx caller error, 5xx
    function error). Second element (msg) is a string containing error
    message, or 'OK' if status is 200. Third element (result) is optional,
    the actual result. Fourth element (meta) is called result metadata and
    is optional, a hash that contains extra information.

  policy_prohibit_multiline(%args) -> [status, msg, result, meta]
    Arguments ('*' denotes required arguments):

    *   abstract* => *str*

    *   stash => *hash*

    Return value:

    Returns an enveloped result (an array). First element (status) is an
    integer containing HTTP status code (200 means OK, 4xx caller error, 5xx
    function error). Second element (msg) is a string containing error
    message, or 'OK' if status is 200. Third element (result) is optional,
    the actual result. Fourth element (meta) is called result metadata and
    is optional, a hash that contains extra information.

  policy_prohibit_redundancy(%args) -> [status, msg, result, meta]
    Arguments ('*' denotes required arguments):

    *   abstract* => *str*

    *   stash => *hash*

    Return value:

    Returns an enveloped result (an array). First element (status) is an
    integer containing HTTP status code (200 means OK, 4xx caller error, 5xx
    function error). Second element (msg) is a string containing error
    message, or 'OK' if status is 200. Third element (result) is optional,
    the actual result. Fourth element (meta) is called result metadata and
    is optional, a hash that contains extra information.

  policy_prohibit_shouting(%args) -> [status, msg, result, meta]
    Arguments ('*' denotes required arguments):

    *   abstract* => *str*

    *   stash => *hash*

    Return value:

    Returns an enveloped result (an array). First element (status) is an
    integer containing HTTP status code (200 means OK, 4xx caller error, 5xx
    function error). Second element (msg) is a string containing error
    message, or 'OK' if status is 200. Third element (result) is optional,
    the actual result. Fourth element (meta) is called result metadata and
    is optional, a hash that contains extra information.

  policy_prohibit_starts_with_lowercase_letter(%args) -> [status, msg, result, meta]
    Arguments ('*' denotes required arguments):

    *   abstract* => *str*

    *   stash => *hash*

    Return value:

    Returns an enveloped result (an array). First element (status) is an
    integer containing HTTP status code (200 means OK, 4xx caller error, 5xx
    function error). Second element (msg) is a string containing error
    message, or 'OK' if status is 200. Third element (result) is optional,
    the actual result. Fourth element (meta) is called result metadata and
    is optional, a hash that contains extra information.

  policy_prohibit_template(%args) -> [status, msg, result, meta]
    Arguments ('*' denotes required arguments):

    *   abstract* => *str*

    *   stash => *hash*

    Return value:

    Returns an enveloped result (an array). First element (status) is an
    integer containing HTTP status code (200 means OK, 4xx caller error, 5xx
    function error). Second element (msg) is a string containing error
    message, or 'OK' if status is 200. Third element (result) is optional,
    the actual result. Fourth element (meta) is called result metadata and
    is optional, a hash that contains extra information.

  policy_prohibit_too_long(%args) -> [status, msg, result, meta]
    Arguments ('*' denotes required arguments):

    *   abstract* => *str*

    *   max_len => *int* (default: 72)

    *   stash => *hash*

    Return value:

    Returns an enveloped result (an array). First element (status) is an
    integer containing HTTP status code (200 means OK, 4xx caller error, 5xx
    function error). Second element (msg) is a string containing error
    message, or 'OK' if status is 200. Third element (result) is optional,
    the actual result. Fourth element (meta) is called result metadata and
    is optional, a hash that contains extra information.

  policy_prohibit_too_short(%args) -> [status, msg, result, meta]
    Arguments ('*' denotes required arguments):

    *   abstract* => *str*

    *   min_len => *int* (default: 3)

    *   stash => *hash*

    Return value:

    Returns an enveloped result (an array). First element (status) is an
    integer containing HTTP status code (200 means OK, 4xx caller error, 5xx
    function error). Second element (msg) is a string containing error
    message, or 'OK' if status is 200. Third element (result) is optional,
    the actual result. Fourth element (meta) is called result metadata and
    is optional, a hash that contains extra information.

  policy_require_english(%args) -> [status, msg, result, meta]
    Arguments ('*' denotes required arguments):

    *   abstract* => *str*

    *   stash => *hash*

    Return value:

    Returns an enveloped result (an array). First element (status) is an
    integer containing HTTP status code (200 means OK, 4xx caller error, 5xx
    function error). Second element (msg) is a string containing error
    message, or 'OK' if status is 200. Third element (result) is optional,
    the actual result. Fourth element (meta) is called result metadata and
    is optional, a hash that contains extra information.

AUTHOR
    Steven Haryanto <stevenharyanto@gmail.com>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2012 by Steven Haryanto.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.

