On Tue, 15 Jul 2008 20:55:44 -0400, Sartak wrote:
> On Tue, Jul 15, 2008 at 8:29 PM, Stevan Little
> <[EMAIL PROTECTED]> wrote:
>>  trigger => {
>>    before => sub { ... },
>>    after  => sub { ... },
>>  }
> 
> +1 awesome
> 
>> The idea would be that the "after" would do the same as the normal trigger,
>> and the "before" would get the same arguments as the normal trigger except
>> the assignment would not have happened yet. The tricky bits are:
> 
> We already have something vaguely like this: method modifiers!
> Modeling multi-phase triggers after method modifiers would decrease
> cognitive load.
> 
>> - do we make the "before" trigger return a value for us to assign?
> 
> No. The return value is discarded.
> 
>> - do we make the "before" trigger actually do the assignment?
> 
> No. The before trigger is only there to perform additional validation
> or to call extra methods.
> 
> We could have an "around" trigger which *does* wrap the assignment.
> 
>> - what happens if an exception is thrown inside the "before", do we catch
>> it?
> 
> No. Exceptions are generally outside of the scope of Moose. We only
> throw them. :)
> 
> Besides, before could be used mostly for exceptions, to do multi-value
> validation.
> 
>> - how would you/should you be able to -- indicate failure or some kind in
>> before?
> 
> Throw an error. This is what we do and expect practically everywhere
> else, right?

I second continuing the method modifier theme into triggers here. 
Sartak hits the nail on the head, before/after/around are nicely 
extended into this realm too. Keeping the theme means less confusion 
when it comes time to document/explain this to people who are ... shall 
we be kind and say intermediate moose users ... cause this is getting 
well into the advanced realm.

Well volunteered Sartak!

-Chris

Reply via email to