Module-Generate
view release on metacpan or search on metacpan
lib/Module/Generate.pm view on Meta::CPAN
push @{ $CLASS{CURRENT}{GLOBAL} }, @_;
return $self;
}
sub begin {
$CLASS{CURRENT}{BEGIN} = $_[1];
return $_[0];
}
sub unitcheck {
$CLASS{CURRENT}{UNITCHECK} = $_[1];
return $_[0];
}
sub check {
$CLASS{CURRENT}{CHECK} = $_[1];
return $_[0];
}
sub init {
$CLASS{CURRENT}{INIT} = $_[1];
lib/Module/Generate.pm view on Meta::CPAN
sub _build_global {
my @codes = map { "our $_;" } @{$_[0]};
$CLASS{VERSION} ||= 0.01;
unshift @codes, "our \$VERSION = $CLASS{VERSION};";
return join "\n", @codes;
}
sub _build_phase {
my $phases = shift;
my @codes;
for (qw/BEGIN UNITCHECK CHECK INIT END/) {
if ($phases->{$_}) {
my $code = ref $phases->{$_} ? Dumper $phases->{$_} : $phases->{$_};
$code =~ s/\$VAR1 = //;
$code =~ s/^\s*sub\s*//;
$code =~ s/\s*\n*\s*package Module\:\:Generate\;|use warnings\;|use strict\;//g;
$code =~ s/};$/}/;
$code = sprintf "%s %s;", 'BEGIN', $code;
push @codes, $code;
}
}
t/02-cover.t view on Meta::CPAN
ok($class->begin($ref));
my %class = %Module::Generate::CLASS;
is_deeply($class{Test}->{BEGIN}, $ref);
};
subtest 'unitcheck' => sub {
ok(my $class = Module::Generate->class('Test'));
my $ref = sub { 1; };
ok($class->unitcheck($ref));
my %class = %Module::Generate::CLASS;
is_deeply($class{Test}->{UNITCHECK}, $ref);
};
subtest 'check' => sub {
ok(my $class = Module::Generate->class('Test'));
my $ref = sub { 1; };
ok($class->check($ref));
my %class = %Module::Generate::CLASS;
is_deeply($class{Test}->{CHECK}, $ref);
};
( run in 3.049 seconds using v1.01-cache-2.11-cpan-748bfb374f4 )