[Catalyst-dev] Catalyst::Plugin::ConfigLoader patch

Joel Bernstein joel at fysh.org
Sat Aug 19 05:36:33 CEST 2006


On Fri, Aug 18, 2006 at 11:38:37PM -0300, Brian Cassidy wrote:
> Joel Bernstein wrote:
> > Having discussed with marcus and jrockway on IRC, it seems that given
> > that trunk/Catalyst-Plugin-ConfigLoader is currently broken (for which I
> > apologise - I won't commit anything to this again without asking
> > permission first, since Marcus has explained that it is considered part
> > of the core) the right thing to do is to branch ConfigLoader, revert my
> > commits from last week, and then commit ConfigLoader again... Although
> > I'm worried that this will leave Config::Any in an inconsistent state.
> >   
> Since I'm the primary author of the module, I'll volunteer to do the 
> cleanup. What I plan to do is the following:

Wow! Thankyou!

<snip outline of svn work>

> ... that should bring the branch up to date without sacrificing the 
> integrity of the code in trunk

Sounds about right to me.

> If no one objects (or has a better way of doing it :) by tomorrow 
> evening, i'll proceed.

It seems like a lot of extra work, but I guess it's important that every
revision works, right? If not, possibly it's enough to apply my new
patch and just pretend last weekend's revs never happened? I don't know
if that's an awfully professional way to work though ;)

On a related note, are you happy with the Author/Contributor/Copyright
lines on ConfigLoader and Config::Any? I've not yet released Config::Any
to CPAN and to be honest I'm not at all sure that I'm being fair with
the attributions. I don't want to tread on your toes, at all. My work on
this has been sponsored by my client, Portugal Telecom, who have told me
they would like their name to be on stuff, but given that you had the
original idea and wrote a large amount of the code I don't want to
overstep any boundaries.

Incidentally, for those who didn't keep up on IRC, the rationale for
this is that my project for PT involves a Catalyst frontend and a
POE-based backend. I use the Catalyst-style __PACKAGE__->config(...)
style throughout and wanted to use the ConfigLoader tech without having
a Catalyst dependency for the whole app. Rather than start from scratch,
Matt suggested refactoring ConfigLoader into a new standalone module and
keeping only the Catalyst-specific functionality in ConfigLoader, which
is roughly what I've done. ConfigLoader passes the original test suite
from LTjake's module, thanks in part to a slightly ugly hack (see
trunk/Config-Any/lib/Config/Any/General.pm) to work around
Config::General's extremely *cough* liberal interpretation of what
Apache-style configuration files look like.

Hope somebody else will want to use this code, too. But even if not, it
works for me ;-)

/joel



More information about the Catalyst-dev mailing list