use 5.006;
use strict;
use warnings;
package CPAN::Testers::Report;
# ABSTRACT: CPAN Testers report object
our $VERSION = '1.999003';
use Metabase::Report 0.016 ();
our @ISA = qw/Metabase::Report/;
CPAN::Testers::Report->load_fact_classes;
sub report_spec {
return {
'CPAN::Testers::Fact::LegacyReport' => 1,
'CPAN::Testers::Fact::TestSummary' => 1, # include date
'CPAN::Testers::Fact::TestOutput' => '0+', # eventually by phase
'CPAN::Testers::Fact::TesterComment' => '0+',
'CPAN::Testers::Fact::PerlConfig' => '0+',
'CPAN::Testers::Fact::TestEnvironment' => '0+',
'CPAN::Testers::Fact::Prereqs' => '0+', # declared versions
'CPAN::Testers::Fact::InstalledModules' => '0+',
# XXX needs NNTP_ID for old reports -- dagolden, 2009-06-24
# future goals
# 'CPAN::Testers::Fact::TAPArchive' => 1,
};
}
sub content_metadata {
my ($self) = @_;
for my $fact ( $self->facts ) {
next unless $fact->type eq 'CPAN-Testers-Fact-LegacyReport';
return $fact->content_metadata;
}
}
sub content_metadata_types {
require CPAN::Testers::Fact::LegacyReport;
return CPAN::Testers::Fact::LegacyReport->content_metadata_types;
}
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
CPAN::Testers::Report - CPAN Testers report object
=head1 VERSION
version 1.999003
=head1 SYNOPSIS
my $report = CPAN::Testers::Report->open(
resource => 'cpan:///distfile/RJBS/CPAN-Metabase-Fact-0.001.tar.gz',
);
$report->add( CPAN::Testers::Fact::LegacyReport => {
grade => $tr->grade,
osname => $tr->osname,
osversion => $tr->osversion
archname => $tr->archname
perlversion => $tr->perl_version_number
textreport => $tr->report
});
# TestSummary happens to be the same as content metadata
# of LegacyReport for now
$report->add( CPAN::Testers::Fact::TestSummary =>
$report->facts->[0]->content_metadata()
);
$report->close();
=head1 DESCRIPTION
Metabase report class encapsulating Facts about a CPAN Testers report
=head1 USAGE
CPAN::Testers::Report subclasses L<Metabase::Report>. See that module for API.
See L<Test::Reporter::Transport::Metabase> for an example of usage.
=head1 BUGS
Please report any bugs or feature using the CPAN Request Tracker.
Bugs can be submitted through the web interface at
L<http://rt.cpan.org/Dist/Display.html?Queue=CPAN-Testers-Report>
When submitting a bug or request, please include a test-file or a patch to an
existing test-file that illustrates the bug or desired feature.
=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
=head1 SUPPORT
=head2 Bugs / Feature Requests
Please report any bugs or feature requests through the issue tracker
at L<https://github.com/dagolden/CPAN-Testers-Report/issues>.
You will be notified automatically of any progress on your issue.
=head2 Source Code
This is open source software. The code repository is available for
public review and contribution under the terms of the license.
L<https://github.com/dagolden/CPAN-Testers-Report>
git clone https://github.com/dagolden/CPAN-Testers-Report.git
=head1 AUTHOR
David Golden <dagolden@cpan.org>
=head1 CONTRIBUTORS
=for stopwords Brian Fraser David Steinbrunner
=over 4
=item *
Brian Fraser <brian.fraser@booking.com>
=item *
David Steinbrunner <dsteinbrunner@pobox.com>
=back
=head1 COPYRIGHT AND LICENSE
This software is Copyright (c) 2015 by David Golden.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004
=cut