small fix
[catagits/CatalystX-Declare.git] / lib / CatalystX / Declare / Context / AppSetup.pm
CommitLineData
4f00d8db 1use MooseX::Declare;
2
3role CatalystX::Declare::Context::AppSetup {
4
5 use MooseX::Types::Moose qw( Bool );
6 use Carp qw( croak );
7
8
9 has setup_was_called => (
10 is => 'rw',
11 isa => Bool,
12 );
13
14 method add_setup_code_parts (Str $package, ArrayRef $plugins = []) {
15
16 if ($self->setup_was_called) {
17 croak 'call to setup already pushed to cleanup code parts';
18 }
19
20 $self->add_cleanup_code_parts(
21 sprintf(
22 '%s->setup(qw( %s ))',
23 $package,
24 join(' ', @$plugins),
25 ),
26 '1;',
27 );
28 $self->setup_was_called(1);
29 }
30}
31