X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FUtils.pm;h=8fe7043375a4765ff774b165ecbe94b0d975152c;hb=bcd1002b0ed8c8fe6dbfdc94417be0fe8cd52832;hp=c76a247e09b7766c3be98811220003757fd6ef45;hpb=41ca9ba7190b75d9ee3adebf37188309cad986a4;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Utils.pm b/lib/Catalyst/Utils.pm index c76a247..8fe7043 100644 --- a/lib/Catalyst/Utils.pm +++ b/lib/Catalyst/Utils.pm @@ -1,7 +1,6 @@ package Catalyst::Utils; use strict; -use attributes (); use Catalyst::Exception; use File::Spec; use HTTP::Request; @@ -24,7 +23,9 @@ See L. =item appprefix($class) -Returns the application prefix for the class +Returns the application prefix for the class. + + MyApp::Foo becomes myapp_foo =cut @@ -35,14 +36,6 @@ sub appprefix { return $class; } -=item attrs($coderef) - -Returns attributes for coderef in a arrayref - -=cut - -sub attrs { attributes::get( $_[0] ) || [] } - =item class2appclass($class); Returns the appclass for class. @@ -205,23 +198,26 @@ sub prefix { return $name; } -=item reflect_actions($class); +=item request($request) -Returns an arrayref containing all actions of a component class. +Returns a HTTP::Request object. =cut -sub reflect_actions { - my $class = shift; - my $actions = []; - eval '$actions = $class->_action_cache'; - - if ($@) { - Catalyst::Exception->throw( message => - qq/Couldn't reflect actions of component "$class", "$@"/ ); +sub request { + my $request = shift; + unless ( ref $request ) { + if ( $request =~ m/http/i ) { + $request = URI->new($request)->canonical; + } + else { + $request = URI->new( 'http://localhost' . $request )->canonical; + } } - - return $actions; + unless ( ref $request eq 'HTTP::Request' ) { + $request = HTTP::Request->new( 'GET', $request ); + } + return $request; } =back