1 package Catalyst::Utils;
8 Catalyst::Utils - The Catalyst Utils
22 Returns attributes for coderef in a arrayref
26 sub attrs { attributes::get( $_[0] ) || [] }
28 =item prefix($class, $name);
30 Returns a prefixed action.
32 MyApp::C::Foo::Bar, yada becomes /foo/bar/yada
37 my ( $class, $name ) = @_;
38 my $prefix = &class2prefix($class);
39 $name = "$prefix/$name" if $prefix;
43 =item class2appclass($class);
45 Returns the appclass for class.
47 MyApp::C::Foo::Bar becomes MyApp
48 My::App::C::Foo::Bar becomes My::App
53 my $class = shift || '';
55 if ( $class =~ /^(.*)::([MVC]|Model|View|Controller)?::.*$/ ) {
61 =item class2classprefix($class);
63 Returns the classprefix for class.
65 MyApp::C::Foo::Bar becomes MyApp::C
66 My::App::C::Foo::Bar becomes My::App::C
70 sub class2classprefix {
71 my $class = shift || '';
73 if ( $class =~ /^(.*::[MVC]|Model|View|Controller)?::.*$/ ) {
79 =item class2classsuffix($class);
81 Returns the classsuffix for class.
83 MyApp::C::Foo::Bar becomes C::Foo::Bar
87 sub class2classsuffix {
88 my $class = shift || '';
89 my $prefix = class2appclass($class) || '';
90 $class =~ s/$prefix\:\://;
94 =item class2prefix($class);
96 Returns the prefix for class.
98 My::App::C::Foo::Bar becomes /foo/bar
103 my $class = shift || '';
105 if ( $class =~ /^.*::([MVC]|Model|View|Controller)?::(.*)$/ ) {
107 $prefix =~ s/\:\:/\//g;
116 Sebastian Riedel, C<sri@cpan.org>
120 This program is free software, you can redistribute it and/or modify it under
121 the same terms as Perl itself.