Initial Commit
This commit is contained in:
77
database/perl/lib/Pod/Coverage/CountParents.pm
Normal file
77
database/perl/lib/Pod/Coverage/CountParents.pm
Normal file
@@ -0,0 +1,77 @@
|
||||
package Pod::Coverage::CountParents;
|
||||
use strict;
|
||||
use Pod::Coverage ();
|
||||
use base 'Pod::Coverage';
|
||||
|
||||
# this code considered lightly fugly :)
|
||||
|
||||
sub _get_pods {
|
||||
my $self = shift;
|
||||
my $package = $self->{package};
|
||||
|
||||
eval qq{ require $package };
|
||||
if ($@) {
|
||||
$self->{why_unrated} = "Couldn't compile '$package' to inspect: $@";
|
||||
return;
|
||||
}
|
||||
|
||||
my %pods;
|
||||
$pods{$package} = $self->SUPER::_get_pods;
|
||||
|
||||
__walk_up($package, \%pods);
|
||||
my %flat = map { $_ => 1 } map { @{ $_ || [] } } values %pods;
|
||||
return [ keys %flat ];
|
||||
}
|
||||
|
||||
sub __walk_up {
|
||||
my $package = shift;
|
||||
my $pods = shift;
|
||||
|
||||
$pods->{$package} = Pod::Coverage->new(package => $package)->_get_pods();
|
||||
|
||||
my @parents;
|
||||
{
|
||||
no strict 'refs';
|
||||
@parents = @{"$package\::ISA"};
|
||||
}
|
||||
|
||||
do { $pods->{$_} || __walk_up($_, $pods) } for @parents;
|
||||
}
|
||||
|
||||
1;
|
||||
__END__
|
||||
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Pod::Coverage::CountParents - subclass of Pod::Coverage that examines the inheritance tree
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
# all in one invocation
|
||||
use Pod::Coverage::CountParents package => 'Fishy';
|
||||
|
||||
# straight OO
|
||||
use Pod::Coverage::CountParents;
|
||||
my $pc = new Pod::Coverage::CountParents package => 'Pod::Coverage';
|
||||
print "We rock!" if $pc->coverage == 1;
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This module extends Pod::Coverage to include the documentation from
|
||||
parent classes when identifying the coverage of the code.
|
||||
|
||||
If you want full documentation we suggest you check the
|
||||
L<Pod::Coverage> documentation.
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<Pod::Coverage>, L<base>
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (c) 2002 Richard Clamp. All rights reserved. This program
|
||||
is free software; you can redistribute it and/or modify it under the
|
||||
same terms as Perl itself.
|
||||
|
||||
=cut
|
||||
53
database/perl/lib/Pod/Coverage/ExportOnly.pm
Normal file
53
database/perl/lib/Pod/Coverage/ExportOnly.pm
Normal file
@@ -0,0 +1,53 @@
|
||||
package Pod::Coverage::ExportOnly;
|
||||
use strict;
|
||||
use Pod::Coverage ();
|
||||
use base qw(Pod::Coverage);
|
||||
|
||||
sub _get_syms {
|
||||
my $self = shift;
|
||||
my $package = shift;
|
||||
|
||||
# lifted from UNIVERSAL::exports
|
||||
no strict 'refs';
|
||||
my %exports = map { $_ => 1 } @{$package.'::EXPORT'},
|
||||
@{$package.'::EXPORT_OK'};
|
||||
|
||||
return keys %exports;
|
||||
}
|
||||
|
||||
1;
|
||||
__END__
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Pod::Coverage::ExportOnly - subclass of Pod::Coverage than only examines exported functions
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
# all in one invocation
|
||||
use Pod::Coverage::ExportOnly package => 'Fishy';
|
||||
|
||||
# straight OO
|
||||
use Pod::Coverage::ExportOnly;
|
||||
my $pc = new Pod::Coverage::ExportOnly package => 'Pod::Coverage';
|
||||
print "We rock!" if $pc->coverage == 1;
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This module extends Pod::Coverage to only check things explicitly set
|
||||
up for export by the Exporter or UNIVERSAL::exports modules. If you
|
||||
want full documentation we suggest you check the L<Pod::Coverage>
|
||||
documentation
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<Pod::Coverage>, L<Exporter>, L<UNIVERSAL::exports>
|
||||
|
||||
=head1 AUTHORS
|
||||
|
||||
Copyright (c) 2001 Richard Clamp, Michael Stevens. All rights
|
||||
reserved. This program is free software; you can redistribute it
|
||||
and/or modify it under the same terms as Perl itself.
|
||||
|
||||
=cut
|
||||
|
||||
37
database/perl/lib/Pod/Coverage/Overloader.pm
Normal file
37
database/perl/lib/Pod/Coverage/Overloader.pm
Normal file
@@ -0,0 +1,37 @@
|
||||
package Pod::Coverage::Overloader;
|
||||
use strict;
|
||||
use Pod::Coverage ();
|
||||
use base qw(Pod::Coverage);
|
||||
|
||||
sub new {
|
||||
my $class = shift;
|
||||
|
||||
warn "Pod::Coverage::Overloader is deprecated. Please use Pod::Coverage instead";
|
||||
$class->SUPER::new( @_ );
|
||||
}
|
||||
|
||||
1;
|
||||
__END__
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Pod::Coverage::Overloader - deprecated subclass of Pod::Coverage
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
# Please do not use this module, it was an experiment that went
|
||||
# awry. Use Pod::Coverage instead
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<Pod::Coverage>, L<overload>
|
||||
|
||||
=head1 AUTHORS
|
||||
|
||||
Copyright (c) 2001 Richard Clamp, Michael Stevens. All rights
|
||||
reserved. This program is free software; you can redistribute it
|
||||
and/or modify it under the same terms as Perl itself.
|
||||
|
||||
=cut
|
||||
Reference in New Issue
Block a user