NAME

CPAN::Testers::WWW::Reports::Parser - CPAN Testers reports data parser

SYNOPSIS

use CPAN::Testers::WWW::Reports::Parser;

my $obj = CPAN::Testers::WWW::Reports::Parser->new(
      format => 'YAML',   # or 'JSON'
      file   => $file     # or data => $data
);

# iterator, accessing aternate field names
while( my $data = $obj->report() ) {
    my $dist = $obj->distribution(); # or $obj->dist(), or $obj->distname()
    ...

    # note that the object is used to reference the methods retrieving
    # the individual field names, as the $data variable is a hashref to a
    # hash of a single report.
}

# iterator, filtering field names
$obj->filter(@fields);
$obj->filter('ALL', @fields);
while( my $data = $obj->report() ) {
    # automatically populates the returned hash with the fields required.
    # removes any field values not requested, unless the first value in the 
    # list is the string 'ALL'.
}

$obj->filter();   # reset to default original hash

# note that filter() will also affect the reports() method.

# full array of hashes
my $data = $obj->reports();              # array of original hashes
my $data = $obj->reports(@fields);       # array of amended hashes
my $data = $obj->reports('ALL',@fields); # array of original + amended hashes

DESCRIPTION

This distribution is used to extract the data from either a JSON or a YAML file containing metadata regarding reports submitted by CPAN Testers, and available from the CPAN Testers website.

INTERFACE

The Constructor

  • new

    Instatiates the object CPAN::Testers::WWW::Reports::Parser:

    my $obj = CPAN::Testers::WWW::Reports::Parser->new(
      format => 'YAML',   # or 'JSON'
      file   => $file     # or data => $data
    );

Report Methods

  • filter

    Adds filtering to the report, if you require a different set of field names than exist in the default report. Add 'ALL' as the first entry to retain the default field names, and merely extend the data set.

    To reset filtering, simply call filter() with no arguments.

  • reports

    Returns the full data set as an array reference to a set of hashes. Can take arguments as per filter(), or will used any previously set filter() state.

  • report

    Returns a single report data hash. Use filter() to set what field names you require, otherwise the default data hash is returned.

Field methods

  • id

    Report ID.

  • distribution

  • dist

  • distname

    Variations of the distribution name.

  • version

    Distribution version.

  • distversion

    Distribution name and version.

  • perl

    Version of perl used to test.

  • state

  • status

  • grade

  • action

    Variations on the grade of the report. Note that 'state' represents the lower case version, while the others are upper case.

  • osname

    String extracted representing the Operating System name.

  • ostext

    Normalised version of the Operating System name, where known, as occasionally the name may not correctly reflect a print friendly version of the name, or even the actual name.

  • osvers

    Operating System version, if known.

  • platform

  • archname

    The architecture name of the Operating System installed, as this usually gives more information about the setup of the smoke box, such as whether the OS is 64-bit or not.

  • url

    The current path to an online version of the individual report.

  • csspatch

    Primarily used for web, provides a quick indicator as to whether this release was tested with a patched version of perl. Possible values are:

    pat - patched
    unp - unpatched
  • cssperl

    Primarily used for web, provides a quick indicator as to whether this release was tested with a development version of perl. Possible values are:

    rel - official release
    dev - development release (i.e. 5.7.*, 5.9.* or 5.11.*)

Please note that this distribution aims to aid backwards compatibility regards the contents of the reports data. If the data ever needs to change, then upgrading to the latest release of this distribution, should enable you to continue using older, depreciated field names within your code.

BUGS, PATCHES & FIXES

There are no known bugs at the time of this release. However, if you spot a bug or are experiencing difficulties, that is not explained within the POD documentation, please send bug reports and patches to the RT Queue (see below).

Fixes are dependant upon their severity and my availablity. Should a fix not be forthcoming, please feel free to (politely) remind me.

RT: http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Testers-WWW-Reports-Parser

SEE ALSO

http://www.cpantesters.org/, http://stats.cpantesters.org/, http://wiki.cpantesters.org/, http://blog.cpantesters.org/

AUTHOR

Barbie <barbie@cpan.org> 2009-present

COPYRIGHT AND LICENSE

Copyright (C) 2009 Barbie <barbie@cpan.org>

This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.