[Catalyst] Catalyst action attributes

Toby Corkindale toby.corkindale at strategicdata.com.au
Mon Jul 13 06:50:45 GMT 2009


Devin Austin wrote:
> Check this out: 
> http://search.cpan.org/~hkclark/Catalyst-Manual-5.8000/lib/Catalyst/Manual/ExtendingCatalyst.pod#Attributes 
> and 
> http://search.cpan.org/~hkclark/Catalyst-Manual-5.8000/lib/Catalyst/Manual/ExtendingCatalyst.pod#Action_classes

Thanks, although I had already read that before posting.

As far as I can see, there is no way to pass parameters to the 
ActionClass. Have I missed something?

> On Mon, Jul 13, 2009 at 12:27 AM, Toby Corkindale 
> <toby.corkindale at strategicdata.com.au 
> <mailto:toby.corkindale at strategicdata.com.au>> wrote:
> 
>     Toby Corkindale wrote:
> 
>         Hi,
>         I wondered if anyone could point me towards a working example of
>         creating custom action attribute handlers for Catalyst?
> 
>         eg. The contents of Catalyst::Controller::SecretAgent in the
>         example below:
> 
> 
>         package MyApp::Controller::M;
>         use parent 'Catalyst::Controller::SecretAgent';
>         # Provides Vehicle() and Gimmick() actions.
> 
>         sub bond : Vehicle('Aston Martin') {
>          my ($self, $c) = @_;
>          # ...
>         }
> 
>         sub maxwell_smart : Gimmick('Shoe-phone') {
>          My ($self, $c) = @_;
>          #...
>         }
> 
>         1;
> 
> 
> 
>     I should clarify what I'm after..
>     I'd still like to be able to specify regular DispatchType attributes
>     against the routines (eg. Local, Chained, etc), but I'd also like to
>     have my own methods called against the other attributes I've specified.
> 
>     The first method I tried was:
>      package Catalyst::Controller::SecretAgent;
>      use strict / use warnings
>      use parent 'Catalyst::Controller';
>      use attributes __PACKAGE__ => \&set_vehicle, "Vehicle";
>      sub set_vehicle { # do something }
>      ...
> 
>     but I think that messes up catalyst's own handling of attributes.
> 
> 
>     _______________________________________________
>     List: Catalyst at lists.scsys.co.uk <mailto:Catalyst at lists.scsys.co.uk>
>     Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
>     Searchable archive:
>     http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
>     Dev site: http://dev.catalyst.perl.org/
> 
> 
> 
> 
> -- 
> Devin Austin
> http://www.codedright.net
> http://www.dreamhost.com/r.cgi?326568/hosting.html - Host with DreamHost!
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/


-- 
Strategic Data Pty Ltd
Ph: 03 9340 9000



More information about the Catalyst mailing list