Commit | Line | Data |
a1dd1788 |
1 | use MooseX::Declare; |
2 | use Class::MOP; |
2bb54af3 |
3 | use Moose::Meta::Class; |
a1dd1788 |
4 | |
9c11a562 |
5 | role CatalystX::Declare::Controller::DetermineActionClass |
6 | with CatalystX::Declare::Controller::QualifyClassNames { |
a1dd1788 |
7 | |
8 | around create_action (%args) { |
9 | |
10 | my ($action_class) = @{ $args{attributes}{CatalystX_Declarative_ActionClass} || [] }; |
11 | $action_class ||= 'Catalyst::Action'; |
12 | |
13 | my $fq_class = $self->_qualify_class_name('Action', $action_class); |
14 | Class::MOP::load_class($fq_class); |
2bb54af3 |
15 | Moose::Meta::Class->initialize($fq_class); |
a1dd1788 |
16 | |
17 | $args{attributes}{ActionClass} ||= [$fq_class]; |
18 | |
19 | return $self->$orig(%args); |
20 | } |
21 | } |
22 | |
0a99459e |
23 | 1; |