implemented action dispatching by type
[catagits/CatalystX-Declare.git] / lib / CatalystX / Declare / Keyword / Controller.pm
index da2020a..8d8aaca 100644 (file)
@@ -8,7 +8,7 @@ class CatalystX::Declare::Keyword::Controller
     use aliased 'CatalystX::Declare::Keyword::Action', 'ActionKeyword';
     use aliased 'CatalystX::Declare::Controller::DetermineActionClass';
     use aliased 'CatalystX::Declare::Controller::Meta::TypeConstraintMapping';
-    use aliased 'CatalystX::Declare::Controller::RegisterActionRoles';
+    use aliased 'CatalystX::Declare::Controller::ActionPreparation';
 
     use Data::Dump qw( pp );
 
@@ -29,8 +29,8 @@ class CatalystX::Declare::Keyword::Controller
 
         $ctx->add_scope_code_parts(
             sprintf('with qw( %s )', join ' ',
-                RegisterActionRoles,
                 DetermineActionClass,
+                ActionPreparation,
             ),
         );
     }
@@ -39,7 +39,7 @@ class CatalystX::Declare::Keyword::Controller
 
     method auto_make_immutable { 0 }
 
-    around default_inner () {
+    around default_inner {
 
         my @modifiers = qw( ); 
 
@@ -53,11 +53,13 @@ class CatalystX::Declare::Keyword::Controller
 
     method add_with_option_customizations (Object $ctx, $package, ArrayRef $roles, HashRef $options) {
 
+        $package = $ctx->qualify_namespace($package);
+
         $ctx->add_cleanup_code_parts(
             map {
                 sprintf('Class::MOP::load_class(%s)', pp "$_"),
                 sprintf('%s->meta->apply(%s->meta)', $_, $package),
-            } @$roles
+            } map { $ctx->qualify_namespace($_) } @$roles
         );
 
         $ctx->add_cleanup_code_parts(
@@ -130,7 +132,7 @@ developing L<CatalystX::Declare>, you should not be concerned with them.
 
 This method modifier will initialise the controller with 
 L<MooseX::MethodAttributes> and add the 
-L<CatalystX::Declare::Controller::RegisterActionRoles> and
+L<CatalystX::Declare::Controller::ActionPreparation> and
 L<CatalystX::Declare::Controller::DetermineActionClass> controller roles
 before calling the original.