package Test::Approvals::Reporters::Reporter;
use strict;
use warnings FATAL => 'all';
{

    use version; our $VERSION = qv('v0.0.5');
    use Moose::Role;

    has test_name => ( is => 'rw', isa => 'Str', default => q{} );

    requires qw(report);
}
1;
__END__
=head1 NAME

Test::Approvals::Reporters::Reporter - Defines a role for reporters to 
extend.

=head1 VERSION

This documentation refers to Test::Approvals::Reporters::Reporter version v0.0.5

=head1 SYNOPSIS

	package Test::Approvals::Reporters::MyCoolReporter;
	{
	    use version; our $VERSION = qv('v0.0.5');
	    use Moose;

	    with 'Test::Approvals::Reporters::Reporter';

	    # you must implement 'report'
	    sub report {
	        my ( $self, $received, $approved, ) = @_;

			# Reporter gives you this member 
	        my $name = $self->test_name;

			# ...
	        return;
	    }
	}

=head1 DESCRIPTION

Test::Approvals::Reporters::Reporter is a Moose::Role that all reporters should 
extend.  By extending this Role you get the 'test_name' attribute for free, and 
are required to implement a method called 'report'.

=head1 SUBROUTINES/METHODS

=head2 report

Callers will expect report to be a member function that takes a reference to 
the Reporter object, the path to the received file and finally the path to the
approved file.

=head1 DIAGNOSTICS

None at this time.

=head1 CONFIGURATION AND ENVIRONMENT

None.

=head1 DEPENDENCIES

=over 4

Moose::Role
version

=back

=head1 INCOMPATIBILITIES

None known.

=head1 BUGS AND LIMITATIONS

Windows-only.  Linux/OSX/other support will be added when time and access to 
those platforms permit.

=head1 AUTHOR

Jim Counts - @jamesrcounts

=head1 LICENSE AND COPYRIGHT

Copyright (C) 2013 Jim Counts

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    L<http://www.apache.org/licenses/LICENSE-2.0>

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

