X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FController.pm;h=7ee1b15c416fd3ef46a464c6d38d2a704a6f8ce7;hb=75d3bb653f60b685aaf9247364f7616830746b0d;hp=ec536ae893682f760602fd029ed0149afaf49a0d;hpb=fd0434d760ec012f2031da332c959463e1466ef2;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Controller.pm b/lib/Catalyst/Controller.pm index ec536ae..7ee1b15 100644 --- a/lib/Catalyst/Controller.pm +++ b/lib/Catalyst/Controller.pm @@ -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} || {};