fixed problem with deep trait parameters
[catagits/CatalystX-Declare.git] / lib / CatalystX / Declare / Controller / DetermineActionClass.pm
CommitLineData
a1dd1788 1use MooseX::Declare;
2use Class::MOP;
2bb54af3 3use Moose::Meta::Class;
a1dd1788 4
9c11a562 5role 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 211;