AnyEvent-Processor
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/AnyEvent/Processor/Conversion.pm view on Meta::CPAN
package AnyEvent::Processor::Conversion;
# ABSTRACT: Base class for conversion type subclasses
$AnyEvent::Processor::Conversion::VERSION = '0.006';
use Moose;
extends 'AnyEvent::Processor';
use Modern::Perl;
has reader => (
is => 'rw',
does => 'MooseX::RW::Reader',
);
has writer => (
is => 'rw',
does => 'MooseX::RW::Writer',
);
has converter => ( is => 'rw', does => 'AnyEvent::Processor::Converter' );
sub run {
my $self = shift;
$self->writer->begin();
$self->SUPER::run();
$self->writer->end();
};
sub process {
my $self = shift;
my $record = $self->reader->read();
if ( $record ) {
$self->SUPER::process();
my $converter = $self->converter;
my $converted_record =
$converter ? $converter->convert( $record ) : $record;
unless ( $converted_record ) {
# Conversion échouée mais il reste des enregistrements
# print "NOTICE NON CONVERTIE #", $self->count(), "\n";
return 1;
}
$self->writer->write( $converted_record );
return 1;
}
return 0;
}
no Moose;
__PACKAGE__->meta->make_immutable;
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
AnyEvent::Processor::Conversion - Base class for conversion type subclasses
=head1 VERSION
view all matches for this distributionview release on metacpan - search on metacpan
( run in 2.186 seconds using v1.00-cache-2.02-grep-82fe00e-cpan-48ebf85a1963 )