[Catalyst] Why no extra attributes on Private actions?

Bill Moseley moseley at hank.org
Mon Aug 17 16:20:05 GMT 2009


On Mon, Aug 17, 2009 at 8:14 AM, Eden Cardim <edencardim at gmail.com> wrote:

>
> I don't understand your obsession over :Private. A method tagged with
> :Action, or any other attribute that doesn't make it use one of the
> available dispatch types is effectively *the same thing* as a Private
> action, except it doesn't restrict the use of other attributes, is
> this not what you want? Personally, I've dumped most uses of method
> attributes altogether, in favor of the config-based scheme, except for
> a few cases of chaining, so I'd vouch for dumping :Private as well.


Sorry, it does sound like an obsession.  And yes you are right there are
other approaches.  It's not a big deal.


Obviously, the intent of Private is to have a forward-able action that
cannot be dispatched directly. It's a pretty basic part of Catalyst to have
actions that cannot be dispatched directly, so Private (or a way to express
the same thing) is useful. The implementation enforces this by prohibiting
any additional attributes instead of just prohibiting attributes handled by
different dispatch types.    :Action just takes advantage of the
implementation details -- it's not a real action attribute at this time I
believe.

The issue that came up was I knew I could simply avoid using :Private to use
additional attributes, but then I didn't want to create an action for every
method that had attributes, either.

We are just investigating different approaches at this time, so it may turn
out that we go for the config-based approach as you noted.  The people with
java experience seem to favor the config-based approach.

Anyway, I've moved on to obsessing about other things.


-- =

Bill Moseley
moseley at hank.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20090817/6c307=
0c7/attachment.htm


More information about the Catalyst mailing list