Commit | Line | Data |
918fb36e |
1 | use MooseX::Declare; |
2 | |
3 | class CatalystX::Declarative::Keyword::Controller |
4 | extends MooseX::Declare::Syntax::Keyword::Class |
5 | with CatalystX::Declarative::DefaultSuperclassing { |
6 | |
7 | |
8 | use MooseX::MethodAttributes (); |
9 | use aliased 'CatalystX::Declarative::Keyword::Action', 'ActionKeyword'; |
a1dd1788 |
10 | use aliased 'CatalystX::Declarative::Controller::RegisterActionRoles'; |
11 | use aliased 'CatalystX::Declarative::Controller::DetermineActionClass'; |
918fb36e |
12 | |
13 | |
14 | before add_namespace_customizations (Object $ctx, Str $package) { |
a0ebba1d |
15 | |
918fb36e |
16 | MooseX::MethodAttributes->init_meta(for_class => $package); |
a1dd1788 |
17 | $ctx->add_preamble_code_parts( |
18 | 'use CLASS', |
19 | sprintf('with qw( %s )', join ' ', |
20 | RegisterActionRoles, |
21 | DetermineActionClass, |
22 | ), |
23 | ); |
918fb36e |
24 | } |
25 | |
26 | method default_superclasses { 'Catalyst::Controller' } |
27 | |
28 | around default_inner () { |
29 | |
30 | return [ |
31 | @{ $self->$orig() || [] }, |
32 | ActionKeyword->new(identifier => 'action'), |
33 | ActionKeyword->new(identifier => 'under'), |
34 | ]; |
35 | } |
36 | } |
37 | |