The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Data::Pipeline::Adapter - data format i/o adapter

SYNOPSIS

Creating an Adapter

 package My::Adapter;

 use Moose;
 extends 'Data::Pipeline::Adapter';

 has '+source' => (
    default => sub {
        my($self) = @_;

        # build Data::Pipeline::Iterator::Source
    }
 );

Serializing to the default handling of targets:

 augment serialize => sub {
     my($self, $iterator, $target) = @_;

     # return serialized form of one item from iterator
 };

Overriding how targets are handled:

 override serialize => sub {
     my($self, $iterator, $target) = @_;

     # serialize $iterator to $target
 };

Using an Adapter

 use My::Adapter;

 my $out = My::Adapter -> new( ... ) -> transform( $iterator );

 $out -> to( \$string ); # $string now contains serialization

 my $iterator = $pipeline -> transform( My::Adapter -> new( ... ) );

DESCRIPTION