use 5.010001;
use strict;
use utf8;
new => 1,
rw => [qw/bucket/],
ro => [qw/code/],
);
use Carp qw/croak/;
sub run {
my $self = shift;
$self->code->();
}
sub add_reader_to_bucket {
my ($self, $reader) = @_;
$self->bucket({}) unless $self->bucket;
# TODO: merge reader
$self->bucket->{$reader->table_name} = $reader;
}
sub rows {
my ($self, $table_name) = @_;
if (!defined $self->bucket || !exists $self->bucket->{$table_name}) {
croak "$table_name is not exists.";
}
my $reader = $self->bucket->{$table_name};
my $rows = $reader->rows;
return $rows;
}
1;