Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re^4: Extensions via Moose

by John M. Dlugosz (Monsignor)
on Apr 30, 2011 at 09:06 UTC ( [id://902155]=note: print w/replies, xml ) Need Help??


in reply to Re^3: Extensions via Moose
in thread Extensions via Moose

Hmm, the code in MooseX::Traits states
# runtime role application is fundamentally broken. if you really # need it, write it yourself, but consider applying the roles before # you create an instance.
And it is basically a call to:
$trait->meta->apply($self, rebless_params => $rebless_params || {});
So why should I be scared of Trait->meta->apply? Why would writing it myself be better than the function that appears here?

Replies are listed 'Best First'.
Re^5: Extensions via Moose
by stvn (Monsignor) on May 01, 2011 at 01:56 UTC
    Hmm, the code in MooseX::Traits states ...

    Not sure who wrote that comment, I suspect either Florian or Jonathan Rockway, I would not take that too much to heart, it is an opinion and a somewhat extreme one at that. It also may very well refer to an earlier state of that behavior, a lot of cleanup has taken place in that corner of the code base in the last few years.

    So why should I be scared of Trait->meta->apply?

    You shouldn't, but some people are scared off by the MOP (which is a good thing sometimes and a bad thing other times).

    Why would writing it myself be better than the function that appears here?

    Well, what is in MooseX::Traits has already been tested and is regularly tested against the Moose core with our smoke tester. But the code is basically just calls to Moose::Util functions, so I wouldn't worry about writing your own code too much.

    -stvn

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://902155]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (2)
As of 2024-04-26 05:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found