NAME Pod::Coverage::TrustMe - Pod::Coverage but more powerful SYNOPSIS use Pod::Coverage::TrustMe; Pod::Coverage::TrustMe->new(package => 'My::Package')->print_report; DESCRIPTION Checks that all of the functions or methods provided by a package have documentation. Compatible with most uses of Pod::Coverage, but with additional features. CONSTRUCTOR OPTIONS These options can be passed to "Pod::Coverage::TrustMe->new". package The package to check coverage for. The module must be loadable. pod_from The Pod file to parse. By default, the module that is loaded will be used, or a pod file existing in the same directory, if it exists. private An array ref of regular expressions for subs to consider private and not needing to be documented. If non-regular expressions are included in the list, they will be taken as literal sub names. Defaults to "DEFAULT_PRIVATE". also_private An array ref of items to add to the private list. Makes it easy to augment the default list. trust_methods An array ref of subs to consider documented even if no pod can be found. Has a similar effect to "private", but will include the subs in the list of covered subs, rather than excluding them from the list entirely. "trustme" is an alias to this option, provided for compatibility with Pod::Coverage. require_content Requires that the pod section for the sub have some non-whitespace characters in it to be counted as covering the sub. Defaults to false. "nonwhitespace" is an alias to this option, provided for compatibility with Pod::Coverage. trust_parents Includes Pod from parent classes in list of covered subs. Like Pod::Coverage::CountParents. Defaults to true. trust_roles Includes Pod from consumed roles in list of covered subs. Like Pod::Coverage::CountParents, but checking "does" or "DOES". Defaults to true. trust_packages Includes Pod from an array ref of packages in the list of covered subs. trust_pod Trusts subs or regexes listed in "Pod::Coverage" blocks in Pod. Like Pod::Coverage::TrustPod. Defaults to true. The regexes must match the entire method name. A section like: =for Pod::Coverage sub1 sub2 [A-Z_]+ will allow the subs "sub1", "sub2", and any sub that is all upper case to exist without being documented. The special token "*EVERYTHING*" can be used to trust every method. require_link Requires a link in the Pod to parent classes or roles to include them in the coverage. If the documentation for subs is in different files, they should be linked to in some way. Defaults to false. export_only Only requires subs listed in @EXPORT and @EXPORT_OK to be covered. Defaults to false. ignore_imported Ignore subs that were imported from other packages. If set to false, every sub in the package needs to be covered, even if it is imported from another package. Subs that aren't part of the API should be cleaned using a tool like namespace::clean, or excluded in some way. See also Test::CleanNamespaces. Defaults to true. METHODS coverage Returns the percentage of subs covered as a value between 0 and 1. why_unrated covered Returns a list of subs that are covered by the documentation. uncovered Returns a list of subs that are not covered by the documentation. naked An alias for uncovered. report Returns a text report on the covered and uncovered subroutines. print_report Print a text report on the covered and uncovered subroutines. symbols Returns the a hashref of symbols detected, with a value of true or false for if the symbol is covered by pod. trusted_packages Returns the other packages that will have their pod checked for symbols to treat as covered. METHODS FOR SUBCLASSES There are some private methods provided that could be overridden in subclasses to adjust the behavior. _get_syms($package) Returns the list of symbols for a given package. _get_pods($package) Returns an array ref of all of the covered items in the pod. _private_check($symbol) Returns true if the given symbol should be considered private. _trust_method_check($symbol) Returns true if the given symbol should be treated as covered even without any documentation found. CONSTANTS DEFAULT_PRIVATE An array reference of the default list of private regular expressions. This includes methods beginning with underscores, methods called by perl for language features, and methods called internally by Moo and Moose. TESTING See Test::Pod::Coverage::TrustMe for using this module in tests. Pod::Coverage::TrustMe vs Pod::Coverage There are some important differences between this module and Pod::Coverage, aside from the additional features. No _CvGV method Pod::Coverage provides and documents the _CvGV method, but doesn't use it itself. This module does not provide the method. No import method Pod::Coverage provides an import method to allow you to run code like "perl -MPod::Coverage=Some::Package -e1". This module does not provide this, instead encouraging the use of the pod-cover script. Uses Pod::Simple Pod::Coverage parses pod using Pod::Parser, which has been removed from perl core and its use is discouraged. This module uses Pod::Simple instead. AUTHOR haarg - Graham Knop (cpan:HAARG) CONTRIBUTORS None so far. COPYRIGHT Copyright (c) 2020 the Pod::Coverage::TrustMe "AUTHOR" and "CONTRIBUTORS" as listed above. LICENSE This library is free software and may be distributed under the same terms as perl itself. See .