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) { |
a1dd1788 |
9 | my ($action_class) = @{ $args{attributes}{CatalystX_Declarative_ActionClass} || [] }; |
10 | $action_class ||= 'Catalyst::Action'; |
11 | |
12 | my $fq_class = $self->_qualify_class_name('Action', $action_class); |
13 | Class::MOP::load_class($fq_class); |
2bb54af3 |
14 | Moose::Meta::Class->initialize($fq_class); |
a1dd1788 |
15 | |
16 | $args{attributes}{ActionClass} ||= [$fq_class]; |
a1dd1788 |
17 | return $self->$orig(%args); |
18 | } |
19 | } |
20 | |
0a99459e |
21 | 1; |