Apache-SWIT
view release on metacpan or search on metacpan
lib/Apache/SWIT/Maker/GeneratorsQueue.pm view on Meta::CPAN
use strict;
use warnings FATAL => 'all';
package Apache::SWIT::Maker::GeneratorsQueue;
use base 'Class::Accessor';
__PACKAGE__->mk_accessors(qw(generators));
sub new {
my ($class, $args) = @_;
my $tree = Apache::SWIT::Maker::Config->instance;
my $gclasses = $args->{generator_classes} ?
$args->{generator_classes} : $tree->{generators};
my @gens;
for my $c (@$gclasses) {
eval "use $c";
die "Unable to use $c : $@" if $@;
push @gens, $c->new;
}
$args = { generators => \@gens };
OUT:
return $class->SUPER::new($args);
}
sub run {
my ($self, $func, @args) = @_;
my $res;
for my $g (@{ $self->generators }) {
next unless $g->can($func);
$res = $g->$func($res, @args);
}
return $res;
}
1;
( run in 0.733 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )