App-GitHooks-Plugin-ValidatePODFormat
view release on metacpan or search on metacpan
lib/App/GitHooks/Plugin/ValidatePODFormat.pm view on Meta::CPAN
# Ignore deleted files.
return $PLUGIN_RETURN_SKIPPED
if $git_action eq 'D';
# Ignore revert commits.
return $PLUGIN_RETURN_SKIPPED
if $staged_changes->is_revert();
# Run the POD checker.
my $checker = Pod::Simple->new();
$checker->output_string( \my $trash ); # Ignore any output
$checker->parse_file( $file );
# If the POD checker reports an error, investigate.
if ( $checker->any_errata_seen() ) {
# Parse the errors.
my @formatted_errors = ();
my $lines = $checker->{errata};
foreach my $line ( sort { $a <=> $b } keys %$lines ) {
my $errors = $lines->{$line};
push( @formatted_errors, map { "Line $line: $_" } @$errors );
}
# An error was reported but no specific error was found. This shouldn't
# happen.
die "POD parsing failed, but no specific error could be reported.\n"
if scalar( @formatted_errors ) == 0;
die join( "\n", @formatted_errors ), "\n";
}
return $PLUGIN_RETURN_PASSED;
}
=head1 BUGS
Please report any bugs or feature requests through the web interface at
L<https://github.com/guillaumeaubert/App-GitHooks-Plugin-ValidatePODFormat/issues/new>.
I will be notified, and then you'll automatically be notified of progress on
your bug as I make changes.
=head1 SUPPORT
You can find documentation for this module with the perldoc command.
perldoc App::GitHooks::ValidatePODFormat
You can also look for information at:
=over
=item * GitHub's request tracker
L<https://github.com/guillaumeaubert/App-GitHooks-Plugin-ValidatePODFormat/issues>
=item * AnnoCPAN: Annotated CPAN documentation
L<http://annocpan.org/dist/app-githooks-plugin-validatepodformat>
=item * CPAN Ratings
L<http://cpanratings.perl.org/d/app-githooks-plugin-validatepodformat>
=item * MetaCPAN
L<https://metacpan.org/release/App-GitHooks-Plugin-ValidatePODFormat>
=back
=head1 AUTHOR
L<Guillaume Aubert|https://metacpan.org/author/AUBERTG>,
C<< <aubertg at cpan.org> >>.
=head1 COPYRIGHT & LICENSE
Copyright 2013-2017 Guillaume Aubert.
This code is free software; you can redistribute it and/or modify it under the
same terms as Perl 5 itself.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the LICENSE file for more details.
=cut
1;
( run in 0.568 second using v1.01-cache-2.11-cpan-39bf76dae61 )