package Test::MockFile::Plugin;

use strict;
use warnings;

use Carp qw(croak);
require Test::MockFile;    # load Test::MockFile without setting the strict mode

our $VERSION = '0.035';

sub new {
    my ( $class, %opts ) = @_;

    my $self = bless {%opts}, $class;
    return $self;

sub register {
    my ($self) = @_;

    croak('Method "register" not implemented by plugin');


=encoding utf8

=head1 NAME

Test::MockFile::Plugin - Plugin base class


  package Test::MockFile::Plugin::YourCustomPlugin;

  use base 'Test::MockFile::Plugin';

  sub register {

    my ( $self ) = @_;

    # Code to setup your plugin here


L<Test::MockFile::Plugin> is an abstract base class for L<Test::MockFile> plugins.

=head1 METHODS

=head2 new( %opts )

Constructor provided to all Plugin packages so they have a location to store
their internal data.

=head2 register


This method will be called by L<Test::MockFile::Plugins> on imports.

=head1 SEE ALSO