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 )