Don't import blessed from Scalar::Util. Moose/Moose::Role does that already.
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Controller.pm
index ec536ae..7ee1b15 100644 (file)
@@ -1,14 +1,15 @@
 package Catalyst::Controller;
 
-#switch to BEGIN { extends qw/ ... /; } ?
-use base qw/Catalyst::Component Catalyst::AttrContainer/;
 use Moose;
+# Note - Must be done at compile time due to attributes (::AttrContainer)
+BEGIN { extends qw/Catalyst::Component Catalyst::AttrContainer/; }
 
 use Class::MOP::Object ();
-use Scalar::Util qw/blessed/;
 use Catalyst::Exception;
 use Catalyst::Utils;
 
+with 'Catalyst::Component::ApplicationAttribute';
+
 has path_prefix =>
     (
      is => 'rw',
@@ -32,20 +33,6 @@ has actions =>
      init_arg => undef,
     );
 
-# Future - isa => 'ClassName|Catalyst' performance?
-#           required => 1 breaks tests..
-has _application => (is => 'ro');
-sub _app { shift->_application(@_) } 
-
-override 'BUILDARGS' => sub {
-    my ($self, $app) = @_;
-    
-    my $args = super();
-    $args->{_application} = $app;
-    return $args;
-};
-
 sub BUILD {
     my ($self, $args) = @_;
     my $action  = delete $args->{action}  || {};