Matt S Trout wrote:
On Tue, Jun 19, 2007 at 06:19:30PM +0100, Matt Lawrence wrote:
Matt S Trout wrote:
Still completely broken.

Read half a dozen plugins' setup methods and come back when you have a clue.
Nothing like a bit of random abuse to spark off a bit of development work...

Shame it didn't spark off you actually going and reading what I suggested you
did before you wasted your time and the list's.

Well I can't say I didn't ask for that.

Tell you what, I'll read the setup methods for you and spell it out:
Now do you understand why your approach isn't going to work?


Admittedly my first suggestions were naive to say the least, and looking back now they are unnecessarily terse. I didn't intend to seem confrontational, it just seemed odd at first glance that there was a known set of methods that needed to be called, but because of the MRO unwanted side-effects could occur.

For what it's worth, the patch I sent actually does respect the MRO, it calls the first defined setup method in the plugin list directly, bypassing MyApp. I only realised on the tube home that it would cause an infinite loop with real plugins (as opposed to the ones in the test suite I now see don't call NEXT::setup). In my haste I didn't clock that the plugins necessarily appear before Catalyst in the MRO and I imagined that the tests were passing because Catalyst::setup was being bypassed too. Once you replace the temporary setup no-op, it is pretty much functionally equivalent to redefining MyApp::setup.

It strikes me that there's another case where a setup method could be called twice: if the application's base class is a Catalyst subclass with an overridden setup. I guess this isn't particularly likely, though.

Anyway, apologies all round for half-baked suggestions. I'll return to lurking..... Now.

Matt


_______________________________________________
List: [email protected]
Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to