Test::Reporter::Transport - base class for Test::Reporter transports
# Defines API that must be implemented by subclasses my $sender = Test::Reporter::Transport::Subclass->new( @args ); $sender->send( $report )
Transport subclasses provide the means by which CPAN Testers reports are transmitted to the CPAN Testers mailing list.
This module is an abstract base class that define an API for Test::Reporter::Transport subclasses. Individual subclasses MUST implement the methods described below.
A transport method is specified to Test::Reporter using the
transport option. The
transport option expects just the module "suffix" that follows
Test::Reporter::Transport. For example:
# use Test::Reporter::Transport::Null for transport my $report = Test::Reporter->new( transport => 'Null' );
Configuration of the transport is specified with the
my $report = Test::Reporter->new( transport => 'File', transport_args => [ dir => '/tmp' ], );
These may also be specified with the
$report->transport_args( dir => '/tmp' );
These may also be combined in the
transport method itself:
$report->transport( 'File', dir => '/tmp' );
The terms 'may', 'must', 'should', etc. used below have their usual RFC meanings.
my $sender = $subclass->new( @args );
new method is the object constructor. It MAY take a list of any necessary configuration options. It MUST return a transport object if one is successfully created or undef if the object can not be created.
$sender->send( $report );
send method MUST take a Test::Reporter object as its only argument. It MUST return true if the report is successfully sent. It SHOULD die with a message describing the failure if a report cannot be sent. It MUST NOT return a true value if the report cannot be sent.
This software is copyright (c) 2013 by Authors and Contributors.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.