On Thu, Dec 22, 2011 at 3:00 PM, Buddy Burden <barefootco...@gmail.com>wrote:
>
>  No, you've hit it straight on the head, and I agree it's minimally
> invasive, but the downside is that I'd be wrapping a private method,
> which strikes me as dangerous.  What if that chunk of Moose guts
> changes out from under me?


I've always had the opinion that if I'm writing metaclass traits, then by
definition I'm changing the private parts to accomplish my task.  Which to
me makes it far more acceptable than, say, poking at _process_options()
from outside of Moose::Meta::Attribute.  That is, I'm not accessing private
methods inappropriately, as once the trait is consumed it's part of the
class itself.  (/me braces for contrary commentary)

Well, that and I'm not sure how to accomplish any of this _without_ poking
at the guts :)

I'm not in a position to guarantee anything, but _process_options() has
been around for as long as I can remember.  IMHO it's pretty safe to rely
on this method being there for the foreseeable future.

BTW, in the odd coincidence department, your AutoDestruct attribute
> trait was one of the ones I was cribbing off of when I wrote my
> original attempt (the other being Karen Etheridge's
> SlurpyConstructor).  So thanks for that inadvertent bit of inspiration
> as well. :-)
>

No problem!  I'm glad it helped :)

                                             -Chris

-- 
Chris Weyl
Ex astris scientia

Reply via email to