[Catalyst] Small patch for ConfigLoader

Andreas Marienborg omega at palle.net
Tue Apr 18 21:35:37 CEST 2006


On 18. apr. 2006, at 20.22, Brian Cassidy wrote:

> Hi Andreas,
>
>> -----Original Message-----
>>> I couldnt understand why __HOME__ was only alloved in the beginning
>>> of the strings, making it totaly useless for things like dbi driver
>>> strings (think dbd:SQLite:__HOME/db/ape.db), so I wrote a small
>>> patch to allow such constructs.
>>
>> its against current cpan for one, and it also kills a warning on
>> empty lines (which I like to add for readability)
>
> The latest SVN version already squashes the warnings. So, all  
> that's left is
> allowing __HOME__ anywhere in the string. After chatting with mst  
> on IRC a
> little bit, we've come up with a possible solution:
>
> Firstly, __HOME__ should not take any params. It will simple be  
> replaced
> with the value of $c->path_to( '' );
>
> Secondly, there will be an alternate substitution that takes  
> arguments:
> __path_to(db/ape.db)__ -- this will translate to $c->path_to( 'db',  
> 'ape.db'
> );
>
> The code could look something like this:
>
> my $v = Data::Visitor::Callback->new(
>     plain_value => sub {
>         return unless defined $_;
>         s[__HOME__][ $c->path_to( '' ) ]e;
>         s[__path_to\((.+)\)__][ $c->path_to( split( '/', $1 ) ) ]e;
>     }
> );
>
> Thoughts?
>

Fine by me, as long as __HOME__ works everywhere :)

andreas



More information about the Catalyst mailing list